/* Rodara homepage: an editorial sequence, scoped apart from service pages and tools. */
.home-page { --home-space: clamp(4.5rem, 7.5vw, 6.75rem); --home-warm: #f2f0ec; --home-paper: #f8f7f4; }
.home-page section { padding-block: var(--home-space); }
.home-page h2 { font-size: clamp(2.35rem, 3.7vw, 3.4rem); line-height: 1.1; letter-spacing: -.018em; }
.home-page p { hyphens: none; }
.home-page .eyebrow { font-size: .75rem; letter-spacing: .13em; }
.home-page .text-action { gap: .7rem; font-size: 1.05rem; }
.home-page a { text-underline-offset: .22em; }
.home-page a:focus-visible { outline: 2px solid var(--ink); outline-offset: 6px; }
/* The home header overlays the photograph; the existing scroll state restores its light treatment. */
body::before { background: transparent; }
.site-header-home { --header-ink: var(--ink); --header-bg: rgba(255,255,255,.94); --header-rule: var(--rule-soft); --hero-logo-opacity: 0; --header-button-contrast: white; }
.site-header-home.scrolled { --header-rule: var(--rule); }
.js .site-header-home { position: fixed; inset: 0 0 auto; padding-top: env(safe-area-inset-top,0px); background: var(--header-bg); border-color: var(--header-rule); transition: background-color .28s var(--ease), border-color .28s var(--ease), box-shadow .28s var(--ease); }
.js .site-header-home:not(.scrolled):not(:has(.nav-toggle[aria-expanded="true"])) { --header-ink: white; --header-bg: transparent; --header-rule: transparent; --hero-logo-opacity: 1; --header-button-contrast: var(--ink); backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
.site-header-home .brand-home { position: relative; min-height:44px; }
.site-header-home .nav-toggle { min-height:44px; }
.site-header-home .brand-home img { transition: opacity .24s var(--ease); }
.site-header-home .logo-light { opacity: calc(1 - var(--hero-logo-opacity)); }
.site-header-home .brand-home .logo-on-hero { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: var(--hero-logo-opacity); }
.site-header-home .nav a, .site-header-home .nav-toggle { color: var(--header-ink); transition: color .24s var(--ease), border-color .24s var(--ease), background-color .24s var(--ease); }
.site-header-home .nav-toggle, .site-header-home .nav a.btn { border-color: var(--header-ink); }
.site-header-home .nav a:hover, .site-header-home .nav a[aria-current="page"] { border-bottom-color: var(--header-ink); }
.site-header-home :focus-visible { outline-color: var(--header-ink); }
@media (hover: hover) { .site-header-home .nav .btn:hover { background: var(--header-ink); color: var(--header-button-contrast); } }
.home-page .hero-home { min-height: 100vh; min-height: 100svh; display: flex; align-items: center; padding-block: calc(var(--header-h) + clamp(2.5rem,6vh,5rem)) clamp(3rem,6vh,5rem); }
.home-page .hero-home::after { animation: none; background-position: center 46%; }
.home-page .hero-home::before { background: linear-gradient(180deg,rgba(14,21,34,.6),rgba(14,21,34,.06) 36%,rgba(14,21,34,.46)),linear-gradient(90deg,rgba(14,21,34,.78),rgba(14,21,34,.24) 64%,rgba(14,21,34,.08)); }
.home-page .hero-home > .wrap { width: 100%; }
.home-page .hero-home-inner { max-width: 980px; }
.home-page .hero-home h1 { font-size: clamp(3.4rem,6.2vw,6.5rem); line-height: 1.04; max-width: 22ch; margin-block: 1.5rem 1.4rem; letter-spacing: -.025em; text-wrap: balance; }
.home-page .hero-home .lede { max-width: 48ch; margin-top: 0; font-size: clamp(1.25rem,1.6vw,1.5rem); line-height: 1.5; }
.home-page .hero-home .btn-row { gap: 1.25rem 2rem; margin-top: 2rem; }
.home-page .hero-home a:focus-visible { outline-color: white; }
.home-hero-link { color: white; text-decoration: none; display: inline-flex; align-items: center; gap: 1.75rem; min-height: 46px; font-size: 1.1rem; border-bottom: 1px solid rgba(255,255,255,.5); }
.home-hero-link:hover { border-color: white; }
.home-hero-primary { min-height:44px; display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; }
.home-hero-footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top:1px solid rgba(255,255,255,.25); padding-top:1rem; margin-top:clamp(2rem,5vh,4rem); }
.home-hero-note { margin:0; color:rgba(255,255,255,.9); font-size:1rem; }
.home-scroll-cue { min-width:44px; justify-content:center; display:inline-flex; align-items:center; gap:1.5rem; flex-shrink:0; min-height:44px; color:white; text-decoration:none; font-size:1rem; }
.home-scroll-arrow { width:2rem; height:2rem; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:1.15rem; }
.home-scroll-cue:hover .home-scroll-arrow { border-color:white; background:rgba(255,255,255,.08); }
.home-page section[id] { scroll-margin-top:0; }
.home-fit ul { list-style: none; padding: 0; margin: 0; max-width: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid var(--rule-soft); }
.home-fit li { margin: 0; padding: 1.6rem 1.5rem 1.6rem 0; font-size: 1.25rem; color: var(--ink); }
.home-fit li + li { padding-left: 2rem; border-left: 1px solid var(--rule-soft); }
.home-fit .eyebrow { display: block; margin-bottom: .45rem; }
.home-page .home-opening { padding-block:clamp(4rem,6.5vw,6rem); }
.home-opening-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.home-opening h2 { font-size:clamp(2.5rem,3.8vw,3.6rem); line-height:1.1; margin-bottom:1.35rem; }
.home-opening-copy > p:not(.eyebrow) { max-width:39ch; font-size:1.2rem; line-height:1.6; margin-bottom:0; }
.home-pathways { border-bottom:1px solid var(--rule); }
.home-pathways a { display:grid; grid-template-columns:1.5rem minmax(0,1fr) 1.5rem; gap:1.25rem; align-items:baseline; padding:1.3rem 0; min-height:44px; border-top:1px solid var(--rule); text-decoration:none; }
.home-pathway-number { color:var(--label); font:600 .75rem/1.5 var(--font-sans); }
.home-pathways strong { font-size:1.5rem; font-weight:400; display:block; color:var(--ink); }
.home-pathways a > span > span { display:block; font-size:1rem; color:var(--label); margin-top:.3rem; line-height:1.45; }
.home-pathway-arrow { font-size:1.1rem; color:var(--ink); }
.home-pathways a:hover strong,.home-pathways a:focus-visible strong { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; }
.home-review { background: var(--home-warm); }
.home-review-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.home-review-copy > p { max-width: 44ch; }
.home-review-copy h2 { font-size: clamp(2.5rem,4vw,3.65rem); margin-bottom: 1.4rem; }
.home-review-copy .lede { font-size: 1.35rem; }
.home-review-outcomes { list-style:none; padding:0; margin:1.5rem 0; max-width:44ch; }
.home-review-outcomes li { position:relative; border-top:1px solid var(--rule); padding:.8rem 0 .8rem 1.5rem; margin:0; line-height:1.45; font-size:1.1rem; }
.home-review-outcomes li::before { content:'—'; position:absolute; left:0; color:var(--label); }
.home-review-presentation { font-size:1.05rem; color:var(--label); }

.home-review-terms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; border-block: 1px solid var(--rule); margin: 1.8rem 0; padding-block: 1.1rem; }
.home-review-terms span { display: block; font-size: .98rem; color: var(--label); }
.home-review-terms strong { display: block; color: var(--ink); font-size: 1.5rem; font-weight: 400; }
.home-small-note { margin: 1rem 0 0; color: var(--label); font-size: 1rem; }
.home-report-stage { position: relative; padding: 1.2rem 0 0 1.2rem; }
.home-report-stage::before { content: ''; position: absolute; inset: 0 1.2rem 3.3rem 0; border: 1px solid var(--gold); }
.home-report { position: relative; padding: clamp(1.5rem,2.8vw,2.5rem); background: white; box-shadow: 0 14px 34px rgba(32,46,81,.04); }
.home-report-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1.75rem; }
.home-report-top img { display: block; width: 92px; height: 32px; }
.home-report-top > span { color: var(--label); font: 600 .75rem/1.4 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; text-align: right; }
.home-report .eyebrow { font-size: .75rem; margin-bottom: .65rem; letter-spacing: .09em; }
.home-report h3 { font-size: 2.25rem; line-height: 1.1; margin-bottom: .65rem; }
.home-report-intro { color: var(--label); font-size: 1.05rem; }
.home-report ol { list-style: none; padding: 0; margin: 1.5rem 0; max-width: none; }
.home-report li { display: flex; align-items: baseline; gap: 1rem; border-top: 1px solid var(--rule-soft); margin: 0; padding: 1rem 0; }
.home-report li > span { color: var(--label); font-size: .9rem; }
.home-report h4 { margin: 0 0 .3rem; font-size: 1.25rem; }
.home-report li p { margin: 0; font-size: 1rem; line-height: 1.4; }
.home-report-foot { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--ink); padding-top: .75rem; color: var(--label); font: 600 .75rem/1.5 var(--font-sans); }
.home-report-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; margin-top: .5rem; font-size: 1rem; }
.home-journey { position: relative; list-style: none; padding: 2.5rem 0 0; margin: 3.25rem 0 0; max-width: none; border-top: 1px solid var(--rule); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem; }
.home-journey li { display: grid; grid-template-columns: 2.25rem minmax(0,1fr); gap: .9rem; margin: 0; }
.home-step-num { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid var(--rule); border-radius: 50%; font-size: .9rem; color: var(--ink); font-variant-numeric: lining-nums; }
.home-journey h3 { font-size: 1.5rem; margin-bottom: .5rem; }
.home-journey p { font-size: 1.05rem; line-height: 1.5; max-width: 29ch; margin: 0; }
.home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2.5rem; margin-bottom: 2.75rem; }
.home-section-heading h2 { margin-bottom: 0; }
.home-section-heading > p { font-size: 1.1rem; line-height: 1.55; max-width: 32ch; margin: 0 0 .2rem; }
.home-principal-grid { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,6fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.home-principal-photo { margin: 0; }
.home-principal-photo img { width: 100%; height: auto; max-height: 480px; aspect-ratio: 1 / 1.08; object-fit: cover; object-position: center bottom; filter: grayscale(1); display: block; background: var(--home-warm); }
.home-principal-photo figcaption { font: 600 .75rem/1.5 var(--font-sans); text-transform: uppercase; letter-spacing: .12em; color: var(--label); margin-top: .85rem; }
.home-principal-copy h2 { margin-bottom: 1.35rem; }
.home-principal-copy .lede { font-size: 1.4rem; line-height: 1.5; }
.home-principal-copy > p { max-width: 44ch; }
.home-principal-copy .text-action { margin-top: .5rem; }
.home-independence { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,8fr); gap: 3rem; margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--rule); }
.home-independence h3 { font-size: 2rem; margin-bottom: .75rem; }
.home-independence .eyebrow { margin-bottom: .8rem; }
.home-principles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 2rem; }
.home-principles p { font-size: 1.05rem; line-height: 1.5; margin: 0; }
.home-principles strong { display: block; color: var(--ink); font-size: 1.15rem; font-weight: 400; margin-bottom: .25rem; }
.home-principles p:nth-child(3), .home-principles > a { grid-column: 1/-1; }
.home-principles p:nth-child(3) strong { display: inline; font-size: inherit; }
.home-principles > a { justify-self: start; }
.home-method { background: var(--home-paper); }
.home-areas { list-style: none; max-width: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 2rem; }
.home-areas li { margin: 0; }
.home-areas a { position: relative; display: grid; grid-template-columns: 1.25rem minmax(0,1fr); align-items: baseline; gap: .6rem; height: 100%; border-top: 1px solid var(--rule); padding: 1.5rem 1.2rem 1.75rem 0; text-decoration: none; transition: border-color .2s; }
.home-area-num { font: 600 .75rem/1.4 var(--font-sans); color: var(--label); }
.home-areas h3 { font-size: 1.3rem; line-height: 1.2; margin-bottom: .6rem; }
.home-areas p { color: var(--label); font-size: 1rem; line-height: 1.4; margin: 0; }
.home-area-arrow { position: absolute; right: 0; top: 1.5rem; color: var(--ink); font-size: 1.1rem; }
.home-areas a:hover { border-color: var(--gold); }
.home-areas a:hover h3, .home-areas a:focus-visible h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.home-method-note { color: var(--label); font-size: .98rem; padding-top: 1.5rem; border-top: 1px solid var(--rule); margin: .25rem 0 0; max-width: none; }
.home-tool-grid { display: grid; grid-template-columns: minmax(0,6fr) minmax(0,6fr); gap: 1.5rem; }
.home-tool { min-width: 0; color: var(--text); text-decoration: none; padding: 1.75rem; border: 1px solid var(--rule-soft); transition: border-color .2s, background .2s; }
.home-tool-featured { grid-row: 1/3; background: var(--home-paper); display: flex; flex-direction: column; padding: 2.5rem; }
.home-tool-art { color: var(--ink); }
.home-tool-art svg { display: block; width: 100%; height: auto; }
.home-tool-featured .home-tool-art { width: 240px; max-width: 100%; margin: 0 auto 1.5rem; }
.home-tool .eyebrow { display: block; font-size: .75rem; line-height: 1.5; margin-bottom: .9rem; letter-spacing: .09em; }
.home-tool h3 { font-size: 1.65rem; line-height: 1.16; margin-bottom: .75rem; }
.home-tool-featured h3 { font-size: clamp(2.1rem,3.3vw,3rem); }
.home-tool > p { font-size: 1.1rem; line-height: 1.5; margin-bottom: 1.75rem; max-width: 35ch; }
.home-tool-action { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--ink); padding-top: 1rem; border-top: 1px solid var(--rule); font-size: 1.05rem; }
.home-tool-featured .home-tool-action { margin-top: auto; }
.home-tool-action > span { display: grid; place-items: center; border: 1px solid var(--rule); border-radius: 50%; width: 2.25rem; height: 2.25rem; flex-shrink: 0; transition: border-color .2s; }
.home-tool:not(.home-tool-featured) { display: grid; grid-template-columns: 92px minmax(0,1fr); column-gap: 1.5rem; align-content: center; }
.home-tool:not(.home-tool-featured) .home-tool-art { grid-column: 1; grid-row: 1/5; align-self: center; overflow: hidden; }
.home-tool:not(.home-tool-featured) .home-tool-art svg { width: 184px; max-width: none; transform: translateX(-46px); }
.home-tool:not(.home-tool-featured) > :not(.home-tool-art) { grid-column: 2; }
.home-tool:not(.home-tool-featured) > p { font-size: 1.05rem; margin-bottom: 1rem; }
.home-tool:not(.home-tool-featured) .home-tool-action { border: 0; padding: .25rem 0 0; }
.home-tool:not(.home-tool-featured) .home-tool-action > span { width: 1.75rem; height: 1.75rem; }
.home-tool:hover, .home-tool:focus-visible { border-color: var(--ink); }
.home-tool:hover .home-tool-action > span { border-color: var(--ink); }
.home-tool:hover h3, .home-tool:focus-visible h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.home-page .home-support { padding-top: 0; }
.home-worksheet-link { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem 2rem; max-width:none; margin:1.75rem 0 0; padding-top:1rem; border-top:1px solid var(--rule-soft); color:var(--label); font-size:1.05rem; }
.home-worksheet-link a { display:inline-flex; align-items:center; gap:1.25rem; min-height:44px; }
.home-support h2 { font-size: clamp(2.2rem,3.4vw,3rem); }
.home-support-grid { border-bottom: 1px solid var(--rule); }
.home-service { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,4fr) minmax(0,3fr); gap: .5rem 2.5rem; padding-block: 2rem; border-top: 1px solid var(--rule); }
.home-service > div:first-child { grid-column: 1; grid-row: 1/3; }
.home-service-description { grid-column: 2; grid-row: 1; }
.home-service > div:nth-child(3) { grid-column: 3; grid-row: 1/3; }
.home-service-link { grid-column: 2; grid-row: 2; justify-self: start; }
.home-service .eyebrow { line-height: 1.5; margin-bottom: .75rem; }
.home-service h3 { font-size: 1.7rem; margin: 0; line-height: 1.15; }
.home-service-description > p { font-size: 1.1rem; line-height: 1.5; margin: 0 0 .75rem; }
.home-service .home-service-price { color: var(--ink); font-size: 1.65rem; line-height: 1.15; margin: 0 0 .75rem; }
.home-service-price > span { display: block; color: var(--label); font-size: 1rem; margin-top: .3rem; }
.home-service-terms { font-size: 1rem; line-height: 1.5; margin-bottom: 0; color: var(--label); }
.home-reading { background: var(--home-warm); }
.home-reading h2 { font-size: clamp(2.2rem,3.5vw,3.15rem); }
.home-reading-grid { display: grid; grid-template-columns: minmax(0,6fr) minmax(0,5fr); gap: clamp(2.5rem,5vw,5rem); }
.home-guide-featured { display: flex; flex-direction: column; align-items: flex-start; background: white; padding: 2.5rem; text-decoration: none; color: var(--text); border-top: 1px solid var(--gold); }
.home-guide-featured .eyebrow { color: var(--label); font-size: .75rem; margin-bottom: 1.5rem; }
.home-guide-featured h3 { font-size: clamp(2rem,3vw,2.6rem); line-height: 1.15; margin-bottom: 1.2rem; }
.home-guide-featured > p { font-size: 1.1rem; line-height: 1.55; max-width: 35ch; margin-bottom: 2rem; }
.home-featured-guide-action { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--rule-soft); color: var(--ink); }
.home-guide-featured:hover h3, .home-guide-featured:focus-visible h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.home-guide-grid { list-style: none; padding: 0; margin: 0; max-width: none; display: flex; flex-direction: column; }
.home-guide-grid li { margin: 0; border-top: 1px solid var(--rule); flex: 1; }
.home-guide-grid li:last-child { border-bottom: 1px solid var(--rule); }
.home-guide-grid a { display: block; position: relative; padding: 1.4rem 1.8rem 1.4rem 0; height: 100%; text-decoration: none; }
.home-guide-grid .eyebrow { display: block; font-size: .75rem; margin-bottom: .75rem; }
.home-guide-grid h3 { font-size: 1.45rem; line-height: 1.25; margin: 0; max-width: 30ch; }
.home-link-arrow { position: absolute; right: 0; top: 1.35rem; font-size: 1.2rem; }
.home-guide-grid a:hover h3, .home-guide-grid a:focus-visible h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.home-page .home-contact { min-height: 610px; display: flex; align-items: center; background: white; color: var(--text); border: 0; }
.home-contact.cta-band::before { display: none; }
.home-contact .cta-photo { width: 43%; height: 100%; inset: 0 0 0 auto; background: var(--home-warm); }
.home-contact .cta-photo img { position: static; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 65%; filter: grayscale(1); }
.home-contact .wrap { width: 100%; }
.home-contact-copy { width: 51%; padding-right: 2rem; }
.home-contact.cta-band .eyebrow { color: var(--label); opacity: 1; }
.home-contact.cta-band h2 { font-size: clamp(2.5rem,4vw,3.75rem); color: var(--ink); max-width: none; }
.home-contact-copy > p:not(.eyebrow) { font-size: 1.2rem; max-width: 38ch; }
.home-contact.cta-band .btn-row { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; margin-top: 1.75rem; }
.home-contact.cta-band .btn { color: var(--ink); border-color: var(--ink); background: white; }
.home-contact.cta-band .btn:hover { background: var(--home-warm); }
.home-contact .home-contact-email { font-size: 1rem; color: var(--label); margin: 0; }
.home-contact-email a { display: inline-block; min-height: 44px; padding-block: .35rem; overflow-wrap: anywhere; }
.home-contact :focus-visible { outline-color: var(--ink); }
.home-contact-alternative { font-size:1rem; margin:1rem 0 0; }
.home-contact-alternative a { display:inline-flex; align-items:center; gap:.75rem; min-height:44px; }

