@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-380.282de5712f.woff2) format("woff2");font-weight:380;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-400.a0f605fe88.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-italic.ca90586281.woff2) format("woff2");font-weight:380;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-400.07d1a02437.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-600.2baca50070.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{
 --paper:#F6F2EC;--linen:#ECE5DA;--ink:#1D2422;--graphite:#535B57;--rule:#D8CFC2;--fir:#2F4A3F;--fir-d:#23382F;--ondark:#C9CFC9;
 --serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
 --hh:110px;--uh:34px;--pad:clamp(20px,5vw,72px);--max:1320px;--e:cubic-bezier(.22,.61,.24,1);--e2:cubic-bezier(.65,.05,.25,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 8px)}
html:not(.has-lenis){scroll-behavior:smooth}
html.has-lenis{scroll-behavior:auto}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.125rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.012em;font-optical-sizing:auto}
h1 em,h2 em{font-style:italic}
p{margin:0 0 1em}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:4px}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--fir);outline-offset:3px}
.label{font:600 .78rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--graphite);margin:0 0 1.4rem}
.credit{font:400 .72rem/1.3 var(--sans);letter-spacing:.02em;color:var(--graphite)}
.ic{width:1.1em;height:1.1em;flex:none}
.grid{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 1.4em;border-radius:999px;font:600 1rem/1 var(--sans);text-decoration:none;letter-spacing:.005em;border:1px solid transparent;transition:background-color .35s var(--e),color .35s var(--e),border-color .35s var(--e);cursor:pointer;white-space:nowrap}
.btn-solid{background:var(--fir);color:#fff}
.btn-solid:hover{background:var(--fir-d)}
.btn-line{border-color:currentColor;color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-lg{min-height:56px;padding:0 1.8em;font-size:1.0625rem}
.link-arrow{display:inline-flex;align-items:center;gap:.55em;font-weight:600;font-size:1rem;color:var(--fir);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.link-arrow .ic{transition:transform .4s var(--e)}
.link-arrow:hover .ic{transform:translateX(4px)}

/* header */
.util{height:var(--uh);background:var(--ink);color:var(--paper);font-size:.85rem}
.util-in{height:100%;max-width:1440px;margin:0 auto;padding:0 clamp(20px,3.4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.util-l{margin:0;color:var(--ondark);letter-spacing:.04em}
.util-r{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.util-r a{text-decoration:none;color:var(--paper);display:inline-flex;align-items:center;gap:5px;font-weight:500}
.util-r a:hover{text-decoration:underline;text-underline-offset:3px}
.util-r .ic{width:.85em;height:.85em;opacity:.75}
.util :focus-visible{outline-color:var(--paper)}
.hdr{position:fixed;inset:0 0 auto;z-index:50;height:var(--hh);background:rgba(246,242,236,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .4s var(--e)}
.hdr.scrolled{border-bottom-color:var(--rule)}
.hdr-in{height:calc(100% - var(--uh));max-width:1440px;margin:0 auto;padding:0 clamp(20px,3.4vw,48px);display:flex;align-items:center;gap:32px}
.wm{font:400 1.5rem/1 var(--serif);text-decoration:none;letter-spacing:-.01em;white-space:nowrap}
.wm-the{font-style:italic}
.nav{margin-left:auto}
.nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.nav a{font-size:.95rem;text-decoration:none;color:var(--ink);padding:6px 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--e)}
.nav a:hover,.nav a[aria-current]{background-size:100% 1px}
.hdr-act{display:flex;align-items:center;gap:20px}.hdr-book{display:flex;flex-direction:column;align-items:stretch;gap:3px}.hdr .booking-ph{display:block;margin:0;max-width:none;font-size:.62rem;line-height:1.15;text-align:center;padding:.12em .25em;font-weight:600}
.hdr-call{font-weight:600;font-size:.98rem;text-decoration:none;white-space:nowrap}
.hdr-call .lbl{font-weight:400;color:var(--graphite);margin-right:2px}
.hdr .btn{min-height:44px;padding:0 1.3em;font-size:.95rem}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);background:transparent;color:var(--ink);align-items:center;justify-content:center;cursor:pointer}
.menu-btn .ic,.menu-close .ic{width:22px;height:22px}
.menu{position:fixed;inset:0;z-index:80;background:var(--paper);overflow:auto}
.menu-in{max-width:560px;margin:0 auto;padding:72px var(--pad) 40px}
.menu-close{position:absolute;right:20px;top:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.menu-links{list-style:none;margin:0 0 24px;padding:0}
.menu-pt{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.mpt{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--rule);background:var(--linen);text-decoration:none;position:relative}
.mpt span{font:400 1.25rem/1.2 var(--serif)}
.mpt small{font-size:.85rem;color:var(--graphite)}
.mpt .ic{position:absolute;right:12px;top:14px;width:16px;height:16px;color:var(--fir)}
.menu-lbl{margin:28px 0 4px}
.menu-links a{display:block;font:400 1.75rem/1.25 var(--serif);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--rule)}
.menu-phones{list-style:none;margin:0 0 28px;padding:0}
.menu-phones a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.menu-phones b{color:var(--fir)}
.menu .btn{width:100%}
.menu-small{margin-top:24px;font-size:1rem;color:var(--graphite)}

main{padding-top:var(--hh)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,50fr) minmax(0,50fr);min-height:calc(100vh - var(--hh));min-height:calc(100svh - var(--hh))}
.hero-txt{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(24px,4.5vw,80px) 40px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.hero h1{font-size:clamp(2.5rem,3.45vw,3.1rem);line-height:1.08;font-weight:380;margin-bottom:28px}
@media (min-width:1000px){.hero h1 .ln{white-space:nowrap}}
.hero h1 .ln{display:block}
.hero h1 em{color:var(--fir)}
.hero-sub{max-width:33em;color:var(--graphite);font-size:1.15rem;margin-bottom:34px}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:56px}
.hero-cities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule)}
.hero-cities a{display:block;padding:14px 12px 0 0;text-decoration:none;font-size:.95rem;font-weight:600;white-space:nowrap}
.hero-cities span{display:block;font:600 .72rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin-bottom:4px}
.hero-cities a:hover{color:var(--fir)}
.hero-fig{margin:0;position:relative;overflow:hidden}
.hero-fig .ph{position:absolute;inset:0;overflow:hidden}
.hero-fig picture,.hero-fig img{width:100%;height:100%}
.hero-fig img{object-fit:cover;object-position:50% 30%}
.hero-fig figcaption,.bleed figcaption{position:absolute;right:16px;bottom:12px;z-index:2}
.hero-fig .credit,.bleed .credit{color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.35)}

