
/* ==========================================================
   THE NURSE SUITE  ·  SITE FOUNDATION  ·  Stage 7 · Concept B
   Tokens from Stage 4 Design System v1.0 (locked).
   Layer order: tokens → base → type roles → components →
   sections → responsive. Internal pages reuse everything
   above "sections".
   ========================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  --navy:#04305D; --navy-deep:#072240; --navy-ink:#0B2A50; --navy-mid:#4F5B6B;
  --navy-12:rgba(4,48,93,.12); --navy-06:rgba(4,48,93,.06);
  --white:#FFFFFF; --ivory:#F7F5F0; --stone:#E8E3D9;
  --gold:#C8A45C; --gold-light:#E3CD95; --gold-text:#7A5F27; --gold-25:rgba(200,164,92,.25);
  --white-20:rgba(255,255,255,.18); --white-66:rgba(255,255,255,.66);

  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans","Helvetica Neue",Arial,sans-serif;

  --fs-display:clamp(2.75rem,1.9rem + 3.6vw,5.5rem);
  --fs-h1:clamp(2.25rem,1.55rem + 2.7vw,4rem);
  --fs-h2:clamp(1.75rem,1.3rem + 1.6vw,2.75rem);
  --fs-h3:clamp(1.375rem,1.15rem + .9vw,1.875rem);
  --fs-h4:1.125rem;
  --fs-lead:clamp(1.125rem,1.02rem + .45vw,1.375rem);
  --fs-body:clamp(1rem,.96rem + .15vw,1.0625rem);
  --fs-small:.875rem;
  --fs-eyebrow:.75rem;
  --fs-nav:.9375rem;
  --fs-button:.8125rem;

  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--s-11:160px;
  --section:clamp(56px,3.2vw + 36px,92px);
  --section-lg:clamp(64px,5vw + 40px,128px);
  --gutter:24px;
  --margin:clamp(20px,4vw,40px);
  --w-site:1280px; --w-wide:1440px; --w-text:640px;
  --radius:2px; --hairline:1px;
  --ease:cubic-bezier(.22,.61,.36,1); --t:220ms;
  --header-h:84px;
}

/* ---------- 2. BASE ---------- */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--navy-ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"kern","liga"}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:16px;top:-60px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:var(--radius);z-index:100;text-decoration:none;font-size:.85rem}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- 3. TYPE ROLES ---------- */
.t-display{font-family:var(--serif);font-weight:400;font-size:var(--fs-display);line-height:1.02;letter-spacing:-.012em;text-wrap:balance}
.t-h1{font-family:var(--serif);font-weight:400;font-size:var(--fs-h1);line-height:1.06;letter-spacing:-.01em;text-wrap:balance}
.t-h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.12;letter-spacing:-.008em;text-wrap:balance}
.t-h3{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.2;text-wrap:balance}
.t-h4{font-family:var(--sans);font-weight:600;font-size:var(--fs-h4);line-height:1.35}
.t-lead{font-size:var(--fs-lead);line-height:1.5}
.t-small{font-size:var(--fs-small);line-height:1.5;color:var(--navy-mid)}
.eyebrow{font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);line-height:1.4;display:block}
.on-navy .eyebrow{color:var(--gold-light)}
.measure{max-width:var(--w-text)}
.muted{color:var(--navy-mid)}
.on-navy .muted{color:var(--white-66)}

/* ---------- 4. LAYOUT PRIMITIVES ---------- */
.wrap{width:100%;max-width:var(--w-site);margin:0 auto;padding-left:var(--margin);padding-right:var(--margin)}
.wrap-wide{max-width:var(--w-wide)}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.section{padding-top:var(--section);padding-bottom:var(--section)}
.on-ivory{background:var(--ivory)}
.on-navy{background:var(--navy);color:var(--white)}
.on-navy h2,.on-navy h3{color:var(--white)}
.section-head{display:grid;gap:18px;margin-bottom:clamp(36px,4vw,64px)}
.section-head h2{color:var(--navy)}
.rule{height:1px;background:var(--navy-12);border:0;margin:0}
.rule-gold{height:1px;background:var(--gold);border:0;margin:0}
.rule-star{display:flex;align-items:center;gap:14px}
.rule-star::before,.rule-star::after{content:"";flex:1;height:1px;background:var(--navy-12)}
.star{width:14px;height:14px;fill:var(--gold);flex:none}

/* ---------- 5. COMPONENTS ---------- */
/* Buttons */
.btn{--h:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:var(--h);padding:0 28px;border-radius:var(--radius);border:1px solid transparent;font-family:var(--sans);font-size:var(--fs-button);font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;white-space:nowrap;position:relative;transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease)}
.btn::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease)}
.btn:hover::after{transform:scaleX(1)}
.btn-primary{background:var(--navy);color:var(--white);border-color:var(--navy)}
.btn-primary:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.btn-secondary{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-secondary:hover{background:var(--navy-06)}
.btn-secondary::after{display:none}
.btn-onnavy{background:var(--white);color:var(--navy);border-color:var(--white)}
.btn-onnavy:hover{background:var(--ivory)}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--white-66)}
.btn-ghost:hover{border-color:var(--white);background:var(--white-20)}
.btn-ghost::after{background:var(--gold-light)}
.btn-sm{--h:44px;padding:0 20px;font-size:.75rem}
.btn .ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
/* Text links */
.lnk{display:inline-flex;align-items:center;gap:10px;font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);text-decoration:none;padding-bottom:6px;border-bottom:1px solid var(--gold);transition:border-color var(--t) var(--ease)}
.lnk:hover{border-bottom-color:var(--navy)}
.lnk .arrow{width:18px;height:10px;fill:none;stroke:currentColor;stroke-width:1.25;transition:transform var(--t) var(--ease)}
.lnk:hover .arrow{transform:translateX(4px)}
.lnk.on-dark{color:var(--white);border-bottom-color:var(--gold-light)}
.lnk.on-dark:hover{border-bottom-color:var(--white)}
.navlink{font-size:var(--fs-nav);font-weight:500;letter-spacing:.01em;color:var(--navy);text-decoration:none;padding:6px 0;position:relative;display:inline-block;white-space:nowrap}
.navlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease)}
.navlink:hover::after,.navlink[aria-current="page"]::after,.navlink[aria-expanded="true"]::after{transform:scaleX(1)}
.navlink[aria-current="page"]{font-weight:600}
/* Status labels */
.status{display:inline-flex;align-items:center;gap:9px;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);white-space:nowrap}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--navy);flex:none}
.status.enquire::before{background:transparent;border:1px solid var(--navy)}
.status.consult{color:var(--gold-text)}.status.consult::before{background:var(--gold)}
.status.soon{color:var(--navy-mid)}.status.soon::before{background:transparent;border:1px solid var(--navy-mid)}
.status.pending{color:var(--navy-mid)}.status.pending::before{background:transparent;border:1px dashed var(--navy-mid)}
/* Review flags: visible in the Stage 7 preview, removed at launch */
.rf{display:inline-block;max-width:100%;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);border:1px solid var(--gold);padding:3px 8px;border-radius:var(--radius);vertical-align:middle;line-height:1.5;white-space:normal}
.on-navy .rf,.footer .rf{color:var(--gold-light);border-color:var(--gold-light)}
.flags-off .rf{display:none!important}
.flags-off .rf-only{display:none!important}
/* Image placeholder (restrained) */
.ph{background:var(--ivory);border:1px solid var(--stone);display:flex;align-items:flex-end;padding:16px;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--navy-mid);position:relative}
.ph .star{position:absolute;right:14px;top:14px;width:10px;height:10px}
/* Editorial photography placeholder: composed, not a developer box */
.ph-ed{position:relative;background:var(--ivory);border:1px solid var(--stone);display:grid;place-items:center;text-align:center;padding:24px;overflow:hidden}
.on-ivory .ph-ed{background:var(--white)}
.ph-ed::before{content:"";position:absolute;inset:12px;border:1px solid var(--stone);pointer-events:none}
.ph-ed .star{width:12px;height:12px;margin-bottom:14px}
.ph-ed .sub{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--navy);line-height:1.3}
.ph-ed .cap{display:block;margin-top:10px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy-mid)}
/* Brand device: cropped monogram, extremely low contrast */
.mono-bg{position:absolute;pointer-events:none;user-select:none;z-index:0}
/* Offset gold frame (one per page) */
.frame-gold{position:relative}
.frame-gold::after{content:"";position:absolute;inset:0;border:1px solid var(--gold);transform:translate(16px,16px);pointer-events:none}
/* Numbered step */
.num{font-family:var(--serif);font-size:1.6rem;color:var(--gold-text);line-height:1;font-variant-numeric:tabular-nums}
.num::after{content:"";display:block;width:24px;height:1px;background:var(--gold);margin-top:12px}
/* Reveal (JS only, from a visible resting state) */
.js .rv{opacity:.001;transform:translateY(14px);transition:opacity 600ms var(--ease),transform 600ms var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}

/* ---------- 6. HEADER ---------- */
.site-header{position:sticky;top:0;z-index:40;background:var(--navy);color:var(--white);border-bottom:1px solid var(--white-20)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-h);position:relative}
.site-header .bar::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:1px;background:var(--gold-light)}
.lockup{display:inline-flex;align-items:center;gap:14px;flex:none;text-decoration:none}
.lockup img{max-width:none}
.lockup .m{height:44px;width:auto}
.lockup .w{height:14px;width:auto}
.site-header nav{display:flex;gap:30px;align-items:center}
.site-header .navlink{color:var(--white)}
.site-header .navlink::after{background:var(--gold-light)}
.site-header .actions{display:flex;align-items:center;gap:22px}
.wa{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-decoration:none;color:inherit}
.wa svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
[data-whatsapp]{display:none!important} /* hidden until the authoritative number is confirmed */
/* Services panel */
.svc-btn{display:inline-flex;align-items:center;gap:8px}
.svc-btn .chev{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform var(--t)}
.svc-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.panel{position:absolute;left:0;right:0;top:100%;background:var(--white);color:var(--navy-ink);border-top:1px solid var(--navy-12);border-bottom:1px solid var(--navy-12);display:none}
.panel.open{display:block}
.panel .inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-7);padding:36px 0 40px}
.panel .intro{font-family:var(--serif);font-size:1.4rem;line-height:1.25;color:var(--navy);max-width:20ch}
.panel .intro small{display:block;font-family:var(--sans);font-size:.8rem;color:var(--navy-mid);margin-top:14px;line-height:1.5;max-width:32ch}
.panel ul{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.panel li{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--navy-12);align-items:baseline}
.panel li .n{font-family:var(--serif);color:var(--gold-text);font-variant-numeric:tabular-nums}
.panel li a{text-decoration:none;color:var(--navy);font-weight:600;font-size:.95rem}
.panel li .desc{display:block;font-size:.8rem;color:var(--navy-mid);font-weight:400;margin-top:3px}
.panel li .desc .rf{margin-top:6px}
.panel li.all{grid-column:1/-1;display:block;border-bottom:0;padding-top:22px}
/* Mobile drawer + burger */
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;margin-right:-10px;border-radius:var(--radius)}
.burger i{display:block;width:22px;height:1px;background:#fff;position:relative;transition:background var(--t)}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:22px;height:1px;background:#fff;transition:transform var(--t) var(--ease),top var(--t) var(--ease)}
.burger i::before{top:-7px}.burger i::after{top:7px}
.burger[aria-expanded="true"] i{background:transparent}
.burger[aria-expanded="true"] i::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] i::after{top:0;transform:rotate(-45deg)}
.drawer{position:fixed;inset:0;top:64px;background:var(--navy);color:var(--white);z-index:39;display:flex;flex-direction:column;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity 260ms var(--ease),transform 260ms var(--ease),visibility 0s 260ms;overflow:auto}
.drawer.open{opacity:1;transform:none;visibility:visible;transition:opacity 260ms var(--ease),transform 260ms var(--ease)}
.drawer nav{padding:22px var(--margin) 0;flex:1}
.drawer nav a{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--serif);font-size:1.75rem;color:var(--white);text-decoration:none;padding:16px 0;border-bottom:1px solid var(--white-20)}
.drawer nav a small{font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);font-weight:600}
.drawer .d-foot{padding:18px var(--margin) 32px;display:grid;gap:14px}
.drawer .d-foot .row{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--white-66)}
.drawer .d-foot .row b{color:var(--white);font-weight:500;text-align:right}
body.drawer-open{overflow:hidden}
/* Persistent mobile bar */
.m-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:38;padding:12px var(--margin) calc(12px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--navy-12);transform:translateY(110%);transition:transform 260ms var(--ease)}
.m-bar.show{transform:none}
.m-bar .btn{--h:48px;width:100%}
body.drawer-open .m-bar{transform:translateY(110%)}

