/* Participation extends the existing Hoplr solution-page design system. */
.participation-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.participation-page .desktop-nav a[aria-current=page] strong{color:#aa213e}
.participation-hero{grid-template-columns:1fr 1fr;gap:60px}
.participation-hero>div{min-width:0}
.participation-hero h1{font-size:var(--page-title-size);line-height:var(--page-title-line-height)}
.participation-hero h1>span{text-decoration-thickness:3px;text-underline-offset:7px}
.participation-hero .hero-actions{flex-wrap:wrap;gap:16px 24px}
.agent-announcement{display:inline-flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:22px;font-size:.875rem;font-weight:600;min-height:44px}
.agent-announcement>span:first-child,.new-badge{display:inline-block;padding:3px 10px;border-radius:20px;background:#ffeaef;color:#aa213e;font-size:.75rem;font-weight:700}
.agent-announcement:hover{text-decoration:underline;text-underline-offset:4px}
.participation-stage{background:#e6e7f0;border-radius:30px;padding:32px}
.project-preview{background:#fff;border-radius:18px;box-shadow:0 14px 35px rgba(0,13,109,.07);overflow:hidden}
.preview-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;border-bottom:1px solid #e6e7f0}
.preview-top img{width:94px;height:27px}
.example-label{display:inline-block;border:1px solid #c6c9df;border-radius:20px;padding:3px 9px;font-size:.75rem;font-weight:400;color:#555e9e;line-height:1.4;white-space:nowrap}
.preview-content{padding:25px}
.preview-content>.small-label{color:#aa213e}
.preview-content h2{font-size:2rem;line-height:1.15;margin-top:12px}
.preview-content>p:not(.small-label){margin-top:12px;font-size:.875rem;color:#555e9e}
.preview-phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:26px 0;list-style:none}
.preview-phases li{display:flex;flex-direction:column;gap:8px;border-bottom:3px solid #e6e7f0;padding-bottom:10px;font-size:.75rem;color:#555e9e}
.preview-phases li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f0f1f8;font-weight:700}
.preview-phases .phase-active{border-color:#ff315d;color:#000d6d;font-weight:700}
.preview-phases .phase-active>span{background:#000d6d;color:#fff}
.preview-question{padding:18px;background:#fffefa;border:1px solid #f0ead8;border-radius:12px}
.preview-question>span{display:block;font-size:.75rem;color:#aa213e;font-weight:600}
.preview-question strong{display:block;font-size:1.125rem;line-height:1.35;margin-top:7px}
.preview-question p{font-size:.875rem;color:#555e9e;margin-top:9px}
.preview-next{display:flex;gap:10px;margin-top:20px}
.preview-next>span{font-size:1.4rem;color:#aa213e;line-height:1.2}
.preview-next p{font-size:.875rem;line-height:1.5;color:#555e9e}
.preview-next strong{color:#000d6d}
.stage-caption{font-size:.875rem;font-weight:600;text-align:center;margin-top:21px;line-height:1.5}
.participation-tools .section-heading>p,.participation-connection .section-heading>p{max-width:390px}
.participation-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.participation-feature{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #e6e7f0;border-radius:18px;padding:25px;min-width:0}
.participation-feature:nth-child(4n+2) .feature-icon{background:#fff0c9;color:#000d6d}
.participation-feature:nth-child(4n+3) .feature-icon{background:#e6e7f0;color:#000d6d}
.participation-feature h3{font-size:1.35rem;line-height:1.2;margin-top:22px;overflow-wrap:anywhere}
.participation-feature>p{font-size:1rem;line-height:1.6;color:#555e9e;margin-block:15px 22px}
.feature-detail{font-size:.8125rem;line-height:1.5;border-top:1px solid #e6e7f0;padding-top:15px;margin-top:auto;width:100%;font-weight:600}
.phased-projects{background:#fffefa;border-block:1px solid #f0ead8}
.participation-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.participation-split>div{min-width:0}
.participation-copy>p:not(.eyebrow){font-size:1.0625rem;color:#555e9e;margin-top:24px;max-width:530px}
.participation-copy .text-link{margin-top:25px}
.phase-example{padding:32px;border:1px solid #e6e7f0;border-radius:22px;background:#fff}
.phase-example-heading,.budget-demo-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.phase-example>h3{font-size:1.55rem;line-height:1.25}
.project-timeline{list-style:none;padding:0;margin:30px 0 0}
.project-timeline li{display:grid;grid-template-columns:38px 1fr;gap:18px;position:relative;padding-bottom:28px}
.project-timeline li:last-child{padding-bottom:0}
.project-timeline li:not(:last-child):before{content:"";position:absolute;left:18px;top:40px;bottom:4px;width:2px;background:#e6e7f0}
.timeline-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ffeaef;color:#aa213e;font-size:.75rem;font-weight:700}
.project-timeline li:last-child .timeline-number{background:#000d6d;color:#fff}
.timeline-period{font-size:.75rem;color:#aa213e;font-weight:700}
.project-timeline h4{font-size:1.0625rem;line-height:1.35;margin-top:5px}
.project-timeline p{font-size:.9375rem;line-height:1.5;color:#555e9e;margin-top:8px}
.participation-checks{list-style:none;padding:0;margin:25px 0;display:grid;gap:14px}
.participation-checks li{position:relative;padding-left:25px;color:#555e9e;font-size:1rem}
.participation-checks li:before{content:"✓";position:absolute;left:0;color:#aa213e;font-weight:700}
.participation-copy>p.participation-aside{font-size:.9375rem;padding-left:19px;border-left:3px solid #ff315d}
.budget-demo{padding:30px;border-radius:22px;background:#fff;border:1px solid #c6c9df;box-shadow:0 15px 35px rgba(0,13,109,.04)}
.budget-demo>h3{font-size:1.7rem;line-height:1.2}
.budget-instruction{font-size:.9375rem;color:#555e9e;margin-top:14px}
.budget-instruction strong{white-space:nowrap;color:#000d6d}
.budget-options{border:0;padding:0;margin:23px 0;display:grid;gap:10px;min-width:0}
.budget-options label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px 14px;border:1px solid #c6c9df;border-radius:12px;cursor:pointer}
.budget-options label:has(input:checked){background:#f0f1f8;border-color:#000d6d}
.budget-options input{margin:3px 0 0;width:20px;height:20px;accent-color:#000d6d}
.budget-options input:focus-visible{outline:3px solid #ff315d;outline-offset:4px}
.budget-options strong{font-size:.9375rem;line-height:1.35;display:block}
.budget-options small{display:block;margin-top:6px;font-size:.8125rem;line-height:1.4;color:#555e9e}
.budget-options b{font-size:.875rem;white-space:nowrap}
.budget-summary{padding:20px;background:#fff0c9;border-radius:12px}
.budget-totals{display:flex;justify-content:space-between;gap:14px;font-size:.8125rem}
.budget-totals>span:last-child{text-align:right}
.budget-totals strong{display:block;font-size:1.35rem;line-height:1.3;margin-top:5px;white-space:nowrap}
.budget-track{height:8px;border-radius:8px;background:#ded5b7;margin-top:16px;overflow:hidden}
.budget-track>span{display:block;background:#000d6d;height:100%;border-radius:8px;transition:width .2s}
#budget-status{font-size:.8125rem;line-height:1.45;margin-top:13px;min-height:2.9em}
.budget-summary.is-over{background:#ffeaef;color:#aa213e}
.budget-summary.is-over .budget-track{background:#e4b7c1}
.budget-summary.is-over .budget-track>span{background:#aa213e}
.budget-demo-footer{display:flex;align-items:center;gap:20px;margin-top:18px}
.budget-demo-footer p,.budget-noscript{font-size:.75rem;color:#555e9e;line-height:1.5}
.budget-demo-footer button{font-size:.8125rem;color:#000d6d;font-weight:600;background:transparent;border:0;padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;flex-shrink:0}
.budget-demo-footer button:disabled{cursor:default;opacity:.6}
.survey-section{background:#000d6d;color:#fff}
.survey-intro{max-width:1020px}
.survey-intro .eyebrow{display:flex;align-items:center;gap:12px;color:#e6e7f0}
.survey-intro>p:last-child{font-size:1.125rem;line-height:1.65;color:#c6c9df;margin-top:25px;max-width:810px}
.survey-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;margin-top:55px;align-items:start}
.survey-grid>div,.survey-grid>figure{min-width:0}
.survey-approach>h3{font-size:1.65rem;line-height:1.2}
.survey-approach>p{font-size:1rem;color:#c6c9df;margin-top:17px}
.analysis-principles{padding:0;margin:28px 0 0;list-style:none}
.analysis-principles li{display:grid;grid-template-columns:28px 1fr;gap:18px;padding:20px 0;border-top:1px solid #555e9e}
.analysis-principles li>span{font-size:.8125rem;font-weight:700;color:#fff0c9}
.analysis-principles h4{font-size:1.125rem;line-height:1.3}
.analysis-principles p{font-size:.9375rem;color:#c6c9df;margin-top:9px}
.survey-approach .text-link{margin-top:16px;color:#fff0c9}
.insight-example{padding:30px;margin:0;border-radius:20px;background:#fff;color:#000d6d}
.insight-example figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.insight-example h3{font-size:1.7rem;line-height:1.25}
.insight-basis{font-size:.8125rem;margin-top:12px;color:#555e9e}
.insight-table{width:100%;border-collapse:collapse;margin:25px 0;font-size:.9375rem}
.insight-table th,.insight-table td{padding:13px 10px;border-bottom:1px solid #e6e7f0;text-align:right}
.insight-table th:first-child{padding-left:0;text-align:left}
.insight-table td:last-child,.insight-table th:last-child{padding-right:0}
.insight-table thead th{font-size:.75rem;font-weight:500;color:#555e9e;line-height:1.4}
.insight-table tbody th{font-weight:500;line-height:1.4}
.insight-table tbody td:last-child{font-weight:700}
.insight-reading,.insight-caution{padding:18px;border-radius:11px}
.insight-reading{background:#f0f1f8}
.insight-caution{margin-top:12px;background:#fff0c9}
.insight-reading>span,.insight-caution>span{font-size:.8125rem;font-weight:700}
.insight-reading p,.insight-caution p{font-size:.9375rem;line-height:1.55;margin-top:8px}
.insight-disclaimer{font-size:.75rem;line-height:1.5;color:#555e9e;margin-top:20px}
.participation-connection .section-heading h2{max-width:700px}
.participation-loop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid #e6e7f0;padding-top:30px;margin-bottom:24px}
.participation-loop article>span{font-size:.8125rem;font-weight:700;color:#aa213e}
.participation-loop h3{font-size:1.45rem;line-height:1.2;margin-top:15px}
.participation-loop p{font-size:1rem;color:#555e9e;margin-top:14px;max-width:380px}
.participation-page .solution-cta{margin-top:0}
@media(max-width:1150px){
  .participation-hero{gap:35px}
  .participation-stage{padding:24px}
  .participation-features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .participation-split,.survey-grid{gap:40px}
  .phase-example,.budget-demo,.insight-example{padding:25px}
  .budget-options label{grid-template-columns:20px minmax(0,1fr)}
  .budget-options b{grid-column:2}
}
@media(max-width:900px){
  .participation-hero{grid-template-columns:1fr;gap:40px}
  .participation-hero h1{font-size:var(--page-title-size)}
  .participation-hero .solution-lede{max-width:650px}
  .participation-stage{width:100%;max-width:560px;margin-inline:auto}
  .participation-split,.survey-grid{grid-template-columns:1fr;gap:35px}
  .participation-copy>p:not(.eyebrow){max-width:650px}
  .phase-example,.budget-demo{width:100%;max-width:650px;margin-inline:auto}
  .budget-options label{grid-template-columns:20px minmax(0,1fr) auto}
  .budget-options b{grid-column:auto}
  .survey-intro h2 br,.participation-connection h2 br{display:none}
  .survey-grid{max-width:700px;margin-inline:auto}
  .participation-tools .section-heading,.participation-connection .section-heading{display:block}
  .participation-tools .section-heading>p,.participation-connection .section-heading>p{max-width:620px;margin-top:25px}
  .participation-loop{gap:24px}
}
@media(max-width:600px){
  .participation-hero h1{font-size:var(--page-title-size)}
  .participation-hero .solution-hero-copy .eyebrow{align-items:flex-start;gap:12px}
  .participation-hero .eyebrow-line{flex-shrink:0;margin-top:calc((1.6em - 3px)/2)}
  .participation-hero .hero-actions{flex-direction:column;align-items:flex-start}
  .participation-stage{padding:19px;border-radius:22px}
  .preview-top{padding:17px;flex-wrap:wrap}
  .preview-content{padding:20px}
  .preview-content h2{font-size:1.7rem}
  .preview-question{padding:15px}
  .preview-phases{gap:8px}
  .stage-caption{font-size:.8125rem}
  .participation-features{grid-template-columns:1fr;gap:15px}
  .participation-feature{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 16px;padding:24px}
  .participation-feature h3{margin-top:0;align-self:center;font-size:1.35rem}
  .participation-feature>p,.feature-detail{grid-column:1/-1}
  .participation-feature>p{margin-block:18px}
  .phase-example,.budget-demo,.insight-example{padding:23px}
  .project-timeline li{gap:13px}
  .budget-options label{grid-template-columns:20px minmax(0,1fr);padding:15px 12px}
  .budget-options b{grid-column:2}
  .budget-totals strong{font-size:1.2rem}
  .budget-summary{padding:16px}
  .budget-demo-footer{align-items:flex-start;gap:14px}
  .survey-intro>p:last-child{font-size:1.0625rem}
  .survey-grid{margin-top:38px}
  .survey-approach .text-link{align-items:flex-start}
  .insight-table{font-size:.875rem}
  .insight-table th,.insight-table td{padding-inline:7px}
  .insight-table th:first-child{width:53%}
  .participation-loop{grid-template-columns:1fr;gap:28px}
  .participation-loop article+article{padding-top:25px;border-top:1px solid #e6e7f0}
}
@media(max-width:360px){
  .participation-stage{padding:14px}
  .preview-content,.phase-example,.budget-demo,.insight-example{padding:18px}
  .budget-totals strong{font-size:1.1rem}
  .budget-demo-footer{flex-direction:column;gap:4px}
}
