:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
/* Haven Health. Layout: ivory sticky header with the navy logo, split hero with an arched "doorway" photo,
   alternating ivory and sand bands, navy bands for patient stories and values, sand footer.
   Single light look by design, to match the printed brand and the sister sites. */
:root{
  --navystone:url(img-93ad707d.webp);--ivorystone:url(img-7e784358.webp);
  --ivory:#FBF8F2; --sand:#F2EBDD; --sand-deep:#E8DECA; --line:#DDD1BB;
  --navy:#1F335F; --navy-deep:#14223F; --navy-line:rgba(251,248,242,.18);
  --gold:#AC8C66; --gold-text:#7A5F3C; --gold-soft:#D4BC95;
  --ink:#14223F; --body:#2C3440; --muted:#5A6371; --on-navy:#F6F1E6; --on-navy-muted:#C5CCD7;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --arch:999px 999px 6px 6px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{margin:0;background:var(--ivory);color:var(--body);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--ink);line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(2.5rem,5.2vw,4rem)}
h2{font-size:clamp(2rem,3.8vw,2.9rem)}
h3{font-size:1.5rem}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:20px}
.narrow{max-width:800px}
.center{text-align:center}
.eyebrow{display:block;font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text);margin-bottom:.9rem}
.sel{user-select:all}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.5rem;font:600 .72rem/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:box-shadow .2s;text-align:center}
.btn-navy{background:var(--navy);color:var(--on-navy)}

.btn-gold{background:var(--gold);color:var(--navy-deep)}

.btn-ghost{background:transparent;border-color:var(--navy);color:var(--navy)}

.btn:disabled{opacity:.6;cursor:wait}
/* buttons keep their colours when hovered, tapped or selected; a thin underline shows the state instead */
.btn:hover,.btn:focus-visible,.btn:active{box-shadow:inset 0 -2px 0 var(--gold)}
.btn-gold:hover,.btn-gold:focus-visible,.btn-gold:active{box-shadow:inset 0 -2px 0 var(--navy-deep)}
.btn{-webkit-tap-highlight-color:transparent}
.textlink{display:inline-block;margin-top:1.1rem;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:3px}
.textlink:hover{color:var(--gold-text)}
.textlink.light{color:var(--on-navy);border-color:var(--gold)}
.note{display:inline-block;margin-top:1.1rem;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* header: ivory stone texture (the Aesthetics by Haven treatment, in Haven Health colours) */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--ivory) var(--ivorystone) left center/cover no-repeat;border-bottom:2px solid var(--gold);box-shadow:0 2px 14px rgba(20,34,63,.08)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:12px 4px}
.brand img{width:168px;height:auto}
.head-book{min-height:42px;padding:0 1.3rem;font-size:.66rem}
.head-acts{display:flex;align-items:center;gap:10px}
.head-aes{min-height:42px;padding:0 1.2rem;font-size:.66rem;gap:.45rem;background:transparent;border-color:var(--gold);color:var(--navy)}
.head-aes .sm{display:none}
.aes-arrow{font-size:.85rem;letter-spacing:0;color:var(--gold-text)}
.tabs .sm{display:none}
.tabs{padding-bottom:2px}
.tabs ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 4px}
.tabs a{display:block;padding:10px 12px 12px;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:2px solid transparent}
.tabs a:hover{border-bottom-color:rgba(172,140,102,.45)}
.tab-ext{color:var(--gold-text)!important}
.tabs a[aria-current="page"]{border-bottom-color:var(--gold);color:var(--ink)}
/* one-row desktop header: logo, tabs, then the two buttons */
.site-head .bar{padding-block:14px}
.bar .tabs{margin-left:auto;padding:0}
.bar .tabs ul{flex-wrap:nowrap}
.bar .tabs a{padding:10px 10px 12px;white-space:nowrap}
.head-acts{flex-shrink:0}
@media (min-width:901px) and (max-width:1180px){
  .brand img{width:140px}
  .bar .tabs a{padding:10px 7px 12px;letter-spacing:.1em;font-size:.66rem}
  .head-aes .lg{display:none}.head-aes .sm{display:inline}
  .head-aes,.head-book{padding:0 .9rem;letter-spacing:.12em}
}
.tabs li{position:relative}
.has-sub{display:flex;align-items:center}
.sub-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:30px;margin-left:-8px;padding:0;background:none;border:0;color:var(--gold-text);font-size:.7rem;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tabs .sub{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:0;min-width:250px;background:var(--ivory);border-top:2px solid var(--gold);box-shadow:0 14px 28px rgba(20,34,63,.16);display:none;z-index:50;flex-direction:column}
.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{display:flex}
.tabs .sub a{padding:11px 20px;border-bottom:0;white-space:nowrap}
.tabs .sub a:hover{background:var(--sand);border-bottom:0}
.tabs .sub a[aria-current="page"]{color:var(--gold-text);border-bottom:0}
.tabs .sub .sm{display:none!important}.tabs .sub .lg{display:inline!important}
.has-sub:has(.sub a[aria-current="page"])>a{border-bottom-color:var(--gold)}
.menu-btn{display:none}
@media (max-width:900px){
  .site-head .bar{flex-wrap:wrap;row-gap:0;padding-block:10px 0;gap:10px}
  .brand img{width:116px}
  .head-acts{display:contents}
  .bar .tabs{margin:0;order:5}
  .bar .tabs a{white-space:normal;padding:14px 0}
  .bar .tabs .sub a{padding:11px 0 11px 18px}
  .brand{order:1;margin-right:auto}
  .head-book{order:2;min-height:36px;padding:0 1rem;font-size:.6rem;letter-spacing:.12em;white-space:nowrap}
  .menu-btn{order:3;display:inline-flex;align-items:center;min-height:36px;padding:0 .9rem;background:none;border:1px solid var(--navy);border-radius:999px;color:var(--navy);font:600 .6rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .menu-btn[aria-expanded="true"]{box-shadow:inset 0 -2px 0 var(--gold)}
  .head-aes{order:4;flex-basis:100%;justify-content:center;min-height:36px;margin-top:10px;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;font-size:.6rem;letter-spacing:.18em;white-space:nowrap}
  .head-aes:hover,.head-aes:focus-visible,.head-aes:active{box-shadow:none;text-decoration:underline;text-underline-offset:4px}
  .head-aes .lg{display:inline}.head-aes .sm{display:none}
  .tabs{position:absolute;left:0;right:0;top:100%;max-width:none;padding:0;background:var(--ivory);border-bottom:2px solid var(--gold);box-shadow:0 14px 24px rgba(20,34,63,.14);display:none;max-height:calc(100vh - 140px);overflow-y:auto}
  .tabs.open{display:block}
  .tabs ul{flex-direction:column;flex-wrap:nowrap;gap:0;padding:4px 20px 10px}
  .tabs a{padding:14px 0;font-size:.72rem;letter-spacing:.16em;border-bottom:1px solid var(--line)}
  .tabs li:last-child a{border-bottom:0}
  .tabs a:hover{border-bottom-color:var(--line)}
  .tabs a[aria-current="page"]{border-bottom-color:var(--line);color:var(--gold-text)}
  .tabs .lg{display:inline}.tabs .sm{display:none}
  .has-sub{display:block;border-bottom:1px solid var(--line)}
  .sub-btn{display:none}
  .tabs .sub{display:flex;position:static;min-width:0;padding:0 0 6px;background:none;border:0;box-shadow:none}
  .tabs .sub a{padding:11px 0 11px 18px;font-size:.66rem;color:var(--muted);border-bottom:0}
  .tabs .sub a:hover{background:none}
  .has-sub>a{border-bottom:0!important}
}
@media (max-width:430px){
  .site-head .bar{gap:8px}
  .brand img{width:100px}
  .head-book{padding:0 .7rem;letter-spacing:.08em}
  .menu-btn{padding:0 .7rem;letter-spacing:.1em}
}

/* bands */
.band{padding-block:clamp(56px,8vw,96px)}
.band-ivory{background:var(--ivory)}
.band-sand{background:var(--sand)}
.band-navy{background:var(--navy-deep);color:var(--on-navy-muted)}
.band-navy h2,.band-navy h3{color:var(--on-navy)}
.band-navy .eyebrow{color:var(--gold-soft)}
.sh{max-width:760px;margin-bottom:clamp(28px,4vw,44px)}
.sh.row{max-width:none;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
.lead{margin-top:1rem;font-size:1.05rem;color:var(--muted)}
.band-navy .lead{color:var(--on-navy-muted)}

/* hero: the lounge and its gold compass wall on the left, fading into navy where the text sits */
.hero{position:relative;isolation:isolate;min-height:clamp(520px,72vh,760px);display:flex;align-items:center;overflow:hidden;background:var(--navy-deep)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:18% 45%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,rgba(20,34,63,.97) 0%,rgba(20,34,63,.92) 36%,rgba(20,34,63,.3) 66%,rgba(20,34,63,0) 100%)}
.hero-wrap{width:100%;display:flex;justify-content:flex-end}
.hero-copy{width:min(520px,46%);padding-block:64px}
.hero .eyebrow{color:var(--gold-soft);margin-bottom:1rem}
.hero-rule{display:block;width:56px;height:2px;background:var(--gold);margin-bottom:1.3rem}
.hero h1{color:#FFFDF8;font-weight:500;font-size:clamp(2.6rem,5vw,4.3rem);line-height:1.02;margin-bottom:1.2rem}
.hero .intro{color:#DCE1EA;font-size:1.08rem;margin-bottom:2rem}
.btn-light{background:transparent;border-color:rgba(255,253,248,.75);color:#FFFDF8}

.intro{font-size:1.08rem;max-width:36em;margin-bottom:1.8rem}
@media (max-width:860px){
  .hero{flex-direction:column;align-items:stretch;min-height:0}
  .hero-bg{height:300px;bottom:auto;object-position:22% 45%}
  .hero::after{background:linear-gradient(180deg,rgba(20,34,63,0) 0%,rgba(20,34,63,.15) 180px,rgba(20,34,63,1) 300px)}
  .hero-wrap{justify-content:flex-start}
  .hero-copy{width:100%;padding-block:300px 48px}
}

/* intro band */
.intro-band{text-align:center}
.intro-band .big{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.25;color:var(--ink);margin-bottom:1.2rem;text-wrap:balance}
.intro-band p:last-child{color:var(--muted);max-width:44em;margin-inline:auto}

/* service cards */
.scards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.scard{background:var(--ivory);border:1px solid var(--line);display:flex;flex-direction:column}
.scard-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.scard-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.scard-body h3 a{text-decoration:none}
.scard-body h3 a:hover{color:var(--gold-text)}
.scard-body p{margin-top:.7rem;font-size:.95rem;color:var(--muted);flex:1}
@media (max-width:900px){.scards{grid-template-columns:1fr;max-width:560px}}

/* split sections */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split.flip .split-photo{order:2}
.split-photo img{width:100%;aspect-ratio:4/5;max-height:620px;object-fit:cover}
.split-copy{min-width:0}
.split-copy h2{margin-bottom:1.1rem}
.split-copy p+p{margin-top:1rem}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.flip .split-photo{order:0}.split-photo img{aspect-ratio:3/2}}

/* quotes */
.quotes{display:grid;gap:24px}
.quotes.q3{grid-template-columns:repeat(3,minmax(0,1fr))}
.quotes.q2{grid-template-columns:repeat(2,minmax(0,1fr))}
.quotes.q1{max-width:820px}
.quote{margin:0;padding:28px 0 0;border-top:1px solid var(--navy-line);display:flex;flex-direction:column;gap:18px}
.quote blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.32rem;line-height:1.45;color:var(--on-navy)}
.quote blockquote::before{content:"\201C";display:block;font-size:3rem;line-height:.6;color:var(--gold);font-style:normal;margin-bottom:10px}
.quotes.q1 .quote blockquote{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.quote figcaption{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.voices .textlink{margin-top:36px}
@media (max-width:900px){.quotes.q3,.quotes.q2{grid-template-columns:1fr}}

/* aesthetics sister band */
.sister{border-top:1px solid var(--line)}
.sister-in{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,4vw,48px);align-items:center}
.sister-mark{width:96px;height:auto}
.sister h2{margin-bottom:.6rem}
.sister p{max-width:44em;color:var(--muted)}
.sister-acts{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.sister-acts .textlink{margin-top:10px}
@media (max-width:800px){.sister-in{grid-template-columns:1fr;justify-items:start}.sister-mark{width:72px}}

/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:start}
.faq-head{position:sticky;top:140px}
.faq-head h2{margin-bottom:1rem}
.faq-head p{color:var(--muted)}
.faq-list{min-width:0;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--ink);line-height:1.3}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:6px;top:18px;font-family:var(--sans);font-weight:300;font-size:1.6rem;color:var(--gold-text);transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding-bottom:18px;color:var(--body);max-width:62ch}
.faq-item p+p{margin-top:-6px}
@media (max-width:860px){.faq{grid-template-columns:1fr}.faq-head{position:static}}

/* location */
.loc{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:stretch}
.loc-copy{min-width:0}
.loc-copy h2{margin-bottom:1rem}
.facts{margin:1.6rem 0 1.8rem;display:grid;gap:14px}
.facts div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.facts dt{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);padding-top:4px}
.facts dd{margin:0;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.map{position:relative;min-height:340px;background:var(--sand-deep);border:1px solid var(--line);overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--navy);font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.map-fallback span{font-family:var(--serif);font-size:1.6rem;letter-spacing:0;text-transform:none;color:var(--ink)}
@media (max-width:860px){.loc{grid-template-columns:1fr}}

/* closing call to action */
.cta{background:var(--navy-deep);color:var(--on-navy-muted);padding-block:clamp(56px,8vw,88px);text-align:center;position:relative;overflow:hidden}
.cta-in{max-width:760px}
.cta-mark{width:84px;height:auto;margin:0 auto 18px;padding:14px;background:var(--ivory);border-radius:50%;box-sizing:content-box}
.cta h2{color:var(--on-navy);margin-bottom:1rem}
.cta p{margin:0 auto 1.8rem;max-width:40em}

/* inner page heads */
.phead{background:linear-gradient(180deg,var(--ivory) 0%,var(--sand) 100%);padding-block:clamp(36px,6vw,72px)}
.phead.plain{padding-block:clamp(48px,7vw,84px)}
.phead.plain .intro{margin-inline:auto;margin-bottom:0}
.phead-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.phead-copy{min-width:0}
.phead-copy h1{margin-bottom:1.1rem;font-size:clamp(2.3rem,4.6vw,3.5rem)}
.phead-photo img{width:100%;aspect-ratio:4/5;max-height:560px;object-fit:cover;border-radius:var(--arch)}
@media (max-width:860px){.phead-grid{grid-template-columns:1fr}.phead-photo{order:-1;max-width:380px;width:100%;margin-inline:auto}.phead-photo img{aspect-ratio:1/1}}

/* three cards */
.pcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pcard{background:var(--ivory);border-top:2px solid var(--gold);padding:26px 24px 28px}
.band-ivory .pcard{background:var(--sand)}
.pcard h3{margin-bottom:.7rem}
.pcard p{font-size:.95rem;color:var(--muted)}
@media (max-width:900px){.pcards{grid-template-columns:1fr}}

/* process steps: a real sequence */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;counter-reset:s}
.steps li{position:relative;padding-top:22px;border-top:1px solid var(--line)}
.step-n{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--gold-text);margin-bottom:16px;font-variant-numeric:tabular-nums}
.steps h3{margin-bottom:.6rem}
.steps p{font-size:.95rem;color:var(--muted)}
@media (max-width:900px){.steps{grid-template-columns:1fr;gap:20px}}