/* ---------- 7. FOOTER ---------- */
.footer{background:var(--navy-deep);color:var(--white);padding:clamp(56px,6vw,88px) 0 28px}
.footer .top{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr)) minmax(0,3fr);gap:var(--s-7)}
.footer .brand{display:grid;gap:18px;align-content:start}
.footer .brand img{width:150px}
.footer .brand p{font-size:.84rem;color:var(--white-66);max-width:30ch;line-height:1.55}
.footer h2{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-light);margin-bottom:16px;font-family:var(--sans)}
.footer ul{display:grid;gap:9px}
.footer li a{font-size:.9rem;color:var(--white);text-decoration:none}
.footer li a:hover{text-decoration:underline;text-decoration-color:var(--gold-light);text-underline-offset:.2em}
.footer li small{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--white-66);margin-left:8px;white-space:nowrap}
.flags-off .footer .top{grid-template-columns:minmax(0,4fr) repeat(2,minmax(0,2fr)) minmax(0,3fr)}
.footer .contact{display:grid;gap:12px;font-size:.88rem}
.footer .contact span{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--white-66);margin-bottom:2px}
.footer .contact a{color:var(--white);text-decoration:none}
.footer .reg{font-size:.78rem;color:var(--white-66);border-top:1px solid var(--white-20);padding-top:18px;margin-top:var(--s-8);max-width:70ch;line-height:1.55}
.footer .bottom{border-top:1px solid var(--white-20);padding-top:22px;margin-top:var(--s-6);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.76rem;color:var(--white-66)}
.footer .bottom ul{display:flex;gap:20px}
.footer .bottom li a{font-size:.76rem;color:var(--white-66)}

/* ==========================================================
   CONCEPT B  ·  SECTION STYLES
   Photography-first editorial composition. Same tokens,
   same copy, new composition.
   ========================================================== */

/* Editorial placeholder: real dimensions, specified subject */
.ph-ed{position:relative;background:var(--ivory);border:1px solid var(--stone);display:grid;place-items:center;text-align:center;padding:28px;overflow:hidden}
.ph-ed::before{content:"";position:absolute;inset:14px;border:1px solid var(--stone);pointer-events:none}
.ph-ed .star{width:12px;height:12px;margin:0 auto 14px}
.ph-ed .sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1rem + .5vw,1.5rem);color:var(--navy);line-height:1.3;max-width:24ch}
.ph-ed .cap{display:block;margin-top:12px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy-mid);line-height:1.7}
.ph-ed.dark{background:var(--navy-deep);border-color:var(--white-20)}
.ph-ed.dark::before{border-color:var(--white-20)}
.ph-ed.dark .sub{color:var(--white)}
.ph-ed.dark .cap{color:var(--white-66)}
.ph-ed.dark .star{fill:var(--gold-light)}
/* Interaction: gentle scale inside a link */
a .ph-ed{transition:transform 700ms var(--ease)}
a:hover .ph-ed{transform:scale(1.015)}
.clip{overflow:hidden}
/* Page numbering */
.pn{position:absolute;z-index:2;top:28px;right:var(--margin);font-family:var(--serif);font-size:.9rem;color:var(--gold-text);letter-spacing:.08em;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:12px}
.pn::before{content:"";width:32px;height:1px;background:var(--gold)}
.on-navy .pn,.hero-b .pn,.founder-b .pn,.cta-b .pn{color:var(--gold-light)}
.on-navy .pn::before,.hero-b .pn::before,.founder-b .pn::before,.cta-b .pn::before{background:var(--gold-light)}
.mono-bg{position:absolute;pointer-events:none;user-select:none;z-index:0}

/* ---------- 01 HERO ---------- */
.hero-b{background:var(--navy-deep);color:var(--white);position:relative;overflow:hidden}
.hero-b .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);position:relative;padding-top:clamp(24px,3vw,48px)}
.hero-b .txt{grid-column:1/9;grid-row:1;z-index:2;display:grid;gap:26px;align-content:center;padding:clamp(40px,6vw,96px) 0 clamp(48px,6vw,96px)}
.hero-b .eyebrow{color:var(--gold-light);display:flex;align-items:center;gap:16px}
.hero-b .eyebrow::before{content:"";width:40px;height:1px;background:var(--gold-light)}
.hero-b h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.75rem,1.4rem + 4.2vw,5.75rem);line-height:1;letter-spacing:-.015em;max-width:12ch;text-wrap:balance}
.hero-b h1 em{font-style:italic;font-weight:300}
.hero-b p{color:var(--white-66);font-size:var(--fs-lead);max-width:36ch;line-height:1.5}
.hero-b .acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.hero-b .pic{grid-column:8/13;grid-row:1;position:relative;align-self:end;z-index:1;margin-right:calc(-1 * max(var(--margin),(100vw - var(--w-site)) / 2 + var(--margin)))}
.hero-b .pic img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 14%;display:block}
.hero-b .pic .ph-ed{aspect-ratio:3/4}
.hero-b .pic .vcap{position:absolute;left:-28px;bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold-light);padding-top:14px;border-top:1px solid var(--gold-light)}
.hero-b .pic .rf{position:absolute;right:16px;top:16px;z-index:2;background:rgba(7,34,64,.88);color:var(--gold-light)}
/* Credibility woven as a running line */
.cred-line{border-top:1px solid var(--white-20);position:relative;z-index:3;background:var(--navy-deep)}
.cred-line ul{display:flex;flex-wrap:wrap;gap:10px 0;padding:20px var(--margin);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--white)}
.cred-line li{display:flex;align-items:center;gap:14px;padding-right:14px}
.cred-line li::after{content:"";width:5px;height:5px;background:var(--gold-light);transform:rotate(45deg);flex:none}
.cred-line li:last-child::after{display:none}
.cred-line li:last-child{padding-right:0}
.cred-line li b{font-family:var(--serif);font-weight:400;font-size:1.1rem;letter-spacing:0;text-transform:none;color:var(--gold-light);margin-right:4px}

.phil{position:relative;background:var(--white)}
.phil .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:center}
.phil .txt{grid-column:1/7;display:grid;gap:28px}
.phil h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,1.6rem + 3vw,4.5rem);line-height:1.02;letter-spacing:-.014em;color:var(--navy);max-width:14ch;text-wrap:balance}
.phil p{max-width:44ch;color:var(--navy-ink);font-size:var(--fs-lead);line-height:1.55;padding-left:28px;border-left:1px solid var(--gold)}
.phil .lab{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}

/* ---------- 03 SERVICE PANELS ---------- */
.svc-b{background:var(--ivory);position:relative}
.svc-b .head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-7);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.svc-b .head p{color:var(--navy-mid);max-width:40ch;justify-self:end}
.panel-svc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:center;position:relative;text-decoration:none;color:inherit}
.panel-svc+.panel-svc{margin-top:clamp(80px,9vw,140px)}
.panel-svc .img{grid-column:1/8;grid-row:1}
.panel-svc .img .ph-ed{aspect-ratio:4/3}
.panel-svc .img .ph-ed>div{padding-right:14%}
.panel-svc.flip .img .ph-ed>div{padding-right:0;padding-left:14%}
.panel-svc .txt{grid-column:7/13;grid-row:1;background:var(--white);padding:clamp(28px,3.5vw,56px);display:grid;gap:18px;position:relative;z-index:1;margin-left:0;border-top:1px solid var(--navy);align-self:end;margin-bottom:clamp(-40px,-3vw,-24px)}
.panel-svc.flip .img{grid-column:6/13}
.panel-svc.flip .txt{grid-column:1/7;align-self:start;margin-bottom:0;margin-top:clamp(-40px,-3vw,-24px)}
.panel-svc.flip .big{top:auto;bottom:-.25em;left:24px;right:auto}
.panel-svc .big{position:absolute;font-family:var(--serif);font-size:clamp(6rem,10vw,11rem);line-height:1;color:var(--navy);opacity:.06;top:-.35em;right:24px;font-variant-numeric:tabular-nums;pointer-events:none}
.panel-svc .kicker{display:flex;align-items:center;gap:14px}
.panel-svc .kicker .n{font-family:var(--serif);color:var(--gold-text);font-size:1rem}
.panel-svc h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,1.4rem + 1.8vw,3rem);line-height:1.06;color:var(--navy);letter-spacing:-.01em}
.panel-svc p{color:var(--navy-mid);max-width:44ch;font-size:1.02rem}
.panel-svc .foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:8px}
.panel-svc .status{margin-top:2px}
/* IV panel: navy, no photography, unavailable */
.panel-iv{position:relative;background:var(--navy);color:var(--white);padding:clamp(40px,5vw,72px) clamp(28px,4vw,64px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-7);align-items:end;overflow:hidden;margin-top:clamp(56px,7vw,112px)}
.panel-iv .mono-bg{right:-10%;top:-30%;width:min(40vw,520px);opacity:.06}
.panel-iv>:not(.mono-bg){position:relative;z-index:1}
.panel-iv .kicker{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.panel-iv .kicker .n{font-family:var(--serif);color:var(--gold-light)}
.panel-iv .kicker .status{color:var(--gold-light)}
.panel-iv .kicker .status::before{background:transparent;border:1px solid var(--gold-light)}
.panel-iv h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,1.4rem + 1.8vw,3rem);line-height:1.06;letter-spacing:-.01em;margin-bottom:16px}
.panel-iv p{color:var(--white-66);max-width:46ch;font-size:1.02rem}
.panel-iv .side{display:grid;gap:16px;justify-items:start}
.panel-iv .side small{font-size:.8rem;color:var(--white-66);max-width:32ch;line-height:1.5}
.svc-b .more{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--navy-12)}
.svc-b .more p{color:var(--navy-mid);max-width:44ch}

/* ---------- 04 FOUNDER (navy, expansive) ---------- */
.founder-b{background:var(--navy-deep);color:var(--white);position:relative;overflow:hidden}
.founder-b .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:stretch}
.founder-b .pic{grid-column:1/6;margin-left:calc(-1 * max(var(--margin),(100vw - var(--w-site)) / 2 + var(--margin)));position:relative}
.founder-b .pic img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:50% 20%}
.founder-b .pic .rf{position:absolute;left:16px;bottom:16px}
.founder-b .txt{grid-column:7/13;padding:clamp(48px,6vw,104px) 0;display:grid;gap:26px;position:relative}
.founder-b .fourteen{position:absolute;right:-20px;bottom:-.08em;font-family:var(--serif);font-size:clamp(9rem,16vw,17rem);line-height:.8;color:var(--white);opacity:.06;letter-spacing:-.04em;pointer-events:none;font-variant-numeric:tabular-nums}
.founder-b .eyebrow{color:var(--gold-light)}
.founder-b h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,1.6rem + 2.8vw,4.25rem);line-height:1.02;letter-spacing:-.012em}
.founder-b .title{font-size:.95rem;color:var(--white-66)}
.founder-b .title b{color:var(--white);font-weight:600}
.founder-b .story{display:grid;grid-template-columns:auto 1fr;gap:16px 28px;align-items:start}
.founder-b .story .num{font-family:var(--serif);font-size:4rem;line-height:.9;color:var(--gold-light);font-variant-numeric:tabular-nums}
.founder-b .story .lab{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-light);max-width:12ch;line-height:1.4;align-self:end;padding-bottom:6px}
.founder-b .story p{grid-column:1/-1;color:rgba(255,255,255,.8);max-width:52ch;font-size:1.05rem}
.founder-b .creds{display:grid;grid-template-columns:1fr 1fr;gap:10px 32px;padding:22px 0;border-top:1px solid var(--white-20);border-bottom:1px solid var(--white-20)}
.founder-b .creds li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:baseline;font-size:.92rem;color:var(--white)}
.founder-b .creds li i{font-family:var(--serif);font-style:normal;color:var(--gold-light);font-size:.85rem}
.founder-b .acts{display:flex;gap:24px;align-items:center;flex-wrap:wrap}

/* ---------- 05 PRINCIPLES 2x2 ---------- */
.prin{background:var(--white);position:relative}
.prin .head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-7);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.prin .grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--navy)}
.prin .grid li{padding:clamp(28px,3vw,44px) clamp(24px,3vw,44px) clamp(28px,3vw,44px) 0;border-right:1px solid var(--navy-12);border-bottom:1px solid var(--navy-12);display:grid;grid-template-columns:56px 1fr;gap:12px 20px;align-items:baseline}
.prin .grid .k{font-family:var(--serif);font-size:2rem;color:var(--gold-text);line-height:1;font-variant-numeric:tabular-nums}
.prin .grid h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,1.3rem + 1vw,2.25rem);line-height:1.1;color:var(--navy)}
.prin .grid li:nth-child(2n){border-right:0;padding-left:clamp(24px,3vw,44px)}
.prin .grid p{grid-column:2;color:var(--navy-mid);max-width:40ch;font-size:1.02rem}

