.ap-hero { padding:clamp(35px,5vw,72px) 0 }
.ap-hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(24px,5vw,76px); align-items:center }
.ap-hero h1 { max-width:16ch; margin:.7rem 0 1.15rem; font-size:clamp(2.55rem,5.2vw,5.2rem); line-height:1.03; letter-spacing:-.055em }
.ap-hero p,.ap-lede { max-width:57ch; color:var(--muted); line-height:1.55; font-size:clamp(1rem,1.4vw,1.25rem) }
.ap-hero .button-row { margin-top:1.1rem }
.ap-hero img { display:block; width:100%; height:auto }
.ap-hero figcaption,.ap-note { font:600 .8rem/1.5 var(--mono); color:#456055 }
.ap-hero figcaption { margin-top:.65rem }
.ap-explore,.ap-stages { scroll-margin-top:1.5rem }
.ap-explore { background:#edf4ef }
.ap-explore h2,.ap-stages h2,.ap-prep h2 { max-width:21ch }
.ap-lede { margin:.8rem 0 0 }
.ap-explorer { margin:1.75rem 0 0; padding:0; border:0; min-width:0 }
.ap-explorer legend { font-weight:650; margin-bottom:.65rem; padding:0 }
.ap-choice { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden }
.ap-choice-label { display:inline-flex; align-items:center; min-height:44px; padding:7px 15px; margin:0 5px 8px 0; border:1px solid #739181; border-radius:4px; font-weight:620; cursor:pointer }
.ap-choice:checked + label { background:#183d30; color:#fff; border-color:#183d30 }
.ap-choice:focus-visible + label,.ap-copy:focus-visible,.ap-starter textarea:focus-visible { outline:3px solid #087a60; outline-offset:3px }
.ap-panel { display:none; grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr); gap:1.3rem clamp(16px,4vw,58px); align-items:start; margin-top:.45rem; padding:clamp(17px,3vw,40px); border:1px solid #a8bfb3; background:#fff; border-radius:7px }
#choice-search:checked ~ .ap-search,#choice-inquiry:checked ~ .ap-inquiry,#choice-follow-up:checked ~ .ap-follow-up { display:grid }
.ap-panel-story h3 { margin:.5rem 0 .65rem; max-width:20ch; font-size:clamp(1.6rem,2.5vw,2.5rem); line-height:1.08; letter-spacing:-.04em }
.ap-panel-story p,.ap-panel-work dd,.ap-starter p,.ap-prep-items p,.ap-stage-list p { color:var(--muted); font-size:1.02rem; line-height:1.58 }
.ap-flow { margin:1rem 0 .15rem; padding:.8rem; border:1px solid #aec4b7; border-radius:5px; background:#f2f7f1 }
.ap-flow figcaption { color:#335d49; font:600 .8rem/1.5 var(--mono) }
.ap-flow ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:.6rem 0 0; padding:0; list-style:none }
.ap-flow li { position:relative; display:grid; align-content:start; justify-items:start; gap:.22rem; padding-right:.35rem; color:#163b2d }
.ap-flow li:not(:last-child)::after { content:""; position:absolute; inset:11px 8px auto 31px; height:1px; background:#9dbba9 }
.ap-flow b,.ap-flow small { line-height:1.25; overflow-wrap:anywhere }
.ap-flow b { font-size:.92rem }
.ap-flow small { font-size:.78rem; color:#395e49 }
.ap-panel-story a,.ap-panel-work a,.ap-prep a { display:inline-block; margin-top:.75rem; color:#195a41; font-weight:620; text-underline-offset:3px }
.ap-panel-work dl { margin:0 }
.ap-panel-work dt,.ap-starter label { font-weight:680 }
.ap-panel-work dd { margin:.15rem 0 .85rem }
.ap-starter { grid-column:1/-1; border-top:1px solid #adc4b7; padding-top:1rem }
.ap-starter textarea { display:block; width:100%; max-width:80ch; resize:vertical; min-height:5.5rem; font:inherit; margin:.65rem 0; padding:.65rem .85rem; border:1px solid #728c7d; border-radius:4px; color:var(--ink); background:#f7faf6 }
.ap-starter .btn { margin-top:.45rem }
.ap-copy { background:#fff; color:#1b503b; border:1px solid #729580; border-radius:4px; font-weight:640; padding:.5rem .85rem; min-height:44px; margin:0 0 .65rem }
.ap-copy-status { display:inline-block; color:#24583f; padding:0 .6rem; font-size:.95rem }
.ap-stage-list { list-style:none; padding:0; margin:0; counter-reset:project-stage }
.ap-stage-list li { display:flex; gap:1rem; padding:1.2rem 0; border-top:1px solid #b3c4ba; counter-increment:project-stage }
.ap-stage-list li::before { content:counter(project-stage,decimal-leading-zero); flex:none; font:600 1rem/1.6 var(--mono); color:#31664e }
.ap-stage-list h3,.ap-prep h3 { font-size:1.3rem; line-height:1.25; margin-bottom:.4rem }
.ap-phone-check { min-width:0; margin:1.6rem 0 0; padding:1rem; border:1px solid #a2b9aa; border-radius:6px; background:#f4f8f3 }
.ap-phone-check legend { padding:0 .35rem; color:#214d38; font-weight:680 }
.ap-phone-check p { margin:0 0 .7rem; color:var(--muted); line-height:1.55 }
.ap-phone-check label { display:flex; gap:.7rem; align-items:baseline; padding:.65rem 0; border-top:1px solid #c8d6ca; cursor:pointer }
.ap-phone-check input { width:1rem; height:1rem; margin:0; padding:0; flex:none; accent-color:#28563c }
.ap-scope { background:#f3f6f1 }
.ap-decisions { margin:0 }
.ap-decisions > div { border-top:1px solid #b3c4ba; padding:.85rem 0 }
.ap-decisions dt { font-weight:680; font-size:1.18rem }
.ap-decisions dd { margin:.25rem 0 0; color:var(--muted); line-height:1.55 }
.ap-prep-items h3:not(:first-child) { margin-top:1.5rem }
.ap-seo-check { margin:.9rem 0; border-block:1px solid #b3c4ba }
.ap-seo-check summary { padding:.85rem 0; font-weight:660; color:#24583f; cursor:pointer }
.ap-seo-check summary:focus-visible { outline:3px solid #087a60; outline-offset:3px }
.ap-seo-check ol { margin:0 0 .75rem; padding-left:1.5rem; color:var(--muted) }
.ap-seo-check li { padding:.3rem 0 }
@media(max-width:720px){
  .ap-hero-grid,.ap-stages .split,.ap-scope .split,.ap-prep .split,
  #choice-search:checked ~ .ap-search,#choice-inquiry:checked ~ .ap-inquiry,#choice-follow-up:checked ~ .ap-follow-up {
    display:flex; flex-direction:column; align-items:stretch;
  }
  .ap-hero figure { max-width:400px }
  .ap-choice-label { padding-inline:9px; font-size:.94rem }
  .ap-starter textarea { min-height:11rem }
}