/* This sheet loads on the homepage only, including its header and footer. */
.site-footer { background: #fbfaf8; }
@media (max-width: 1079px) {
  .home-areas { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2.5rem; }
  .home-tool-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-tool-featured { grid-column: 1/-1; grid-row: auto; display: grid; grid-template-columns: minmax(0,1fr) 200px; column-gap: 2rem; padding: 2.25rem; }
  .home-tool-featured .home-tool-art { grid-column: 2; grid-row: 1/5; align-self: center; width: 200px; margin: 0; }
  .home-tool-featured > :not(.home-tool-art) { grid-column: 1; }
  .home-tool-featured .home-tool-action { margin-top: 0; }
  .home-tool:not(.home-tool-featured) { display: flex; flex-direction: column; padding: 1.75rem; }
  .home-tool:not(.home-tool-featured) .home-tool-art { width: 100%; max-width: 160px; height: 95px; margin: 0 auto 1.5rem; }
  .home-tool:not(.home-tool-featured) .home-tool-art svg { width: 100%; max-width: 100%; transform: none; }
  .home-tool:not(.home-tool-featured) .home-tool-action { margin-top: auto; padding-top: 1rem; width: 100%; border-top: 1px solid var(--rule-soft); }
  .home-fit li { font-size: 1.15rem; }
  .home-service { gap: 2rem; }
}
@media (max-width: 899px) {
  .home-review-grid { gap: 2.5rem; }
  .home-report-stage { padding-left: .75rem; }
  .home-report { padding: 1.5rem; }
  .home-report-top { align-items: flex-start; }
  .home-report-top > span { max-width: 10ch; }
  .home-report h3 { font-size: 1.9rem; }
  .home-report h4 { font-size: 1.15rem; }
  .home-report li p { font-size: .95rem; }
  .home-report-foot { font-size: .75rem; }
  .home-review-terms { grid-template-columns: 1fr; }
  .home-journey { gap: 1.5rem; }
  .home-journey li { grid-template-columns: 1fr; }
  .home-principal-grid { gap: 2.5rem; }
  .home-principal-copy .lede { font-size: 1.25rem; }
  .home-principal-photo img { aspect-ratio: 4/5; }
  .home-section-heading > p { max-width: 27ch; }
  .home-service { grid-template-columns: minmax(0,3fr) minmax(0,4fr) minmax(0,3fr); gap: 1.5rem; }
  .home-service h3 { font-size: 1.45rem; }
  .home-service .home-service-price { font-size: 1.4rem; }
  .home-service-description > p { font-size: 1.05rem; }
  .home-guide-featured { padding: 1.75rem; }
  .home-reading-grid { gap: 2rem; }
}
@media (max-width: 719px) {
  .home-page { --home-space: 3.75rem; }
  .home-page h2 { font-size: clamp(2.15rem,7.7vw,2.75rem); }
  .home-page .hero-home { min-height: 100svh; padding-block: calc(var(--header-h) + 2.5rem) 2.5rem; }
  .home-page .hero-home::before { background: linear-gradient(180deg,rgba(15,18,28,.6),rgba(15,18,28,.06) 32%,rgba(15,18,28,.3)),linear-gradient(90deg,rgba(15,18,28,.68),rgba(15,18,28,.22)); }
  .home-page .hero-home h1 { font-size: clamp(2.7rem,10.8vw,4.2rem); max-width: none; margin-block: 1.5rem; line-height:1.05; }
  .home-page .hero-home .eyebrow { line-height: 1.6; }
  .home-page .hero-home .lede { font-size: 1.2rem; max-width: 34ch; }
  .home-page .hero-home .btn-row { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .home-hero-footer { margin-top:2rem; padding-top:.8rem; gap:1rem; }
  .home-hero-note { font-size:.95rem; max-width:27ch; line-height:1.5; }
  .home-scroll-cue { gap:0; }
  .home-scroll-cue > span:first-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

  .home-fit ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-fit li, .home-fit li + li { padding: 1.25rem 1rem 1.25rem 0; border-left: 0; font-size: 1.05rem; }
  .home-fit li:nth-child(2) { padding-left: 1rem; border-left: 1px solid var(--rule-soft); }
  .home-fit li:last-child { grid-column: 1/-1; border-top: 1px solid var(--rule-soft); padding-block: .85rem; display: flex; gap: .75rem; align-items: baseline; }
  .home-fit li:last-child .eyebrow { margin: 0; flex-shrink: 0; }
  .home-fit .eyebrow { line-height: 1.5; }
  .home-page .home-opening { padding-block:3.5rem; }
  .home-opening-grid { grid-template-columns:1fr; gap:2rem; }
  .home-opening h2 { font-size:clamp(2.5rem,8.8vw,3.25rem); }
  .home-opening-copy > p:not(.eyebrow) { font-size:1.15rem; max-width:36ch; }
  .home-pathways a { gap:.9rem; padding-block:1.1rem; }
  .home-pathways strong { font-size:1.4rem; }

  .home-review-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-review-copy h2 { font-size: clamp(2.4rem,8.8vw,3rem); }
  .home-review-copy .lede { font-size: 1.3rem; }
  .home-review-terms { grid-template-columns: repeat(2,minmax(0,1fr)); margin-block: 1.5rem; }
  .home-review-terms strong { font-size: 1.35rem; }
  .home-review-terms span { font-size: .95rem; }
  .home-report-stage { width: 100%; max-width: 480px; padding-left: .9rem; margin: 0 auto; }
  .home-report { padding: 1.5rem 1.25rem; }
  .home-report-top { align-items: center; }
  .home-report-top > span { font-size: .75rem; }
  .home-report li p { font-size: 1rem; }
  .home-report h4 { font-size: 1.2rem; }
  .home-journey { grid-template-columns: 1fr; padding-top: 2rem; margin-top: 2.25rem; gap: 1.75rem; }
  .home-journey li { grid-template-columns: 2.25rem minmax(0,1fr); gap: 1rem; }
  .home-journey h3 { font-size: 1.5rem; }
  .home-journey p { max-width: 36ch; }
  .home-section-heading { display: block; margin-bottom: 2rem; }
  .home-section-heading > p { max-width: 38ch; margin: 1.25rem 0 0; }
  .home-section-heading > .text-action { margin-top: 1.25rem; }
  .home-principal-grid { grid-template-columns: 1fr; gap: 2.25rem; }
  .home-principal-photo { max-width: 480px; width: 100%; margin: 0 auto; }
  .home-principal-photo img { aspect-ratio: 5/4; max-height: 350px; }
  .home-principal-copy .lede { font-size: 1.35rem; }
  .home-principal-copy > p { max-width: 42ch; }
  .home-independence { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2.5rem; padding-top: 2rem; }
  .home-independence h3 { font-size: 1.85rem; }
  .home-independence h3 br { display: none; }
  .home-principles { grid-template-columns: 1fr; gap: 1.25rem; }
  .home-principles p { padding-left: 1rem; border-left: 1px solid var(--rule-soft); }
  .home-principles strong { font-size: 1.15rem; }
  .home-principles p:nth-child(3) strong { display: block; font-size: 1.15rem; }
  .home-areas { gap: 0 1.25rem; }
  .home-areas a { display: block; padding: 1.25rem .75rem 1.5rem 0; }
  .home-area-num { display: block; margin-bottom: .75rem; }
  .home-area-arrow { top: 1rem; }
  .home-areas h3 { font-size: 1.25rem; line-height: 1.2; }
  .home-areas p { font-size: 1rem; }
  .home-method-note { font-size: .95rem; }
  .home-tool-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .home-tool-featured { grid-column: 1; display: grid; grid-template-columns: minmax(0,1fr) 76px; padding: 1.75rem; column-gap: 1rem; }
  .home-tool-featured .home-tool-art { grid-column: 2; grid-row: 1/4; align-self: start; margin: 0; width: 76px; overflow: hidden; }
  .home-tool-featured .home-tool-art svg { width: 152px; max-width: none; transform: translateX(-38px); }
  .home-tool-featured h3 { font-size: 2rem; }
  .home-tool-featured > :not(.home-tool-art) { grid-column: 1; }
  .home-tool-featured .home-tool-action { grid-column: 1/-1; margin-top: 0; }
  .home-tool > p { font-size: 1.05rem; margin-bottom: 1.5rem; }
  .home-tool:not(.home-tool-featured) { display: grid; grid-template-columns: 62px minmax(0,1fr); padding: 1.5rem; gap: 0 1rem; }
  .home-tool:not(.home-tool-featured) .home-tool-art { grid-column: 1; grid-row: 1/4; align-self: start; margin: .5rem 0 0; width: 62px; height: auto; }
  .home-tool:not(.home-tool-featured) .home-tool-art svg { width: 124px; max-width: none; transform: translateX(-31px); }
  .home-tool:not(.home-tool-featured) .home-tool-action { grid-column: 1/-1; margin-top: .5rem; }
  .home-tool h3 { font-size: 1.55rem; }
  .home-tool.home-tool-featured h3 { font-size: 2rem; }
  .home-tool .eyebrow { line-height: 1.5; }
  .home-page .home-support { padding-top: 0; }
  .home-support h2 { font-size: 2.25rem; }
  .home-service { display: block; padding-block: 1.75rem; }
  .home-service h3 { font-size: 1.8rem; margin-bottom: 1.25rem; }
  .home-service h3 br { display: none; }
  .home-service-description { margin-bottom: 1.25rem; }
  .home-service-link { margin-top: 1rem; }
  .home-service-description > p { max-width: 39ch; font-size: 1.1rem; }
  .home-service .home-service-price { font-size: 1.5rem; margin-bottom: .65rem; }
  .home-service-price > span { display: inline; margin-left: .3rem; }
  .home-service-terms { max-width: 40ch; }
  .home-reading h2 { font-size: clamp(2.2rem,7.7vw,2.75rem); }
  .home-reading-grid { grid-template-columns: 1fr; gap: 2rem; }
  .home-guide-featured { padding: 1.75rem; }
  .home-guide-featured h3 { font-size: 2rem; }
  .home-guide-featured > p { font-size: 1.1rem; }
  .home-guide-grid a { padding-block: 1.4rem; }
  .home-guide-grid h3 { font-size: 1.4rem; }
  .home-page .home-contact { min-height: 0; flex-direction: column-reverse; padding-block: 0; }
  .home-contact .cta-photo { display: block; position: relative; inset: auto; width: 100%; height: 240px; }
  .home-contact-copy { width: 100%; padding: 3.5rem 0; }
  .home-contact.cta-band h2 { font-size: clamp(2.5rem,8.7vw,3.25rem); }
  .home-contact-copy > p:not(.eyebrow) { font-size: 1.2rem; }
  .home-contact.cta-band .btn-row { gap: 1rem; }
}
@media (max-width: 374px) {
  .home-page .hero-home { min-height: 100svh; }
  .home-page .hero-home .btn { padding-inline: 1rem; font-size: .75rem; letter-spacing: .08em; }
  .home-hero-primary { gap:1.25rem; }
  .home-fit li:last-child { display: block; }
  .home-fit li:last-child .eyebrow { margin-bottom: .25rem; }
  .home-report { padding-inline: 1rem; }
  .home-report-top { gap: .75rem; }
  .home-tool-featured { padding: 1.5rem; grid-template-columns: minmax(0,1fr) 56px; gap: 0 .75rem; }
  .home-tool-featured .home-tool-art { width: 56px; }
  .home-tool-featured .home-tool-art svg { width: 112px; transform: translateX(-28px); }
  .home-tool:not(.home-tool-featured) { padding: 1.25rem; grid-template-columns: 48px minmax(0,1fr); gap: 0 .75rem; }
  .home-tool:not(.home-tool-featured) .home-tool-art { width: 48px; }
  .home-tool:not(.home-tool-featured) .home-tool-art svg { width: 96px; transform: translateX(-24px); }
  .home-contact.cta-band .btn { font-size: .75rem; padding-inline: 1rem; letter-spacing: .08em; }
}
@media screen and (max-height:740px) and (max-width:719px) {
  .home-page .hero-home { padding-block:calc(var(--header-h) + 1.5rem) 1.5rem; }
  .home-page .hero-home h1 { font-size:clamp(2.5rem,10.5vw,3.4rem); margin-block:1.1rem; }
  .home-page .hero-home .lede { font-size:1.125rem; }
  .home-page .hero-home .btn-row { margin-top:1.4rem; gap:.75rem; }
  .home-hero-footer { margin-top:1.5rem; }
}
@media screen and (max-height:500px) and (min-width:480px) {
  .home-page .hero-home { padding-block:calc(var(--header-h) + 1rem) 1.5rem; }
  .home-page .hero-home-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 1.5rem; align-items:start; }
  .home-page .hero-home .eyebrow { grid-column:1/-1; margin-bottom:1rem; }
  .home-page .hero-home h1 { grid-column:1; grid-row:2/4; font-size:clamp(2.1rem,5vw,3.25rem); line-height:1.08; margin:0; }
  .home-page .hero-home .lede { grid-column:2; grid-row:2; font-size:1.0625rem; line-height:1.4; margin-bottom:.75rem; }
  .home-page .hero-home .btn-row { grid-column:2; grid-row:3; flex-direction:row; align-items:center; flex-wrap:wrap; gap:.5rem 1.25rem; margin-top:0; }
  .home-page .hero-home .btn { padding:.8rem 1rem; font-size:.75rem; letter-spacing:.08em; gap:1rem; }
  .home-page .hero-home .home-hero-link { min-height:44px; font-size:1rem; }
  .home-hero-footer { margin-top:1.25rem; padding-top:.75rem; }
}
@media print {
  .home-page .hero-home { min-height: 0; background: white; color: black; }
  .home-page .hero-home::before, .home-page .hero-home::after, .home-hero-link, .home-hero-footer { display: none; }
  .home-page .hero-home h1, .home-page .hero-home .eyebrow, .home-page .hero-home .lede { color: black; }
  .home-review-grid, .home-principal-grid, .home-reading-grid { display: block; }
  .home-report-stage { max-width: 500px; }
  .home-report-stage::before { display: none; }
  .home-report { box-shadow: none; border: 1px solid var(--rule); }
  .home-principal-photo { max-width: 300px; }
  .home-tool, .home-service { break-inside: avoid; }
}