/* ---------- 06 STEPS with consultation image ---------- */
.steps-b{background:var(--ivory);position:relative}
.steps-b .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.steps-b .pic{grid-column:1/6;position:sticky;top:calc(var(--header-h) + 24px)}
.steps-b .pic .ph-ed{aspect-ratio:3/4;background:var(--white)}
.steps-b .txt{grid-column:7/13;display:grid;gap:8px}
.steps-b .txt .eyebrow{margin-bottom:10px}
.steps-b .txt h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);margin-bottom:24px}
.steps-b ol{display:grid;border-left:1px solid var(--gold);margin-left:8px}
.steps-b li{position:relative;padding:22px 0 30px 40px}
.steps-b li::before{content:"";position:absolute;left:-4px;top:32px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.steps-b li .num{font-family:var(--serif);font-size:1rem;color:var(--gold-text);font-variant-numeric:tabular-nums;display:block;margin-bottom:8px}
.steps-b li h3{font-family:var(--serif);font-weight:500;font-size:1.6rem;line-height:1.15;color:var(--navy);margin-bottom:10px}
.steps-b li p{color:var(--navy-mid);max-width:44ch;font-size:1.02rem}
.steps-b .acts{margin-top:18px;padding-left:40px}

/* ---------- 07 MOBILE CARE full-bleed ---------- */
.mob-b{position:relative;background:var(--white);padding-bottom:var(--section)}
.mob-b .photo{position:relative}
.mob-b .photo .ph-ed{height:clamp(380px,42vw,620px);border-left:0;border-right:0}
.mob-b .photo .ph-ed::before{inset:14px 0}
.mob-b .card{position:relative;background:var(--white);margin-top:calc(-1 * clamp(80px,10vw,160px));max-width:640px;padding:clamp(32px,4vw,56px) clamp(28px,4vw,56px) 0 0;display:grid;gap:20px}
.mob-b .card h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h1);line-height:1.04;color:var(--navy);letter-spacing:-.012em;max-width:14ch}
.mob-b .card p{color:var(--navy-mid);max-width:46ch;font-size:1.02rem}
.mob-b .card .micro{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.mob-b .card .acts{display:flex;gap:20px;align-items:center;flex-wrap:wrap}

/* ---------- 08 PATIENT INFORMATION ---------- */
.faq-b{background:var(--ivory);position:relative}
.faq-b .inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-8);align-items:start}
.faq-b .side{display:grid;gap:18px}
.faq-b .side h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy)}
.faq-b .side p{color:var(--navy-mid);max-width:34ch}
.faq{border-top:1px solid var(--navy)}
.faq details{border-bottom:1px solid var(--navy-12)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:20px;align-items:center;padding:24px 0;font-family:var(--serif);font-size:1.5rem;color:var(--navy);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font:inherit}
.faq summary .pm{width:24px;height:24px;position:relative}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;background:var(--gold-text);transition:transform var(--t) var(--ease)}
.faq summary .pm::before{width:14px;height:1px;transform:translate(-50%,-50%)}
.faq summary .pm::after{width:1px;height:14px;transform:translate(-50%,-50%)}
.faq details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq .a{padding:0 44px 26px 0;color:var(--navy-mid);font-size:1.05rem;line-height:1.6;max-width:60ch}

/* ---------- 09 CTA navy ---------- */
.cta-b{background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.cta-b .mono-bg{right:-6vw;bottom:-40%;width:min(46vw,620px);opacity:.06}
.cta-b .inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-7);align-items:end}
.cta-b .eyebrow{color:var(--gold-light);margin-bottom:18px}
.cta-b h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,1.6rem + 3vw,4.5rem);line-height:1.02;letter-spacing:-.012em;max-width:14ch}
.cta-b p{color:var(--white-66);max-width:40ch;margin-top:20px;font-size:1.05rem}
.cta-b .acts{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.cta-b .star{position:absolute;right:var(--margin);top:28px;width:18px;height:18px;fill:var(--gold-light)}

.pv{position:fixed;left:14px;bottom:14px;z-index:30;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--navy);background:var(--white);border:1px solid var(--navy-12);padding:8px 10px;border-radius:var(--radius);opacity:.85}
.pv:hover{opacity:1}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .site-header .actions .wa span{display:none}
  .site-header nav{gap:22px}
}
@media (max-width:1023px){
  :root{--header-h:72px}
  .site-header nav,.site-header .actions .btn{display:none}
  .burger{display:inline-flex}
  .lockup .m{height:34px}.lockup .w{height:11px}
  .hero-b .inner{grid-template-columns:1fr;padding-top:0}
  .hero-b .pic{grid-column:1/-1;grid-row:1;margin:0 calc(-1 * var(--margin));align-self:start}
  .hero-b .pic img,.hero-b .pic .ph-ed{aspect-ratio:4/3;object-position:50% 0}
  .hero-b .pic .vcap{display:none}
  .hero-b .txt{grid-column:1/-1;grid-row:2;padding:36px 0 48px}
  .hero-b h1{max-width:none}
  .phil .inner{grid-template-columns:1fr}
  .svc-b .head{grid-template-columns:1fr}
  .svc-b .head p{justify-self:start}
  .panel-svc .img{grid-column:1/-1;grid-row:1}
  .panel-svc .txt,.panel-svc.flip .txt{grid-column:2/12;grid-row:2;margin:-56px 0 0;border-top:0}
  .panel-svc.flip .img{grid-column:1/-1}
  .panel-svc .img .ph-ed{aspect-ratio:4/3;max-height:none}
  .panel-iv{grid-template-columns:1fr}
  .founder-b .inner{grid-template-columns:1fr}
  .founder-b .pic{grid-column:1/-1;margin:0 calc(-1 * var(--margin))}
  .founder-b .pic img{min-height:0;aspect-ratio:4/3;object-position:50% 12%}
  .founder-b .txt{grid-column:1/-1;padding:40px 0 56px}
  .founder-b .fourteen{font-size:9rem;right:-10px}
  .prin .head{grid-template-columns:1fr}
  .steps-b .inner{grid-template-columns:1fr}
  .steps-b .pic{grid-column:1/-1;position:static;max-width:520px}
  .steps-b .txt{grid-column:1/-1;margin-top:32px}
  .faq-b .inner{grid-template-columns:1fr}
  .cta-b .inner{grid-template-columns:1fr}
  .cta-b .acts{justify-content:flex-start}
  .pn{top:20px}
}
@media (max-width:639px){
  :root{--header-h:64px;--section:64px}
  .btn{white-space:normal;height:auto;min-height:var(--h);padding-top:12px;padding-bottom:12px;text-align:center;line-height:1.3}
  .hero-b .txt{padding:28px 0 40px}
  .hero-b h1{font-size:2.75rem}
  .hero-b .acts{flex-direction:column}.hero-b .acts .btn{width:100%}
  .cred-line ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;font-size:.64rem;padding:18px var(--margin)}
  .cred-line li{padding-right:0;gap:10px}
  .cred-line li::after{display:none}
  .cred-line li:last-child{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--white-20)}
  .hero-b .pic img,.hero-b .pic .ph-ed{aspect-ratio:4/5;object-position:50% 8%}
  .phil h2{font-size:2.4rem}
  .phil p{padding-left:18px}
  .panel-svc .txt,.panel-svc.flip .txt{grid-column:1/-1;margin:-32px var(--margin) 0;padding:24px}
  .panel-svc .big{display:none}
  .prin .grid{grid-template-columns:1fr;border-left:0}
  .prin .grid li{grid-template-columns:40px 1fr;padding:24px 0;border-right:0}
  .prin .grid .k{font-size:1.5rem}
  .prin .grid li:nth-child(2n){padding-left:0}
  .founder-b .creds{grid-template-columns:1fr}
  .founder-b .pic img{object-position:50% 20%}
  .steps-b li{padding-left:28px}
  .steps-b .acts{padding-left:28px}
  .mob-b .photo .ph-ed{height:auto;aspect-ratio:4/5}
  .mob-b .card{margin:-40px var(--margin) 0;padding:24px 20px 0 0}
  .mob-b .card h2{font-size:2.2rem}
  .cta-b h2{font-size:2.4rem}
  .cta-b .acts{flex-direction:column;align-items:stretch}
  .cta-b .btn{width:100%}
  .footer .top,.flags-off .footer .top{grid-template-columns:1fr}
  .footer .bottom{flex-direction:column}
  .m-bar{display:block}
  .pv{bottom:84px}
  body{padding-bottom:0}
}
@media (min-width:640px) and (max-width:1023px){
  .footer .top,.flags-off .footer .top{grid-template-columns:1fr 1fr}
  .footer .brand,.footer .contact{grid-column:1/-1}
}

/* ==========================================================
   INTERNAL PAGES  ·  Stage 8 · First draft
   Everything below reuses the Concept B tokens and components
   above. New section styles only; nothing above is changed.
   ========================================================== */

/* ---------- Shared internal primitives ---------- */
.crumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--navy-mid)}
.crumb a{color:inherit;text-decoration:none}
.crumb a:hover{color:var(--navy)}
.crumb li{display:flex;align-items:center;gap:10px}
.crumb li+li::before{content:"";width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}
.on-navy .crumb,.hero-dark .crumb{color:var(--white-66)}
.on-navy .crumb a:hover,.hero-dark .crumb a:hover{color:var(--white)}
.on-navy .crumb li+li::before,.hero-dark .crumb li+li::before{background:var(--gold-light)}
.status-lg{font-size:.78rem}
.status-lg::before{width:9px;height:9px}
.on-navy .status,.hero-dark .status,.chapter.dark .status,.panel-iv .status{color:var(--white)}
.on-navy .status::before,.hero-dark .status::before{background:var(--white)}
.on-navy .status.enquire::before,.hero-dark .status.enquire::before{background:transparent;border-color:var(--white)}
.on-navy .status.consult,.hero-dark .status.consult{color:var(--gold-light)}
.on-navy .status.consult::before,.hero-dark .status.consult::before{background:var(--gold-light);border:0}
.on-navy .status.soon,.hero-dark .status.soon,.chapter.dark .status.soon,.panel-iv .status.soon{color:var(--gold-light)}
.on-navy .status.soon::before,.hero-dark .status.soon::before,.chapter.dark .status.soon::before,.panel-iv .status.soon::before{background:transparent;border-color:var(--gold-light)}
.on-navy .status.pending,.hero-dark .status.pending{color:var(--white-66)}
.on-navy .status.pending::before,.hero-dark .status.pending::before{border-color:var(--white-66)}
.lead-rule{padding-left:28px;border-left:1px solid var(--gold);max-width:46ch;color:var(--navy-ink);font-size:var(--fs-lead);line-height:1.55}
.on-navy .lead-rule,.hero-dark .lead-rule{color:var(--white-66);border-left-color:var(--gold-light)}
.acts{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-4{grid-column:span 4}.col-8{grid-column:span 8}
.off-1{grid-column-start:2}.off-2{grid-column-start:3}.off-7{grid-column-start:7}.off-8{grid-column-start:8}
.prose{display:grid;gap:18px;max-width:var(--w-text);color:var(--navy-ink);font-size:var(--fs-body);line-height:1.65}
.prose p{max-width:60ch}
.on-navy .prose{color:rgba(255,255,255,.82)}
.prose strong{font-weight:600;color:var(--navy)}
.on-navy .prose strong{color:var(--white)}
.stat-big{font-family:var(--serif);font-size:clamp(4rem,3rem + 4vw,7rem);line-height:.9;color:var(--gold-text);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.on-navy .stat-big{color:var(--gold-light)}
.stat-lab{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy-mid);margin-top:10px;max-width:14ch;line-height:1.5}
.on-navy .stat-lab{color:var(--white-66)}
.list-star{display:grid;gap:14px}
.list-star li{display:grid;grid-template-columns:18px 1fr;gap:14px;align-items:baseline;font-size:1rem;color:var(--navy-ink);line-height:1.5}
.list-star li .star{width:10px;height:10px;transform:translateY(-1px)}
.on-navy .list-star li{color:var(--white)}
.list-star li small{display:block;font-size:.82rem;color:var(--navy-mid);margin-top:2px}
.on-navy .list-star li small{color:var(--white-66)}
.dl-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gutter);padding:26px 0;border-top:1px solid var(--navy-12)}
.dl-row:last-child{border-bottom:1px solid var(--navy-12)}
.dl-row h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;line-height:1.25;color:var(--navy)}
.dl-row p{color:var(--navy-mid);max-width:56ch}
.on-navy .dl-row{border-color:var(--white-20)}
.on-navy .dl-row h3{color:var(--white)}
.on-navy .dl-row p{color:var(--white-66)}
.rf-block{border:1px dashed var(--gold);padding:18px 20px;display:grid;gap:8px;font-size:.9rem;color:var(--navy-mid);max-width:60ch;background:rgba(200,164,92,.06)}
.rf-block b{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold-text)}
.on-navy .rf-block{border-color:var(--gold-light);color:var(--white-66);background:rgba(255,255,255,.04)}
.on-navy .rf-block b{color:var(--gold-light)}
.svc-nav{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;font-size:.85rem;color:var(--navy-mid)}
.svc-nav span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.svc-nav a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px;font-weight:500}
.svc-nav a:hover{border-bottom-color:var(--navy)}

/* ---------- Trust module (Danielle, short) ---------- */
.trust{background:var(--white);border-top:1px solid var(--navy);padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}
.trust .inner{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--s-7);align-items:center}
.trust .pic{position:relative;max-width:260px}
.trust .pic img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 12%}
.trust .txt{display:grid;gap:14px}
.trust .txt .eyebrow{margin-bottom:4px}
.trust h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2;color:var(--navy);max-width:24ch}
.trust p{color:var(--navy-mid);max-width:56ch}
.trust .acts{margin-top:6px}

