.subpage-hero { min-height: 76svh; padding: 120px 0 80px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; }
.subpage-hero h1 { max-width: 980px; }
.subpage-hero .hero-lede { max-width: 780px; }
.subpage-marker { justify-self: end; align-self: center; width: min(100%, 330px); aspect-ratio: 1; border: 1px solid rgba(0,229,255,.35); border-radius: 50%; display: grid; place-content: center; text-align: center; background: radial-gradient(circle, rgba(0,229,255,.1), transparent 65%); box-shadow: 0 0 90px rgba(0,229,255,.08); }
.subpage-marker > span { color: var(--mint); font: 600 .65rem "DM Sans", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.subpage-marker strong { max-width: 210px; margin-top: 12px; font: 500 2rem/1.05 "Newsreader", serif; }
.services, .practice-case, .readiness-invite, .check-shell { padding: 130px 0; border-top: 1px solid var(--line); }
.services-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; margin-bottom: 65px; }
.services-intro > p:last-child { color: var(--muted); max-width: 520px; justify-self: end; }
.service-list { border-top: 1px solid var(--line); }
.service { display: grid; grid-template-columns: 150px 1fr 1fr; gap: 45px; padding: 44px 0; border-bottom: 1px solid var(--line); }
.service > span { color: var(--mint); font: 600 .66rem "DM Sans", sans-serif; letter-spacing: .14em; }
.service h3 { margin: 0; font: 500 clamp(2rem, 3.5vw, 3.8rem)/1 "Newsreader", serif; }
.service-copy p { margin: 0; color: var(--muted); }
.service-copy ul { list-style: none; margin: 24px 0 0; padding: 0; }
.service-copy li { padding: 9px 0; border-top: 1px solid var(--line); font-size: .76rem; }
.practice-case { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.practice-case h2 { font-size: clamp(3.1rem, 5vw, 5.3rem); }
.case-story { border: 1px solid var(--line); background: linear-gradient(140deg, rgba(0,229,255,.05), rgba(155,135,255,.025)); }
.story-row { display: grid; grid-template-columns: 130px 1fr; gap: 35px; padding: 32px; border-bottom: 1px solid var(--line); }
.story-row:last-child { border-bottom: 0; }
.story-row span { color: var(--mint); font: 600 .65rem "DM Sans", sans-serif; letter-spacing: .14em; }
.story-row p { margin: 0; color: #c7c8cd; }
.readiness-invite { text-align: center; }
.readiness-invite h2 { max-width: 900px; margin-inline: auto; }
.readiness-invite > p:not(.section-kicker) { max-width: 680px; margin: 28px auto 0; color: var(--muted); }
.readiness-invite .contact-actions { justify-content: center; }
.check-intro { max-width: 760px; margin-bottom: 54px; }
.check-intro h1 { font-size: clamp(3.6rem, 7vw, 7rem); }
.check-intro p { color: var(--muted); font-size: 1.05rem; }
.question-list { display: grid; gap: 16px; }
.question { padding: 28px; border: 1px solid var(--line); background: rgba(255,255,255,.018); }
.question legend { padding: 0; font: 500 1.35rem/1.25 "Newsreader", serif; }
.question-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 22px; }
.question-options label { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 14px; border: 1px solid var(--line); cursor: pointer; color: #c8c9cd; font-size: .78rem; }
.question-options label:has(input:checked) { border-color: var(--mint); background: rgba(0,229,255,.07); color: var(--paper); }
.question-options input { accent-color: var(--mint); }
.check-actions { margin-top: 28px; }
.check-result { display: none; margin-top: 54px; padding: clamp(30px, 6vw, 66px); border: 1px solid rgba(0,229,255,.4); background: linear-gradient(145deg, rgba(0,229,255,.075), rgba(155,135,255,.04)); }
.check-result.visible { display: block; }
.check-result h2 { font-size: clamp(2.8rem, 5vw, 5rem); }
.result-score { color: var(--mint); font: 600 .7rem "DM Sans", sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.check-result > p { max-width: 760px; color: #c9cacf; }
.check-error { min-height: 24px; margin-top: 12px; color: #ffb5b5; font-size: .8rem; }
@media (max-width: 900px) {
  .subpage-hero, .services-intro, .practice-case { grid-template-columns: 1fr; }
  .subpage-marker { justify-self: start; width: 250px; }
  .service { grid-template-columns: 100px 1fr; }
  .service-copy { grid-column: 2; }
}
@media (max-width: 620px) {
  .subpage-hero { padding-top: 80px; gap: 45px; }
  .services, .practice-case, .readiness-invite, .check-shell { padding: 90px 0; }
  .service { grid-template-columns: 1fr; gap: 15px; }
  .service-copy { grid-column: auto; }
  .story-row { grid-template-columns: 1fr; gap: 10px; padding: 25px; }
  .question-options { grid-template-columns: 1fr; }
}