/* generic reveals (motion only) */
.ph{overflow:hidden}
.motion .rv{opacity:0;transform:translate3d(0,26px,0);transition:opacity 1s var(--e),transform 1.2s var(--e);transition-delay:var(--d,0ms)}
.motion .rv.in{opacity:1;transform:none}
.motion .rv-lines .ln{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.motion .rv-lines .ln>span{display:inline-block;transform:translate3d(0,108%,0);transition:transform 1.3s var(--e)}
.motion .rv-lines .ln:nth-child(2)>span{transition-delay:.09s}.motion .rv-lines .ln:nth-child(3)>span{transition-delay:.18s}
.motion .rv-lines.in .ln>span{transform:none}
.motion .hero .rv{transition-delay:.45s}.motion .hero .hero-cta{transition-delay:.55s}.motion .hero .hero-cities{transition-delay:.65s}.motion .hero .label{transition-delay:.1s}
.motion .reveal-img .ph{clip-path:inset(0 0 100% 0);transition:clip-path 1.5s var(--e2)}
.motion .reveal-img picture{transform:scale(1.08);transition:transform 2.2s var(--e)}
.motion .reveal-img.in .ph{clip-path:inset(0 0 0 0)}
.motion .reveal-img.in picture{transform:none}
.motion [data-par] img{will-change:transform}

/* mission */
.mission{padding-bottom:clamp(80px,11vw,160px)}
.bleed{margin:0;position:relative;height:min(82vh,860px);min-height:420px}
.bleed .ph{position:absolute;inset:0}
.bleed picture,.bleed img{width:100%;height:100%}
.bleed img{object-fit:cover;object-position:50% 28%}
.mis-grid{padding-top:clamp(64px,8vw,120px);row-gap:12px}
.col-label{grid-column:1/4;padding-top:.9rem}
.pull{margin:0;grid-column:4/13}
.pull p{font:300 clamp(2rem,3.3vw,3.25rem)/1.18 var(--serif);font-style:italic;letter-spacing:-.015em;margin:0 0 .4em;max-width:20em;text-wrap:balance}
.mis-body{grid-column:4/12;columns:2;column-gap:40px;color:var(--graphite);margin-top:24px}
.mis-body p{break-inside:avoid}
.mis-body .link-arrow{margin-top:.4em}

/* care (pinned story) */
.care{background:var(--linen);position:relative}
.care-pin{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr)}
.care-txt{padding:clamp(72px,9vw,128px) clamp(24px,4.5vw,80px) clamp(72px,9vw,128px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.care-txt h2{font-size:clamp(2rem,3.1vw,3.1rem);line-height:1.12;margin-bottom:48px;max-width:14em;text-wrap:balance}
.ch{padding:28px 0 36px;border-top:1px solid var(--rule)}
.ch-n{font:600 .78rem/1 var(--sans);letter-spacing:.16em;color:var(--graphite);margin-bottom:16px}
.ch-n span{color:var(--fir)}
.ch h3{font-size:clamp(1.6rem,2.2vw,2.15rem);line-height:1.15;margin-bottom:14px}
.ch>p{color:var(--graphite);max-width:32em}
.ch-fig{margin:28px 0 0}
.ch-fig .credit{display:block;margin-top:8px}
.care-photos{display:none}
.care-prog{display:none}
@media (min-width:900px){
 .care:not(.pinned) .care-pin{grid-template-columns:1fr}
 .care:not(.pinned) .care-txt{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
 .care:not(.pinned) .chs{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
 .care.pinned{height:440vh}
 .care.pinned .care-pin{position:sticky;top:var(--hh);height:calc(100vh - var(--hh))}
 .care.pinned .care-txt{display:flex;flex-direction:column;justify-content:center;padding-top:48px;padding-bottom:48px}
 .care.pinned .care-txt h2{margin-bottom:40px}
 .care.pinned .chs{position:relative;min-height:var(--chh,320px);border-top:1px solid var(--rule)}
 .care.pinned .ch{position:absolute;inset:0 0 auto;border-top:0;opacity:0;transform:translate3d(0,22px,0);transition:opacity .7s var(--e),transform .9s var(--e);pointer-events:none;visibility:hidden;transition-property:opacity,transform,visibility}
 .care.pinned .ch.past{transform:translate3d(0,-18px,0)}
 .care.pinned .ch.on{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition-delay:.12s}
 .care.pinned .ch-fig{display:none}
 .care.pinned .care-photos{display:block;position:relative;overflow:hidden}
 .care.pinned .sp{position:absolute;inset:0;margin:0;clip-path:inset(0 0 calc((1 - var(--w,0))*100%) 0)}
 .care.pinned .sp picture,.care.pinned .sp img{width:100%;height:100%}
 .care.pinned .sp img{object-fit:cover;transform:scale(calc(1.1 - var(--w,0)*.1));transform-origin:50% 0}
 .care.pinned .sp figcaption{position:absolute;right:16px;bottom:12px}
 .care.pinned .sp .credit{color:rgba(255,255,255,.88);text-shadow:0 1px 2px rgba(0,0,0,.35)}
 .care.pinned .care-prog{display:flex;gap:8px;list-style:none;margin:8px 0 0;padding:0}
 .care-prog li{flex:1;height:2px;background:var(--rule);position:relative;overflow:hidden}
 .care-prog li span{position:absolute;inset:0;background:var(--fir);transform-origin:0 50%;transform:scaleX(var(--f,0))}
}

@media (min-width:900px){.care:not(.pinned) .ch-fig img{aspect-ratio:4/3;object-fit:cover;width:100%}}
/* day surgery */
.dsurg{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);align-items:center;padding:clamp(88px,10vw,150px) 0}
.ds-fig{margin:0;position:relative;aspect-ratio:3/2.15}
.ds-fig .ph{position:absolute;inset:0 0 28px}
.ds-fig picture,.ds-fig img{width:100%;height:100%}
.ds-fig img{object-fit:cover;object-position:40% 55%}
.ds-fig figcaption{position:absolute;left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));bottom:0}
.ds-txt{padding:0 max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) 0 clamp(36px,5vw,88px)}
.ds-txt h2{font-size:clamp(2rem,3vw,3rem);line-height:1.1;margin-bottom:22px;text-wrap:balance}
.ds-txt>p:not(.label){color:var(--graphite);max-width:32em}
.ds-k{font:600 .78rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--graphite);margin:32px 0 6px}
.ds-list{margin:0 0 30px;border-top:1px solid var(--rule)}
.ds-list div{display:grid;grid-template-columns:8.5em 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:1rem}
.ds-list dt{font-weight:600}
.ds-list dd{margin:0;color:var(--graphite)}
.ds-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
@media (min-width:900px){.ds-cta .btn{padding:0 1.1em;font-size:.95rem}.ds-cta .ds-more{flex-basis:100%;margin-bottom:6px}}