/* ---------- Page hero variants ---------- */
.hero-in{position:relative;overflow:hidden;background:var(--white)}
.hero-in .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(48px,6vw,96px)}
.hero-in .txt{grid-column:1/8;display:grid;gap:24px}
.hero-in h1{font-family:var(--serif);font-weight:400;font-size:var(--fs-h1);line-height:1.04;letter-spacing:-.012em;color:var(--navy);max-width:16ch;text-wrap:balance}
.hero-in h1 em{font-style:italic;font-weight:300}
.hero-in .pic{grid-column:9/13;position:relative}
.hero-in .pic .ph-ed{aspect-ratio:3/4}
.hero-in.on-ivory{background:var(--ivory)}
.hero-in.on-ivory .ph-ed{background:var(--white)}
.hero-dark{background:var(--navy-deep);color:var(--white)}
.hero-dark h1{color:var(--white)}
.hero-dark .eyebrow{color:var(--gold-light)}
.hero-in .mono-bg{left:-8%;top:-20%;width:min(46vw,620px);opacity:.05}
.hero-in .inner>*{position:relative;z-index:1}
.hero-in .meta{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.hero-in .meta .micro{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.hero-dark .meta .micro{color:var(--gold-light)}
/* Typographic hero, no image: statement plus corner label */
.hero-type .inner{grid-template-columns:1fr;padding-bottom:clamp(40px,5vw,72px)}
.hero-type .txt{grid-column:1/-1;max-width:none}
.hero-type h1{max-width:18ch;font-size:clamp(2.6rem,1.8rem + 3.2vw,5rem)}
.hero-type .corner{position:absolute;right:var(--margin);bottom:0;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy-mid);padding-top:10px;border-top:1px solid var(--gold);width:260px;text-align:right;line-height:1.7}
.hero-dark .corner{color:var(--white-66);border-top-color:var(--gold-light)}
/* Typographic category hero */
.cat-hero.hero-type .txt{grid-column:1/10}
.cat-hero.hero-type h1{max-width:16ch}

/* Wide photo band beneath a hero */
.band{position:relative}
.band .ph-ed{height:clamp(320px,38vw,560px);border-left:0;border-right:0}
.band .ph-ed::before{inset:14px 0}

/* ---------- ABOUT · Meet Danielle ---------- */
.ab-hero{background:var(--white);position:relative;overflow:hidden}
.ab-hero .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:center;padding-top:clamp(40px,5vw,80px);padding-bottom:clamp(56px,7vw,112px)}
.ab-hero .txt{grid-column:1/7;display:grid;gap:26px;position:relative;z-index:1}
.ab-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,1.8rem + 3.6vw,5.5rem);line-height:1;letter-spacing:-.015em;color:var(--navy);text-wrap:balance}
.ab-hero .title{font-size:1rem;color:var(--navy-mid)}
.ab-hero .title b{color:var(--navy);font-weight:600}
.ab-hero .pic{grid-column:8/13;position:relative;z-index:1;margin-right:16px;margin-bottom:16px}
.ab-hero .pic img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 14%}
.ab-hero .pic .rf{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.9)}
.ab-hero .mono-bg{right:-6%;bottom:-24%;width:min(44vw,600px);opacity:.05}
.ab-hero .stat{display:grid;grid-template-columns:auto 1fr;gap:0 20px;align-items:end;padding-top:22px;border-top:1px solid var(--navy-12);max-width:420px}
.ab-hero .stat .stat-big{font-size:clamp(3.4rem,2.6rem + 3vw,5.5rem)}
.ab-hero .stat p{color:var(--navy-mid);font-size:.95rem;max-width:26ch;align-self:center}

.ab-approach{background:var(--ivory);position:relative;overflow:hidden}
.ab-approach .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.ab-approach .lab{grid-column:1/4;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text);padding-top:10px;border-top:1px solid var(--gold);max-width:18ch;line-height:1.7}
.ab-approach .txt{grid-column:4/13;display:grid;gap:28px}
.ab-approach h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,1.5rem + 2.6vw,4rem);line-height:1.05;letter-spacing:-.012em;color:var(--navy);max-width:18ch;text-wrap:balance}
.ab-approach .words{display:flex;flex-wrap:wrap;gap:10px 0;font-family:var(--serif);font-size:1.35rem;color:var(--navy);font-style:italic;font-weight:300}
.ab-approach .words li{display:flex;align-items:center;gap:0}
.ab-approach .words li+li::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg);margin:0 20px}
.ab-approach .cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7)}
.ab-approach .cols p{color:var(--navy-ink);max-width:44ch}

.ab-story{background:var(--white);position:relative}
.ab-story .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.ab-story .txt{grid-column:1/7;display:grid;gap:22px}
.ab-story .txt h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:16ch}
.ab-story .txt p{color:var(--navy-ink);max-width:52ch}
.ab-story .pic{grid-column:8/13;position:sticky;top:calc(var(--header-h) + 24px)}
.ab-story .pic .ph-ed{aspect-ratio:4/5}
.ab-story .path{display:grid;border-left:1px solid var(--gold);margin:12px 0 0 8px}
.ab-story .path li{position:relative;padding:18px 0 22px 36px}
.ab-story .path li::before{content:"";position:absolute;left:-4px;top:28px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.ab-story .path li .k{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text);display:block;margin-bottom:6px}
.ab-story .path li h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.15;color:var(--navy);margin-bottom:8px}
.ab-story .path li p{color:var(--navy-mid);max-width:44ch;font-size:1rem}

.ab-edu{background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.ab-edu .mono-bg{right:-8%;top:-30%;width:min(44vw,600px);opacity:.06}
.ab-edu .inner{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.ab-edu .head{grid-column:1/13;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-7);align-items:end;margin-bottom:clamp(36px,4vw,64px);padding-bottom:28px;border-bottom:1px solid var(--white-20)}
.ab-edu .head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,1.5rem + 2.6vw,4rem);line-height:1.05;letter-spacing:-.012em;max-width:16ch;text-wrap:balance}
.ab-edu .head p{color:var(--white-66);max-width:40ch;justify-self:end}
.ab-edu .pair{grid-column:1/13;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8)}
.ab-edu .pair>div{display:grid;gap:16px;align-content:start}
.ab-edu .pair .k{font-family:var(--serif);font-size:2rem;color:var(--gold-light);line-height:1}
.ab-edu .pair .k::after{content:"";display:block;width:24px;height:1px;background:var(--gold-light);margin-top:12px}
.ab-edu .pair h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2;color:var(--white)}
.ab-edu .pair p{color:rgba(255,255,255,.8);max-width:44ch}
.ab-edu .pair ul{display:grid;gap:10px;padding-top:8px}
.ab-edu .pair li{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:baseline;color:var(--white);font-size:.95rem}
.ab-edu .pair li .star{width:10px;height:10px;fill:var(--gold-light)}

.ab-rec{background:var(--ivory);position:relative;overflow:hidden}
.ab-rec>.star{position:absolute;right:var(--margin);top:28px;width:18px;height:18px;fill:var(--gold)}
.ab-rec .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.ab-rec .side{grid-column:1/5;display:grid;gap:18px;align-content:start}
.ab-rec .side h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:12ch}
.ab-rec .side p{color:var(--navy-mid);max-width:32ch}
.ab-rec .body{grid-column:6/13;display:grid;gap:28px}
.ab-rec .body>p{color:var(--navy-ink);max-width:56ch;font-size:var(--fs-lead);line-height:1.5}
.ab-rec .summary{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,1.05rem + .9vw,1.8rem);line-height:1.4;color:var(--navy);max-width:36ch;padding-top:28px;border-top:1px solid var(--navy)}
.ab-rec .attr{display:grid;gap:5px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.ab-rec .attr .who{font-family:var(--serif);font-size:1.15rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--navy)}
.ab-rec .attr .src{color:var(--navy-mid);font-weight:500;margin-top:6px}

.ab-roles{background:var(--white);position:relative}
.ab-roles .head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-7);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.ab-roles .head h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy)}
.ab-roles .head p{color:var(--navy-mid);max-width:44ch}
.ab-roles .grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--navy)}
.ab-roles .grid li{padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px) clamp(24px,3vw,40px) 0;border-right:1px solid var(--navy-12);border-bottom:1px solid var(--navy-12);display:grid;gap:12px;align-content:start}
.ab-roles .grid li:nth-child(3n){border-right:0}
.ab-roles .grid li:nth-child(n+2){padding-left:clamp(20px,3vw,40px)}
.ab-roles .grid .k{font-family:var(--serif);font-size:1.6rem;color:var(--gold-text);line-height:1}
.ab-roles .grid h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;line-height:1.2;color:var(--navy)}
.ab-roles .grid p{color:var(--navy-mid);max-width:32ch;font-size:.98rem}

.ab-why{position:relative;background:var(--white);padding-bottom:var(--section)}
.ab-why .photo .ph-ed{height:clamp(360px,40vw,600px);border-left:0;border-right:0}
.ab-why .photo .ph-ed::before{inset:14px 0}
.ab-why .card{position:relative;background:var(--white);margin-top:calc(-1 * clamp(80px,10vw,160px));max-width:680px;padding:clamp(32px,4vw,56px) clamp(28px,4vw,56px) 0 0;display:grid;gap:20px;margin-left:auto}
.ab-why .card h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h1);line-height:1.04;color:var(--navy);letter-spacing:-.012em;max-width:14ch}
.ab-why .card p{color:var(--navy-ink);max-width:50ch}
.ab-why .card .four{display:flex;flex-wrap:wrap;gap:10px 0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.ab-why .card .four li+li::before{content:"·";margin:0 12px;color:var(--gold)}

.ab-creds{background:var(--ivory);position:relative}
.ab-creds .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.ab-creds .side{grid-column:1/5;display:grid;gap:16px;align-content:start}
.ab-creds .side h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:12ch}
.ab-creds .side p{color:var(--navy-mid);max-width:30ch}
.ab-creds .lists{grid-column:6/13;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7)}
.ab-creds .lists h3{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text);padding-bottom:14px;border-bottom:1px solid var(--navy);margin-bottom:18px}
.ab-creds .note{grid-column:6/13;padding-top:24px;border-top:1px solid var(--navy-12);font-size:.85rem;color:var(--navy-mid);max-width:60ch}

/* ---------- SERVICES HUB ---------- */
.hub-hero{background:var(--ivory);position:relative;overflow:hidden}
.hub-hero .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(48px,6vw,88px)}
.hub-hero .txt{grid-column:1/9;display:grid;gap:26px}
.hub-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,1.6rem + 4vw,5.75rem);line-height:1;letter-spacing:-.015em;color:var(--navy);max-width:14ch;text-wrap:balance}
.hub-hero .index{grid-column:10/13;display:grid;gap:0;border-top:1px solid var(--navy);align-self:end}
.hub-hero .index a{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--navy-12);text-decoration:none;color:var(--navy);font-size:.9rem;font-weight:500}
.hub-hero .index a .n{font-family:var(--serif);color:var(--gold-text);font-size:.85rem}
.hub-hero .index a small{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-mid);font-weight:600;margin-top:2px}
.hub-hero .index a:hover{color:var(--navy);background:linear-gradient(to right,transparent,transparent)}
.hub-hero .index a:hover .n{color:var(--navy)}
.chapter{position:relative;background:var(--white);padding-top:clamp(56px,6vw,104px);padding-bottom:clamp(56px,6vw,104px)}
.chapter+.chapter{border-top:1px solid var(--navy-12)}
.chapter .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.chapter .num{grid-column:1/2;font-family:var(--serif);font-size:clamp(3rem,2rem + 3vw,5rem);line-height:.9;color:var(--gold-text);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.chapter .num::after{width:32px;margin-top:16px}
.chapter .txt{grid-column:2/8;display:grid;gap:20px;padding-right:clamp(0px,2vw,24px)}
.chapter .txt h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,1.4rem + 2vw,3.25rem);line-height:1.06;letter-spacing:-.01em;color:var(--navy);max-width:14ch}
.chapter .txt .status{margin-top:-6px}
.chapter .txt p{color:var(--navy-ink);max-width:46ch}
.chapter .txt .foot{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding-top:6px}
.chapter .pic{grid-column:8/13;position:relative}
.chapter .pic .ph-ed{aspect-ratio:4/5}
.chapter.alt .txt{grid-column:6/12;grid-row:1;padding-right:0;padding-left:clamp(0px,2vw,24px)}
.chapter.alt .num{grid-column:12/13;grid-row:1;text-align:right}
.chapter.alt .num::after{margin-left:auto}
.chapter.alt .pic{grid-column:1/6;grid-row:1}
.chapter.alt .pic .ph-ed{aspect-ratio:4/5}
.chapter.dark{background:var(--navy);color:var(--white);overflow:hidden}
.chapter.dark .mono-bg{right:-8%;top:-20%;width:min(42vw,560px);opacity:.06}
.chapter.dark .inner{position:relative;z-index:1}
.chapter.dark .num{color:var(--gold-light)}
.chapter.dark .num::after{background:var(--gold-light)}
.chapter.dark .txt h2{color:var(--white)}
.chapter.dark .txt p{color:rgba(255,255,255,.78)}
.chapter.dark .pic.stamp{grid-column:9/13;display:grid;gap:12px;align-content:end;justify-items:end;text-align:right;height:100%;padding-bottom:6px}
.chapter.dark .pic.stamp .status{font-size:.82rem}
.chapter.dark .pic.stamp small{font-size:.78rem;color:var(--white-66);max-width:28ch;line-height:1.5}
.hub-steps{background:var(--ivory);position:relative}
.hub-steps .head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-7);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.hub-steps .head h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy)}
.hub-steps .head p{color:var(--navy-mid);max-width:44ch}
.hub-steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);border-top:1px solid var(--navy)}
.hub-steps li{padding:28px clamp(16px,2vw,32px) 0 0;display:grid;gap:12px;align-content:start;border-right:1px solid var(--navy-12)}
.hub-steps li:last-child{border-right:0}
.hub-steps li:nth-child(n+2){padding-left:clamp(16px,2vw,32px)}
.hub-steps li h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.15;color:var(--navy)}
.hub-steps li p{color:var(--navy-mid);max-width:36ch;font-size:1rem}
.hub-mobile{background:var(--white);position:relative}
.hub-mobile .inner{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-7);align-items:end;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px);border-top:1px solid var(--navy);border-bottom:1px solid var(--navy-12)}
.hub-mobile h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,1.4rem + 2vw,3.25rem);line-height:1.06;color:var(--navy);max-width:16ch}
.hub-mobile p{color:var(--navy-mid);max-width:44ch;margin-top:16px}
.hub-mobile .side{display:grid;gap:14px;justify-items:start}
.hub-mobile .fee{font-family:var(--serif);font-size:clamp(3rem,2rem + 3vw,5rem);line-height:.9;color:var(--gold-text);font-variant-numeric:tabular-nums}
.hub-mobile .fee small{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy-mid);margin-top:10px}