/* related services */
.rcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.rcard{border:1px solid var(--line);padding:26px 24px;display:flex;flex-direction:column;background:var(--ivory)}
.rcard p{margin-top:.7rem;font-size:.95rem;color:var(--muted);flex:1}
.rcard .textlink,.rcard .note{align-self:flex-start}
@media (max-width:900px){.rcards{grid-template-columns:1fr}}

/* services page */
.srows{display:grid;gap:clamp(36px,5vw,64px)}
.srow{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,56px);align-items:center}
.srow.flip .srow-photo{order:2}
.srow-photo img{width:100%;aspect-ratio:5/4;object-fit:cover}
.srow-copy{min-width:0}
.srow-copy h3{font-size:clamp(1.8rem,3vw,2.3rem)}
.srow-copy .hook{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold-text);margin:.5rem 0 1rem;line-height:1.35}
.srow-copy p:not(.hook){margin-bottom:1.5rem}
@media (max-width:860px){.srow{grid-template-columns:1fr}.srow.flip .srow-photo{order:0}}
.acards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.acard{background:var(--ivory);border:1px solid var(--line);padding:24px 24px 26px}
.acard-top{display:flex;flex-direction:column;gap:4px;margin-bottom:.7rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}
.acard h3{font-size:1.35rem;min-width:0}
.price{font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--gold-text);font-variant-numeric:tabular-nums}
.acard p{font-size:.93rem;color:var(--muted)}
@media (max-width:760px){.acards{grid-template-columns:1fr}}
.notice{margin-top:24px;padding:24px;border:1px dashed var(--gold);background:var(--ivory)}
.notice h3{font-size:1.35rem}
.tag{display:inline-block;margin:.5rem 0 .8rem;padding:4px 10px;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--sand-deep);color:var(--ink);border-radius:999px}
.notice p{font-size:.93rem;color:var(--muted);max-width:70ch}

/* team */
.lead-doc{display:grid;grid-template-columns:320px 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.lead-doc img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--arch)}
.lead-doc > div{min-width:0;max-width:62ch}
.cred{font-size:.78rem;font-weight:600;letter-spacing:.14em;color:var(--gold-text);margin:.4rem 0 1.1rem}
.lead-doc p+p,.prov p+p{margin-top:.9rem}
.providers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.prov{background:var(--ivory);border:1px solid var(--line);padding:26px;display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start}
.prov > div{min-width:0}
.prov img{width:120px;aspect-ratio:3/4;object-fit:cover;border-radius:var(--arch)}
.prov p:not(.cred){font-size:.94rem;color:var(--muted)}
.mono{width:120px;aspect-ratio:3/4;border-radius:var(--arch);background:var(--navy-deep);color:var(--gold-soft);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:2.2rem;font-weight:600;letter-spacing:.06em}
.staff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.staff{margin:0}
.staff img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:var(--arch)}
.staff figcaption{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.staff strong{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--ink)}
.staff span{font-size:.84rem;color:var(--muted);line-height:1.45}
@media (max-width:980px){.providers{grid-template-columns:1fr}.staff-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.lead-doc{grid-template-columns:1fr}.lead-doc img{max-width:280px}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.prov{grid-template-columns:1fr}}

/* about */
.statline{background:var(--navy-deep);color:var(--on-navy);text-align:center;padding-block:18px;font-family:var(--serif);font-size:1.3rem;font-style:italic}
.prose h2{margin-bottom:1.1rem}
.prose p+p{margin-top:1rem}
.legacy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.legacy img{width:100%;aspect-ratio:16/10;object-fit:cover}
@media (max-width:860px){.legacy{grid-template-columns:1fr}}
.vals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.val{padding-top:20px;border-top:1px solid var(--gold)}
.val h3{margin-bottom:.6rem}
.val p{font-size:.93rem}
@media (max-width:980px){.vals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.vals{grid-template-columns:1fr}}