/* patients */
.patients{background:var(--linen);padding:clamp(88px,10vw,150px) 0 clamp(64px,7vw,96px)}
.pt-head{grid-column:1/5}
.pt-head h2{font-size:clamp(2.1rem,3.2vw,3.2rem);line-height:1.08;margin-bottom:22px;text-wrap:balance}
.pt-head p{color:var(--graphite)}
.pt-help{font-size:1rem}
.pt-help a{color:var(--fir)}
.pt-list{grid-column:6/13;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px;border-top:1px solid var(--ink)}
.pt a{display:flex;flex-direction:column;height:100%;padding:28px 0 30px;border-bottom:1px solid var(--rule);text-decoration:none}
.pt h3{font-size:1.75rem;line-height:1.15;margin-bottom:8px;transition:color .3s var(--e)}
.pt p{color:var(--graphite);margin:0 0 18px;flex:1}
.pt-cta{display:inline-flex;align-items:center;gap:.45em;font-weight:600;font-size:1rem;color:var(--fir)}
.pt-cta .ic{transition:transform .4s var(--e)}
.pt a:hover h3{color:var(--fir)}
.pt a:hover .pt-cta .ic{transform:translate(3px,-1px)}
.pt-note{display:block;font-size:.85rem;color:var(--graphite);margin:-10px 0 14px}
.pt-ph{max-width:var(--max);margin:36px auto 0;padding:0 var(--pad);font-size:.88rem;color:var(--graphite)}

/* doctor spread */
.doc{padding:clamp(88px,11vw,168px) 0}
.doc-grid{align-items:center}
.doc-fig{grid-column:1/6;margin:0;aspect-ratio:4/5;position:relative}
.doc-fig .ph{position:absolute;inset:0}
.doc-fig picture,.doc-fig img{width:100%;height:100%}
.doc-fig img{object-fit:cover;object-position:50% 20%}
.doc-txt{grid-column:7/13}
.doc-txt h2{font-size:clamp(2rem,3vw,3rem);line-height:1.1;margin-bottom:8px}
.doc-role{color:var(--graphite);margin-bottom:36px}
.pull-sm{border-left:2px solid var(--fir);padding-left:28px;margin:0 0 32px}
.pull-sm p{font:300 clamp(1.5rem,2.1vw,2.05rem)/1.28 var(--serif);font-style:italic;margin-bottom:.6em}
.pull-sm footer{font:600 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.doc-txt>p:not(.label):not(.doc-role){color:var(--graphite);max-width:34em}

/* skin check */
.check{background:var(--linen);padding:clamp(88px,11vw,160px) 0}
.chk-txt{grid-column:1/7}
.chk-txt h2{font-size:clamp(2.1rem,3.3vw,3.3rem);line-height:1.08;margin-bottom:24px}
.lede{color:var(--graphite);max-width:34em;margin-bottom:44px}
.abc{list-style:none;margin:0 0 48px;padding:0;border-top:1px solid var(--rule)}
.abc li{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:22px 0;border-bottom:1px solid var(--rule)}
.abc-l{font:300 2.6rem/1 var(--serif);color:var(--fir)}
.abc h3{font-size:1.45rem;line-height:1.2;margin-bottom:4px}
.abc p{margin:0;color:var(--graphite)}
.when{background:var(--paper);padding:32px 34px;margin-bottom:24px}
.when h3{font-size:1.6rem;margin-bottom:10px}
.when p{color:var(--graphite)}
.when-cta{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:20px}
.note{font-size:.88rem;color:var(--graphite)}
.chk-fig{grid-column:8/13;margin:0;position:sticky;top:calc(var(--hh) + 40px);align-self:start;height:calc(100vh - var(--hh) - 80px);max-height:900px}
.chk-fig .ph{position:absolute;inset:0 0 28px}
.chk-fig picture,.chk-fig img{width:100%;height:100%}
.chk-fig img{object-fit:cover;object-position:60% 40%}
.chk-fig figcaption{position:absolute;bottom:0;left:0}

/* treat */
.treat{padding:clamp(88px,10vw,150px) 0}
.tr-head{grid-column:1/5}
.tr-head h2{font-size:clamp(2.1rem,3.2vw,3.2rem);line-height:1.08;margin-bottom:22px}
.tr-head p{color:var(--graphite)}
.tr-list{grid-column:6/13;list-style:none;margin:0;padding:0;columns:3;column-gap:32px;border-top:1px solid var(--rule)}
.tr-list li{break-inside:avoid;border-bottom:1px solid var(--rule)}
.tr-list a{display:block;padding:14px 0;text-decoration:none;font:400 1.2rem/1.3 var(--serif);transition:color .3s var(--e),padding .4s var(--e)}
.tr-list a:hover{color:var(--fir);padding-left:6px}

/* providers */
.providers{padding:0 0 clamp(96px,11vw,168px)}
.pv-head{margin-bottom:56px;padding-top:clamp(24px,3vw,40px)}
.pv-head .label{grid-column:1/4;padding-top:.8rem}
.pv-head h2{grid-column:4/12;font-size:clamp(2rem,3vw,3rem);line-height:1.12;text-wrap:balance}
.pv-grid{list-style:none;margin:0 auto;padding:0 var(--pad);max-width:var(--max);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 24px}
.pv a{text-decoration:none;display:block}
.pv-ph{aspect-ratio:4/5;overflow:hidden;background:var(--linen);margin-bottom:18px}
.pv-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform 1.2s var(--e)}
.pv a:hover img{transform:scale(1.03)}
.pv h3{font-size:1.45rem;line-height:1.2;margin-bottom:2px}
.pv p{color:var(--graphite);margin:0;font-size:1rem}