/* ---------- CATEGORY PAGES ---------- */
.cat-hero{position:relative;overflow:hidden;background:var(--white)}
.cat-hero .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end;padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(48px,6vw,96px)}
.cat-hero .txt{grid-column:1/8;display:grid;gap:22px}
.cat-hero .txt .crumb{margin-bottom:14px}
.cat-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,1.7rem + 3.8vw,5.5rem);line-height:1;letter-spacing:-.015em;color:var(--navy);max-width:14ch;text-wrap:balance}
.cat-hero .pic{grid-column:9/13;position:relative}
.cat-hero .pic .ph-ed{aspect-ratio:3/4}
.cat-hero .pic .rf{position:absolute;right:16px;top:16px;z-index:2;background:rgba(255,255,255,.92)}
.cat-hero.on-ivory{background:var(--ivory)}
.cat-hero.on-ivory .pic .ph-ed{background:var(--white)}
.cat-hero.hero-dark .pic .ph-ed{background:var(--navy);border-color:var(--white-20)}
.cat-hero.hero-dark .pic .ph-ed::before{border-color:var(--white-20)}
.cat-hero.hero-dark .pic .ph-ed .sub{color:var(--white)}
.cat-hero.hero-dark .pic .ph-ed .cap{color:var(--white-66)}
.cat-hero.hero-dark .pic .ph-ed .star{fill:var(--gold-light)}
.cat-hero.hero-dark .pic .rf{background:rgba(7,34,64,.88)}
.cat-hero.hero-dark{background:var(--navy-deep);color:var(--white)}
.cat-hero.hero-dark h1{color:var(--white)}
.cat-hero.hero-dark .eyebrow{color:var(--gold-light)}
.cat-hero .mono-bg{left:-10%;bottom:-30%;width:min(44vw,600px);opacity:.05}
.cat-hero .inner>*{position:relative;z-index:1}
.approach{background:var(--white);position:relative}
.approach.on-ivory{background:var(--ivory)}
.approach .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.approach .lab{grid-column:1/4;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text);padding-top:10px;border-top:1px solid var(--gold);max-width:18ch;line-height:1.7}
.approach .txt{grid-column:4/12;display:grid;gap:26px}
.approach h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,1.4rem + 2.4vw,3.75rem);line-height:1.06;letter-spacing:-.012em;color:var(--navy);max-width:18ch;text-wrap:balance}
.approach .cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7)}
.approach .cols p{color:var(--navy-ink);max-width:44ch}
.tx-index{background:var(--white);position:relative}
.tx-index .head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-7);align-items:end;margin-bottom:clamp(28px,3vw,44px)}
.tx-index .head h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy)}
.tx-index .head p{color:var(--navy-mid);max-width:40ch;justify-self:end}
.tx-index .rows{border-top:1px solid var(--navy)}
.tx-index .row{display:grid;grid-template-columns:48px minmax(0,4fr) minmax(0,6fr) auto;gap:var(--gutter);align-items:baseline;padding:26px 0;border-bottom:1px solid var(--navy-12);position:relative}
.tx-index .row .n{font-family:var(--serif);color:var(--gold-text);font-variant-numeric:tabular-nums}
.tx-index .row h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.2;color:var(--navy)}
.tx-index .row p{color:var(--navy-mid);max-width:50ch;font-size:1rem}
.tx-index .row .status{justify-self:end;white-space:nowrap}
.tx-index .foot{padding-top:22px;display:grid;gap:16px}
.process{background:var(--ivory);position:relative}
.process .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.process .side{grid-column:1/5;display:grid;gap:16px;align-content:start;position:sticky;top:calc(var(--header-h) + 24px)}
.process .side h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:12ch}
.process .side p{color:var(--navy-mid);max-width:30ch}
.process ol{grid-column:6/13;display:grid;border-left:1px solid var(--gold);margin-left:8px}
.process li{position:relative;padding:22px 0 30px 40px}
.process li::before{content:"";position:absolute;left:-4px;top:32px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.process li .num{font-family:var(--serif);font-size:1rem;color:var(--gold-text);display:block;margin-bottom:8px;font-variant-numeric:tabular-nums}
.process li .num::after{display:none}
.process li h3{font-family:var(--serif);font-weight:500;font-size:1.6rem;line-height:1.15;color:var(--navy);margin-bottom:10px}
.process li p{color:var(--navy-mid);max-width:46ch;font-size:1.02rem}
.process li .rf-block{margin-top:14px}
.safety{background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.safety .mono-bg{left:-8%;bottom:-40%;width:min(40vw,520px);opacity:.06}
.safety .inner{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.safety .txt{grid-column:1/8;display:grid;gap:22px}
.safety h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,1.4rem + 2.2vw,3.5rem);line-height:1.06;letter-spacing:-.01em;max-width:16ch;text-wrap:balance}
.safety p{color:rgba(255,255,255,.8);max-width:52ch}
.safety .side{grid-column:9/13;display:grid;gap:18px;align-content:end}
.safety .list-star li{color:var(--white)}
.safety .list-star li .star{fill:var(--gold-light)}
.faqs{background:var(--white);position:relative}
.faqs.on-ivory{background:var(--ivory)}
.faqs .inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-8);align-items:start}
.faqs .side{display:grid;gap:16px;position:sticky;top:calc(var(--header-h) + 24px)}
.faqs .side h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:12ch}
.faqs .side p{color:var(--navy-mid);max-width:30ch}
.faq .a .rf-block{margin-top:6px}
.faq summary .rf{font-family:var(--sans);margin-left:12px;vertical-align:middle}
.sibling{background:var(--ivory);border-top:1px solid var(--navy-12);padding:26px 0}
.sibling .inner{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;justify-content:space-between}
.cta-in{background:var(--navy-deep);color:var(--white);position:relative;overflow:hidden}
.cta-in .mono-bg{right:-6vw;bottom:-40%;width:min(46vw,620px);opacity:.06}
.cta-in .inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-7);align-items:end}
.cta-in .eyebrow{color:var(--gold-light);margin-bottom:18px}
.cta-in h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,1.6rem + 3vw,4.5rem);line-height:1.02;letter-spacing:-.012em;max-width:14ch}
.cta-in p{color:var(--white-66);max-width:40ch;margin-top:20px;font-size:1.05rem}
.cta-in .acts{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.cta-in .star{position:absolute;right:var(--margin);top:28px;width:18px;height:18px;fill:var(--gold-light)}
.cta-in.on-ivory{background:var(--ivory);color:var(--navy)}
.cta-in.on-ivory .eyebrow{color:var(--gold-text)}
.cta-in.on-ivory h2{color:var(--navy)}
.cta-in.on-ivory p{color:var(--navy-mid)}
.cta-in.on-ivory .star{fill:var(--gold)}

/* Blood testing: role split */
.roles2{background:var(--white);position:relative}
.roles2 .head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-7);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.roles2 .head h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:16ch}
.roles2 .head p{color:var(--navy-mid);max-width:40ch;justify-self:end}
.roles2 .pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--navy)}
.roles2 .pair>div{padding:clamp(28px,3vw,44px) clamp(24px,3vw,44px) clamp(28px,3vw,44px) 0;display:grid;gap:16px;align-content:start;border-bottom:1px solid var(--navy-12)}
.roles2 .pair>div:first-child{border-right:1px solid var(--navy-12)}
.roles2 .pair>div:last-child{padding-left:clamp(24px,3vw,44px);background:var(--ivory);margin-top:-1px;border-top:1px solid var(--navy)}
.roles2 .pair .k{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.roles2 .pair h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2;color:var(--navy)}
.roles2 .pair p{color:var(--navy-ink);max-width:40ch}
.results{background:var(--navy-deep);color:var(--white);position:relative}
.results .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:center}
.results .stat{grid-column:1/5}
.results .stat .stat-big{color:var(--gold-light);font-size:clamp(4rem,3rem + 5vw,8rem)}
.results .stat .stat-lab{color:var(--white-66);max-width:18ch}
.results .txt{grid-column:6/12;display:grid;gap:18px}
.results h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--white)}
.results p{color:rgba(255,255,255,.8);max-width:50ch}

/* IV Wellness */
.iv-hero{background:var(--navy-deep);color:var(--white);position:relative;overflow:hidden}
.iv-hero .mono-bg{right:-12%;top:-20%;width:min(60vw,820px);opacity:.06}
.iv-hero .inner{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(56px,7vw,112px)}
.iv-hero .txt{grid-column:1/9;display:grid;gap:26px}
.iv-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,1.6rem + 5vw,7rem);line-height:.98;letter-spacing:-.018em;max-width:12ch;text-wrap:balance}
.iv-hero h1 em{font-style:italic;font-weight:300}
.iv-hero p{color:var(--white-66);font-size:var(--fs-lead);max-width:40ch;line-height:1.5}
.iv-hero .stamp{grid-column:10/13;align-self:end;display:grid;gap:10px;justify-items:end;text-align:right}
.iv-hero .stamp .status{font-size:.82rem}
.iv-hero .stamp small{font-size:.78rem;color:var(--white-66);max-width:26ch;line-height:1.5}
.iv-status{background:var(--white);border-top:1px solid var(--gold);position:relative}
.iv-status .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.iv-status .lab{grid-column:1/4;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text);padding-top:10px;border-top:1px solid var(--gold);max-width:18ch;line-height:1.7}
.iv-status .txt{grid-column:4/12;display:grid;gap:22px}
.iv-status h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,1.4rem + 2.4vw,3.75rem);line-height:1.06;letter-spacing:-.012em;color:var(--navy);max-width:18ch}
.iv-status p{color:var(--navy-ink);max-width:56ch;font-size:var(--fs-lead);line-height:1.5}
.iv-prin{background:var(--ivory);position:relative}
.iv-prin .head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-7);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.iv-prin .head h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy)}
.iv-prin .head p{color:var(--navy-mid);max-width:44ch}
.iv-prin ol{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);border-top:1px solid var(--navy)}
.iv-prin li{padding:28px clamp(16px,2vw,32px) 0 0;display:grid;gap:12px;align-content:start;border-right:1px solid var(--navy-12)}
.iv-prin li:last-child{border-right:0}
.iv-prin li:nth-child(n+2){padding-left:clamp(16px,2vw,32px)}
.iv-prin li h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.15;color:var(--navy)}
.iv-prin li p{color:var(--navy-mid);max-width:34ch;font-size:1rem}
.iv-now{background:var(--white);position:relative}
.iv-now .inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-7);align-items:start}
.iv-now h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:14ch}
.iv-now p{color:var(--navy-mid);max-width:36ch;margin-top:14px}
.iv-now ul{border-top:1px solid var(--navy)}
.iv-now li a{display:grid;grid-template-columns:40px minmax(0,1fr) 36px;gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid var(--navy-12);text-decoration:none;color:var(--navy);transition:background var(--t)}
.iv-now li a:hover{background:var(--ivory)}
.iv-now li a .n{font-family:var(--serif);color:var(--gold-text)}
.iv-now li a b{font-family:var(--serif);font-weight:500;font-size:1.4rem;display:block}
.iv-now li a small{display:block;color:var(--navy-mid);font-size:.9rem;margin-top:4px}
.iv-now li a .arrow{width:24px;height:12px;fill:none;stroke:currentColor;stroke-width:1.25}

