/* Inner pages */

/* ---------- page hero ---------- */
.phero{position:relative;background:var(--navy-3);color:#fff;padding-block:calc(var(--header-h) + clamp(40px,9vh,110px)) clamp(48px,9vh,110px);overflow:hidden}
.phero .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,100px);align-items:end}
.phero--solo .wrap,.phero--light .wrap{grid-template-columns:minmax(0,1fr)}
.phero h1{font-size:clamp(2.5rem,1.2rem + 5.4vw,6.25rem);line-height:1.04;margin-block:var(--s5) var(--s5);max-width:14ch}
.phero .lede{color:#E9EDF4;max-width:40ch}
.phero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:var(--s6)}
.phero__img{border-radius:var(--arch);overflow:hidden;aspect-ratio:4/5;background:var(--navy-2);box-shadow:var(--shadow-card);justify-self:end;width:min(100%,460px)}
.phero__img img{width:100%;height:100%;object-fit:cover}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;font-size:.9375rem;color:var(--mute-on-navy)}
.crumbs a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;min-width:24px}
@media (hover:hover) and (pointer:fine){.crumbs a:hover{text-decoration:underline}}
.crumbs [aria-current]{color:#fff}
.pricechip{display:inline-flex;align-items:baseline;gap:8px;margin-block-start:var(--s5);padding:10px 20px;border:1px solid var(--line-on-navy);color:var(--champagne);font-weight:600}
.pricechip .num{font-size:2rem;color:#fff;line-height:1}
.phero--light{background:var(--ivory);color:var(--ink)}
.phero--light h1{color:var(--navy)}
.phero--light .lede{color:var(--ink)}
.phero--light .crumbs{color:var(--mute)}
.phero--light .crumbs [aria-current]{color:var(--navy)}
@media (max-width:860px){.phero .wrap{grid-template-columns:1fr}.phero__img{justify-self:start;width:min(80%,360px)}.phero h1{font-size:clamp(2.25rem,10vw,3.5rem)}}

/* ---------- layout helpers ---------- */
.two{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,100px);align-items:start}
.duo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,100px);align-items:center}
.duo__img{overflow:hidden;background:var(--ivory-2)}
.duo__img img{width:100%;height:100%;object-fit:cover}
.duo__img.portrait{border-radius:var(--arch);aspect-ratio:3/4}
.prose{display:grid;gap:var(--s4);max-width:60ch}
.prose p{max-width:58ch}
.ctaband{text-align:start}
.ctaband .wrap{display:grid;gap:var(--s5);justify-items:start}
.ctaband h2{max-width:16ch}
mark{background:rgba(183,154,91,.28);color:var(--ink);padding:0 4px;border-radius:2px}
mark.ph{background:rgba(183,154,91,.28)}
@media (max-width:860px){.two,.duo{grid-template-columns:1fr}}

/* ---------- service page ---------- */
.svc__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,6vw,100px);align-items:start}
.svc__main{display:grid;gap:var(--s5)}
.svc__main h2{font-size:var(--fs-4);margin-block:var(--s2) var(--s3)}
.svc__main p{max-width:58ch}
.svc__h3{font-size:var(--fs-3);margin-block-start:var(--s6)}
.bookcard{position:sticky;inset-block-start:calc(var(--header-h) + 24px);background:#fff;padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-card);border-block-start:2px solid var(--gold);display:grid;gap:var(--s4)}
.bookcard__price{font-family:var(--font-display);font-size:var(--fs-3);color:var(--navy);display:flex;align-items:baseline;gap:6px}
.bookcard__price .num{font-size:var(--fs-4);line-height:1}
.bookcard .btn{width:100%}
.steps4{list-style:none;padding:0;margin-block-start:var(--s7);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block-start:1px solid var(--line)}
.steps4 li{padding:var(--s5) var(--s5) var(--s5) 0;border-inline-end:1px solid var(--line);display:grid;gap:8px;align-content:start;padding-inline-start:var(--s5)}
.steps4 li:first-child{padding-inline-start:0}
.steps4 li:last-child{border-inline-end:0}
.steps4 .n{font-family:var(--font-display);font-size:1.75rem;color:var(--gold-deep)}
.steps4 b{font-family:var(--font-display);font-weight:400;font-size:var(--fs-2)}
.steps4 span:not(.n){color:var(--mute);font-size:1rem}
.know{list-style:none;padding:0;border-block-start:1px solid var(--line)}
.know li{padding-block:18px;border-block-end:1px solid var(--line);display:grid;grid-template-columns:20px 1fr;gap:12px}
.know li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);margin-block-start:.7em}
.related{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-block-start:1px solid var(--line);margin-block-start:var(--s5)}
.related a{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding:22px 4px;text-decoration:none;border-block-end:1px solid var(--line);font-family:var(--font-display);font-size:var(--fs-2)}
.related svg{width:22px;height:22px;flex:none;transition:transform var(--d-ui) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.related a:hover svg{translate:-6px 0}.related a:hover{color:var(--gold-deep)}}
@media (max-width:980px){.svc__grid{grid-template-columns:1fr}.bookcard{position:static}.steps4{grid-template-columns:1fr 1fr}.steps4 li{border-block-end:1px solid var(--line)}.steps4 li:nth-child(odd){padding-inline-start:0}}
@media (max-width:560px){.steps4{grid-template-columns:1fr}.steps4 li{padding-inline:0;border-inline-end:0}}