/* booking */
.book{display:grid;grid-template-columns:1.4fr .9fr;gap:clamp(28px,5vw,64px);align-items:start}
.form{display:grid;gap:18px;min-width:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:7px;min-width:0}
.field label{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:13px 14px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formnote{font-size:.85rem;color:var(--muted)}
.form .btn{justify-self:start}
.formmsg{padding:12px 14px;border-radius:4px;font-size:.92rem}
.formmsg.ok{background:#E7F2EA;color:#1E6B3A}
.formmsg.err{background:#FBEAE6;color:#9A2E1C}
.book-side{background:var(--sand);padding:28px;border-top:2px solid var(--gold);min-width:0}
.book-side h2{font-size:1.9rem}
.book-side .facts{margin:1.2rem 0 1rem}
.small{margin-top:1.4rem;font-size:.85rem;color:var(--muted)}
@media (max-width:860px){.book{grid-template-columns:1fr}.two{grid-template-columns:1fr}}

/* privacy */
.policy h2{font-size:1.7rem;margin:2.2rem 0 .8rem}
.policy h3{font-size:1.25rem;margin:1.4rem 0 .5rem}
.policy p{margin-bottom:.9rem}
.policy ul{margin:0 0 1rem;padding-left:1.2rem}
.policy li{margin-bottom:.35rem}

/* footer: compact sand stone band */
.site-foot{background:var(--sand) url(img-05fe4ccc.webp) left center/cover no-repeat;border-top:2px solid var(--gold);padding-block:22px 14px;font-size:.84rem;color:var(--muted)}
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}
.foot-logo{width:118px;height:auto}
.foot-info{display:flex;flex-wrap:wrap;gap:4px 22px;color:var(--ink);margin:0;justify-content:flex-end;min-width:0}
.foot-info span{overflow-wrap:anywhere}
.foot-book{min-height:38px;font-size:.62rem;padding:0 1.1rem}
.foot-bottom{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;font-size:.74rem;color:var(--muted)}
.foot-bottom a{color:var(--muted)}
@media (max-width:760px){.foot{flex-direction:column;align-items:center;text-align:center}.foot-info{flex-direction:column;align-items:center}.foot-bottom{justify-content:center;text-align:center}}

/* Book appointment reads as a tab, like About; bigger logo so "Health" is legible */
.head-book,.head-book:hover,.head-book:focus-visible,.head-book:active{display:block;min-height:0;padding:10px 10px 12px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;color:var(--ink);font:500 .7rem/1.7 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.head-book:hover{border-bottom-color:rgba(172,140,102,.45)}
.head-book[aria-current="page"]{border-bottom-color:var(--gold)}
.head-acts{gap:14px}
.site-head .bar{padding-block:16px}
.brand img{width:230px}
@media (min-width:901px) and (max-width:1180px){
  .brand img{width:190px}
  .head-book,.head-book:hover{padding:10px 7px 12px;letter-spacing:.1em;font-size:.66rem}
  .head-acts{gap:8px}
}
@media (max-width:900px){
  .site-head .bar{padding-block:12px 0}
  .brand img{width:150px}
  .head-book,.head-book:hover{padding:8px 4px;font-size:.62rem;letter-spacing:.12em}
}
@media (max-width:430px){
  .brand img{width:132px}
  .head-book,.head-book:hover{font-size:.58rem;letter-spacing:.08em;padding:8px 2px}
}
@media (max-width:370px){.brand img{width:116px}}

/* back link at the top of every page except home */
.phead.has-back{padding-top:clamp(16px,2.6vw,26px)}
.back-row{margin-bottom:clamp(20px,3.6vw,44px)}
.backlink{display:inline-flex;align-items:center;gap:.6rem;min-height:40px;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--navy);border-bottom:1px solid transparent;-webkit-tap-highlight-color:transparent}
.backlink:hover,.backlink:focus-visible{border-bottom-color:var(--gold)}
.back-arrow{font-size:1.05rem;letter-spacing:0;color:var(--gold-text);line-height:1}

/* intro band: statement + three entry cards (like the Aesthetics by Haven "where to start" band) */
.intro3{background:var(--sand);padding-block:clamp(20px,3vh,34px)}
.intro3-in{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,2.05fr);gap:clamp(24px,3.5vw,48px);align-items:center}
.intro3-lead{border-left:2px solid var(--gold);padding-left:20px}
.intro3-lead .eyebrow{margin-bottom:.5rem}
.intro3-statement{font-family:var(--serif);font-weight:500;font-size:clamp(1.15rem,1.55vw,1.4rem);line-height:1.25;color:var(--ink)}
.intro3-statement em{font-style:italic;color:var(--gold-text)}
.intro3-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.icard{display:flex;flex-direction:column;gap:.45rem;background:#FFFDF8;border:1px solid var(--line);border-radius:6px;padding:16px 18px 18px;text-decoration:none;color:inherit;box-shadow:0 1px 0 rgba(20,34,63,.03);transition:box-shadow .2s,transform .2s}
.icard:hover,.icard:focus-visible{box-shadow:0 12px 26px rgba(20,34,63,.10);transform:translateY(-2px)}
.icard .n{font-size:.66rem;font-weight:600;letter-spacing:.2em;color:var(--gold-text)}
.icard h3{font-size:1.22rem;line-height:1.1;white-space:nowrap}
.icard .bar-line{display:block;width:32px;height:2px;background:var(--gold);transition:width .25s}
.icard:hover .bar-line,.icard:focus-visible .bar-line{width:56px}
.icard p{font-size:.8rem;line-height:1.55;color:var(--muted)}
/* desktop: hero + intro band together fill the first screen */
@media (min-width:901px){
  .hero{min-height:max(360px,calc(100svh - var(--head-h,140px) - var(--intro-h,190px)))}
  .hero-copy{padding-block:clamp(12px,4.5vh,56px)}
  .hero h1{font-size:clamp(2.2rem,min(5vw,7.2vh),4.3rem);margin-bottom:.9rem}
  .hero .intro{font-size:clamp(.95rem,1.9vh,1.08rem);margin-bottom:clamp(1.1rem,3vh,2rem)}
  .hero .eyebrow{margin-bottom:.7rem}
  .hero-rule{margin-bottom:clamp(.8rem,2vh,1.3rem)}
}
@media (max-width:1100px) and (min-width:901px){.icard h3{white-space:normal}}
@media (max-width:900px){
  .intro3{padding-block:32px}
  .intro3-in{grid-template-columns:1fr}
  .intro3-cards{grid-template-columns:1fr;gap:10px}
  .icard{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:.3rem;align-items:baseline;padding:14px 16px}
  .icard .n{grid-row:1/3;width:24px}
  .icard .bar-line{display:none}
  .icard h3{font-size:1.15rem;white-space:normal}
}

/* components on navy bands */
.band-navy .scard{border-color:transparent}
.band-navy .scard .scard-body h3,.band-navy .scard .scard-body h3 a{color:var(--ink)}
.band-navy .scard .scard-body h3 a:hover{color:var(--gold-text)}
.band-navy .btn-ghost{border-color:var(--gold);color:var(--on-navy)}
.band-navy .textlink{color:var(--on-navy)}
.band-navy .scard .textlink{color:var(--navy)}
.band-navy .faq-head h2{color:var(--on-navy)}
.band-navy .faq-head p{color:var(--on-navy-muted)}
.band-navy .faq-list,.band-navy .faq-item{border-color:var(--navy-line)}
.band-navy .faq-item summary{color:var(--on-navy)}
.band-navy .faq-item summary::after{color:var(--gold-soft)}
.band-navy .faq-item p{color:var(--on-navy-muted)}

/* Why Haven: navy stone texture (same as the Aesthetics by Haven header) between gold lines */
.intro3{background:var(--navy-deep) var(--navystone) center/cover no-repeat;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}
.intro3-lead .eyebrow{color:var(--gold-soft)}
.intro3-statement{color:var(--on-navy)}
.intro3-statement em{color:var(--gold-soft)}
.icard{background:rgba(20,34,63,.55);border:1px solid rgba(212,188,149,.38);box-shadow:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.icard:hover,.icard:focus-visible{box-shadow:0 14px 28px rgba(0,0,0,.28);border-color:rgba(212,188,149,.7)}
.icard .n{color:var(--gold-soft)}
.icard h3{color:var(--on-navy)}
.icard p{color:var(--on-navy-muted)}

/* desktop: tabs sit low, on the gold line at the bottom of the header (like Aesthetics by Haven) */
@media (min-width:901px){
  .site-head .bar{padding-bottom:0;align-items:center}
  .site-head .brand{margin-bottom:16px}
  .bar .tabs{align-self:flex-end}
  .bar .tabs a,.head-book{padding-bottom:14px}
  .head-acts{align-self:stretch;align-items:flex-end}
  .head-acts .head-aes{align-self:center;margin-bottom:16px}
}

/* rectangular buttons, like Aesthetics by Haven */
.btn,.head-aes,.menu-btn{border-radius:2px!important}
/* desktop: Aesthetics by Haven button sits low with the tabs */
@media (min-width:901px){
  .head-acts .head-aes{align-self:flex-end;margin-bottom:8px}
  .head-aes .lg{display:inline!important}.head-aes .sm{display:none!important}
}

/* ---- details matched to Aesthetics by Haven ---- */
.eyebrow{font-weight:500;letter-spacing:.26em}
/* tabs: thin gold line right under the word, like Aesthetics by Haven */
.tabs a,.head-book,.head-book:hover{font-size:.7rem;font-weight:500;letter-spacing:.2em;border-bottom-width:1px}
.tabs a:hover,.head-book:hover{border-bottom-color:transparent}
.tabs a[aria-current="page"],.head-book[aria-current="page"]{border-bottom-color:var(--gold)}
@media (min-width:901px){
  .bar .tabs ul{gap:0 1.5rem}
  .bar .tabs a,.head-book,.head-book:hover{padding:.35rem 0;margin-bottom:14px}
  .head-acts{gap:1.5rem}
  .sub-btn{margin-left:2px;height:24px;margin-bottom:14px;align-self:flex-end}
  .tabs .sub a{padding:11px 20px;margin:0}
}
/* about: card over photo */
.about2{position:relative;background:#F4EEE3}
.about2-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
.about2-photo{position:relative;min-height:440px;height:100%;overflow:hidden}
.about2-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.about2-card{position:relative;margin:1.8rem 0 1.8rem -14%;background:#FDFBF7;border-top:3px solid var(--gold);padding:1.6rem 1.9rem;box-shadow:0 18px 40px rgba(20,34,63,.14);max-width:560px;min-width:0}
.about2-card h2{font-size:clamp(1.7rem,2.6vw,2.1rem);margin-top:.5rem;font-weight:500}
.about2-card .rule{height:1px;background:var(--gold);margin-block:.9rem}
.about2-card .big{font-family:var(--serif);font-size:1.15rem;line-height:1.45;color:var(--ink)}
.about2-card p{font-size:.9rem}
.about2-card p+p{margin-top:.9rem}
.about2-card ul{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.84rem}
.about2-card li{display:flex;gap:.6rem;align-items:baseline}
.about2-card li::before{content:"";flex-shrink:0;width:6px;height:6px;background:var(--gold);transform:translateY(-2px)}
@media (max-width:860px){
  .about2-grid{display:block}
  .about2-photo{min-height:0;height:260px}
  .about2-card{margin:-130px 20px 0;max-width:none;padding:1.6rem 1.5rem}
  .about2{padding-bottom:2rem}
}
/* book & visit: one section (Aesthetics by Haven layout) */
.book3{background:#FDFBF7;color:var(--ink);border-top:3px solid var(--navy-deep)}
.book3 .wrap{padding-block:3.2rem 2.8rem}
.b3-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.b3-top .eyebrow{margin:0}
.b3-meta{font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.book3 h2{margin:1.2rem 0 0;font-weight:500;font-size:clamp(2.5rem,7vw,5.4rem);line-height:.95;letter-spacing:-.01em;color:var(--navy-deep)}
.book3 h2 em{color:var(--gold)}
.b3-list{margin-top:2rem;border-top:1px solid var(--navy-deep)}
.b3-row{display:grid;grid-template-columns:7rem minmax(0,1fr);align-items:center;gap:1rem;padding:1rem .4rem;border-bottom:1px solid var(--navy-deep);text-decoration:none;color:var(--navy-deep);-webkit-tap-highlight-color:transparent}
.b3-k{font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text);padding-left:.8rem}
.b3-v{font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.1;overflow-wrap:anywhere}
.b3-row:hover .b3-v,.b3-row:focus-visible .b3-v{color:var(--gold-text)}
.b3-arr{display:inline-block;color:var(--gold);transition:transform .2s}
.b3-row:hover .b3-arr{transform:translateX(6px)}
.b3-visit{margin-top:2.6rem}
.visit-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4rem);align-items:stretch}
.visit-dl{margin:.8rem 0 1rem;display:grid;grid-template-columns:auto 1fr;gap:.7rem 1.4rem;font-size:.95rem}
.visit-dl dt{font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);padding-top:.25rem}
.visit-dl dd{margin:0;color:var(--body)}
.visit-note{font-size:.92rem;color:var(--muted);margin-bottom:1.4rem;max-width:40ch}
.visit-map{position:relative;min-height:320px;background:#ECE3D2;border:1px solid var(--line)}
.visit-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.visit-map .map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);text-decoration:none}
@media (max-width:760px){
  .b3-row{grid-template-columns:minmax(0,1fr);row-gap:.2rem}
  .b3-k{padding-left:0}
  .visit-grid{grid-template-columns:minmax(0,1fr)}
}

/* desktop: "Visit Aesthetics by Haven" sits top-right, tabs stay low (mirrors the Aesthetics by Haven header) */
@media (min-width:901px){
  .site-head .bar{position:relative}
  .head-acts .head-aes{position:absolute;top:22px;right:20px;margin:0;align-self:auto;min-height:40px;padding:0 1.1rem}
}

@media (max-width:900px){.head-book,.head-book:hover{font-size:.62rem;letter-spacing:.12em;padding:8px 4px;margin:0;white-space:nowrap}}
@media (max-width:430px){.head-book,.head-book:hover{font-size:.56rem;letter-spacing:.06em;padding:8px 2px}.site-head .bar{gap:8px}}
@media (max-width:370px){.brand img{width:108px}}

/* ---- type and colour matched to Aesthetics by Haven ---- */
:root{
  --ivory:#F4EEE3; --sand:#ECE3D2; --sand-deep:#E2D6C0; --line:#DCD0BC;
  --ink:#14223F; --body:#2B3440; --muted:#56606B; --on-navy:#F4EEE3; --on-navy-muted:#C7CED6;
  --navy-line:rgba(244,238,227,.22);
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
}
body{font-weight:300;font-size:16px;line-height:1.7;color:var(--body)}
h1,h2,h3{font-weight:500;letter-spacing:0}
h1{font-size:clamp(2.5rem,5.4vw,3.9rem)}
h2{font-size:clamp(2.1rem,4.2vw,3.2rem)}
h3{font-size:1.6rem}
.eyebrow{font-weight:500;letter-spacing:.26em}
.faq-item summary,.staff strong,.step-n,.mono{font-weight:500}
.icard h3{font-size:1.3rem}
.scard-body h3{font-size:1.6rem}
.hero h1{font-weight:500}
strong,b{font-weight:600}
@media (min-width:901px){.hero h1{font-size:clamp(2.2rem,min(5vw,7.2vh),4.3rem)}.hero .intro{line-height:1.6}}

/* slogan */
.hero .motto{font-family:var(--serif);font-style:italic;font-size:1.4rem;line-height:1.3;color:var(--gold-soft);margin:-.4rem 0 1rem}
.foot-brand{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.foot-brand .motto{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--gold-text)}
@media (max-width:760px){.foot-brand{flex-direction:column;gap:6px}}
@media (min-width:901px){.hero .motto{font-size:clamp(1.1rem,2.4vh,1.4rem);margin:-.3rem 0 .7rem}}

@media (min-width:901px) and (max-height:820px){
  .hero-copy{padding-block:14px}
  .hero .eyebrow{margin-bottom:.45rem}
  .hero-rule{margin-bottom:.6rem}
  .hero h1{font-size:clamp(2.1rem,6.4vh,3.4rem);margin-bottom:.5rem}
  .hero .motto{margin:-.2rem 0 .45rem}
  .hero .intro{font-size:.93rem;line-height:1.5;margin-bottom:.9rem}
}

/* footer: same size and layout as Aesthetics by Haven, in reverse (cream with navy icon) */
.site-foot{background:#F4EEE3;color:var(--muted);padding-block:1.6rem 1.1rem;font-size:.78rem;border-top:1px solid rgba(172,140,102,.5)}
.site-foot .foot{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;text-align:left}
.site-foot .foot-brand{display:flex;flex-direction:row;align-items:center;gap:.8rem}
.site-foot .foot-brand img{height:32px;width:auto}
.site-foot .foot-brand .motto{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--gold-text)}
.site-foot .foot-bottom{margin-top:1.1rem;padding-top:.8rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;font-size:.7rem;color:var(--muted);text-align:left}
.site-foot .foot-bottom a{color:var(--muted)}

/* Aesthetics by Haven section: same size as "Visit our clinic website" on the aesthetics site, in navy */
.band.sister{background:var(--navy-deep);padding-block:clamp(2.8rem,6vw,4rem);border-top:1px solid rgba(212,188,149,.4)}
.sister-in{grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(1.2rem,3vw,2.4rem)}
.sister .sister-mark{width:84px;height:auto}
.sister .eyebrow{color:var(--gold-soft);margin-bottom:0}
.sister h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin:.4rem 0 0;color:var(--on-navy)}
.sister p{margin-top:.6rem;max-width:560px;color:var(--on-navy-muted)}
.sister .btn-navy{background:var(--gold);color:var(--navy-deep)}
.sister .textlink{color:var(--on-navy);border-color:var(--gold)}
@media (max-width:800px){.sister-in{grid-template-columns:minmax(0,1fr)}.sister .sister-mark{width:60px}}

.band.sister{background:var(--navy-deep) var(--navystone) center/cover no-repeat}

/* booking section in a lighter navy */
.book3{background:var(--navy-deep);color:var(--on-navy-muted);border-top:3px solid var(--gold)}
.book3 .b3-top{border-bottom-color:var(--navy-line)}
.book3 .b3-top .eyebrow,.book3 .visit-info .eyebrow{color:var(--gold-soft)}
.book3 .b3-meta{color:var(--on-navy-muted)}
.book3 h2{color:var(--on-navy)}
.book3 h2 em{color:var(--gold-soft)}
.book3 .b3-list{border-top-color:rgba(244,238,227,.45)}
.book3 .b3-row{color:var(--on-navy);border-bottom-color:rgba(244,238,227,.45)}
.book3 .b3-k{color:var(--gold-soft)}
.book3 .b3-row:hover .b3-v,.book3 .b3-row:focus-visible .b3-v{color:var(--gold-soft)}
.book3 .visit-dl dt{color:var(--gold-soft)}
.book3 .visit-dl dd{color:var(--on-navy)}
.book3 .visit-note{color:var(--on-navy-muted)}
.book3 .btn-navy{background:var(--gold);color:var(--navy-deep)}
.book3 .visit-map{background:#1F335F;border-color:var(--navy-line)}
.book3 .visit-map .map-fallback{color:var(--on-navy)}

.ig-link{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}
.ig-link span{text-decoration:underline;text-underline-offset:2px}
.ig-ico{flex-shrink:0;color:var(--gold-text)}
.foot-bottom .fb-right{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem}

/* booking form on the home page (navy) */

.book-home .b3-list{margin-top:1.6rem}
.bh-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);margin-top:2.6rem;align-items:start}
.bh-form .eyebrow,.bh-visit .eyebrow{color:var(--gold-soft)}
.bh-lead{margin:.6rem 0 1.4rem;color:var(--on-navy-muted);font-size:.95rem}
.book-home .field label{color:var(--on-navy)}
.book-home .field input,.book-home .field select,.book-home .field textarea{background:#FDFBF7;border-color:transparent;border-radius:2px;color:var(--ink)}
.book-home .formnote{color:var(--on-navy-muted)}
.book-home .bh-visit .visit-map{min-height:260px;margin-top:1.6rem}
.book-home .small{color:var(--on-navy-muted)}
@media (max-width:860px){.bh-grid{grid-template-columns:1fr}}

/* compact booking section: fits one screen when you click Book appointment */
@media (min-width:861px){
  .book-home .wrap{padding-block:1.6rem 1.8rem}
  .book-home .b3-top{padding-bottom:.6rem}
  .book-home h2{font-size:clamp(2.2rem,4.4vw,3.4rem);margin-top:.7rem}
  .book-home .bh-grid{margin-top:1.3rem;gap:clamp(1.6rem,4vw,3.2rem);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .book-home .bh-lead{margin:.3rem 0 .8rem;font-size:.88rem}
  .book-home .form{gap:10px}
  .book-home .two{gap:12px}
  .book-home .field{gap:4px}
  .book-home .field label{font-size:.64rem}
  .book-home .field input,.book-home .field select,.book-home .field textarea{padding:8px 12px;font-size:.95rem}
  .book-home .formnote{font-size:.76rem}
  .book-home .form .btn{min-height:42px}
  .book-home .b3-list{margin-top:0}
  .book-home .b3-row{grid-template-columns:6.4rem minmax(0,1fr);padding:.55rem .2rem}
  .book-home .b3-k{padding-left:0;font-size:.62rem}
  .book-home .b3-v{font-size:clamp(1.05rem,1.6vw,1.35rem)}
  .book-home .bh-visit .eyebrow{display:none}
  .book-home .visit-dl{margin:.9rem 0 .4rem;font-size:.88rem;gap:.3rem 1.2rem}
  .book-home .visit-note{display:none}
  .book-home .bh-visit .btn{min-height:40px}
  .book-home .bh-visit .visit-map{min-height:150px;margin-top:.9rem}
  .book-home .small{margin-top:.7rem;font-size:.74rem}
}
.book-home .visit-info{display:flex;flex-direction:column;align-items:flex-start}
@media (max-width:860px){.book-home .b3-list{margin-bottom:1.6rem}}

@media (min-width:861px) and (max-height:860px){
  .book-home .wrap{padding-block:1rem 1.2rem}
  .book-home h2{font-size:clamp(2rem,3.6vw,2.7rem);margin-top:.4rem}
  .book-home .bh-grid{margin-top:.9rem}
  .book-home .bh-lead{display:none}
  .book-home .bh-form .eyebrow{margin-bottom:.5rem}
  .book-home .field textarea{height:64px;min-height:64px}
  .book-home .formnote{display:none}
  .book-home .bh-visit .visit-map{min-height:110px}
  .book-home .small{display:none}
}


/* desktop: frame the mountain photo like the Aesthetics by Haven hero (photo box 70% wide, centred at 40%) */
@media (min-width:901px){
  .hero-bg{left:0;right:auto;width:70%;object-position:50% 55%;transform:none}
  .hero::after{background:linear-gradient(270deg,rgba(20,34,63,1) 0%,rgba(20,34,63,1) 30%,rgba(20,34,63,.88) 46%,rgba(20,34,63,0) 72%)}
}

/* Why Haven cards are information, not links */
.icard{cursor:default;transition:none}
.icard:hover,.icard:focus-visible{transform:none;box-shadow:none;border-color:rgba(212,188,149,.38)}
.icard:hover .bar-line{width:32px}

/* desktop: words on the left, photo on the right (like Aesthetics by Haven) */
@media (min-width:901px){
  .hero-bg{left:auto!important;right:0;width:70%}
  .hero::after{background:linear-gradient(90deg,rgba(20,34,63,1) 0%,rgba(20,34,63,1) 30%,rgba(20,34,63,.88) 46%,rgba(20,34,63,0) 72%)!important}
  .hero-wrap{justify-content:flex-start}
}

/* phones/tablets: photo sits behind the text (like Behind the Clinic), with a navy wash */
@media (max-width:900px){
  .hero{display:flex;flex-direction:column;justify-content:center;min-height:0}
  .hero-bg{position:absolute;inset:0;width:100%;height:100%!important;bottom:0;object-position:60% center}
  .hero::after{background:linear-gradient(180deg,rgba(20,34,63,.74) 0%,rgba(20,34,63,.60) 45%,rgba(20,34,63,.78) 100%)!important}
  .hero-copy{padding-block:44px 48px!important}
}

.book-home .bh-intro{max-width:46rem;margin-top:.9rem;color:var(--on-navy-muted);font-size:.98rem;line-height:1.65}
@media (min-width:861px){.book-home .bh-intro{margin-top:.5rem;font-size:.9rem;line-height:1.55}}
@media (min-width:861px) and (max-height:860px){.book-home .bh-intro{margin-top:.35rem;font-size:.84rem;line-height:1.45}}

/* Patient stories: light, easy to read, compact */
.band.voices{background:var(--sand);padding-block:clamp(2.4rem,4.5vw,3.4rem);border-top:3px solid var(--gold)}
.voices .sh{margin-bottom:1.4rem;max-width:none}
.voices h2{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--ink)}
.voices .eyebrow{color:var(--gold-text)}
.voices .quotes{gap:16px}
.voices .quote{background:#FDFBF7;border:1px solid var(--line);border-top:3px solid var(--gold);padding:20px 22px;gap:12px}
.voices .quote blockquote{font-family:var(--sans);font-style:normal;font-weight:400;font-size:.95rem;line-height:1.65;color:var(--body)}
.voices .quote blockquote::before{font-family:var(--serif);font-size:2.4rem;line-height:.5;margin-bottom:8px;color:var(--gold)}
.voices .quote figcaption{color:var(--gold-text)}
.voices .textlink{margin-top:1.3rem;color:var(--navy);border-color:var(--gold)}

/* skinnier, taller About card */
@media (min-width:861px){.about2-card{max-width:600px;padding:1.9rem 2.2rem}.about2-photo{min-height:520px}}

@media (min-width:861px){.about2-grid{align-items:stretch}.about2-photo{height:auto;min-height:100%}.about2-card{align-self:center}.about2{overflow:hidden}}

#about-haven{scroll-margin-top:0}

/* Our primary services: sliding carousel with arrows (like Aesthetics by Haven) */
.scar{position:relative}
.strack{display:grid!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);grid-template-columns:none!important;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px;max-width:none!important}
.strack::-webkit-scrollbar{display:none}
.strack>.scard{scroll-snap-align:start;min-width:0}
.sarrow{position:absolute;top:28%;z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);background:var(--navy-deep);color:var(--on-navy);font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(20,34,63,.25);-webkit-tap-highlight-color:transparent}
.sarrow:disabled{opacity:.3;cursor:default}
.sarrow.prev{left:-23px}.sarrow.next{right:-23px}
.scard-tex{display:flex;align-items:flex-end;aspect-ratio:4/3;background:var(--navy-deep) var(--navystone) center/cover no-repeat;padding:18px 20px;text-decoration:none}
.scard-price{font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);border-top:1px solid rgba(212,188,149,.45);padding-top:10px}
@media (max-width:900px){.strack{grid-auto-columns:calc((100% - 22px)/2)}}
@media (max-width:620px){.strack{grid-auto-columns:86%}.sarrow.prev{left:4px}.sarrow.next{right:4px}}