/* ---------- PATIENT INFORMATION ---------- */
.pi-hero{background:var(--white);position:relative;overflow:hidden}
.pi-hero .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}
.pi-hero .txt{grid-column:1/8;display:grid;gap:24px}
.pi-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,1.6rem + 4vw,5.5rem);line-height:1;letter-spacing:-.015em;color:var(--navy);max-width:14ch;text-wrap:balance}
.pi-hero .toc{grid-column:9/13;border-top:1px solid var(--navy);align-self:end}
.pi-hero .toc h2{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text);padding:12px 0 6px}
.pi-hero .toc a{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--navy-12);text-decoration:none;color:var(--navy);font-size:.9rem;font-weight:500}
.pi-hero .toc a .n{font-family:var(--serif);color:var(--gold-text);font-size:.85rem}
.pi-sec{position:relative;background:var(--white)}
.pi-sec.on-ivory{background:var(--ivory)}
.pi-sec .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.pi-sec .side{grid-column:1/5;display:grid;gap:14px;align-content:start;position:sticky;top:calc(var(--header-h) + 24px)}
.pi-sec .side .n{font-family:var(--serif);font-size:1rem;color:var(--gold-text)}
.pi-sec .side h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:12ch}
.pi-sec .side p{color:var(--navy-mid);max-width:30ch}
.pi-sec .body{grid-column:6/13;display:grid;gap:24px}
.pi-sec .body>p{color:var(--navy-ink);max-width:58ch}
.pi-sec .steps{display:grid;border-left:1px solid var(--gold);margin-left:8px}
.pi-sec .steps li{position:relative;padding:18px 0 24px 36px}
.pi-sec .steps li::before{content:"";position:absolute;left:-4px;top:28px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.pi-sec .steps li .num{font-family:var(--serif);font-size:1rem;color:var(--gold-text);display:block;margin-bottom:6px}
.pi-sec .steps li .num::after{display:none}
.pi-sec .steps li h3{font-family:var(--serif);font-weight:500;font-size:1.45rem;line-height:1.15;color:var(--navy);margin-bottom:8px}
.pi-sec .steps li p{color:var(--navy-mid);max-width:46ch;font-size:1rem}
.pi-sec .fee{display:grid;grid-template-columns:auto 1fr;gap:0 22px;align-items:center;padding:22px 0;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy-12);max-width:520px}
.pi-sec .fee .stat-big{font-size:clamp(3rem,2.2rem + 2.4vw,4.5rem)}
.pi-sec .fee p{color:var(--navy-mid);font-size:.95rem;max-width:26ch}
.pi-sec .body .list-star li{font-size:1rem}
.pi-routes{background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.pi-routes .mono-bg{right:-8%;bottom:-40%;width:min(40vw,520px);opacity:.06}
.pi-routes .inner{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end}
.pi-routes .txt{grid-column:1/7}
.pi-routes h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,1.5rem + 2.6vw,4rem);line-height:1.04;letter-spacing:-.012em;max-width:14ch}
.pi-routes p{color:var(--white-66);max-width:40ch;margin-top:18px}
.pi-routes .list{grid-column:8/13;display:grid;border-top:1px solid var(--white-20)}
.pi-routes .list>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--white-20);align-items:baseline}
.pi-routes .list span{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-light)}
.pi-routes .list a{color:var(--white);text-decoration:none;font-size:.95rem}
.pi-routes .list a:hover{text-decoration:underline;text-decoration-color:var(--gold-light);text-underline-offset:.2em}
.pi-routes .acts{grid-column:8/13;margin-top:22px}

/* ---------- CONTACT ---------- */
.ct-hero{background:var(--white);position:relative}
.ct-hero .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(32px,4vw,56px)}
.ct-hero .txt{grid-column:1/8;display:grid;gap:22px}
.ct-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,1.6rem + 4vw,5.5rem);line-height:1;letter-spacing:-.015em;color:var(--navy);max-width:14ch;text-wrap:balance}
.ct-hero .quick{grid-column:9/13;display:grid;border-top:1px solid var(--navy)}
.ct-hero .quick>div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--navy-12);align-items:baseline}
.ct-hero .quick span{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.ct-hero .quick a{color:var(--navy);text-decoration:none;font-size:.95rem;font-weight:500}
.ct-hero .quick a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.2em}
.ct-form{background:var(--ivory);position:relative}
.ct-form .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.ct-form form{grid-column:1/8;display:grid;gap:26px;background:var(--white);padding:clamp(28px,4vw,56px);border-top:1px solid var(--navy)}
.ct-form .aside{grid-column:9/13;display:grid;gap:32px;position:sticky;top:calc(var(--header-h) + 24px)}
.ct-form .aside h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2;color:var(--navy)}
.ct-form .aside ol{display:grid;gap:14px;counter-reset:s}
.ct-form .aside ol li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:baseline;color:var(--navy-ink);font-size:.98rem}
.ct-form .aside ol li::before{counter-increment:s;content:"0" counter(s);font-family:var(--serif);color:var(--gold-text);font-size:.95rem}
.ct-form .aside p{color:var(--navy-mid);font-size:.95rem;max-width:32ch}
.ct-form .aside .hours{display:grid;gap:8px;border-top:1px solid var(--navy);padding-top:14px}
.ct-form .aside .hours div{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;color:var(--navy-ink)}
.ct-form .aside .hours div span:last-child{font-variant-numeric:tabular-nums;color:var(--navy-mid)}
.field{display:grid;gap:8px}
.field label,.field .lg{font-size:.8125rem;font-weight:600;letter-spacing:.04em;color:var(--navy)}
.field label small,.field .lg small{font-weight:400;color:var(--navy-mid);letter-spacing:0;margin-left:6px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field select,.field textarea{width:100%;height:52px;padding:0 16px;border:1px solid var(--stone);border-bottom:1px solid var(--navy);border-radius:var(--radius);background:var(--white);font:inherit;color:var(--navy-ink);font-size:1rem;appearance:none;-webkit-appearance:none}
.field textarea{height:auto;min-height:140px;padding:14px 16px;resize:vertical;line-height:1.5}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%2304305D' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 1px 0 0 var(--gold)}
.field .help{font-size:.82rem;color:var(--navy-mid);line-height:1.5;max-width:52ch}
.field .err{display:none;font-size:.82rem;color:#8A2E22;font-weight:500}
.field.invalid .err{display:block}
.field.invalid input,.field.invalid select{border-color:#8A2E22}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.radios{display:flex;flex-wrap:wrap;gap:12px 28px}
.radios label,.check label{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;font-weight:400;font-size:.95rem;letter-spacing:0;color:var(--navy-ink);cursor:pointer;line-height:1.45}
.radios input,.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy)}
.check{display:grid;gap:8px}
.ct-form .submit{display:grid;gap:14px;padding-top:8px;border-top:1px solid var(--navy-12)}
.ct-form .submit .btn{justify-self:start}
.ct-form .submit small{font-size:.8rem;color:var(--navy-mid);max-width:52ch;line-height:1.5}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-done{background:var(--white)}
.ct-done .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding-top:clamp(56px,8vw,128px);padding-bottom:clamp(56px,8vw,128px)}
.ct-done .txt{grid-column:2/10;display:grid;gap:24px}
.ct-done h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,1.6rem + 4vw,5.5rem);line-height:1;letter-spacing:-.015em;color:var(--navy);max-width:14ch}
.ct-done p{color:var(--navy-ink);max-width:52ch;font-size:var(--fs-lead);line-height:1.5}
.ct-done .links{display:flex;gap:28px;flex-wrap:wrap;padding-top:8px}

/* ---------- LEGAL ---------- */
.legal{background:var(--white)}
.legal .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding-top:clamp(40px,5vw,72px);padding-bottom:var(--section)}
.legal .txt{grid-column:2/10;display:grid;gap:28px}
.legal h1{font-family:var(--serif);font-weight:400;font-size:var(--fs-h1);line-height:1.06;color:var(--navy);max-width:16ch}
.legal .meta{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.legal h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.2;color:var(--navy);margin-top:12px;padding-top:24px;border-top:1px solid var(--navy-12)}
.legal p,.legal li{color:var(--navy-ink);max-width:62ch;line-height:1.65}
.legal ul{display:grid;gap:8px;padding-left:18px;list-style:disc}
.legal .rf-block{max-width:62ch}

.m-bar.form-focus{transform:translateY(110%)}


/* ==========================================================
   HOMEPAGE HERO · v3 · final photograph
   The navigation, photograph, navy treatment and credentials
   strip are one composition. Home only (body.home).
   ========================================================== */
/* Navigation dissolves into the hero: transparent until scrolled */
.home .site-header{background:transparent;border-bottom-color:transparent;transition:background var(--t) var(--ease),border-color var(--t) var(--ease)}
.home .site-header.scrolled{background:var(--navy);border-bottom-color:var(--white-20)}
.home .site-header .bar::after{background:var(--gold-light)}
.hero-c{position:relative;background:var(--navy-deep);color:var(--white);overflow:hidden;margin-top:calc(-1 * var(--header-h));min-height:clamp(620px,calc(var(--header-h) + 76vh),860px);display:grid}
.hero-c{--hero-shift:40px}
.hero-c-img{position:absolute;inset:0;z-index:0;transform:translateY(var(--hero-shift));-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0,#000 130px);mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0,#000 130px)}
.hero-c-img img{width:100%;height:100%;object-fit:cover;object-position:100% 0;display:block}
/* Layers: (1) navy from the left for the copy, dissolving before the centre; (2) navy down from the top so the navigation belongs to the picture; (3) navy up from the foot so the strip has something to sit on; (4) a wide soft radial around the seam */
.hero-c-veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(7,34,64,.74) 0%,rgba(7,34,64,.52) 16%,rgba(7,34,64,.24) 30%,rgba(7,34,64,.07) 40%,rgba(7,34,64,0) 48%),
  linear-gradient(180deg,rgba(7,34,64,.66) 0%,rgba(7,34,64,.3) 9%,rgba(7,34,64,0) 22%),
  linear-gradient(180deg,rgba(7,34,64,0) 64%,rgba(7,34,64,.26) 84%,rgba(7,34,64,.8) 100%),
  radial-gradient(ellipse 36% 90% at 28% 58%,rgba(7,34,64,.14),rgba(7,34,64,0) 70%)}
.hero-c .inner{position:relative;z-index:2;display:grid;align-content:center;min-height:inherit;padding-top:calc(var(--header-h) + clamp(32px,4vw,56px));padding-bottom:clamp(96px,11vw,150px)}
.hero-c .txt{display:grid;gap:22px;max-width:37rem}
.hero-c .eyebrow{color:var(--gold-light);display:flex;align-items:center;gap:16px;letter-spacing:.16em}
.hero-c .eyebrow::before{content:"";width:36px;height:1px;background:var(--gold-light)}
.hero-c h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.5rem,1.6rem + 2.6vw,4.125rem);line-height:1.08;letter-spacing:-.012em;text-wrap:balance;text-shadow:0 1px 24px rgba(7,34,64,.35)}
.hero-c h1 em{font-style:italic;font-weight:300}
.hero-c p{color:rgba(255,255,255,.76);font-size:clamp(1.05rem,.98rem + .35vw,1.25rem);line-height:1.55;max-width:32ch}
.hero-c .acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.hero-c .acts .btn{--h:48px;padding:0 24px;font-size:.75rem}
/* Credentials plate */
.cred-strip{position:relative;z-index:3;margin-top:-44px;padding:0 var(--margin)}
.cred-strip ul{background:var(--ivory);border:1px solid var(--stone);border-top:1px solid var(--gold);display:flex;justify-content:space-between;align-items:center;gap:12px 24px;padding:24px clamp(24px,3vw,40px);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--navy)}
.cred-strip li{display:flex;align-items:center;gap:24px;white-space:nowrap}
.cred-strip li+li::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex:none}
.cred-strip + .section{padding-top:calc(var(--section) + 24px)}
@media (min-width:1700px){
  .hero-c{min-height:clamp(700px,calc(var(--header-h) + 70vh),900px)}
  .hero-c{--hero-shift:56px}
  .hero-c-img img{object-position:100% 0}
  .hero-c-veil{background:
    linear-gradient(90deg,rgba(7,34,64,.8) 0%,rgba(7,34,64,.62) 18%,rgba(7,34,64,.34) 34%,rgba(7,34,64,.12) 46%,rgba(7,34,64,0) 56%),
    linear-gradient(180deg,rgba(7,34,64,.66) 0%,rgba(7,34,64,.3) 9%,rgba(7,34,64,0) 22%),
    linear-gradient(180deg,rgba(7,34,64,0) 64%,rgba(7,34,64,.26) 84%,rgba(7,34,64,.8) 100%),
    radial-gradient(ellipse 36% 90% at 32% 58%,rgba(7,34,64,.16),rgba(7,34,64,0) 70%)}
}
@media (max-width:1180px){
  .hero-c-img img{object-position:97% 0}
  .hero-c-veil{background:
    linear-gradient(90deg,rgba(7,34,64,.84) 0%,rgba(7,34,64,.66) 22%,rgba(7,34,64,.38) 40%,rgba(7,34,64,.12) 54%,rgba(7,34,64,0) 66%),
    linear-gradient(180deg,rgba(7,34,64,.72) 0%,rgba(7,34,64,.36) 10%,rgba(7,34,64,0) 26%),
    linear-gradient(180deg,rgba(7,34,64,0) 60%,rgba(7,34,64,.3) 82%,rgba(7,34,64,.8) 100%)}
}
@media (max-width:1023px){
  .hero-c{min-height:clamp(560px,calc(var(--header-h) + 66vh),720px)}
  .hero-c{--hero-shift:44px}
  .hero-c-img img{object-position:98% 0}
  .hero-c .txt{max-width:26rem}
  .hero-c h1{font-size:2.7rem}
  .cred-strip ul{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:14px 24px}
  .cred-strip li+li::before{display:none}
}
@media (max-width:767px){
  /* Mobile: Danielle's face in the upper right, copy at the foot on a strong navy ground. Never overlapping. */
  .hero-c{min-height:clamp(600px,calc(var(--header-h) + 88vh),780px)}
  .hero-c{--hero-shift:40px}
  .hero-c-img img{object-position:92% 0}
  .hero-c-veil{background:
    linear-gradient(180deg,rgba(7,34,64,.6) 0%,rgba(7,34,64,.18) 10%,rgba(7,34,64,0) 22%),
    linear-gradient(180deg,rgba(7,34,64,0) 34%,rgba(7,34,64,.55) 50%,rgba(7,34,64,.9) 64%,rgba(7,34,64,.97) 100%),
    linear-gradient(90deg,rgba(7,34,64,.42) 0%,rgba(7,34,64,0) 50%)}
  .hero-c .inner{align-content:end;padding-top:calc(var(--header-h) + 44vh);padding-bottom:76px}
  .hero-c .txt{max-width:none;gap:18px}
  .hero-c .eyebrow{letter-spacing:.12em;font-size:.68rem}
  .hero-c .eyebrow::before{display:none}
  .hero-c h1{font-size:2.35rem;line-height:1.1}
  .hero-c p{font-size:1.02rem}
  .hero-c .acts{flex-direction:column;gap:12px}
  .hero-c .acts .btn{width:100%}
  .cred-strip{margin-top:-32px}
  .cred-strip ul{grid-template-columns:1fr 1fr;gap:12px 16px;padding:18px 20px;font-size:.62rem}
  .cred-strip li{gap:0;white-space:normal;line-height:1.5}
  .cred-strip li.wide{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--stone)}
}