/* offices */
.offices{background:var(--paper);padding:clamp(88px,10vw,150px) 0}
.off-l{grid-column:1/6}
.off-l h2{font-size:clamp(2.1rem,3.2vw,3.2rem);line-height:1.08;margin-bottom:40px;text-wrap:balance}
.ard{margin:0 0 28px;position:relative}
.ard .ph{aspect-ratio:3/2}
.ard picture,.ard img{width:100%;height:100%}
.ard img{object-fit:cover}
.ard figcaption{font-size:.9rem;color:var(--graphite);margin-top:12px}
.off-note{color:var(--graphite);max-width:30em}
.olist{grid-column:7/13;list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.office{display:grid;grid-template-columns:1fr auto;gap:16px 24px;padding:28px 0;border-bottom:1px solid var(--rule)}
.office h3{font-size:2rem;line-height:1.1;margin-bottom:8px}
.o-a p{color:var(--graphite);margin-bottom:8px;font-size:1.05rem}
.o-dir{font-size:.95rem;font-weight:600;color:var(--fir)}
.o-b{text-align:right}
.o-tel{display:inline-block;font:400 1.75rem/1.1 var(--serif);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px;margin-bottom:10px;transition:color .3s var(--e),border-color .3s var(--e)}
.o-tel:hover{color:var(--fir);border-color:var(--fir)}
.o-tel .ic{width:.62em;height:.62em;color:var(--fir);margin-right:.32em;vertical-align:.02em;stroke-width:1.5}
.o-today{font-size:.95rem;margin:0 0 6px;color:var(--graphite)}
.o-today.open{color:var(--fir);font-weight:600}
.o-today.open::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--fir);margin-right:8px;vertical-align:2px}
.o-week summary{cursor:pointer;font-size:.92rem;color:var(--graphite);list-style:none}
.o-week summary::-webkit-details-marker{display:none}
.o-week summary::after{content:"+";margin-left:6px}
.o-week[open] summary::after{content:"–"}
.o-week ul{list-style:none;margin:10px 0 0;padding:0;font-size:.95rem}
.o-week li{display:flex;justify-content:flex-end;gap:16px;color:var(--graphite)}
.o-week li span:first-child{width:3em;text-align:left}
.o-week li.today{color:var(--ink);font-weight:600}