.scard-tag{display:block;margin-bottom:.45rem;font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}

/* card "Learn more →" links match Aesthetics by Haven */
.scard .tx-more{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;margin-top:1rem;padding:0;border:0;font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);text-decoration:none}
.scard .tx-more:hover{color:var(--navy)}

/* service details pop-up (replaces the Services page) */
.svc-note{margin-top:1.2rem;font-size:.85rem;color:var(--muted);max-width:60rem}
.svc-note strong{font-weight:600;color:var(--ink)}
.svc-modal{position:fixed;inset:0;z-index:80;background:rgba(10,17,33,.62);display:flex;align-items:center;justify-content:center;padding:20px}
.svc-modal[hidden]{display:none}
.svc-box{position:relative;background:#FDFBF7;max-width:560px;width:100%;max-height:calc(100vh - 40px);overflow:auto;border-top:3px solid var(--gold);padding:2rem 2.2rem 2.2rem;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.svc-box h3{font-size:clamp(1.6rem,3vw,2rem);margin:.4rem 0 .8rem}
.svc-box p{color:var(--body);margin-bottom:1.4rem;line-height:1.7}
.svc-box .eyebrow{color:var(--gold-text);margin:0}
.svc-close{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;background:none;font-size:1.8rem;line-height:1;color:var(--navy);cursor:pointer}

.about2-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:1.2rem}
.about2-acts .textlink{margin-top:0}