/* Homepage 06: consultation photograph in the steps composition */
.steps-b .pic img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 30%;display:block}


/* ==========================================================
   PHOTOGRAPHY · final shoot placements
   One img.photo class; each placement sets its own crop with
   --op (desktop) and --opm (mobile) on the element.
   ========================================================== */
img.photo{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--op,50% 50%)}
@media (max-width:767px){img.photo{object-position:var(--opm,var(--op,50% 50%))}}
/* Home */
.panel-svc .img img.photo{aspect-ratio:4/3;height:auto;transition:transform 700ms var(--ease)}
.panel-svc:hover .img img.photo{transform:scale(1.015)}
.founder-b .pic img.photo{object-position:var(--op)}
.mob-b .photo img.photo{height:clamp(400px,46vw,720px)}
.mob-b .card{margin-top:calc(-1 * clamp(64px,7vw,112px))}
/* About */
.ab-story .pic img.photo{aspect-ratio:4/5;height:auto}
.ab-why .photo img.photo{height:clamp(400px,46vw,720px)}
.ab-why .card{margin-top:calc(-1 * clamp(64px,7vw,112px))}
/* Hub and category pages */
.chapter .pic img.photo{aspect-ratio:4/5;height:auto}
.cat-hero .pic img.photo{aspect-ratio:3/4;height:auto}
.band img.photo{height:clamp(320px,38vw,560px)}
.trust .pic img.photo{aspect-ratio:1/1;height:auto}
@media (max-width:1023px){
  .founder-b .pic img.photo{object-position:var(--opm,var(--op))}
}
@media (max-width:639px){
  .mob-b .photo img.photo,.ab-why .photo img.photo,.band img.photo{height:auto;aspect-ratio:4/5}
}


/* ==========================================================
   ART DIRECTION PASS · removals and refinements
   ========================================================== */
/* C1 header rule, C13 plate stub, C2 hero hairline */
.site-header .bar::after{display:none}
.cred-strip::before{display:none}
.hero-c .eyebrow::before{display:none}
.hero-c .eyebrow{gap:0}
/* C4 vertical rules beside paragraphs */
.lead-rule{padding-left:0;border-left:0}
.phil p{padding-left:0;border-left:0}
/* C5 short gold underlines */
.num::after,.chapter .num::after,.ab-edu .pair .k::after{display:none}
/* C6 gold top rules on corner labels */
.approach .lab,.ab-approach .lab,.iv-status .lab,.phil .lab{border-top:0;padding-top:0}
/* C12 motion: no scroll reveals; hover and navigation transitions only */
.js .rv{opacity:1;transform:none;transition:none}
/* Home 02 as a typographic statement: statement left, body offset right, no image */
.phil .inner{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}
.phil .txt{grid-column:1/8;display:grid;gap:22px}
.phil h2{max-width:13ch}
.phil .body{grid-column:8/13;max-width:38ch;color:var(--navy-ink);font-size:var(--fs-lead);line-height:1.55;padding-bottom:6px}
.phil .lab{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
/* Founder text no longer needs room for the faded numeral */
.founder-b .txt{position:relative}
/* Section rhythm: statements and founder blocks breathe more than service and utility blocks */
.section-lg{padding-top:var(--section-lg);padding-bottom:var(--section-lg)}
.svc-b.section{padding-top:calc(var(--section) + 16px)}
.founder-b .txt{padding:clamp(56px,7vw,120px) 0}
.cta-b.section,.cta-in.section{padding-top:calc(var(--section) - 8px);padding-bottom:calc(var(--section) - 8px)}
/* Hub hero and category heroes: slightly deeper foot before the first chapter */
.hub-hero .inner{padding-bottom:clamp(56px,7vw,104px)}
@media (max-width:1023px){
  .phil .txt,.phil .body{grid-column:1/-1}
  .phil .body{max-width:60ch;margin-top:8px}
}

/* ---------- Review-flag toggle (all pages) ---------- */
.pv{position:fixed;left:14px;bottom:14px;z-index:30;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--navy);background:var(--white);border:1px solid var(--navy-12);padding:8px 10px;border-radius:var(--radius);opacity:.85}
.pv:hover{opacity:1}

/* ---------- Responsive: internal pages ---------- */
@media (max-width:1023px){
  .split,.hero-in .inner,.ab-hero .inner,.ab-approach .inner,.ab-story .inner,.ab-edu .inner,.ab-rec .inner,.ab-creds .inner,.hub-hero .inner,.chapter .inner,.cat-hero .inner,.approach .inner,.process .inner,.safety .inner,.results .inner,.iv-hero .inner,.iv-status .inner,.pi-hero .inner,.pi-sec .inner,.pi-routes .inner,.ct-hero .inner,.ct-form .inner,.ct-done .inner,.legal .inner{grid-template-columns:1fr}
  .split>*,.hero-in .txt,.hero-in .pic,.ab-hero .txt,.ab-hero .pic,.ab-approach .lab,.ab-approach .txt,.ab-story .txt,.ab-story .pic,.ab-edu .head,.ab-edu .pair,.ab-rec .side,.ab-rec .body,.ab-creds .side,.ab-creds .lists,.ab-creds .note,.hub-hero .txt,.hub-hero .index,.chapter .num,.chapter .txt,.chapter .pic,.chapter.alt .num,.chapter.alt .txt,.chapter.alt .pic,.cat-hero .txt,.cat-hero .pic,.approach .lab,.approach .txt,.process .side,.process ol,.safety .txt,.safety .side,.results .stat,.results .txt,.iv-hero .txt,.iv-hero .stamp,.iv-status .lab,.iv-status .txt,.pi-hero .txt,.pi-hero .toc,.pi-sec .side,.pi-sec .body,.pi-routes .txt,.pi-routes .list,.pi-routes .acts,.ct-hero .txt,.ct-hero .quick,.ct-form form,.ct-form .aside,.ct-done .txt,.legal .txt{grid-column:1/-1;grid-row:auto}
  .ab-hero .pic{max-width:520px;margin-top:8px}
  .chapter.dark .pic.stamp{grid-column:1/-1;grid-row:auto;height:auto;justify-items:start;text-align:left;margin-top:8px}
  .ab-story .pic,.process .side,.faqs .side,.pi-sec .side,.ct-form .aside{position:static}
  .ab-story .pic{max-width:520px;margin-top:32px}
  .ab-edu .head{grid-template-columns:1fr}
  .ab-edu .head p{justify-self:start}
  .ab-edu .pair,.ab-approach .cols,.approach .cols{grid-template-columns:1fr;gap:var(--s-6)}
  .ab-rec .body{margin-top:32px}
  .ab-creds .lists{margin-top:28px}
  .ab-roles .head,.tx-index .head,.roles2 .head,.hub-steps .head,.iv-prin .head,.hub-mobile .inner,.faqs .inner,.iv-now .inner,.cta-in .inner{grid-template-columns:1fr}
  .tx-index .head p,.roles2 .head p{justify-self:start}
  .ab-roles .grid{grid-template-columns:1fr 1fr}
  .ab-roles .grid li:nth-child(3n){border-right:1px solid var(--navy-12)}
  .ab-roles .grid li:nth-child(2n){border-right:0}
  .ab-roles .grid li:nth-child(n+2){padding-left:0}
  .ab-roles .grid li:nth-child(2n){padding-left:clamp(20px,3vw,40px)}
  .ab-why .card{margin-left:0}
  .hub-hero .index{margin-top:32px;max-width:420px}
  .chapter .txt{margin-top:18px}
  .chapter .pic{max-width:560px;margin-top:28px}
  .chapter.alt .pic{grid-row:auto}
  .chapter.dark .pic{height:auto}
  .cat-hero .pic{max-width:420px;margin-top:24px}
  .process ol{margin-top:32px}
  .safety .side{margin-top:24px;align-content:start}
  .results .txt{margin-top:24px}
  .iv-hero .stamp,.chapter.dark .pic.stamp{justify-items:start;text-align:left;margin-top:16px}
  .pi-hero .toc{margin-top:32px;max-width:420px}
  .pi-sec .body{margin-top:24px}
  .pi-routes .list{margin-top:28px}
  .ct-hero .quick{margin-top:28px;max-width:420px}
  .ct-form .aside{margin-top:28px}
  .cta-in .acts{justify-content:flex-start}
  .trust .inner{grid-template-columns:1fr}
  .trust .pic{max-width:200px}
  .hero-type .corner{position:static;width:auto;text-align:left;margin-top:24px}
}
@media (max-width:639px){
  .hub-steps ol,.iv-prin ol{grid-template-columns:1fr}
  .hub-steps li,.iv-prin li{border-right:0;border-bottom:1px solid var(--navy-12);padding:22px 0}
  .hub-steps li:nth-child(n+2),.iv-prin li:nth-child(n+2){padding-left:0}
  .ab-roles .grid{grid-template-columns:1fr}
  .ab-roles .grid li{border-right:0!important;padding-left:0!important}
  .ab-creds .lists,.roles2 .pair{grid-template-columns:1fr}
  .roles2 .pair>div:first-child{border-right:0}
  .roles2 .pair>div:last-child{padding-left:0;background:transparent;border-top:0}
  .tx-index .row{grid-template-columns:40px 1fr;row-gap:10px}
  .tx-index .row p,.tx-index .row .status{grid-column:2;justify-self:start}
  .dl-row{grid-template-columns:1fr;gap:10px}
  .f-row{grid-template-columns:1fr}
  .ct-form form{padding:24px 20px;margin:0 calc(-1 * var(--margin));border-top:1px solid var(--navy)}
  .ct-form .submit .btn{width:100%}
  .ab-hero h1,.cat-hero h1,.hub-hero h1,.pi-hero h1,.ct-hero h1,.ct-done h1{font-size:2.6rem}
  .iv-hero h1{font-size:3rem}
  .ab-approach h2,.approach h2,.iv-status h2,.ab-edu .head h2{font-size:2.1rem}
  .ab-hero .stat{grid-template-columns:1fr}
  .ab-why .card{margin:-40px var(--margin) 0;padding:24px 20px 0 0}
  .ab-why .card h2{font-size:2.2rem}
  .cta-in h2{font-size:2.4rem}
  .cta-in .acts{flex-direction:column;align-items:stretch}
  .cta-in .btn{width:100%}
  .pi-routes .list>div{grid-template-columns:1fr;gap:4px}
  .ct-hero .quick>div{grid-template-columns:1fr;gap:4px}
  .ab-approach .words li+li::before{margin:0 12px}
  .ab-approach .words{font-size:1.15rem}
  .band .ph-ed{height:auto;aspect-ratio:4/5}
  .ab-why .photo .ph-ed{height:auto;aspect-ratio:4/5}
  .legal .txt{gap:20px}
}

/* Header at narrow desktop widths (1024 to 1180): longer navigation labels need a tighter bar */
@media (max-width:1180px) and (min-width:1024px){
  .site-header nav{gap:18px}
  .site-header .navlink{font-size:.875rem}
  .lockup .w{height:12px}.lockup .m{height:40px}
  .site-header .actions{gap:14px}
  .site-header .actions .btn-sm{padding:0 16px;font-size:.66rem;letter-spacing:.1em}
}
@media (max-width:1180px) and (min-width:1024px){
  .cred-strip ul{font-size:.62rem;letter-spacing:.14em;padding:22px 24px;gap:12px 16px}
  .cred-strip li{gap:16px}
}
@media (max-width:639px){
  .ab-why .card .four{flex-direction:column;gap:8px}
  .ab-why .card .four li+li::before{display:none}
}
/* Eyebrows on navy sections: light gold, never the dark gold text tone */
.ab-edu .eyebrow,.safety .eyebrow,.pi-routes .eyebrow,.chapter.dark .eyebrow,.results .eyebrow,.iv-hero .eyebrow{color:var(--gold-light)}

/* ==========================================================
   HOME 01b · SERVICE PREVIEW. Editorial copy left, three
   photographic tiles right. Medical Aesthetics leads by size
   and position, never by label.
   ========================================================== */