/* final */
.final{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);background:var(--ink);color:var(--paper)}
.fin-fig{margin:0;position:relative;min-height:min(92vh,880px)}
.fin-fig .ph{position:absolute;inset:0}
.fin-fig picture,.fin-fig img{width:100%;height:100%}
.fin-fig img{object-fit:cover;object-position:50% 40%}
.fin-fig figcaption{position:absolute;left:16px;bottom:12px}
.fin-fig .credit{color:rgba(255,255,255,.85)}
.fin-txt{align-self:center;padding:72px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) 72px clamp(40px,6vw,104px)}
.final .label{color:var(--ondark)}
.fin-txt h2{font-size:clamp(2.2rem,3.6vw,3.6rem);line-height:1.08;margin-bottom:24px;max-width:13em;text-wrap:balance}
.fin-txt>p{color:var(--ondark);max-width:30em}
.fin-cta{display:flex;flex-wrap:wrap;gap:14px;margin:36px 0}
.final .btn-solid{background:var(--paper);color:var(--ink)}
.final .btn-solid:hover{background:#fff}
.final .btn-line{color:var(--paper)}
.final .btn-line:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.fin-small{font-size:.95rem}
.fin-small a{color:var(--paper)}
.final :focus-visible{outline-color:var(--paper)}

/* footer */
.foot{background:var(--ink);color:var(--paper);border-top:1px solid #36403C;padding:72px 0 calc(40px + env(safe-area-inset-bottom))}
.foot .label{color:var(--ondark)}
.foot-grid{row-gap:40px}
.f-brand{grid-column:1/6}
.wm-lg{font-size:2rem;display:inline-block;margin-bottom:14px}
.f-brand p{color:var(--ondark)}
.f-col{grid-column:span 3}
.f-col ul{list-style:none;margin:0;padding:0}
.f-col li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #36403C;font-size:1rem}
.f-col li span{color:var(--ondark)}
.f-col a{text-decoration:none}
.f-col a:hover{text-decoration:underline}
.f-links li{display:block}
.ph-note{font-size:.85rem}
.foot-base{width:calc(100% - 2*var(--pad));max-width:calc(var(--max) - 2*var(--pad));margin:56px auto 0;padding:24px 0 0;border-top:1px solid #36403C;font-size:.85rem;color:var(--ondark)}
.foot-base p{max-width:70em}
.preview-note{margin:0;opacity:.9}
.foot :focus-visible{outline-color:var(--paper)}

.mbar{display:none}
.nw{white-space:nowrap}
@media (max-width:520px){.hide-s{display:none}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
 .nav{display:none}
 .hdr-act{margin-left:auto}
 .menu-btn{display:inline-flex}
 .hero-cities{grid-template-columns:repeat(2,1fr)}
 .util-l{display:none}
 .util-in{justify-content:flex-end}
}
@media (max-width:899px){
 :root{--hh:64px;--uh:0px}
 .util{display:none}
 .dsurg{grid-template-columns:1fr;padding-top:0}
 .ds-fig{aspect-ratio:4/3;margin-bottom:40px}
 .ds-fig figcaption{left:var(--pad)}
 .ds-txt{padding:0 var(--pad)}
 .ds-list div{grid-template-columns:1fr;gap:2px}
 .pt-list{grid-template-columns:1fr;margin-top:36px}
 .pt h3{font-size:1.5rem}
 body{font-size:1.125rem}
 .hdr-call,.hdr .btn,.hdr .booking-ph{display:none}
 .wm{font-size:1.35rem}
 .hero{grid-template-columns:1fr;min-height:0}
 .hero-fig{order:-1;height:46vh;min-height:300px}
 .care-pin{grid-template-columns:1fr}
 .hero-txt{padding:30px var(--pad) 48px}
 .hero h1{font-size:clamp(2.35rem,10vw,3rem)}
 .hero-cta{gap:22px;margin-bottom:40px}
 .grid{display:block}
 .bleed{height:56vh;min-height:320px}
 .col-label{padding:0}
 .mis-body{columns:1;margin-top:8px}
 .care-txt{padding:72px var(--pad)}
 .ch-fig{margin-top:24px}
 .ch-fig img{aspect-ratio:4/5;object-fit:cover;width:100%}
 .doc-fig{margin-bottom:40px}
 .chk-fig{position:relative;top:0;height:auto;aspect-ratio:4/5;margin-top:48px}
 .when{padding:26px 22px}
 .tr-head{margin-bottom:36px}
 .tr-list{columns:2;column-gap:20px}
 .tr-list a{font-size:1.1rem}
 .pv-head h2{margin-top:-4px}
 .pv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px}
 .pv h3{font-size:1.2rem}
 .pv p{font-size:.95rem}
 .ard{margin-bottom:20px}
 .off-note{margin-bottom:36px}
 .office{grid-template-columns:1fr;gap:10px}
 .o-b{text-align:left}
 .o-week li{justify-content:flex-start}
 .final{grid-template-columns:1fr}
 .fin-fig{min-height:0;aspect-ratio:4/5}
 .fin-txt{padding:56px var(--pad) 64px}
 .foot{padding-bottom:calc(168px + env(safe-area-inset-bottom))}
 .f-brand{margin-bottom:32px}
 .f-col{margin-bottom:32px}
 .mbar{display:flex;flex-wrap:wrap;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(246,242,236,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--rule)}
 .mbar>*{flex:1}
 .mbar .btn{width:100%;min-height:52px}.mbar .booking-ph{flex:1 0 100%;display:block;text-align:center;margin:8px 0 0;max-width:none}
 .mcall{position:relative}
 .mcall summary{list-style:none}
 .mcall summary::-webkit-details-marker{display:none}
 .mcall ul{position:absolute;left:0;bottom:calc(100% + 10px);width:calc(200% + 10px);list-style:none;margin:0;padding:8px 18px;background:var(--paper);border:1px solid var(--rule);box-shadow:0 18px 40px rgba(29,36,34,.14)}
 .mcall li a{display:flex;justify-content:space-between;padding:14px 0;text-decoration:none;border-bottom:1px solid var(--rule)}
 .mcall li:last-child a{border-bottom:0}
 .mcall b{color:var(--fir)}
}


/* ================= multi-page templates ================= */
.tbc{background:#E9E1C9;color:#4A3F1E;padding:0 .3em;border-radius:3px;font-size:.92em}.booking-ph{display:inline-block;margin:.4rem .4rem .4rem 0;max-width:40em;font-weight:500;line-height:1.35}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 28px;padding:0;font-size:.88rem;color:var(--graphite)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--rule)}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.phero{padding:clamp(56px,7vw,104px) 0 clamp(48px,6vw,88px);border-bottom:1px solid var(--rule)}
.phero-in{grid-column:1/10}
.phero h1{font-size:clamp(2.4rem,4vw,4rem);line-height:1.06;font-weight:380;margin-bottom:22px;text-wrap:balance}
.phero .lede{font-size:1.2rem;color:var(--graphite);max-width:38em;margin:0}
.phero-img{display:grid;grid-template-columns:minmax(0,50fr) minmax(0,50fr);padding:0;min-height:min(78vh,760px);border-bottom:0}
.phero-txt{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(24px,4.5vw,80px) 56px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.phero-fig{margin:0;position:relative;overflow:hidden}
.phero-fig .ph{position:absolute;inset:0}
.phero-fig picture,.phero-fig img{width:100%;height:100%}.phero-fig img{object-fit:cover}
.phero-fig figcaption{position:absolute;right:16px;bottom:12px}.phero-fig .credit{color:rgba(255,255,255,.88);text-shadow:0 1px 2px rgba(0,0,0,.4)}
.phero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
.nf-links{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:16px 32px}
/* article */
.art{padding:clamp(56px,7vw,104px) 0 clamp(72px,8vw,120px)}
.art-grid{align-items:start}
.prose{grid-column:1/8;max-width:40em}
.art-side{grid-column:9/13;position:sticky;top:calc(var(--hh) + 32px);display:grid;gap:28px}
.prose>*:first-child{margin-top:0}
.prose img{width:100%;height:auto;display:block;margin:1.4em 0}
.prose h2{font-size:clamp(1.7rem,2.3vw,2.2rem);line-height:1.15;margin:2.2em 0 .6em;scroll-margin-top:calc(var(--hh) + 24px)}
.prose h3{font-size:1.4rem;line-height:1.2;margin:1.6em 0 .4em}
.prose p,.prose li,.prose dd{color:#3C4441}
.prose a{color:var(--fir);text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin:.35em 0}
.prose ul.chk{list-style:none;padding:0}
.prose ul.chk li{position:relative;padding-left:1.6em}
.prose ul.chk li::before{content:"";position:absolute;left:0;top:.62em;width:.7em;height:1px;background:var(--fir)}
.prose .grid,.prose .two,.prose .callouts,.prose .np-steps,.prose .svc-grid,.prose .cond-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15em,1fr));gap:20px;padding:0;max-width:none;margin:1.4em 0}
.prose .card,.prose .callout,.prose .np-step{border-top:1px solid var(--ink);padding:18px 0 4px;background:none}
.prose .card h2,.prose .card h3,.prose .callout h2,.prose .callout h3,.prose .np-step h3{margin-top:0;font-size:1.3rem}
.prose .callout.urgent{border-top-color:var(--fir)}
.prose .tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.prose .tags li{margin:0;border:1px solid var(--rule);padding:4px 12px;border-radius:999px;font-size:.95rem}
.prose .tags a{text-decoration:none;color:var(--ink)}
.prose .proc-facts{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;margin:1.4em 0}
.prose .proc-facts span{display:block;font:600 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin-bottom:4px}
.prose .proc-facts p{margin:0}
.prose .cond-note,.prose .demo-note,.prose .hint{font-size:.9rem;color:var(--graphite)}
.prose .acc{border-top:1px solid var(--rule);margin:1em 0}
.prose details{border-bottom:1px solid var(--rule)}
.prose summary{cursor:pointer;list-style:none;padding:16px 32px 16px 0;position:relative;font:400 1.25rem/1.3 var(--serif)}
.prose summary::-webkit-details-marker{display:none}
.prose summary::after{content:"+";position:absolute;right:4px;top:14px;font:300 1.4rem/1 var(--sans);color:var(--fir)}
.prose details[open] summary::after{content:"–"}
.prose .acc-body{padding:0 0 18px;color:#3C4441}
.prose table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.95rem}
.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;padding:8px 10px 8px 0}
.prose caption{text-align:left;font-weight:600;margin-bottom:6px}
.prose .bodymap{max-width:420px;width:100%;height:auto;margin:1em 0}
.prose .abcde{list-style:none;padding:0}
.prose blockquote{margin:1.4em 0;border-left:2px solid var(--fir);padding-left:22px;font:300 1.4rem/1.35 var(--serif);font-style:italic}
.toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.toc li{border-bottom:1px solid var(--rule)}
.toc a{display:block;padding:9px 0;text-decoration:none;font-size:.98rem}
.toc a:hover{color:var(--fir)}
.side-card{background:var(--linen);padding:26px 26px 28px}
.side-card p:not(.label){color:var(--graphite);font-size:1rem}
.side-card ul,.side-rel ul{list-style:none;margin:0 0 20px;padding:0}
.side-card li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--rule);font-size:1rem}
.side-card li a{font-weight:600;text-decoration:none;color:var(--fir)}
.side-card .btn{width:100%}
.side-rel li{padding:7px 0;border-bottom:1px solid var(--rule);font-size:1rem}
.side-rel a{text-decoration:none}.side-rel a:hover{color:var(--fir)}
.facts{margin:0 0 1.4em;border-top:1px solid var(--rule)}
.facts div{display:grid;grid-template-columns:11em 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--rule)}
.facts dt{font-weight:600}.facts dd{margin:0;color:#3C4441}
.facts-sm{max-width:34em;margin-top:8px}.facts-sm div{grid-template-columns:9em 1fr;font-size:1rem}
/* closing band */
.closing{background:var(--ink);color:var(--paper);padding:clamp(72px,8vw,120px) 0}
.closing .label{color:var(--ondark)}
.cl-txt{grid-column:1/7}
.cl-txt h2{font-size:clamp(2rem,3vw,3rem);line-height:1.1;margin-bottom:16px}
.cl-txt>p{color:var(--ondark);max-width:32em}
.cl-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:28px}
.closing .btn-solid{background:var(--paper);color:var(--ink)}.closing .btn-solid:hover{background:#fff}
.closing .link-arrow{color:var(--paper)}
.cl-phones{grid-column:8/13;list-style:none;margin:0;padding:0;align-self:center;border-top:1px solid #36403C}
.cl-phones a{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid #36403C;text-decoration:none;font:400 1.5rem/1 var(--serif)}
.cl-phones span{flex:1;font:400 1rem/1 var(--sans);color:var(--ondark)}
.cl-phones .ic{width:16px;height:16px;color:var(--ondark)}
.cl-phones a:hover{color:#fff}
.closing :focus-visible{outline-color:var(--paper)}
.closing + .foot{border-top:1px solid #36403C}
/* services */
.svc-sec{padding:clamp(56px,7vw,104px) 0 clamp(72px,8vw,120px)}
.grid-list{list-style:none;margin:0 auto;padding:0 var(--pad);max-width:var(--max);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 28px}
.svc a{display:block;text-decoration:none}
.svc-ph{aspect-ratio:4/3;overflow:hidden;margin-bottom:20px;background:var(--linen)}
.svc-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}
.svc a:hover img{transform:scale(1.03)}
.svc h2{font-size:1.7rem;line-height:1.15;margin-bottom:8px}
.svc p{color:var(--graphite);margin-bottom:14px}
.procs{margin-top:clamp(72px,8vw,120px);padding-top:48px;position:relative}
.procs::before{content:"";position:absolute;top:0;left:var(--pad);right:var(--pad);border-top:1px solid var(--rule)}
.procs-h{grid-column:1/5}.procs-h h2{font-size:clamp(1.8rem,2.6vw,2.6rem);line-height:1.12}
.proc-list{grid-column:6/13;list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.proc-list a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--rule);text-decoration:none;font:400 1.4rem/1.2 var(--serif)}
.proc-list a:hover{color:var(--fir)}
.procs-p{grid-column:6/13;color:var(--graphite);font-size:1.15rem}
.procs-p .link-arrow{margin-left:6px}
/* providers */
.pv-sec{padding:clamp(56px,7vw,104px) 0 clamp(72px,8vw,120px)}
.pv-grid.pv-all{grid-template-columns:repeat(4,minmax(0,1fr))}
.pv-all .pv-lg{grid-column:span 2}
.pv-all h2{font-size:1.45rem;line-height:1.2;margin-bottom:2px}
.pv-more{max-width:var(--max);margin:48px auto 0;padding:0 var(--pad)}
.bio-hero{padding:clamp(48px,6vw,88px) 0;border-bottom:1px solid var(--rule)}
.bio-grid{align-items:center}
.bio-fig{grid-column:1/6;margin:0;aspect-ratio:4/5;position:relative;background:var(--linen)}
.bio-fig .ph{position:absolute;inset:0}.bio-fig picture,.bio-fig img{width:100%;height:100%}
.bio-fig img{object-fit:cover;object-position:50% 0}
.bio-txt{grid-column:7/13}
.bio-txt h1{font-size:clamp(2.3rem,3.6vw,3.6rem);line-height:1.06;margin-bottom:24px}
/* locations */
.loc-sec{padding:clamp(56px,7vw,104px) 0 clamp(72px,8vw,120px)}
.loc-grid{list-style:none;margin:0 auto;padding:0 var(--pad);max-width:var(--max);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px}
.loc-fig{margin:0}.loc-fig .ph{aspect-ratio:3/2}.loc-fig picture,.loc-fig img{width:100%;height:100%}.loc-fig img{object-fit:cover}
.loc-fig figcaption{font-size:.9rem;color:var(--graphite);margin-top:10px}
.loc-card .loc-b{padding-top:22px}
.loc-card h2{font-size:2rem;margin-bottom:6px}.loc-card h2 a{text-decoration:none}
.loc-card p{color:var(--graphite);margin-bottom:12px}
.loc-links{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin-top:14px}
.loc-note{max-width:var(--max);margin:56px auto 0;padding:0 var(--pad);color:var(--graphite)}
.loc-hero{padding:clamp(48px,6vw,88px) 0;border-bottom:1px solid var(--rule)}
.loc-hgrid{align-items:center}
.loc-htxt{grid-column:1/6}.loc-hmedia{grid-column:7/13}
.loc-htxt h1{font-size:clamp(2.3rem,3.6vw,3.6rem);line-height:1.06;margin-bottom:18px}
.loc-addr{font-size:1.2rem;color:var(--graphite)}
.o-tel-lg{font-size:2.3rem}
.loc-fax{font-size:.95rem;color:var(--graphite);margin-bottom:4px}
.loc-ds{margin-top:24px;font-size:1rem;color:var(--graphite)}.loc-ds a{color:var(--fir)}
.hours-tbl{list-style:none;padding:0!important;max-width:24em;border-top:1px solid var(--rule)}
.hours-tbl li{display:flex;justify-content:space-between;padding:9px 0!important;margin:0!important;border-bottom:1px solid var(--rule)}
.hours-tbl li.today{font-weight:600;color:var(--ink)}
/* patients */
.pt-big{padding:clamp(56px,7vw,96px) 0}
.pt-big-grid{row-gap:24px}
.ptb{grid-column:span 6;display:flex;flex-direction:column;align-items:flex-start;padding:40px 40px 44px;background:var(--linen);text-decoration:none;border-top:2px solid var(--fir);transition:background-color .4s var(--e)}
.ptb:hover{background:#E6DED1}
.ptb h2{font-size:clamp(1.9rem,2.6vw,2.5rem);line-height:1.1;margin-bottom:12px}
.ptb p:not(.label){color:var(--graphite);max-width:30em;flex:1}
.ptb .btn{margin-top:10px;pointer-events:none}
.pt-hub{background:var(--paper)}
/* conditions */
.cond-sec{padding:clamp(56px,7vw,96px) 0 clamp(72px,8vw,120px)}
.cond-idx{list-style:none;margin:0 auto;padding:0 var(--pad);max-width:var(--max);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px}
.cond-idx a{display:block;padding:22px 0 24px;border-top:1px solid var(--rule);text-decoration:none;height:100%}
.cond-idx h2{font-size:1.45rem;margin-bottom:6px}
.cond-idx p{color:var(--graphite);font-size:1rem;margin:0}
.cond-idx a:hover h2{color:var(--fir)}
/* contact */
.contact{padding:clamp(56px,7vw,96px) 0 clamp(72px,8vw,120px)}
.c-form{grid-column:1/7}.c-side{grid-column:8/13}
.c-form h2{font-size:2.2rem;margin-bottom:16px}
.demo-banner{background:#E9E1C9;color:#3d3416;padding:12px 16px;font-size:.98rem}
.demo-banner .tbc{background:none;padding:0}
.req .field{margin:0 0 18px;border:0;padding:0}
.req label,.req legend{display:block;font-weight:600;font-size:1rem;margin-bottom:6px}
.req label.inline{display:inline-flex;gap:8px;align-items:center;font-weight:400;margin-right:20px}
.req input:not([type=radio]):not([type=checkbox]),.req select,.req textarea{width:100%;min-height:50px;padding:10px 14px;border:1px solid #BFB5A6;background:#fff;font:400 1.05rem var(--sans);color:var(--ink);border-radius:2px}
.req input:focus,.req select:focus{outline:2px solid var(--fir);outline-offset:1px;border-color:var(--fir)}
.req [aria-invalid=true]{border-color:#9B3B2E}
.req .err{color:#8C3427;font-size:.92rem;margin:6px 0 0}
.req .hp{position:absolute;left:-9999px}
.req .req-legend,.req .hint,.form-note{font-size:.92rem;color:var(--graphite)}
.req button,.req [type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 1.8em;border-radius:999px;background:var(--fir);color:#fff;border:0;font:600 1.05rem var(--sans);cursor:pointer}
.form-msg{padding:12px 16px;background:var(--linen);border-left:2px solid var(--fir)}
.c-offs{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.c-off{padding:20px 0;border-bottom:1px solid var(--rule)}
.c-off h3{font-size:1.6rem;margin-bottom:4px}.c-off h3 a{text-decoration:none}
.c-off p{color:var(--graphite);margin-bottom:8px;font-size:1rem}
.c-mail{margin-top:20px}.c-mail a{color:var(--fir)}
.foot-3 .f-brand{grid-column:1/4}
.f-mail a,.f-legal a{color:var(--paper)}
.f-legal{margin-bottom:14px}
.f-col .f-city{color:var(--ondark)}
@media (max-width:1180px){.pv-grid.pv-all{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-all .pv-lg{grid-column:span 1}.grid-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:899px){
 .phero-img{grid-template-columns:1fr;min-height:0}
 .phero-fig{order:-1;aspect-ratio:4/3}
 .phero-txt{padding:36px var(--pad) 44px}
 .phero h1{font-size:clamp(2.2rem,9vw,2.8rem)}
 .art-side{position:static;margin-top:56px}
 .prose{max-width:none}
 .facts div{grid-template-columns:1fr;gap:2px}
 .cl-phones{margin-top:40px}
 .grid-list{grid-template-columns:1fr;gap:44px}
 .procs-h{margin-bottom:24px}
 .pv-grid.pv-all{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bio-fig{margin-bottom:32px}
 .loc-grid{grid-template-columns:1fr;gap:56px}
 .loc-hmedia{margin-top:36px}
 .o-tel-lg{font-size:2rem}
 .ptb{padding:30px 24px 32px}
 .cond-idx{grid-template-columns:1fr}
 .c-side{margin-top:56px}
 .crumbs ol{margin-bottom:20px}
}

/* focus areas */
.focus{padding:clamp(80px,9vw,140px) 0;background:var(--paper);border-top:1px solid var(--rule)}
.focus-grid{row-gap:48px}
.focus-head{grid-column:1/5}
.focus-head h2{font-size:clamp(2.1rem,3.2vw,3.2rem);line-height:1.08;margin-bottom:20px}
.focus-head p:not(.label){color:var(--graphite)}
.focus-list{grid-column:6/13;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 32px}
.fc{border-top:1px solid var(--ink);padding-top:18px}
.fc-n{font:600 .78rem/1 var(--sans);letter-spacing:.14em;color:var(--fir);margin-bottom:14px}
.fc h3{font-size:1.75rem;line-height:1.15;margin-bottom:10px}
.fc h3 a{text-decoration:none}.fc h3 a:hover{color:var(--fir)}
.fc p:not(.fc-n){color:var(--graphite);margin-bottom:14px}
.fc-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.svc-ph-txt{display:flex;align-items:flex-end;padding:24px;background:linear-gradient(135deg,var(--linen),#E3DBCD);border:1px solid var(--rule)}
.svc-ph-txt span{font:300 clamp(1.9rem,2.6vw,2.6rem)/1.05 var(--serif);color:var(--fir)}
.sources{margin-top:2.4em;padding-top:14px;border-top:1px solid var(--rule);font-size:.88rem;color:var(--graphite);line-height:1.6}
.sources-l{display:block;font:600 .74rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.prose .sources a{color:var(--graphite)}
.pv-rot{max-width:var(--max);margin:0 auto 48px;padding:0 var(--pad);color:var(--graphite);font-size:1.05rem}
.pv-rot a{color:var(--fir);white-space:nowrap}
@media (max-width:899px){.focus-list{grid-template-columns:1fr;gap:36px;margin-top:36px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.op-40-50{object-position:40% 50%}.op-40-55{object-position:40% 55%}.op-50-25{object-position:50% 25%}.op-50-28{object-position:50% 28%}.op-50-30{object-position:50% 30%}.op-50-40{object-position:50% 40%}.op-60-40{object-position:60% 40%}.dly-0{--d:0ms}.dly-70{--d:70ms}.dly-140{--d:140ms}.dly-210{--d:210ms}.dly-280{--d:280ms}.dly-350{--d:350ms}/* First screen paints immediately. Below-the-fold reveals are unchanged. */.motion .hero .rv,.motion .phero .rv,.motion .bio-hero .rv,.motion .loc-hero .rv{opacity:1;transform:none;transition:none}.motion .hero .rv-lines .ln>span{transform:none;transition:none}.motion .hero .reveal-img .ph,.motion .phero-img .reveal-img .ph,.motion .bio-hero .reveal-img .ph,.motion .loc-hero .reveal-img .ph{clip-path:none;transition:none}.motion .hero .reveal-img picture,.motion .phero-img .reveal-img picture,.motion .bio-hero .reveal-img picture,.motion .loc-hero .reveal-img picture{transform:none;transition:none}
@media (min-width:900px){:root{--hh:128px}}
.si-0{--i:0}.si-1{--i:1}.si-2{--i:2}.si-3{--i:3}.si-4{--i:4}
html body .hx-near{display:none!important}
@media (max-width:767px){
html body .hx .hx-act{display:none!important}
html body .hx .hx-near{display:block!important;margin:0!important}
html body .hx .hx-near a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#1C1C1C!important;font-size:16px;font-weight:500;text-decoration:underline!important;text-decoration-color:rgba(28,28,28,.35)!important;text-decoration-thickness:1px;text-underline-offset:4px}
html body .hx .hx-near a:hover,html body .hx .hx-near a:focus-visible{text-decoration-color:#CD9933!important}
html body .hx .hx-sub{margin:0 0 4px!important}
html body .hx>.hx-in{padding-bottom:12px!important}
}
@media (max-width:767px){html body .hx .hx-near a{border:0!important;box-shadow:none!important;background-image:none!important;padding:0!important}html body .hx .hx-near a::after,html body .hx .hx-near a::before{display:none!important}}