.cta-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* inner page heroes match the home page: words left on navy, photo right fading in */
.phead-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);min-height:clamp(440px,62vh,620px);display:flex;flex-direction:column;justify-content:center;padding-block:clamp(18px,2.6vw,26px) clamp(40px,5vw,64px)}
.phead-hero .phead-grid{display:block}
.phead-hero .phead-copy{position:relative;z-index:1;max-width:min(560px,48%)}
.phead-hero .phead-photo{position:absolute;inset:0 0 0 auto;width:70%;max-width:none;margin:0;z-index:-2}
.phead-hero .phead-photo img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;border-radius:0}
.phead-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,34,63,1) 0%,rgba(20,34,63,1) 30%,rgba(20,34,63,.88) 46%,rgba(20,34,63,0) 72%);pointer-events:none}
.phead-hero .back-row{position:relative;z-index:1}
.phead-hero .backlink{color:var(--on-navy)}
.phead-hero .back-arrow{color:var(--gold-soft)}
.phead-hero .eyebrow{color:var(--gold-soft)}
.phead-hero h1{color:#FFFDF8;font-weight:500}
.phead-hero .intro{color:#DCE1EA}
.phead-hero .btn-navy{background:var(--gold);color:var(--navy-deep)}
@media (max-width:900px){
  .phead-hero{min-height:0}
  .phead-hero .phead-copy{max-width:none}
  .phead-hero .phead-photo{inset:0;width:100%;order:0}
  .phead-hero .phead-photo img{aspect-ratio:auto}
  .phead-hero::after{background:linear-gradient(180deg,rgba(20,34,63,.74) 0%,rgba(20,34,63,.62) 45%,rgba(20,34,63,.80) 100%)}
}

.phead-hero>.wrap{width:100%}
.phead-hero .back-row{margin-bottom:clamp(14px,2.4vw,30px)}
@media (min-width:901px){.phead-hero .phead-copy{max-width:min(600px,50%)}.phead-hero .intro{font-size:1rem;line-height:1.65}.phead-hero h1{font-size:clamp(2.3rem,4vw,3.3rem)}}

.staff-mono{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;background:var(--sand) var(--navystone) center/cover;font-family:var(--serif);font-size:2.4rem;letter-spacing:.08em;color:var(--gold-soft);margin-bottom:12px}

.staff .staff-mono{border-radius:var(--arch);font-size:2.6rem;line-height:1;color:var(--gold-soft);margin-bottom:0}

/* service pages: "why patients come" band styled like Why Haven, and it fits with the hero on the first screen */
.why-band{background:var(--navy-deep) var(--navystone) center/cover no-repeat;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);padding-block:clamp(20px,3vh,34px)}
.why-band .sh{margin-bottom:1rem;border-left:2px solid var(--gold);padding-left:18px;max-width:none}
.why-band .eyebrow{color:var(--gold-soft);margin-bottom:.35rem}
.why-band h2{color:var(--on-navy);font-size:clamp(1.4rem,2.2vw,1.9rem)}
.why-band .pcards{gap:14px}
.why-band .pcard{background:rgba(20,34,63,.55);border:1px solid rgba(212,188,149,.38);border-top:2px solid var(--gold);padding:14px 18px 16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.why-band .pcard h3{color:var(--on-navy);font-size:1.2rem;margin-bottom:.4rem}
.why-band .pcard p{color:var(--on-navy-muted);font-size:.8rem;line-height:1.5}
@media (min-width:901px){
  .phead-hero.hero-fit{min-height:max(340px,calc(100svh - var(--head-h,140px) - var(--why-h,240px)));padding-block:clamp(10px,2vh,22px) clamp(14px,3vh,40px)}
  .hero-fit .back-row{margin-bottom:clamp(8px,2vh,24px)}
  .hero-fit h1{font-size:clamp(2rem,min(4vw,6.4vh),3.3rem)!important;margin-bottom:.6rem}
  .hero-fit .intro{font-size:clamp(.85rem,1.8vh,1rem)!important;line-height:1.55!important;margin-bottom:clamp(.8rem,2vh,1.4rem)}
  .hero-fit .eyebrow{margin-bottom:.5rem}
}

@media (min-width:901px){
  .hero-fit .phead-copy{max-width:min(680px,56%)}
  .hero-fit::after{background:linear-gradient(90deg,rgba(20,34,63,1) 0%,rgba(20,34,63,1) 38%,rgba(20,34,63,.88) 52%,rgba(20,34,63,0) 76%)!important}
  .why-band .pcard p{font-size:.78rem;line-height:1.45}
}
@media (min-width:901px) and (max-height:960px){
  .hero-fit .back-row{margin-bottom:6px}
  .hero-fit h1{font-size:clamp(1.9rem,5.6vh,2.9rem)!important;margin-bottom:.4rem}
  .hero-fit .intro{font-size:.84rem!important;line-height:1.5!important}
  .hero-fit .btn{min-height:40px}
  .why-band{padding-block:14px 16px}
  .why-band .sh{margin-bottom:.7rem}
  .why-band h2{font-size:1.45rem}
  .why-band .pcard{padding:10px 14px 12px}
  .why-band .pcard h3{font-size:1.05rem;margin-bottom:.25rem}
  .why-band .pcard p{font-size:.74rem;line-height:1.42}
}

/* bigger "why patients come" band; the hero shrinks to make room */
@media (min-width:901px){
  .why-band,.why-band{padding-block:clamp(26px,4.2vh,48px)!important}
  .why-band .sh{margin-bottom:clamp(14px,2.2vh,24px)!important}
  .why-band .eyebrow{font-size:.74rem}
  .why-band h2{font-size:clamp(1.9rem,min(3vw,4.6vh),2.7rem)!important}
  .why-band .pcards{gap:18px}
  .why-band .pcard{padding:clamp(14px,2.2vh,24px) clamp(16px,1.6vw,24px) clamp(16px,2.4vh,26px)!important}
  .why-band .pcard h3{font-size:clamp(1.15rem,min(1.7vw,2.8vh),1.5rem)!important;margin-bottom:.5rem!important}
  .why-band .pcard p{font-size:clamp(.8rem,1.8vh,.95rem)!important;line-height:1.55!important}
  .phead-hero.hero-fit{min-height:max(300px,calc(100svh - var(--head-h,140px) - var(--why-h,240px)))}
  .hero-fit .phead-photo img{object-position:60% 30%!important}
}

@media (min-width:901px) and (max-height:820px){
  .why-band{padding-block:16px 18px!important}
  .why-band .sh{margin-bottom:10px!important}
  .why-band h2{font-size:1.75rem!important}
  .why-band .pcard{padding:11px 16px 12px!important}
  .why-band .pcard h3{font-size:1.15rem!important;margin-bottom:.3rem!important}
  .why-band .pcard p{font-size:.78rem!important;line-height:1.45!important}
  .hero-fit .intro{font-size:.82rem!important}
}
@media (min-width:901px) and (min-height:821px) and (max-height:980px){
  .why-band{padding-block:24px 26px!important}
  .why-band .pcard p{font-size:.86rem!important}
}

/* "What personalized care should feel like": compact, cream stone texture like the header */
.feel-band{background:#F4EEE3 var(--ivorystone) center/cover no-repeat;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);padding-block:clamp(28px,4vw,44px)!important}
.feel-band .sh{margin-bottom:1.1rem;border-left:2px solid var(--gold);padding-left:18px}
.feel-band .eyebrow{margin-bottom:.35rem}
.feel-band h2{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.feel-band .pcards{gap:16px}
.feel-band .pcard{background:rgba(253,251,247,.78);border:1px solid rgba(172,140,102,.45);border-top:2px solid var(--gold);padding:16px 20px 18px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.feel-band .pcard h3{font-size:1.25rem;margin-bottom:.4rem}
.feel-band .pcard p{font-size:.86rem;line-height:1.55}
/* "What ... looks like": same layout as the home About section */
.root2 .about2-card p{font-size:.92rem}
.root2 .about2-card .big{font-size:1.15rem!important;line-height:1.45}
@media (min-width:861px){.root2 .about2-card{max-width:600px;padding:1.9rem 2.2rem}.root2 .about2-photo{min-height:520px}.root2 .about2-grid{align-items:stretch}.root2 .about2-photo{height:auto;min-height:100%}.root2 .about2-card{align-self:center}}
/* "A clear, guided experience": navy stone timeline */
.steps-band{background:var(--navy-deep) var(--navystone) center/cover no-repeat;padding-block:clamp(44px,6vw,72px)!important;border-top:3px solid var(--gold)}
.steps-band .sh{max-width:none;margin-bottom:clamp(26px,3.5vw,40px)}
.steps-band .eyebrow{color:var(--gold-soft)}
.steps-band h2{color:var(--on-navy)}
.steps-band .lead{color:var(--on-navy-muted)}
.steps-band .steps{position:relative;gap:20px;counter-reset:none}
.steps-band .steps::before{content:"";position:absolute;left:0;right:0;top:34px;height:2px;background:linear-gradient(90deg,var(--gold),rgba(172,140,102,.25));z-index:0}
.steps-band .steps li{position:relative;z-index:1;border:0;padding:0}
.steps-band .step-n{width:68px;height:68px;border:2px solid var(--gold);background:var(--navy-deep);color:var(--gold-soft);font-size:2rem;font-style:italic;margin-bottom:18px;box-shadow:0 0 0 8px var(--navy-deep)}
.steps-band .steps h3{color:var(--on-navy);font-size:1.45rem}
.steps-band .steps p{color:var(--on-navy-muted);font-size:.92rem;line-height:1.6;background:rgba(20,34,63,.55);border:1px solid rgba(212,188,149,.3);border-top:2px solid var(--gold);padding:14px 16px;margin-top:.8rem}
@media (max-width:900px){.steps-band .steps::before{left:33px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,var(--gold),rgba(172,140,102,.25))}.steps-band .steps li{padding-left:90px}.steps-band .step-n{position:absolute;left:0;top:0}}

/* Instagram links page (#links, /links): hidden page, no header or footer */
body.links-mode .site-head,body.links-mode .site-foot{display:none!important}
.lk{min-height:100vh;min-height:100svh;background:#F4EEE3 var(--ivorystone) center/cover no-repeat;display:flex;justify-content:center;color:var(--ink)}
.lk-in{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:stretch;text-align:center;padding:44px 18px 40px;margin:0 auto}
.lk-logo{width:100%;max-width:230px;height:auto;margin:0 auto 14px}
.lk-motto{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold-text);margin:0 0 8px}
.lk-intro{margin:0 auto 26px;max-width:30em;font-size:14px;line-height:1.6;color:var(--body)}
.lk-btn{display:block;text-decoration:none;font:600 12px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:16px 18px;margin-bottom:12px;border:1px solid var(--navy);color:var(--navy);background:rgba(251,248,242,.72);border-radius:999px;-webkit-tap-highlight-color:transparent}
.lk-btn:hover,.lk-btn:focus-visible,.lk-btn:active{box-shadow:inset 0 -2px 0 var(--gold)}
.lk-btn.primary{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.lk-btn.light{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.lk-btn.light:hover,.lk-btn.light:focus-visible,.lk-btn.light:active{box-shadow:inset 0 -2px 0 var(--navy-deep)}
.lk-eb{font-size:11px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-text);margin:16px 0 12px;display:flex;align-items:center;gap:12px}
.lk-eb::before,.lk-eb::after{content:"";flex:1;height:1px;background:rgba(172,140,102,.55)}
.lk-feat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.lk-card{display:block;text-decoration:none;color:var(--ink);background:rgba(251,248,242,.85);border:1px solid rgba(172,140,102,.5);border-top:2px solid var(--gold);text-align:left}
.lk-card:hover{border-color:var(--gold)}
.lk-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.lk-card span{display:block;padding:10px 12px 12px;font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.15}
.lk-ft{margin:20px 0 0;font-size:12px;letter-spacing:.12em}
.lk-ft a{color:var(--gold-text);text-decoration:none;font-weight:600}
.lk-photo{display:none}
@media (min-width:900px){
  .lk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lk-photo{display:block;position:sticky;top:0;height:100vh;height:100svh;background-size:cover;background-position:center;border-right:3px solid var(--gold)}
  .lk-in{max-width:500px;margin:auto;padding:64px 48px}
  .lk-logo{max-width:270px}
  .lk-intro{font-size:15px;margin-bottom:30px}
}

/* three service cards: Concierge runs full width on top */
.lk-feat .lk-card:first-child{grid-column:1/-1}
.lk-feat .lk-card:first-child img{aspect-ratio:2/1}

/* Site chooser (#welcome, /welcome) for the shared Google profile */
body.links-mode .site-head,body.links-mode .site-foot{display:none!important}
.wc{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:#F4EEE3 var(--ivorystone) center/cover no-repeat;padding:28px 16px 22px}
.wc-top{text-align:center;padding:6px 0 20px}
.wc-top .eyebrow{margin-bottom:.5rem}
.wc-top h1{font-size:clamp(2rem,4.4vw,3.2rem)}
.wc-grid{flex:1;display:grid;grid-template-columns:1fr;gap:14px;max-width:1180px;width:100%;margin:0 auto}
.wc-opt{position:relative;display:flex;align-items:flex-end;min-height:330px;overflow:hidden;text-decoration:none;border-top:3px solid var(--gold);-webkit-tap-highlight-color:transparent}
.wc-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s ease}
.wc-opt:hover .wc-bg{transform:scale(1.03)}
.wc-hh .wc-bg::after,.wc-aes .wc-bg::after{content:"";position:absolute;inset:0}
.wc-hh .wc-bg::after{background:linear-gradient(180deg,rgba(251,248,242,.15) 0%,rgba(251,248,242,.82) 52%,rgba(251,248,242,.96) 100%)}
.wc-aes .wc-bg::after{background:linear-gradient(180deg,rgba(20,34,63,.2) 0%,rgba(20,34,63,.8) 52%,rgba(20,34,63,.95) 100%)}
.wc-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;width:100%;padding:26px 22px 26px}
.wc-logo{width:220px;max-width:70%;height:auto}
.wc-aeslogo{display:flex;align-items:center;gap:12px}
.wc-mark{width:52px;height:auto}
.wc-word{width:200px;height:auto}
.wc-desc{max-width:30em;font-size:14.5px;line-height:1.55}
.wc-hh .wc-desc{color:var(--body)}
.wc-aes .wc-desc{color:var(--on-navy-muted)}
.wc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.6rem;font:600 .72rem/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;border-radius:999px}
.wc-hh .wc-btn{background:var(--navy);color:var(--on-navy)}
.wc-aes .wc-btn{background:var(--gold);color:var(--navy-deep)}
.wc-opt:hover .wc-btn,.wc-opt:focus-visible .wc-btn,.wc-opt:active .wc-btn{box-shadow:inset 0 -2px 0 var(--gold)}
.wc-aes:hover .wc-btn,.wc-aes:focus-visible .wc-btn,.wc-aes:active .wc-btn{box-shadow:inset 0 -2px 0 var(--navy-deep)}
.wc-info{text-align:center;margin-top:18px;font-size:13px;letter-spacing:.04em;color:var(--muted)}
.wc-info a{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold)}
@media (min-width:860px){
  .wc{padding:40px 32px 28px}
  .wc-top{padding:10px 0 28px}
  .wc-grid{grid-template-columns:1fr 1fr;gap:22px}
  .wc-opt{min-height:0}
  .wc-body{padding:40px 36px 44px;gap:18px}
  .wc-logo{width:280px}
  .wc-word{width:250px}.wc-mark{width:62px}
  .wc-desc{font-size:15.5px}
}

.wc-info a{white-space:nowrap}

/* ===================================================================
   Aesthetics by Haven layout and type system, in Haven Health colours
   =================================================================== */
:root{--cream:#FBF7F1;--sandA:#F3E8DC;--sandB:#EFE2D3;--hair:#D9C7AE;--cardline:#E6D9C7;--prose:#5B5249;--gold-light:#D4BC95}

/* type */
h1,h2{font-weight:400!important}
h3{font-weight:500}
h1 em,h2 em{font-style:italic;color:var(--gold-text)}
.band h2{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.04}
.sh h2{margin-top:.5rem}
.eyebrow{font-family:var(--serif)!important;font-style:italic!important;font-weight:400!important;font-size:1.2rem!important;letter-spacing:.01em!important;text-transform:none!important;color:var(--gold-text)!important;line-height:1.3!important;display:flex!important;align-items:center;gap:.7rem;margin-bottom:.4rem}
.eyebrow::before{content:"";flex:0 0 34px;height:1px;background:var(--gold)}
.center .eyebrow,.hx-statement .eyebrow,.cta .eyebrow{justify-content:center}
.center .eyebrow::after,.hx-statement .eyebrow::after,.cta .eyebrow::after{content:"";flex:0 0 34px;height:1px;background:var(--gold)}
.hero-rule{display:none!important}
p,li{line-height:1.7}

/* buttons: square, navy on light; gold only on navy bands */
.btn{border-radius:2px!important;font-size:.7rem!important;letter-spacing:.2em!important;padding:0 1.6rem}
.btn-gold{background:var(--navy);color:var(--on-navy)}
.btn-gold:hover,.btn-gold:focus-visible{box-shadow:inset 0 -2px 0 var(--gold)}
.cta .btn-gold,.band-navy .btn-gold{background:var(--gold);color:var(--navy-deep)}
.cta .btn-gold:hover,.band-navy .btn-gold:hover{background:var(--gold-light);box-shadow:none}
.textlink{font-size:.7rem;letter-spacing:.22em;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:.4rem}
.textlink:hover{color:var(--gold-text)}

/* band colours: cream and sand, like Aesthetics */
.band-ivory{background:var(--cream)!important}
.band-sand{background:var(--sandA)!important}

/* ---------- home hero: words left, arch photo right ---------- */
.hx-hero{background:linear-gradient(180deg,#FBF7F1 0%,#F3E8DC 100%);display:flex;align-items:center;min-height:440px;height:calc(100svh - var(--head-h,127px) - var(--st-h,210px))}
.hx-hero .wrap{width:100%}
.hx-grid{display:flex;align-items:center;gap:clamp(2rem,5vw,3.6rem);padding-block:clamp(1rem,3vh,2.4rem) clamp(1.6rem,4vh,3rem)}
.hx-copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:clamp(.5rem,1.6vh,1.1rem)}
.hx-copy .eyebrow{margin:0}
.hx-copy h1{margin:0;font-size:clamp(2.4rem,min(4.6vw,7vh),4.2rem);line-height:1.02;color:var(--ink)}
.hx-copy .motto{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2.4vh,1.45rem);color:var(--gold-text)}
.hx-copy .intro{margin:0;max-width:470px;font-size:clamp(.9rem,1.9vh,1.02rem);line-height:1.65;color:var(--prose)}
.hx-copy .actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.6rem}
.hx-copy .actions .btn{min-height:52px;padding:0 1.9rem}
.hx-art{flex:1 1 380px;min-width:0;display:flex;justify-content:center}
.hx-main{width:100%;max-width:440px;height:calc(100svh - var(--head-h,127px) - var(--st-h,210px) - clamp(3rem,8vh,5.5rem));max-height:560px;min-height:340px;object-fit:cover;border-radius:999px 999px 0 0;display:block}

/* ---------- statement band (navy stone) ---------- */
.hx-statement{background:var(--navy-deep) var(--navystone) center/cover no-repeat;text-align:center;border-top:1px solid #E2D2BC}
.hx-statement .wrap{max-width:980px;padding-block:clamp(1.6rem,4vh,2.6rem)}
.hx-rule{display:block;width:60px;height:1px;background:var(--gold-light);margin:0 auto 1.2rem}
.hx-statement p{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,min(2.6vw,4vh),2.2rem);line-height:1.28;color:#F4EEE6;text-wrap:balance}
.hx-statement p em{color:var(--gold-light)}
.hx-statement .eyebrow{margin:1.1rem 0 0;color:var(--gold-light)!important}
.hx-statement .eyebrow::before,.hx-statement .eyebrow::after{background:var(--gold-light)}
.st-pts{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.6rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#C9BBA8}
.st-pts li{display:flex;align-items:center;gap:.55rem;line-height:1.4}
.st-pts li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* ---------- service cards: Aesthetics treatment cards ---------- */
#services{background:var(--sandA)!important}
.scard{background:#FDFBF7;border:1px solid var(--cardline)}
.scard-img img,.scard-tex{aspect-ratio:16/10!important}
.scard-body{padding:1.4rem 1.4rem 1.5rem;gap:.6rem}
.scard-body h3{font-size:1.55rem!important;font-weight:500;line-height:1.1}
.scard-body p{margin-top:0;font-size:.92rem;color:var(--muted)}
.scard-tag{font-family:var(--serif);font-style:italic;font-size:1rem!important;letter-spacing:.01em!important;text-transform:none!important;font-weight:400!important}

/* arrows: small navy circles on the edges, loop around */
.sarrow{width:38px!important;height:38px!important;font-size:1.25rem!important;top:34%!important;background:var(--navy)!important;border:1px solid var(--gold)!important;color:var(--on-navy)!important;opacity:1!important}
.sarrow.prev{left:-8px!important}
.sarrow.next{right:-8px!important}
.no-scroll .sarrow{display:none!important}

/* ---------- about card ---------- */
.about2{background:var(--cream)}
.about2-card{border-top:0;box-shadow:0 18px 40px rgba(20,34,63,.12)}
.about2-card h2{font-size:clamp(1.6rem,2.3vw,2rem)!important;margin-top:.4rem}
.about2-card .rule{background:var(--hair)}

/* ---------- patient stories ---------- */
.band.voices{background:var(--sandA)!important}
.voices .quote{background:#FDFBF7!important;border:1px solid var(--cardline)!important;border-top:1px solid var(--cardline)!important;padding:1.5rem 1.6rem!important}
.voices .quote blockquote{font-family:var(--serif)!important;font-style:italic!important;font-size:1.22rem!important;line-height:1.5!important;color:var(--ink)!important}
.voices .quote blockquote::before{display:none}
.voices .quote figcaption{display:flex;align-items:center;gap:.7rem;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1rem;letter-spacing:.01em;text-transform:none;color:var(--gold-text)}
.voices .quote figcaption::before{content:"";flex:0 0 22px;height:1px;background:var(--gold)}
.voices .textlink{margin-top:1.6rem}

/* ---------- booking: light, like Aesthetics ---------- */
.book3{background:#fff!important;color:var(--ink)!important;border-top:1px solid #E2D2BC!important}
.book3 .b3-top{border-bottom-color:var(--line)!important}
.book3 .b3-meta{color:var(--muted)!important}
.book3 h2{font-size:clamp(2.1rem,4vw,3rem)!important;margin-top:.5rem!important;color:var(--navy)!important;font-weight:400}
.book3 h2 em{color:var(--gold-text)!important}
.book3 .b3-list{border-top-color:var(--navy-deep)!important}
.book3 .b3-row{color:var(--navy-deep)!important;border-bottom-color:var(--navy-deep)!important}
.book3 .b3-k{color:var(--gold-text)!important}
.book3 .b3-row:hover .b3-v{color:var(--gold-text)!important}
.book3 .visit-dl dt{color:var(--gold-text)!important}
.book3 .visit-dl dd{color:var(--ink)!important}
.book3 .visit-note,.book-home .bh-intro,.book-home .bh-lead,.book-home .formnote{color:var(--muted)!important}
.book3 .btn-navy,.book3 .btn-gold{background:var(--navy)!important;color:var(--on-navy)!important}
.book3 .visit-map{background:var(--sandA)!important;border-color:var(--line)!important}
.book3 .visit-map .map-fallback{color:var(--ink)!important}
.book-home .field label{color:var(--ink)!important}
.book-home .field input,.book-home .field select,.book-home .field textarea{background:#fff!important;border:1px solid var(--line)!important;border-radius:2px}

/* ---------- Aesthetics by Haven band: like "Visit our clinic website" ---------- */
.band.sister{background:var(--sandA)!important;border-top:1px solid #E2D2BC}
.sister h2{color:var(--ink)!important;font-size:clamp(1.8rem,3.2vw,2.4rem)!important}
.sister p{color:var(--muted)!important}
.sister .btn-navy{background:var(--navy)!important;color:var(--on-navy)!important}
.sister .textlink{color:var(--ink)!important}

/* ---------- inner pages: Aesthetics treatment-page hero ---------- */
.txl-hero{background:linear-gradient(180deg,#FBF7F1 0%,#F3E8DC 100%)}
.txl-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(1.6rem,4vw,3rem) clamp(2rem,5vw,3.6rem)}
.txl-hero-text{min-width:0}
.txl-back{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);text-decoration:none;margin-bottom:1.4rem}
.txl-back:hover{color:var(--ink)}
.txl-hero h1{margin-top:.8rem;font-size:clamp(2.5rem,4.6vw,4rem)!important;line-height:1.04;color:var(--ink)}
.txl-sub{margin-top:1.1rem;max-width:520px;font-size:1rem;line-height:1.75;color:var(--prose)}
.txl-hero .actions{margin-top:1.6rem}
.txl-hero .btn{min-height:52px;padding:0 1.9rem}
.txl-hero-art{display:flex;justify-content:center}
.txl-hero-art .tx-hero-img{width:100%;max-width:440px;height:clamp(380px,40vw,540px);object-fit:cover;border-radius:999px 999px 0 0;display:block}
.phead.has-back .back-row{padding-top:0}
.phead .txl-back{margin-bottom:.4rem}
.phead.plain{background:linear-gradient(180deg,#FBF7F1 0%,#F3E8DC 100%)}
.phead.plain h1{margin-top:.6rem}
.phead .intro{color:var(--prose)}

/* three-point bands: open columns with gold hairlines, italic serif heads */
.why-band,.feel-band{background:var(--sandA)!important;border:0!important;padding-block:clamp(2.6rem,5vw,4rem)!important}
.feel-band{background:var(--cream)!important}
.why-band h2,.feel-band h2{color:var(--ink)!important}
.why-band .eyebrow,.feel-band .eyebrow{color:var(--gold-text)!important}
.pcards{gap:clamp(1.4rem,3vw,2.6rem)!important;margin-top:1.8rem}
.pcard,.why-band .pcard,.feel-band .pcard{background:transparent!important;border:0!important;border-top:1px solid var(--hair)!important;padding:1.3rem 0 0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.pcard h3,.why-band .pcard h3,.feel-band .pcard h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.45rem,2vw,1.75rem)!important;line-height:1.15;color:var(--ink)!important;margin-bottom:.6rem!important}
.pcard p,.why-band .pcard p,.feel-band .pcard p{font-size:.95rem!important;line-height:1.75!important;color:var(--prose)!important}

/* process: no numbers, same columns */
.steps-band{background:var(--sandB)!important;border-top:0!important;padding-block:clamp(2.6rem,5vw,4rem)!important}
.steps-band h2{color:var(--ink)!important}
.steps-band .eyebrow{color:var(--gold-text)!important}
.steps-band .lead{color:var(--prose)!important}
.steps-band .steps::before{display:none!important}
.steps-band .steps{gap:clamp(1.4rem,3vw,2.6rem)!important}
.steps-band .steps li{padding:1.3rem 0 0!important;border-top:1px solid var(--hair)!important}
.steps-band .step-n{display:none!important}
.steps-band .steps h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.45rem,2vw,1.75rem)!important;color:var(--ink)!important}
.steps-band .steps p{background:transparent!important;border:0!important;padding:0!important;margin-top:.6rem!important;color:var(--prose)!important;font-size:.95rem!important;line-height:1.75!important}

/* related services: Aesthetics cards */
.rcard{background:#FDFBF7;border:1px solid var(--cardline)}
.rcard h3{font-size:1.45rem}
.rcard p{font-size:.92rem;color:var(--muted)}

/* closing band: navy stone, centred, gold button */
.cta{background:var(--navy-deep) var(--navystone) center/cover no-repeat;color:#E9DFD2}
.cta .eyebrow{color:var(--gold-light)!important}
.cta .eyebrow::before,.cta .eyebrow::after{background:var(--gold-light)}
.cta h2{margin-top:.9rem;font-size:clamp(2rem,3.6vw,3rem)!important;color:#F4EEE6}
.cta h2 em{color:var(--gold-light)}
.cta p{color:#C9BBA8}

/* team + about */
.prov{background:#FDFBF7;border-color:var(--cardline)}
.staff strong{font-weight:500}
.lead-doc h3{font-size:2rem;font-weight:400}
.statline{background:var(--navy-deep) var(--navystone) center/cover no-repeat}
.band-navy{background:var(--navy-deep) var(--navystone) center/cover no-repeat}
.band-navy .eyebrow{color:var(--gold-light)!important}
.band-navy .eyebrow::before{background:var(--gold-light)}
.band-navy h2 em{color:var(--gold-light)}
.val h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.6rem}

/* ---------- tablets ---------- */
@media (max-width:900px){
  .txl-hero-grid{grid-template-columns:minmax(0,1fr)}
}

/* ---------- phones: same patterns as the Aesthetics mobile site ---------- */
@media (max-width:700px){
  /* home hero: photo behind the words */
  .hx-hero{position:relative;height:auto;min-height:calc(100svh - var(--head-h,110px));align-items:flex-end;background:#2a3a3a;overflow:hidden}
  .hx-hero .hx-art{position:absolute;inset:0;display:block;z-index:0}
  .hx-hero .hx-main{position:absolute;inset:0;width:100%;max-width:none;height:100%;min-height:0;max-height:none;border-radius:0;object-position:30% center!important}
  .hx-hero .hx-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,22,40,0) 0%,rgba(14,22,40,0) 45%,rgba(14,22,40,.55) 62%,rgba(14,22,40,.85) 80%,rgba(14,22,40,.92) 100%)}
  .hx-hero .hx-grid{min-height:inherit;align-items:flex-end;padding-block:1.4rem 1.5rem}
  .hx-hero .wrap{position:static}
  .hx-copy{position:relative;z-index:2;gap:.5rem}
  .hx-hero .eyebrow{color:#E7D3B4!important}
  .hx-hero .eyebrow::before{background:#E7D3B4}
  .hx-copy h1{font-size:2.15rem;line-height:1.08;color:#FBF7F1}
  .hx-copy h1 em{color:#E7D3B4}
  .hx-copy .motto{font-size:1.05rem;color:#E7D3B4;margin-bottom:.5rem}
  .hx-copy .intro{display:none}
  .hx-copy .actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0}
  .hx-copy .actions .btn{background:#FBF7F1;color:#14223F;min-height:48px;padding:.95rem .4rem;font-size:.64rem!important;letter-spacing:.14em!important;white-space:nowrap}
  .hx-statement p{font-size:1.4rem}
  .st-pts{gap:.4rem 1rem;font-size:.6rem}
  /* inner heroes: back link, photo, then words */
  .txl-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:1rem;padding-block:1rem 2.2rem}
  .txl-hero-text{display:contents}
  .txl-back{order:-2;align-self:flex-start;margin-bottom:0}
  .txl-hero-art{order:-1}
  .txl-hero-art .tx-hero-img{height:360px}
  .txl-hero h1{margin-top:0;font-size:2.4rem!important}
  .txl-sub{margin-top:0}
  .txl-hero .actions{margin-top:.4rem}
  .eyebrow{font-size:1.1rem!important}
  .sarrow.prev{left:-6px!important}
  .sarrow.next{right:-6px!important}
}

/* ---------- fixes round 1 ---------- */
.why-band .sh,.feel-band .sh,.steps-band .sh{border-left:0!important;padding-left:0!important;margin-bottom:0!important}
.band h2,.why-band h2,.feel-band h2,.steps-band h2{font-size:clamp(2.2rem,4vw,3.2rem)!important;line-height:1.04}
.split-copy h2,.about2-card h2,.sister h2{font-size:clamp(1.8rem,3vw,2.5rem)!important}
.hx-statement .wrap{max-width:1120px;padding-block:clamp(1.3rem,3.2vh,2.2rem)}
.hx-statement p{font-size:clamp(1.4rem,min(2.3vw,3.6vh),2rem)}
.hx-rule{margin-bottom:.9rem}
.hx-statement .eyebrow{margin-top:.8rem}
.st-pts{margin-top:.6rem}
/* keep hidden screen-reader labels inside the slider (stops sideways scrolling on phones) */
.strack{position:relative}
@media (max-width:700px){#services .sarrow{top:calc((86vw - 40px) * .3125 - 19px)!important}}

/* home hero: the original navy hero with the large photo, in the new type */
.hero .eyebrow{color:var(--gold-soft)!important}
.hero .eyebrow::before{background:var(--gold-soft)}
.hero h1 em{color:var(--gold-soft)}
.hero .btn-gold{background:var(--gold);color:var(--navy-deep)}
.hero .btn-gold:hover{background:var(--gold-light);box-shadow:none}

/* ---------- header: Aesthetics by Haven header, Haven Health logo ---------- */
.site-head.ah-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:#FBF7F1!important;background-image:none!important;border-bottom:1px solid #E6D9C7!important;box-shadow:0 1px 0 rgba(20,34,63,.04)!important}
.ah-bar{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding-block:16px 10px}
.ah-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ah-brand{display:inline-flex;align-items:center;text-decoration:none}
.ah-brand img{height:84px;margin-block:-6px;width:auto;display:block}
.ah-link{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:0 1rem;font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--ink);border:1px solid var(--gold);border-radius:2px;white-space:nowrap}
.ah-link:hover,.ah-link:focus-visible{box-shadow:inset 0 -2px 0 var(--gold)}
.ah-arrow{font-size:.9rem;letter-spacing:0;color:var(--gold)}
.ah-menu{display:none}
.ah-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;flex-wrap:wrap;justify-content:flex-end}
.ah-nav a{display:inline-block;padding-block:.35rem;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:#3A3530;border-bottom:1px solid transparent}
.ah-nav a:hover{color:var(--gold-text)}
.ah-nav a[aria-current="page"]{border-bottom-color:var(--gold);color:var(--ink)}
@media (max-width:900px){
  .ah-bar{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;row-gap:0;padding-block:6px 12px}
  .ah-top{display:contents}
  .ah-link{order:-1;flex-basis:100%;justify-content:center;min-height:30px;margin:0 0 10px;padding:0 0 6px;border:0;border-bottom:1px solid #E6D9C7;border-radius:0;font-size:.6rem;color:var(--gold-text)}
  .ah-link:hover,.ah-link:focus-visible{box-shadow:none;text-decoration:underline;text-underline-offset:4px}
  .ah-brand{order:1}
  .ah-brand img{height:58px;margin-block:-4px}
  .ah-menu{order:2;display:inline-block;background:none;border:1px solid #D9C7AE;color:var(--ink);font:inherit;font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:.6rem .9rem;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ah-nav{order:4;flex-basis:100%;display:none;margin-top:12px;border-top:1px solid #E6D9C7;background:#FBF7F1}
  .ah-nav.open{display:block}
  .ah-nav ul{flex-direction:column;gap:0;padding:.2rem 0 0}
  .ah-nav a{display:block;padding:.85rem 0;border-bottom:1px solid #E6D9C7}
  .ah-nav li:last-child a{border-bottom:0}
  .ah-nav a[aria-current="page"]{color:var(--gold-text)}
}

/* ---------- footer: compact navy band, like Aesthetics by Haven ---------- */
.site-foot{background:var(--navy-deep)!important;background-image:none!important;color:var(--on-navy-muted)!important;padding-block:1.6rem 1.1rem!important;font-size:.78rem!important;border-top:1px solid rgba(212,188,149,.4)!important}
.site-foot .foot-brand .motto{color:var(--gold-light)!important}
.site-foot .foot-bottom{border-top:1px solid var(--navy-line)!important;color:var(--on-navy-muted)!important}
.site-foot .foot-bottom a{color:var(--on-navy-muted)!important}
.site-foot .ig-ico{color:var(--gold-light)}
@media (min-width:701px){.site-foot .foot-bottom{flex-wrap:nowrap!important;align-items:center}.site-foot .foot-bottom>span:first-child{min-width:0}.site-foot .fb-right{flex-shrink:0;flex-wrap:nowrap!important}}

/* header option A: larger logo centred across both rows (desktop) */
@media (min-width:901px){
  .ah-bar{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:2rem;row-gap:.5rem;padding-block:14px 10px}
  .ah-top{display:contents}
  .ah-brand{grid-row:1/3;grid-column:1;align-self:center}
  .ah-brand img{height:96px;margin:0}
  .ah-link{grid-row:1;grid-column:2;justify-self:end}
  .ah-nav{grid-row:2;grid-column:2}
}

/* "Haven Health supports..." band in the tan stone texture */
section.hx-statement{background:#EDE2D0 var(--ivorystone) center/cover no-repeat!important;border-top:1px solid #D9C7AE!important;border-bottom:1px solid #D9C7AE}
section.hx-statement p{color:var(--ink)!important}
section.hx-statement p em{color:var(--gold-text)!important}
section.hx-statement span.eyebrow{color:var(--gold-text)!important}
section.hx-statement .eyebrow::before,section.hx-statement .eyebrow::after,section.hx-statement .hx-rule{background:var(--gold)!important}
section.hx-statement .st-pts{color:#6B5A48!important}

/* strip built like the Aesthetics one (rule, sentence, label); photo takes the extra room */
@media (max-width:700px){
  .hero{min-height:calc(100svh - var(--head-h,110px))!important;justify-content:flex-end!important}
  section.hx-statement .wrap{padding-block:2.2rem!important}
}

/* patient-story slider */
.qcar{position:relative}
.qcar .strack.q3{grid-auto-columns:calc((100% - 32px)/3)!important;gap:16px!important}
.qcar .strack.q2{grid-auto-columns:calc((100% - 16px)/2)!important;gap:16px!important}
.qcar .quote{scroll-snap-align:start;min-width:0}
.qcar .sarrow{top:50%!important;transform:translateY(-50%)}

/* ===== phones: the same treatments as the Aesthetics by Haven phone site ===== */
@media (max-width:700px){
  /* home: photo clear at the top, words at the bottom, two buttons side by side */
  .hero{justify-content:flex-end!important}
  .hero-bg{object-position:32% center!important}
  .hero::after{background:linear-gradient(180deg,rgba(20,34,63,0) 0%,rgba(20,34,63,0) 38%,rgba(20,34,63,.55) 56%,rgba(20,34,63,.86) 74%,rgba(20,34,63,.94) 100%)!important}
  .hero-copy{width:100%!important;padding-block:0 1.5rem!important}
  .hero .eyebrow{margin-bottom:.5rem!important}
  .hero h1{font-size:2.15rem!important;line-height:1.08!important;margin-bottom:.5rem!important}
  .hero .motto{font-size:1.05rem!important;margin:0 0 1rem!important}
  .hero .intro{display:none!important}
  .hero .actions{display:grid!important;grid-template-columns:1fr 1fr;gap:.6rem!important}
  .hero .actions .btn{width:auto!important;min-height:48px;padding:.95rem .4rem!important;font-size:.64rem!important;letter-spacing:.14em!important;white-space:nowrap;margin:0!important}

  /* sliders peek at the next card */
  .qcar .strack.q3,.qcar .strack.q2{grid-auto-columns:86%!important}

  /* about card: shorter */
  .about2-card p:not(.big):nth-of-type(n+3){display:none}
  .about2-card{padding:1.4rem 1.3rem!important}

  /* booking: compact, map hidden */
  .book3 .wrap{padding-block:1.8rem 1.6rem!important}
  .book3 h2{font-size:2.1rem!important}
  .book-home .bh-intro,.book-home .bh-lead,.book-home .formnote,.book3 .visit-note,.book3 .visit-map,.book-home .bh-visit>.eyebrow{display:none!important}
  .book-home .bh-grid{margin-top:1rem!important;gap:1.6rem!important}
  .book-home .form{gap:10px!important}
  .book-home .field{gap:4px!important}
  .book-home .field label{font-size:.62rem!important}
  .book-home .field input,.book-home .field select,.book-home .field textarea{padding:9px 12px!important;font-size:.95rem!important}
  .book-home .field textarea{height:70px;min-height:70px}
  .book-home .two{gap:10px!important}
  .book-home .form .btn{width:100%;justify-content:center}
  .book3 .b3-row{grid-template-columns:5.2rem minmax(0,1fr)!important;padding:.55rem 0!important}
  .book3 .b3-k{font-size:.6rem!important}
  .book3 .b3-v{font-size:1.1rem!important}
  .book3 .visit-dl{margin-top:.9rem}
  .book3 .bh-visit .btn,.book3 .visit-info .btn{width:100%;justify-content:center;margin-top:.9rem}

  /* Aesthetics by Haven band: compact like "Visit our clinic website" */
  .band.sister{padding-block:1.4rem!important}
  .sister-in{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:.4rem .9rem!important;align-items:center}
  .sister .sister-mark{width:44px!important}
  .sister .eyebrow{font-size:.98rem!important}
  .sister .eyebrow::before{flex-basis:20px}
  .sister h2{font-size:1.35rem!important;margin-top:.1rem!important}
  .sister p,.sister .textlink{display:none!important}
  .sister-acts{grid-column:1/-1;align-items:stretch!important;margin-top:.6rem}
  .sister .btn{width:100%;justify-content:center;min-height:46px}

  /* tighter bands */
  .band{padding-block:2.4rem!important}
  .scard-body p{font-size:.88rem}
}

/* ===== "Our services" and "Book an appointment" on navy stone ===== */
section#services{background:var(--navy-deep) var(--navystone) center/cover no-repeat!important}
section#services h2{color:#F4EEE6!important}
section#services h2 em{color:var(--gold-light)!important}
section#services span.eyebrow{color:var(--gold-light)!important}
section#services .eyebrow::before{background:var(--gold-light)!important}
section#services .svc-note{color:#C9BBA8!important}
section#services .svc-note strong{color:#F4EEE6}
section#services .scard{border-color:transparent!important}
section#services .sarrow{background:var(--navy-deep)!important;border-color:var(--gold-light)!important}

section.book3{background:var(--navy-deep) var(--navystone) center/cover no-repeat!important;color:var(--on-navy-muted)!important;border-top:0!important}
section.book3 .b3-top{border-bottom-color:var(--navy-line)!important}
section.book3 span.eyebrow{color:var(--gold-light)!important}
section.book3 .eyebrow::before{background:var(--gold-light)!important}
section.book3 .b3-meta{color:var(--on-navy-muted)!important}
section.book3 h2{color:#F4EEE6!important}
section.book3 h2 em{color:var(--gold-light)!important}
section.book3 .b3-list{border-top-color:rgba(244,238,227,.45)!important}
section.book3 .b3-row{color:#F4EEE6!important;border-bottom-color:rgba(244,238,227,.45)!important}
section.book3 .b3-k{color:var(--gold-light)!important}
section.book3 .b3-row:hover .b3-v{color:var(--gold-light)!important}
section.book3 .visit-dl dt{color:var(--gold-light)!important}
section.book3 .visit-dl dd{color:#F4EEE6!important}
section.book3 .visit-note,section.book3 .bh-intro,section.book3 .bh-lead,section.book3 .formnote{color:var(--on-navy-muted)!important}
section.book3 .btn-navy,section.book3 .btn-gold{background:var(--gold)!important;color:var(--navy-deep)!important}
section.book3 .visit-map{background:var(--navy)!important;border-color:var(--navy-line)!important}
section.book3 .visit-map .map-fallback{color:#F4EEE6!important}
section.book3 .field label{color:#F4EEE6!important}
section.book3 .field input,section.book3 .field select,section.book3 .field textarea{background:#FDFBF7!important;border-color:transparent!important}

/* phone: full-width button in the Aesthetics band */
@media (max-width:700px){
  .sister .sister-acts{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-self:stretch!important;width:100%}
  .sister .sister-acts .btn{width:100%!important}
}

/* services and booking: plain navy, no texture */
section#services,section.book3{background:var(--navy-deep)!important;background-image:none!important}

/* services back to tan */
section#services{background:var(--sandA)!important;background-image:none!important}
section#services h2{color:var(--ink)!important}
section#services h2 em{color:var(--gold-text)!important}
section#services span.eyebrow{color:var(--gold-text)!important}
section#services .eyebrow::before{background:var(--gold)!important}
section#services .svc-note{color:var(--muted)!important}
section#services .svc-note strong{color:var(--ink)}
section#services .scard{border-color:var(--cardline)!important}
section#services .sarrow{background:var(--navy)!important;border-color:var(--gold)!important}
/* services: same colour as the "Haven Health supports..." band, without the texture */
section#services{background:#EDE6DB!important;background-image:none!important}
/* no line between the statement band and services */
section.hx-statement{border-bottom:0!important}

/* services slider: a sliver of the next card shows there are more (same widths as Aesthetics) */
#services .strack{grid-auto-columns:calc((100% - 3 * 1.4rem) / 3.22)!important;gap:1.4rem!important}
@media (max-width:900px){#services .strack{grid-auto-columns:calc((100% - 2 * 1.4rem) / 2.2)!important}}
@media (max-width:600px){#services .strack{grid-auto-columns:82%!important}}

/* phone home: photo as a wide band across the top so more of the mountains show, words below on navy */
@media (max-width:700px){
  .hero{min-height:0!important;display:block!important;justify-content:initial!important}
  .hero-bg{top:0!important;bottom:auto!important;height:320px!important;object-position:center 45%!important}
  .hero::after{background:linear-gradient(180deg,rgba(20,34,63,0) 0px,rgba(20,34,63,0) 210px,rgba(20,34,63,.85) 285px,rgba(20,34,63,1) 320px)!important}
  .hero-copy{padding:286px 0 1.7rem!important}
}

/* service photos with the price laid over the bottom of the photo */
.scard-img{position:relative;display:block;overflow:hidden}
.scard-img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.scard-img .scard-price{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 10px;margin:0;border-top:0;background:linear-gradient(180deg,rgba(20,34,63,0),rgba(20,34,63,.82));color:#F4EEE6!important;font-size:.64rem}
/* See other services band */
section.more-svc{padding:clamp(2.6rem,5vw,3.6rem) 0!important;border-top:1px solid var(--cardline)}
.more-svc-in{display:flex;flex-direction:column;align-items:center;gap:1.2rem;text-align:center}
.more-svc-in h2{margin:0}
/* Services: featured three + slider of the rest, all within one screen */
section#services{padding-top:clamp(1.6rem,3vw,2.4rem)!important;padding-bottom:clamp(1.6rem,3vw,2.2rem)!important}
#services .sh{margin-bottom:1rem!important}
#services .sh h2{font-size:clamp(1.9rem,3vw,2.5rem)!important}
#services .svc-main{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
#services .svc-main .scard-img img{aspect-ratio:12/5!important;height:auto!important}
#services .svc-main .scard-body{padding:.9rem 1.2rem 1rem!important}
#services .svc-main h3{font-size:1.35rem!important;margin-bottom:.3rem!important}
#services .svc-main .scard-body p{font-size:.86rem!important;line-height:1.5!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.4rem!important}
#services .svc-main .tx-more{margin-top:.2rem!important}
#services .svc-more{margin-top:1.1rem}
#services .svc-more .strack{grid-auto-columns:calc((100% - 4 * 1rem) / 4.25)!important;gap:1rem!important}
#services .smini .scard-img img{aspect-ratio:2/1!important;height:auto!important}
#services .smini .scard-body{padding:.6rem .85rem .7rem!important;min-height:0!important}
#services .smini h3{font-size:1rem!important;line-height:1.25;margin:0 0 .25rem!important;min-height:2.5em}
#services .smini .tx-more{font-size:.6rem!important;margin-top:0!important;padding:0!important}
#services .smini .scard-price{font-size:.58rem!important;padding:18px 10px 7px!important}
#services .svc-note{margin-top:.8rem!important;font-size:.78rem!important}
@media (max-width:900px){#services .svc-main{grid-template-columns:1fr 1fr}#services .svc-more .strack{grid-auto-columns:calc((100% - 2 * 1rem) / 2.3)!important}}
@media (max-width:600px){#services .svc-main{grid-template-columns:1fr}#services .svc-more .strack{grid-auto-columns:62%!important}}
/* Meet the team: Dr. Ruttle above the fold, round photos */
[data-view="team"] .phead{padding:1.4rem 0 1.2rem!important;min-height:0!important}
[data-view="team"] .phead .back-row{margin-bottom:.2rem!important}
[data-view="team"] .phead h1{font-size:clamp(2rem,3.6vw,2.8rem)!important;margin:.3rem 0 .5rem!important}
[data-view="team"] .phead .intro{font-size:.95rem!important;max-width:62ch;margin-inline:auto}
[data-view="team"] section[aria-labelledby="docH"]{padding:1.8rem 0 3rem!important}
[data-view="team"] section[aria-labelledby="docH"] .sh{display:none!important}
.lead-doc{grid-template-columns:270px 1fr!important;align-items:center!important}
.lead-doc img{width:270px!important;max-width:270px!important;aspect-ratio:1/1!important;border-radius:50%!important;object-position:center 22%}
.lead-doc h3{margin:0!important}
.lead-doc p:not(.cred){font-size:.95rem}
.prov img,.mono{width:120px!important;aspect-ratio:1/1!important;border-radius:50%!important;object-position:center 22%}
.staff img,.staff-mono{aspect-ratio:1/1!important;border-radius:50%!important}
@media (max-width:700px){
  [data-view="team"] .phead{padding:1rem 0 .6rem!important}
  [data-view="team"] .phead .intro{display:none}
  [data-view="team"] section[aria-labelledby="docH"]{padding-top:1rem!important}
  .lead-doc{grid-template-columns:1fr!important;justify-items:center;text-align:center;gap:1rem!important}
  .lead-doc img{width:190px!important;max-width:190px!important}
  .lead-doc > div{text-align:left}
  .lead-doc h3,.lead-doc .cred{text-align:center}
  .prov img,.mono{width:110px!important}
}
/* Services fit-on-one-screen tightening */
section.band#services{padding-top:1.6rem!important;padding-bottom:1.4rem!important}
#services .sh{margin-bottom:.8rem!important}
#services .sh .eyebrow{margin-bottom:.1rem!important}
#services .sh h2{margin:0!important;line-height:1.1!important}
#services .svc-main .scard-img img{aspect-ratio:3/1!important}
#services .svc-main .scard-body{padding:.75rem 1.1rem .85rem!important}
#services .svc-main .scard-body p{margin:.1rem 0 .3rem!important}
#services .svc-more{margin-top:.9rem!important}
#services .smini .scard-img img{aspect-ratio:5/2!important}
#services .smini .scard-body{padding:.5rem .8rem .6rem!important}
#services .smini h3{font-size:.95rem!important;min-height:2.4em!important;margin-bottom:.15rem!important}
#services .smini .scard-price{font-size:.55rem!important;letter-spacing:.08em!important;padding:14px 9px 6px!important;line-height:1.3!important}
/* Meet the team: Dr. Ruttle fills the first screen */
[data-view="team"] section[aria-labelledby="docH"]{min-height:calc(100svh - var(--head-h,120px) - 240px);display:flex;align-items:center}
[data-view="team"] section[aria-labelledby="docH"] > .wrap{width:100%}
/* Family medicine notice, on its own line */
#services .svc-note{margin:.7rem 0 0!important}
#services .fm-notice{margin:.45rem 0 0;display:inline-block;padding:.45rem .9rem;background:#F8F3EA;border:1px solid rgba(138,109,59,.35);border-left:3px solid var(--gold);font-size:.86rem;color:var(--navy)}
#services .fm-notice strong{color:var(--navy);font-weight:600}
section.band#services{padding-top:1.15rem!important;padding-bottom:1rem!important}
#services .sh{margin-bottom:.6rem!important}
#services .svc-more{margin-top:.75rem!important}
#services .svc-note{margin-top:.55rem!important}
/* Services fills exactly one screen below the header */
section.band#services{min-height:calc(100svh - var(--head-h,121px));display:flex;flex-direction:column;justify-content:center;scroll-margin-top:0!important;box-sizing:border-box}
html{scroll-padding-top:var(--head-h,121px)!important}
section.band#services > .wrap{width:100%}
/* Service photos grow with the screen while the section stays one page */
@media (min-width:901px){
#services .svc-main .scard-img img{aspect-ratio:auto!important;height:clamp(128px,calc(128px + (100svh - 800px) * .55),310px)!important}
#services .smini .scard-img img{aspect-ratio:auto!important;height:clamp(96px,calc(96px + (100svh - 800px) * .42),240px)!important}
}
section.band#services{padding-bottom:.4rem!important}
#services .smini h3{font-size:1.2rem!important;line-height:1.2!important;min-height:2.4em!important}
#services .smini h3 a{color:var(--navy)!important}
#services .smini .tx-more{font-size:.66rem!important}
/* FAQ, matching Aesthetics by Haven */
.faq-band{background:#F3E8DC!important;border-top:0!important}
.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.faq-head h2{margin-top:.5rem}
.faq-head h2 em{color:var(--gold);font-style:italic}
.faq-head p{margin-top:1rem;color:var(--muted);font-size:.95rem}
.faq-head a{color:var(--navy)}
.faq-head a[href^="tel"]{white-space:nowrap}
.faq-list{border-top:1px solid var(--navy)}
.faq-item{border-bottom:1px solid #D9C7AE}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-family:var(--serif);font-size:1.3rem;line-height:1.3;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex-shrink:0;font-family:var(--sans);font-weight:300;font-size:1.4rem;color:var(--gold);transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 0 1rem;margin:0;color:var(--body);font-size:.95rem;max-width:62ch}
@media (max-width:860px){.faq-wrap{grid-template-columns:minmax(0,1fr)}}
#svcDesc .svc-para{display:block}
#svcDesc .svc-para+.svc-para{margin-top:.8em}
/* View all services button + All services page */
#services .sh.row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
#services .svc-all-btn{flex-shrink:0;margin-bottom:.2rem}
.svc-all .svc-all-grp+.svc-all-grp{margin-top:clamp(2.4rem,5vw,3.4rem)}
.svc-all .svc-all-h{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:0 0 1.2rem}
.svc-all .svc-all-h em{color:var(--gold);font-style:italic}
.svc-all .svc-all-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.svc-all .scard{display:flex;flex-direction:column;background:#FDFBF7}
.svc-all .scard-img img{aspect-ratio:16/10!important;height:auto!important}
.svc-all .scard-body{display:flex;flex-direction:column;flex:1}
.svc-all .scard-body .tx-more{margin-top:auto!important;padding-top:.8rem}
.svc-all .svc-note{margin-top:2rem}
.svc-all .fm-notice{margin:.45rem 0 0;display:inline-block;padding:.45rem .9rem;background:#F8F3EA;border:1px solid rgba(138,109,59,.35);border-left:3px solid var(--gold);font-size:.86rem;color:var(--navy)}
.svc-all .svc-all-cta{margin-top:1.8rem}
@media (max-width:900px){.svc-all .svc-all-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.svc-all .svc-all-grid{grid-template-columns:1fr}#services .sh.row{flex-direction:column;align-items:flex-start}}
/* All services: core care visible on arrival */
[data-view="all-services"] .phead{padding:1.2rem 0 1rem!important;min-height:0!important}
[data-view="all-services"] .phead h1{font-size:clamp(2rem,3.6vw,2.7rem)!important;margin:.25rem 0 .4rem!important}
[data-view="all-services"] .phead .intro{font-size:.95rem!important;max-width:60ch;margin-inline:auto}
.svc-all{padding-top:1.6rem!important}
.svc-all .svc-all-h{margin-bottom:.8rem!important}
.svc-all .svc-all-grp:first-child .scard-img img{aspect-ratio:2/1!important}
.svc-all .svc-all-grp:first-child .scard-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.svc-all .scard-body{padding:1rem 1.2rem 1.1rem!important}
@media (max-width:700px){[data-view="all-services"] .phead .intro{display:none}}
/* FAQ smaller */
.faq-head h2{font-size:clamp(1.8rem,3vw,2.4rem)!important}
.faq-item summary{font-size:1.08rem!important;padding:.8rem 0!important}
.faq-item summary::after{font-size:1.2rem!important}
.faq-item p{font-size:.9rem!important;padding-bottom:.8rem!important}
.svc-all .svc-all-grp:first-child .scard-img img{aspect-ratio:5/2!important}
.svc-all{padding-top:1rem!important}
.svc-all .svc-all-h{font-size:clamp(1.5rem,2.3vw,1.9rem)!important;margin-bottom:.6rem!important}
[data-view="all-services"] .phead .back-row{margin-bottom:0!important}
[data-view="all-services"] .phead .eyebrow{margin-bottom:0!important}
.faq-item summary::after{line-height:1!important;align-self:center}
/* All services: first screen = header + core care; treatments start below the fold */
.svc-all .svc-all-grp:first-child{min-height:calc(100svh - var(--head-h,121px) - var(--allhead-h,180px) - 1rem);box-sizing:border-box}
.svc-all .svc-all-grp:first-child + .svc-all-grp{margin-top:1.6rem!important}
/* Mobile home hero: full-screen photo like Aesthetics by Haven */
@media (max-width:700px){
  .hero{min-height:calc(100svh - var(--head-h,110px))!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important}
  .hero-bg{top:0!important;bottom:0!important;height:100%!important;object-position:center 30%!important}
  .hero::after{background:linear-gradient(180deg,rgba(20,34,63,0) 0%,rgba(20,34,63,0) 38%,rgba(20,34,63,.55) 62%,rgba(20,34,63,.9) 100%)!important}
  .hero-copy{padding:0 0 1.8rem!important}
}
/* Mobile services: the three main services fit on one screen */
@media (max-width:600px){
  #services .sh.row{flex-direction:row!important;align-items:flex-end!important}
  #services .svc-all-btn{padding:.6rem .8rem!important;font-size:.58rem!important;letter-spacing:.12em!important}
  #services .sh h2{font-size:1.9rem!important}
  #services .svc-main{gap:.7rem!important}
  #services .svc-main .scard{display:grid!important;grid-template-columns:40% 1fr;min-height:0!important}
  #services .svc-main .scard-img{height:100%}
  #services .svc-main .scard-img img{aspect-ratio:auto!important;height:100%!important;min-height:150px;object-fit:cover}
  #services .svc-main .scard-body{padding:.7rem .85rem .75rem!important;display:flex;flex-direction:column}
  #services .svc-main h3{font-size:1.12rem!important;line-height:1.2!important;margin-bottom:.25rem!important}
  #services .svc-main .scard-body p{font-size:.8rem!important;-webkit-line-clamp:3!important;margin-bottom:.3rem!important}
  #services .svc-main .tx-more{margin-top:auto!important;font-size:.6rem!important}
}
@media (max-width:600px){#services .svc-main .scard-body p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;max-height:4.6em}}
@media (max-width:600px){#services .svc-main .scard-img{position:relative!important;min-height:150px}#services .svc-main .scard-img img{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important}}
.more-svc .med-rev{margin:.4rem 0 0;font-size:.78rem;color:var(--muted)}.more-svc .med-rev a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}


/* Oct 9: links + welcome redesign, home photo crop (from the latest preview) */
.lk2,.wc2{background:var(--cream);min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.lk2-top{background:var(--cream);display:flex;justify-content:center;padding:18px 16px 16px;border-bottom:1px solid var(--hair)}
.lk2-logo{width:170px;height:auto;display:block}
.lk2-hero{min-height:0}
.lk2-hero .actions,.lk2-acts{display:flex;flex-wrap:wrap;gap:.8rem}
.lk2 .btn-gold,.wc2 .btn-gold{background:var(--gold);color:var(--navy-deep);border-radius:2px}
.lk2 .btn-gold:hover,.wc2 .btn-gold:hover,.wc2-opt:hover .btn-gold{background:var(--gold);box-shadow:inset 0 -2px 0 var(--navy-deep)}
.lk2-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1.4rem}
@media (max-width:759px){.lk2-cards .scard:first-child{grid-column:1/-1}.lk2-cards .scard-body p{display:none}.lk2-cards .scard:not(:first-child) .scard-img img{height:130px!important;width:100%;object-fit:cover;aspect-ratio:auto}.lk2-cards .scard:not(:first-child) .tx-more{display:none}.lk2-cards .scard:not(:first-child) h3{font-size:1.1rem}}
.lk2-visit .b3-list{margin-top:1.6rem}
.lk2-acts{margin-top:1.8rem}
.lk2-foot{background:var(--navy-deep);color:var(--on-navy-muted);text-align:center;padding:20px 16px;font-size:12px;letter-spacing:.08em;display:flex;flex-direction:column;gap:6px;align-items:center;margin-top:auto}
.lk2-foot a{color:var(--gold-soft);text-decoration:none;font-weight:600}
.lk2-motto{font-family:var(--serif);font-style:italic;font-size:1.05rem;letter-spacing:.01em;color:var(--gold-soft)}
.wc2-head{text-align:center;padding:30px 16px 22px;background:var(--sandA)}
.wc2-head .eyebrow{justify-content:center}
.wc2-head .eyebrow::after{content:"";flex:0 0 34px;height:1px;background:var(--gold)}
.wc2-head h1{font-size:clamp(2rem,4.4vw,3.2rem);margin:.3rem 0 0;color:var(--ink)}
.wc2-grid{display:grid;grid-template-columns:1fr;flex:1}
.wc2-opt{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:440px;overflow:hidden;text-decoration:none;background:var(--navy-deep);border-top:3px solid var(--gold);-webkit-tap-highlight-color:transparent}
.wc2-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:-2;transition:transform .6s ease}
.wc2-aes .wc2-bg{object-position:50% 15%}
.wc2-opt:hover .wc2-bg{transform:scale(1.03)}
.wc2-opt::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,34,63,0) 0%,rgba(20,34,63,.35) 35%,rgba(20,34,63,.92) 68%,rgba(20,34,63,.98) 100%)}
.wc2-body{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;padding:30px 24px 32px;width:100%}
.wc2-body .eyebrow{color:var(--gold-soft)!important;margin:0}
.wc2-h{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;color:#FFFDF8}
.wc2-h em{font-style:italic;color:var(--gold-soft)}
.wc2-desc{color:#DCE1EA;font-size:.95rem;line-height:1.6;max-width:30em}
.wc2-body .btn{margin-top:.4rem}
.wc2 .lk2-foot a{color:var(--gold-soft)}
.wc2{background:var(--sandA)}
.wc2-grid{flex:0 0 auto;gap:14px;padding:6px 16px 26px;width:100%;max-width:1000px;margin:0 auto}
.wc2-opt{min-height:300px;border-top:3px solid var(--gold);box-shadow:0 14px 34px rgba(20,34,63,.16)}
.wc2-aes .wc2-bg{object-position:50% 35%}
.lk3{background:#FAF6EF;min-height:100vh;min-height:100svh;color:var(--ink)}
.lk3-photo{display:none}
.lk3-in{max-width:440px;margin:0 auto;padding:28px 18px 34px;display:flex;flex-direction:column;align-items:stretch;text-align:center}
.lk3-arch{width:86%;margin:0 auto 22px;aspect-ratio:1/1;border-radius:999px 999px 0 0;overflow:hidden}
.lk3-arch img,.lk3-photo img{width:100%;height:100%;object-fit:cover;object-position:30% 50%;display:block}
.lk3-logo{width:230px;max-width:70%;height:auto;margin:0 auto 12px}
.lk3-motto{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--gold-text);margin:0 0 10px}
.lk3-intro{font-size:14.5px;line-height:1.6;color:var(--body);margin:0 auto 24px;max-width:28em}
.lk3-btn{display:flex;align-items:center;justify-content:center;min-height:54px;margin-bottom:12px;border:1px solid var(--navy);border-radius:2px;background:transparent;color:var(--navy);text-decoration:none;font:600 12px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;-webkit-tap-highlight-color:transparent}
.lk3-btn:hover,.lk3-btn:focus-visible{box-shadow:inset 0 -2px 0 var(--gold)}
.lk3-btn.primary{background:var(--navy);color:var(--on-navy)}
.lk3-eb{display:flex;align-items:center;gap:12px;margin:22px 0 16px;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--gold-text)}
.lk3-eb::before,.lk3-eb::after{content:"";flex:1;height:1px;background:var(--gold)}
.lk3-svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.lk3-svc a{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px}
.lk3-ar{display:block;aspect-ratio:3/4;border-radius:999px 999px 0 0;overflow:hidden;background:var(--sandA)}
.lk3-ar img{width:100%;height:100%;object-fit:cover;display:block}
.lk3-svc a>span:last-child{font-family:var(--serif);font-size:17px;line-height:1.15}
.lk3-ig{margin-top:14px;color:var(--gold-text);text-decoration:none;font-size:13px;letter-spacing:.08em}
@media (min-width:900px){
  .lk3{display:grid;grid-template-columns:1fr 1fr}
  .lk3-photo{display:block;position:sticky;top:0;height:100vh;height:100svh}
  .lk3-arch{display:none}
  .lk3-in{max-width:460px;padding:56px 40px;margin:auto}
}
.lk3-in{padding:14px 16px 14px!important;min-height:100svh;justify-content:center}
.lk3-arch{width:auto!important;height:clamp(110px,19svh,170px);aspect-ratio:auto!important;max-width:62%;margin:0 auto 10px!important}
.lk3-arch{width:62%!important}
.lk3-logo{width:150px!important;margin-bottom:4px!important}
.lk3-motto{font-size:1.1rem!important;margin-bottom:10px!important}
.lk3-intro{display:none}
.lk3-btn{min-height:44px!important;margin-bottom:8px!important;font-size:11px!important;letter-spacing:.16em!important}
.lk3-eb{margin:8px 0 8px!important;font-size:1.05rem!important}
.lk3-svc{gap:8px!important;margin-bottom:10px!important}
.lk3-ar{aspect-ratio:auto!important;height:clamp(78px,12svh,120px)}
.lk3-svc a{gap:4px!important}
.lk3-svc a>span:last-child{font-size:14px!important}
.lk3-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lk3-pair .lk3-btn{padding:0 6px;letter-spacing:.1em!important;font-size:10.5px!important}
.lk3-ig{margin-top:6px!important;font-size:12px!important}
@media (min-width:900px){.lk3-arch{display:none}.lk3-in{padding:40px!important}}
@media (max-width:900px){section.hero img.hero-bg{object-position:75% 30%!important}}
.wc2-aes .wc2-bg{object-position:50% 78%!important}
.lk2-svc .wrap{padding-block:26px 30px!important}
.lk2-svc .sh h2{font-size:clamp(1.8rem,5vw,2.4rem)!important}
.lk2-svc .sh .eyebrow{font-size:1.05rem!important}
.lk2-cards{grid-template-columns:repeat(3,1fr)!important;gap:10px!important;margin-top:1rem!important;max-width:760px}
.lk2-cards .scard{grid-column:auto!important;min-width:0!important;width:auto!important;max-width:none!important}
.lk2 .lk2-cards .scard h3,.lk2 .lk2-cards .scard h3 a{font-size:15px!important;line-height:1.2!important;overflow-wrap:normal;word-break:normal;hyphens:none}
.lk2 .lk2-cards .scard .scard-img,.lk2 .lk2-cards .scard .scard-img img{height:92px!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important}
.lk2 .lk2-cards .scard .scard-img img{width:100%!important;object-fit:cover}
.lk2 section.lk2-svc{padding-top:0!important;padding-bottom:0!important}
.lk2 section.lk2-svc>.wrap{padding-top:24px!important;padding-bottom:28px!important}
@media (min-width:760px){.lk2 .lk2-cards .scard h3,.lk2 .lk2-cards .scard h3 a{font-size:19px!important}.lk2 .lk2-cards .scard .scard-img,.lk2 .lk2-cards .scard .scard-img img{height:150px!important}}
.lk2-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lk2-cards .scard-img img{height:96px!important;width:100%;object-fit:cover;aspect-ratio:auto!important}
.lk2-cards .scard-body{padding:10px 10px 12px!important}
.lk2-cards .scard-body p,.lk2-cards .tx-more{display:none!important}
.lk2-cards h3{font-size:1rem!important;line-height:1.15!important;margin:0!important}
@media (min-width:760px){.lk2-cards .scard-img img{height:150px!important}.lk2-cards h3{font-size:1.2rem!important}.lk2-cards .scard-body{padding:14px 16px 16px!important}}
.wc2-aes::after{background:linear-gradient(180deg,rgba(20,34,63,0) 0%,rgba(20,34,63,0) 40%,rgba(20,34,63,.78) 72%,rgba(20,34,63,.94) 100%)}
.wc2-grid{gap:26px!important}
@media (min-width:760px){.wc2-grid{gap:40px!important}}
.wc2-h{font-size:clamp(1.9rem,3.2vw,2.5rem)}
.wc2-body{padding:22px 20px 24px;gap:.55rem}
.wc2-desc{font-size:.9rem}
@media (min-width:760px){
  .wc2-grid{gap:20px;padding:10px 32px 40px}
  .wc2-opt{min-height:380px}
  .wc2-opt+.wc2-opt{border-left:0}
  .wc2-body{padding:28px 28px 30px}
}
@media (min-width:760px){
  .lk2-cards{grid-template-columns:repeat(3,1fr)}
  .wc2-grid{grid-template-columns:1fr 1fr}
  .wc2-opt{min-height:520px}
  .wc2-opt+.wc2-opt{border-left:3px solid var(--gold)}
  .wc2-body{padding:44px 40px 48px}
}
.lk-btn,.wc-btn{border-radius:2px!important;font-size:.7rem!important;letter-spacing:.2em!important}
.lk-btn.light{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.lk-btn.light:hover,.lk-btn.light:focus-visible,.lk-btn.light:active{box-shadow:inset 0 -2px 0 var(--gold)}
.lk-eb{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.2rem;letter-spacing:.01em;text-transform:none;color:var(--gold-text)}
.lk-card span{font-weight:500;font-size:19px}
.lk-card{background:var(--cream)}
.wc-aes .wc-bg::after{background:linear-gradient(180deg,rgba(251,248,242,.15) 0%,rgba(251,248,242,.82) 52%,rgba(251,248,242,.96) 100%)}
.wc-aes .wc-desc{color:var(--body)}
.wc-aes .wc-bg{background-position:center 18%}
.wc-aes .wc-btn{background:var(--navy);color:var(--on-navy)}
.wc-aes:hover .wc-btn,.wc-aes:focus-visible .wc-btn,.wc-aes:active .wc-btn{box-shadow:inset 0 -2px 0 var(--gold)}