.svc-pre{background:var(--white);padding-top:clamp(64px,8vw,128px);padding-bottom:clamp(56px,7vw,112px)}
.svc-pre .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end}
.svc-pre .txt{grid-column:1/5;display:grid;gap:20px;align-self:end;padding-bottom:8px}
.svc-pre .txt h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,1.4rem + 2vw,3.4rem);line-height:1.06;letter-spacing:-.012em;color:var(--navy);max-width:13ch}
.svc-pre .txt p{color:var(--navy-ink);max-width:36ch}
.svc-pre .txt .t-small{color:var(--navy-mid);margin-top:-6px}
.svc-pre .txt .lnk{margin-top:6px}
.svc-pre .tiles{grid-column:6/13;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr);grid-template-rows:auto auto;gap:var(--gutter)}
.tile{display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:0}
.tile.lead{grid-row:1/3}
.tile .ph{display:block;overflow:hidden;border-radius:var(--radius);background:var(--stone);border:0;padding:0}
.tile:not(.lead) .ph{aspect-ratio:4/3}
.tile.lead .ph{flex:1;min-height:0}
.tile .ph img.photo{width:100%;height:100%;transition:transform 700ms var(--ease)}
.tile:hover .ph img.photo,.tile:focus-visible .ph img.photo{transform:scale(1.02)}
.tile .cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;margin-top:14px;border-top:1px solid var(--navy-12)}
.tile .cap>span{font-family:var(--serif);font-size:1.2rem;line-height:1.2;color:var(--navy)}
.tile.lead .cap>span{font-size:1.55rem}
.tile .cap .arrow{width:24px;height:10px;fill:none;stroke:var(--navy);stroke-width:1.2;flex:none;transition:transform var(--t) var(--ease)}
.tile:hover .cap .arrow{transform:translateX(5px)}
@media (max-width:1023px){
  .svc-pre .inner{grid-template-columns:1fr}
  .svc-pre .txt,.svc-pre .tiles{grid-column:1/-1}
  .svc-pre .tiles{margin-top:36px}
}
@media (max-width:767px){
  /* Mobile: a horizontal editorial sequence, Medical Aesthetics first and widest, with the next tile peeking */
  .svc-pre .tiles{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:32px calc(-1 * var(--margin)) 0;padding:0 var(--margin) 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .svc-pre .tiles::-webkit-scrollbar{display:none}
  .tile{flex:0 0 74vw;scroll-snap-align:start;scroll-margin-left:var(--margin)}
  .tile.lead{flex-basis:82vw;grid-row:auto}
  .tile .ph,.tile:not(.lead) .ph,.tile.lead .ph{aspect-ratio:4/5;flex:none}
  .tile.lead .cap>span{font-size:1.35rem}
}

/* HOME 03 · services index (information, not photography) */
.svc-index .row{grid-template-columns:48px minmax(0,4fr) minmax(0,6fr) auto;align-items:start}
.svc-index .row h3 a{color:inherit;text-decoration:none}
.svc-index .row h3 a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.svc-index .row .d{display:grid;gap:14px;max-width:52ch}
.svc-index .row .d .lnk{justify-self:start}
.svc-index .row>span:last-child{justify-self:end;display:grid;gap:6px;justify-items:end}
.svc-index .foot.more{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-top:28px}
.svc-index .foot.more p{color:var(--navy-mid);max-width:44ch}
@media (max-width:1023px){
  .svc-index .row{grid-template-columns:40px 1fr;row-gap:12px}
  .svc-index .row .d,.svc-index .row>span:last-child{grid-column:2;justify-self:start;justify-items:start}
  .svc-index .row .d>*{grid-column:auto}
}

/* Treatment routes: quiet inline list of links (Home index row, hub chapter, Medical Aesthetics hero) */
.routes{display:flex;flex-wrap:wrap;gap:8px 0;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--navy)}
.routes li{display:flex;align-items:center}
.routes li+li::before{content:"·";margin:0 12px;color:var(--gold)}
.routes a{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold-light);padding-bottom:2px;transition:border-color var(--t)}
.routes a:hover{border-bottom-color:var(--navy)}
.chapter.dark .routes,.on-navy .routes{color:var(--white)}
.cat-hero .routes{margin:-4px 0 6px}
/* Lead tile subline on the Home preview */
.tile .cap>span small{display:block;font-family:var(--sans);font-size:.78rem;letter-spacing:0;color:var(--navy-mid);margin-top:6px;line-height:1.45}
@media (max-width:639px){
  .routes{flex-direction:column;gap:8px}
  .routes li+li::before{display:none}
  .tile .cap>span small{font-size:.72rem}
}
/* Footer: two service columns (Medical Aesthetics, Wellness & Clinical) plus Navigate and Contact */
.footer .top{grid-template-columns:minmax(0,3fr) repeat(4,minmax(0,2fr)) minmax(0,3fr)}
.flags-off .footer .top{grid-template-columns:minmax(0,3fr) repeat(3,minmax(0,2fr)) minmax(0,3fr)}
.footer .brand p{max-width:26ch}
@media (max-width:1023px){
  .footer .top,.flags-off .footer .top{grid-template-columns:1fr 1fr 1fr}
  .footer .brand,.footer .contact{grid-column:1/-1}
}
@media (max-width:639px){
  .footer .top,.flags-off .footer .top{grid-template-columns:1fr 1fr}
}

/* ==========================================================
   SPACING TIERS · compact / standard / generous / feature.
   Standard is the existing --section token. Feature is
   reserved for the hero and full-bleed compositions only.
   ========================================================== */
:root{--space-compact:clamp(40px,3vw + 16px,64px);--space-generous:clamp(64px,4.5vw + 24px,104px)}
.section-compact{padding-top:var(--space-compact);padding-bottom:var(--space-compact)}
.section-lg{padding-top:var(--space-generous);padding-bottom:var(--space-generous)}
.svc-pre{padding-top:var(--section);padding-bottom:var(--section)}
/* Home 02: two columns aligned on the same top line, no dead height */
.phil .inner{align-items:start}
.phil .txt{gap:16px}
.phil .body{padding-top:calc(.7rem + 22px);padding-bottom:0}
.chapter{padding-top:clamp(48px,5vw,88px);padding-bottom:clamp(48px,5vw,88px)}
.founder-b .txt{padding:clamp(44px,5vw,80px) 0}
.founder-b .pic img{min-height:0}
.cred-strip + .svc-pre{padding-top:calc(var(--section) + 8px)}

/* ==========================================================
   PHOTOGRAPH + ADJACENT IVORY PANEL (Home 07, About 07).
   Photo fills the left cell edge to edge; the panel takes
   ~42% and sets the height, so no white rectangle appears.
   ========================================================== */
.mob-b,.ab-why{padding-top:0;padding-bottom:var(--section);background:var(--white)}
.mob-b .inner,.ab-why .inner{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0;align-items:stretch}
.ab-why .inner{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
.mob-b .photo,.ab-why .photo{position:relative;min-height:clamp(460px,38vw,600px)}
.mob-b .photo img.photo,.ab-why .photo img.photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:var(--op)}
.mob-b .card,.ab-why .card{position:static;background:var(--ivory);margin:0;max-width:none;padding:clamp(36px,4vw,60px);display:grid;gap:18px;align-content:center}
.mob-b .card .eyebrow,.ab-why .card .eyebrow{margin-bottom:2px}
.mob-b .card h2,.ab-why .card h2{font-size:clamp(2rem,1.3rem + 1.8vw,2.9rem);max-width:14ch}
.mob-b .card p,.ab-why .card p{max-width:44ch;color:var(--navy-ink);font-size:1rem}
.mob-b .card .acts{padding-top:4px}
.ab-why .card .four{padding-top:4px}
@media (max-width:1023px){
  .mob-b .inner,.ab-why .inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mob-b .photo,.ab-why .photo{min-height:440px}
}
@media (max-width:767px){
  .mob-b .inner,.ab-why .inner{grid-template-columns:1fr}
  .mob-b .photo,.ab-why .photo{min-height:0;aspect-ratio:4/5}
  .mob-b .photo img.photo,.ab-why .photo img.photo{object-position:var(--opm,var(--op))}
  .mob-b .card,.ab-why .card{margin:0;padding:28px 22px 32px}
  .mob-b .card h2,.ab-why .card h2{font-size:2.1rem}
}
@media (max-width:1023px){.phil .body{padding-top:0}.phil .txt{gap:12px}}

/* ===== October 2026: clinical team section (replaces the founder band on the homepage) ===== */
.team-b{background:var(--navy-deep);color:var(--white);position:relative;overflow:hidden;padding:clamp(56px,7vw,112px) 0}
.team-b .head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end;padding-bottom:clamp(36px,4vw,56px);border-bottom:1px solid var(--white-20);margin-bottom:clamp(40px,5vw,72px)}
.team-b .head .eyebrow{grid-column:1/-1;color:var(--gold-light)}
.team-b .head h2{grid-column:1/8;font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,1.5rem + 2.6vw,4rem);line-height:1.04;letter-spacing:-.012em;max-width:16ch}
.team-b .head p{grid-column:9/13;color:rgba(255,255,255,.78);max-width:34ch;font-size:1.02rem}
.team-b .people{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.team-b .person{display:grid;gap:var(--gutter);align-content:start}
.team-b .person.lead{grid-column:1/8;grid-template-columns:5fr 6fr}
.team-b .person:not(.lead){grid-column:9/13;grid-template-columns:1fr;padding-top:0}
.team-b .pic{position:relative}
.team-b .pic img.photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:var(--op);display:block}
.team-b .person:not(.lead) .pic{max-width:62%}
.team-b .person:not(.lead) .pic img.photo{aspect-ratio:3/4}
.team-b .pic .rf{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px)}
.team-b .txt{display:grid;gap:18px;align-content:start}
.team-b h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,1.2rem + 1.2vw,2.3rem);line-height:1.08;letter-spacing:-.01em}
.team-b .role{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-light);display:grid;gap:4px}
.team-b .role span{color:var(--white-66);letter-spacing:.06em;font-weight:500;text-transform:none;font-size:.88rem}
.team-b .txt p:not(.role){color:rgba(255,255,255,.8);max-width:46ch}
.team-b .creds{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding:18px 0;border-top:1px solid var(--white-20);border-bottom:1px solid var(--white-20)}
.team-b .creds li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:baseline;font-size:.9rem;color:var(--white)}
.team-b .creds li i{font-family:var(--serif);font-style:normal;color:var(--gold-light);font-size:.85rem}
.team-b .acts{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
@media (max-width:1180px){
  .team-b .person.lead{grid-template-columns:1fr 1fr}
  .team-b .creds{grid-template-columns:1fr}
}
@media (max-width:1023px){
  .team-b .head h2{grid-column:1/-1}
  .team-b .head p{grid-column:1/-1;max-width:52ch}
  .team-b .person.lead{grid-column:1/-1;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .team-b .person:not(.lead){grid-column:1/-1;grid-template-columns:minmax(0,5fr) minmax(0,7fr);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--white-20)}
  .team-b .person:not(.lead) .pic{max-width:100%}
  .team-b .person:not(.lead) .pic img.photo{aspect-ratio:4/5}
}
@media (max-width:767px){
  .team-b .person.lead,.team-b .person:not(.lead){grid-template-columns:1fr}
  .team-b .pic{max-width:420px}
  .team-b .person:not(.lead) .pic{max-width:300px}
  .team-b .pic img.photo{object-position:var(--opm,var(--op))}
}
/* Reserved CQC item in the credentials strip: gold, hidden until approved wording and assets are supplied */
.cred-strip li.cqc{color:var(--gold-text);font-weight:700}
.cred-strip li.cqc[hidden]{display:none}

/* ===== October 2026: About page clinical team (Medical Director profile) ===== */
.ab-team{background:var(--white)}
.ab-team .head{display:grid;grid-template-columns:7fr 5fr;gap:var(--gutter);align-items:end;padding-bottom:clamp(28px,3vw,40px);border-bottom:1px solid var(--navy);margin-bottom:clamp(40px,5vw,64px)}
.ab-team .head h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.1;color:var(--navy);max-width:16ch}
.ab-team .head p{color:var(--navy-ink);max-width:40ch}
.ab-team .inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.ab-team .pic{grid-column:1/5;position:relative;max-width:380px}
.ab-team .pic img.photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:var(--op);display:block}
.ab-team .pic .rf{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px)}
.ab-team .txt{grid-column:6/13;display:grid;gap:18px}
.ab-team .txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,1.3rem + 1.4vw,2.6rem);line-height:1.08;color:var(--navy);letter-spacing:-.01em}
.ab-team .txt .title{font-size:.95rem;color:var(--navy-mid)}
.ab-team .txt .title b{color:var(--navy);font-weight:600}
.ab-team .txt p{color:var(--navy-ink);max-width:58ch}
@media (max-width:1023px){
  .ab-team .head{grid-template-columns:1fr}
  .ab-team .pic{grid-column:1/-1;max-width:320px}
  .ab-team .txt{grid-column:1/-1}
}
.team-b .head h2{max-width:none}
@media (max-width:1500px){.team-b .creds{grid-template-columns:1fr}}
/* Longer locations credential: let the strip wrap below 1260px instead of clipping */
@media (max-width:1420px) and (min-width:1024px){.cred-strip ul{flex-wrap:wrap;justify-content:flex-start;gap:12px 28px}.cred-strip li.wide::before{display:none}}
@media (max-width:1023px){.cred-strip ul{grid-template-columns:repeat(2,auto)}}
/* Service index: booking CTA beside the explore link */
.svc-index .row .d .acts{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
/* Enquiry form: server/network error notice and radio group validation */
.form-error{margin-top:18px;padding:16px 18px;border:1px solid var(--gold);background:var(--ivory);color:var(--navy);font-size:.95rem}
.form-error p{margin:0}
.form-error a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
fieldset.field .err{display:none}
fieldset.field.invalid .err{display:block}
fieldset.field .radios{margin-top:12px}
.ct-form .aside ol li b{font-weight:600;color:var(--navy)}
.field input[type=date]{-webkit-appearance:none;appearance:none;font-family:var(--sans);font-size:1rem;color:var(--navy);background:var(--white);line-height:50px}
.field input[type=date]::-webkit-date-and-time-value{text-align:left}