/* ---------- ledger (price list) ---------- */
.ledger{list-style:none;padding:0;border-block-start:1px solid var(--navy)}
.ledger li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(16px,4vw,64px);align-items:center;padding-block:clamp(22px,4vh,40px);border-block-end:1px solid var(--line)}
.ledger--plain li{grid-template-columns:minmax(0,1fr)}
.ledger__t{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--s4);align-items:start}
.ledger__t .n{font-size:.875rem;letter-spacing:.16em;color:var(--gold-deep);font-weight:600;padding-block-start:.6em}
.ledger h2,.ledger h3{font-size:clamp(1.5rem,1rem + 2vw,2.75rem);font-weight:300;line-height:1.1}
.ledger h2 a,.ledger h3 a{text-decoration:none}
.ledger p{color:var(--mute);margin-block-start:6px;max-width:52ch;font-size:1rem}
.ledger__p{font-weight:600;color:var(--navy)!important;white-space:nowrap;margin:0!important;font-size:var(--fs-0)!important}
.ledger__p .num{font-size:clamp(1.75rem,1.2rem + 1.4vw,2.5rem);font-weight:300}
.ledger__first{background:var(--ivory-2);padding-inline:clamp(16px,2vw,32px)!important;margin-block-end:0}
@media (hover:hover) and (pointer:fine){.ledger h2 a:hover,.ledger h3 a:hover{color:var(--gold-deep)}}
@media (max-width:760px){.ledger li{grid-template-columns:1fr;gap:12px}.ledger__t{grid-template-columns:36px minmax(0,1fr)}}

/* ---------- about ---------- */
.about-hero .phero__img{aspect-ratio:3/4}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-block-start:1px solid var(--line)}
.principles article{padding:var(--s6) var(--s6) var(--s6) 0;border-inline-end:1px solid var(--line);padding-inline-start:var(--s6)}
.principles article:first-child{padding-inline-start:0}
.principles article:last-child{border-inline-end:0}
.principles .n{font-size:4rem;line-height:1;color:var(--gold-deep);display:block;margin-block-end:var(--s4)}
.principles h3{font-size:var(--fs-3);margin-block-end:8px}
.principles p{color:var(--mute);max-width:32ch}
@media (max-width:860px){.principles{grid-template-columns:1fr}.principles article{padding:var(--s5) 0;border-inline-end:0;border-block-end:1px solid var(--line)}}
.clinic2{background:var(--ivory);padding-block:var(--section)}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,2vw,28px);margin-block-start:var(--s7);align-items:end}
.gallery figure{margin:0}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{font-size:.875rem;letter-spacing:.14em;color:var(--gold-deep);margin-block-start:8px;font-weight:600}
.g1{grid-column:1/8}.g1 img{aspect-ratio:16/10}
.g2{grid-column:8/13;margin-block-end:clamp(24px,8vh,96px)}.g2 img{aspect-ratio:4/5}
.g3{grid-column:2/7}.g3 img{aspect-ratio:3/2}
.g4{grid-column:7/13}.g4 img{aspect-ratio:3/2}
@media (max-width:760px){.gallery{grid-template-columns:1fr 1fr}.g1{grid-column:1/-1}.g2,.g3,.g4{grid-column:auto;margin:0}.g4{grid-column:1/-1}}

/* ---------- contact ---------- */
.ways{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);align-items:stretch}
.ways li{display:flex}
.ways a{flex:1;display:grid;align-content:start;gap:6px;padding:28px;border:1px solid var(--line);text-decoration:none;background:#fff;min-height:44px;transition:border-color var(--d-ui) var(--ease-out),transform var(--d-ui) var(--ease-out)}
.ways svg{width:26px;height:26px;color:var(--gold-deep)}
.ways .k{font-size:.875rem;letter-spacing:.16em;font-weight:600;color:var(--gold-deep)}
.ways .v{font-family:var(--font-display);font-size:1.875rem;color:var(--navy);line-height:1.1}
@media (hover:hover) and (pointer:fine){.ways a:hover{border-color:var(--navy);transform:translateY(-3px)}}
@media (max-width:760px){.ways{grid-template-columns:1fr}}

/* ---------- thank-you / 404 ---------- */
.thanks{min-height:calc(100svh - 120px);padding-block-start:calc(var(--header-h) + 64px);display:grid;align-items:center}
.thanks .related{width:100%}
.thanks .wrap>*{max-width:100%}
.thanks .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5);justify-items:start}
.thanks h1{font-size:clamp(2.5rem,1.2rem + 5.4vw,6rem);max-width:14ch}
.thanks__ring{width:96px;height:96px;color:var(--gold)}

/* ---------- legal ---------- */
.legal{padding-block:calc(var(--header-h) + clamp(40px,8vh,96px)) var(--section)}
.narrow{max-width:calc(820px + 2*var(--gutter))}
.legal h1{font-size:clamp(2.25rem,1.4rem + 3vw,4rem);margin-block:var(--s5) var(--s3)}
.legal h2{font-family:var(--font-display);font-size:var(--fs-3);margin-block:var(--s7) var(--s3);font-weight:400}
.legal p,.legal li{max-width:68ch;margin-block-end:var(--s3)}
.legal ul,.legal ol{padding-inline-start:1.4em;margin-block-end:var(--s4)}
.draftbanner{border:2px solid var(--gold-deep);background:rgba(183,154,91,.18);padding:14px 18px;font-size:1rem;max-width:68ch}
