/* Page components — ivory-led layout with charcoal heroes, champagne banner and ivory cards (per the mockup) */
.sec{padding:clamp(64px,8vw,112px) 0}.sec.ivory{background:var(--ivory)}.sec.ivory2{background:var(--ivory2)}.sec.dark{background:var(--ink2);color:#fff}.sec.dark h2,.sec.dark h3{color:#fff}
.sec h2{margin-bottom:20px}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end;margin:0 0 40px}.sec-head h2{margin:0}.sec-head p{margin:0;color:var(--muted);max-width:520px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}.split.top{align-items:start}
.split figure,.story-tz figure{margin:0}.split figure img{width:100%;max-height:560px;object-fit:cover}.split figcaption{font-size:14.5px;color:var(--muted);padding-top:10px}.dark figcaption{color:#a9b6b6}
/* home hero */
.hero{position:relative;min-height:min(86vh,840px);display:flex;align-items:center;background:var(--ink);color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0}.hero-img{width:100%;height:100%;object-fit:cover;object-position:right center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,21,23,.95) 0%,rgba(17,21,23,.8) 38%,rgba(17,21,23,.08) 72%),linear-gradient(0deg,rgba(17,21,23,.5),transparent 40%)}
.hero-in{position:relative;z-index:2;padding-block:72px}.hero h1{max-width:760px;margin:6px 0 24px}
.strap{font:italic 400 clamp(22px,2.6vw,32px)/1.25 var(--serif);color:var(--gold);margin:0 0 24px}
.hero-text{max-width:520px;font-size:18px;line-height:1.75;color:var(--on-dark);margin-bottom:30px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.cred{background:var(--ink);color:#fff;border-top:1px solid rgba(214,183,122,.35)}.cred ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.cred li{padding:26px 24px;display:flex;flex-direction:column;gap:4px;border-left:1px solid rgba(214,183,122,.22)}.cred li:first-child{border-left:0;padding-left:0}
.cred strong{font:500 clamp(24px,2.4vw,32px)/1.1 var(--serif);color:var(--gold)}.cred span{font-size:15.5px;line-height:1.4;color:#d8dfdd}
/* why / principles */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border-top:1px solid var(--line)}.dark .why{border-color:rgba(255,255,255,.18)}
.why-c{padding:30px 32px 10px 0}.why-c+.why-c{padding-left:32px;border-left:1px solid var(--line)}.dark .why-c+.why-c{border-color:rgba(255,255,255,.18)}
.why-n{font:400 16px var(--serif);letter-spacing:.16em;color:var(--teal);display:block;margin-bottom:12px}.dark .why-n{color:var(--gold)}
.why-c h3{margin-bottom:10px}.why-c p{color:var(--muted);margin:0}.dark .why-c p{color:var(--on-dark)}
/* marquee of expertise cards */
.exp-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:34px}.exp-head .lead{margin:0}
.expertise-marquees{display:flex;flex-direction:column;gap:18px}
.marquee{overflow:hidden;padding:10px 0 6px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.m-track{display:flex;gap:20px;width:max-content;margin:0;padding:0;list-style:none;animation:marq-left var(--dur,60s) linear infinite}.marquee:hover .m-track,.marquee:focus-within .m-track{animation-play-state:paused}
.m-track-reverse{animation-name:marq-right}
.m-track li{flex:0 0 270px}@keyframes marq-left{to{transform:translateX(calc(-50% - 10px))}}@keyframes marq-right{from{transform:translateX(calc(-50% - 10px))}to{transform:translateX(0)}}
.ccard{display:flex;flex-direction:column;height:100%;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:2px;overflow:hidden;box-shadow:0 2px 10px rgba(17,21,23,.06);transition:transform .35s,box-shadow .35s}.ccard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(17,21,23,.16)}
.cc-media{height:150px;background:linear-gradient(135deg,#171B1C,#2c3336);display:grid;place-items:center;overflow:hidden}.cc-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.ccard:hover .cc-media img{transform:scale(1.06)}
.cc-glyph{font:400 56px var(--serif);color:var(--gold)}
.cc-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px;flex:1}.cc-no{font:400 14px var(--serif);letter-spacing:.16em;color:var(--teal)}.ccard h3{font-size:22px}.ccard p{font-size:15.5px;line-height:1.6;color:var(--muted);margin:0 0 6px;flex:1}.ccard .link{align-self:flex-start;font-size:15px}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.story-tz{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,88px);align-items:center}.story-tz img{width:100%;max-height:640px;object-fit:cover;object-position:top}.story-tz p{color:var(--muted)}.story-tz .btn{margin-top:10px}
.banner{position:relative;background:var(--ink);color:#fff;text-align:center;padding:clamp(64px,9vw,120px) 0;overflow:hidden}.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}.banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,21,23,.55),rgba(17,21,23,.35))}.banner .wrap{position:relative;z-index:1}.banner h2{color:#fff;margin:0 0 10px}.banner p{margin:0;font:italic 400 clamp(18px,2vw,24px) var(--serif);color:var(--gold2)}
.loc-mini{list-style:none;padding:0;margin:26px 0 30px;border-top:1px solid var(--line)}.loc-mini li{display:flex;flex-direction:column;padding:16px 0;border-bottom:1px solid var(--line)}.loc-mini strong{font:500 24px var(--serif)}.loc-mini span{font-size:16px;color:var(--muted)}
/* champagne closing banner */
.closing{background:var(--tint);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:clamp(40px,5vw,64px) 0}
.closing-in{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.closing h2{font-size:clamp(26px,3vw,38px);margin:0 0 8px}.closing p{margin:0;color:#4b5256;font-size:17px;max-width:560px}
/* page hero: light (default) or photo */
.phero{position:relative;overflow:hidden;padding:clamp(52px,6.5vw,92px) 0 clamp(48px,6vw,80px)}
.phero.light{background:var(--ivory);color:var(--ink);border-bottom:1px solid var(--line)}
.phero.light::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold),transparent 40%)}
.phero.photo{background:var(--ink);color:#fff}.phero.photo .ph-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}.phero.photo::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,21,23,.94) 0%,rgba(17,21,23,.7) 55%,rgba(17,21,23,.35) 100%)}
.phero .wrap{position:relative;z-index:1}.phero h1{max-width:900px;font-size:clamp(34px,4.6vw,60px)}.phero.photo h1{color:#fff}.phero .lead{margin:18px 0 0;max-width:680px}
.crumb{font-size:15px;color:var(--muted);margin-bottom:18px}.crumb a{color:var(--teal);font-weight:600}
.split-hero .sh-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,80px);align-items:center}.split-hero figure{margin:0}.split-hero img{width:100%;max-height:560px;object-fit:cover;object-position:top;border-bottom:4px solid var(--gold)}.split-hero .btn{margin-top:26px}
/* timeline */
.tl{list-style:none;margin:40px 0 0;padding:0;position:relative}.tl::before{content:'';position:absolute;left:200px;top:8px;bottom:8px;width:1px;background:var(--gold)}
.tl li{display:grid;grid-template-columns:200px 1fr;gap:0;padding:0 0 38px;position:relative}.tl li::before{content:'';position:absolute;left:194px;top:8px;width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--ivory)}.ivory2 .tl li::before{box-shadow:0 0 0 5px var(--ivory2)}
.tl-when{font:700 13px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);padding:6px 36px 0 0;text-align:right}.tl li>div{padding-left:40px;max-width:760px}.tl h3{margin-bottom:8px}.tl p{color:var(--muted);margin:0}
/* tables, leadership */
.tbl-wrap{overflow-x:auto;margin-top:30px;border:1px solid var(--line);background:var(--card)}.tbl{width:100%;border-collapse:collapse;min-width:560px}.tbl th,.tbl td{text-align:left;padding:18px 22px;border-bottom:1px solid var(--line);vertical-align:top;font-size:16px}.tbl thead th{background:var(--ink);color:var(--gold);font:700 13px var(--sans);letter-spacing:.14em;text-transform:uppercase}.tbl tbody th{font:500 19px var(--serif)}.tbl tbody tr:last-child>*{border-bottom:0}.tbl td{color:var(--muted)}.tbl a{color:var(--teal);font-weight:700;text-decoration:underline}
.lead-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,80px);align-items:start}.lead-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.lead-list li{padding:24px 0;border-bottom:1px solid var(--line)}.lead-list h3{margin-bottom:6px}.lead-list p{margin:0;color:var(--muted)}
.inst{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:36px}.inst article{border-top:3px solid var(--gold);padding-top:24px}.inst h3{margin-bottom:10px}.inst p{color:var(--on-dark)}
/* gallery */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.flt{font:600 14.5px var(--sans);padding:10px 20px;border:1.5px solid var(--teal-d);background:transparent;color:var(--teal-d);border-radius:99px;cursor:pointer;transition:background .25s,color .25s}.flt:hover{background:var(--card)}.flt.on{background:var(--teal-d);color:#fff}
.gallery{list-style:none;margin:30px 0 0;padding:0;columns:4 240px;column-gap:16px}.g-item{break-inside:avoid;margin:0 0 16px}.g-item[hidden]{display:none}.g-open{display:block;width:100%;padding:0;border:0;background:#000;cursor:zoom-in;overflow:hidden}.g-open img{width:100%;height:auto;transition:transform .8s,opacity .4s}.g-open:hover img{transform:scale(1.05);opacity:.9}.g-item p{font-size:15px;color:var(--muted);margin:8px 0 0;line-height:1.4}
#lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100%;height:100%}#lb::backdrop{background:rgba(8,11,12,.94)}
.lb-in{height:100%;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;padding:20px}.lb-in figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-height:100%;min-width:0}.lb-in img{max-width:100%;max-height:78vh;object-fit:contain}.lb-in figcaption{color:#fff;text-align:center;font-size:16px;max-width:720px}
.lb-x,.lb-n{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:50%;width:48px;height:48px;font-size:28px;line-height:1;cursor:pointer}.lb-x:hover,.lb-n:hover{background:var(--gold);color:var(--ink)}.lb-x{position:fixed;top:18px;right:18px;z-index:2}
/* video */
.vid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px}.vid{margin:0}.vid-btn{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden}.vid-btn img{width:100%;height:100%;object-fit:cover;opacity:.85}.vid iframe{width:100%;aspect-ratio:16/9;border:0}.vid figcaption{padding:10px 0 0;font-weight:600}
.play{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;font-size:24px;padding-left:5px}
.yt-band{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;border:1px solid var(--line);background:var(--card);padding:clamp(24px,3.4vw,44px);border-left:6px solid var(--gold)}.yt-band h2{font-size:clamp(24px,2.8vw,34px);margin-bottom:8px}.yt-band .lead{margin:0}
/* patients + conditions */
.acc-list{max-width:860px;margin-top:30px;border-top:1px solid var(--line)}.acc{border-bottom:1px solid var(--line)}.acc summary{cursor:pointer;list-style:none;padding:22px 48px 22px 0;font:500 21px/1.35 var(--serif);position:relative}.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font:300 30px var(--sans);color:var(--teal)}.acc[open] summary::after{content:'–'}.acc p{margin:0 0 24px;color:var(--muted);max-width:720px}
.cond-layout{display:grid;grid-template-columns:230px 1fr;gap:clamp(28px,5vw,72px);align-items:start}.cs-toc{position:sticky;top:calc(var(--hd) + 24px);display:flex;flex-direction:column;border-left:2px solid var(--line)}.cs-toc a{padding:10px 18px;font-size:16px;font-weight:600;color:var(--muted)}.cs-toc a:hover{color:var(--teal)}
.cs{padding:0 0 40px;margin:0 0 40px;border-bottom:1px solid var(--line)}.cs:last-of-type{border:0}.cs h2{font-size:clamp(26px,2.8vw,36px);margin-bottom:16px}.cs p{max-width:720px;font-size:18px;color:#2c3a40}
.ticks{list-style:none;padding:0;margin:0;max-width:720px}.ticks li{position:relative;padding:11px 0 11px 34px;font-size:17px;border-bottom:1px solid var(--line)}.ticks li::before{content:'';position:absolute;left:2px;top:19px;width:14px;height:8px;border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg)}
.cmedia{margin:0 0 40px}.cmedia img{width:100%;max-width:520px;max-height:420px;object-fit:cover}.cmedia figcaption{font-size:14px;color:var(--muted);padding-top:6px}.small{font-size:15px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.chips a{padding:11px 20px;border:1.5px solid var(--teal-d);color:var(--teal-d);font-weight:600;border-radius:99px;font-size:16px;transition:background .25s,color .25s}.chips a:hover{background:var(--teal-d);color:#fff}
.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:20px}.dev{background:var(--card);border:1px solid var(--line);padding:clamp(24px,3vw,40px);border-top:4px solid var(--gold)}.dev h2{font-size:clamp(24px,2.6vw,32px)}.steps{counter-reset:s;list-style:none;padding:0;margin:20px 0 0}.steps li{counter-increment:s;display:grid;grid-template-columns:42px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-size:17px}.steps li::before{content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--gold);display:grid;place-items:center;font:700 15px var(--sans)}
.mist{margin-top:40px;background:var(--card);border:1px solid var(--line);padding:clamp(24px,3vw,40px);border-top:4px solid var(--gold)}.mist h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:12px}.note{max-width:760px}
/* meet me */
.locs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);margin-top:36px}.loc{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--gold);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:16px}.loc h3{font-size:clamp(24px,2.4vw,32px)}.loc .d{color:var(--muted);margin:-8px 0 0}
.loc dl{margin:0;border-top:1px solid var(--line)}.loc dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.loc dt{font:700 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);padding-top:4px}.loc dd{margin:0}.loc .btn{align-self:flex-start}.map{width:100%;height:260px;border:0}
.cms{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}.cm{flex:1 1 220px;border:1.5px solid var(--teal-d);padding:18px 22px;display:flex;flex-direction:column;transition:background .25s,color .25s}.cm:hover{background:var(--teal-d);color:#fff}.cm strong{font:500 22px var(--serif)}
.steps2{list-style:none;counter-reset:q;padding:0;margin:26px 0 0}.steps2 li{counter-increment:q;position:relative;padding:14px 0 14px 54px;border-top:1px solid var(--line);display:flex;flex-direction:column}.steps2 li::before{content:counter(q);position:absolute;left:0;top:14px;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--teal-d);color:var(--teal-d);display:grid;place-items:center;font:700 15px var(--sans)}.steps2 strong{font:500 20px var(--serif)}.steps2 span{color:var(--muted);font-size:16.5px}
.formcard{background:var(--card);border:1px solid var(--line);color:var(--ink);padding:clamp(24px,3.4vw,44px);border-top:4px solid var(--gold)}
.prose{max-width:760px}.prose h2{font-size:clamp(24px,2.6vw,32px);margin:34px 0 10px}.prose p{font-size:17px;color:#2c3a40}
.center{text-align:center}.narrow{max-width:720px;margin-inline:auto}.page-min{min-height:60vh;display:flex;align-items:center}.page-min .chips{justify-content:center;margin-top:20px}
@media(max-width:1000px){.cgrid{grid-template-columns:repeat(2,1fr)}.cred ul{grid-template-columns:1fr 1fr}.cred li:nth-child(3){border-left:0;padding-left:0}.cred li:nth-child(n+3){border-top:1px solid rgba(214,183,122,.22)}
 .split,.story-tz,.lead-grid,.inst,.dev-grid,.locs,.split-hero .sh-in,.sec-head{grid-template-columns:1fr}.sec-head{gap:14px}.split-hero figure{max-width:440px}.why{grid-template-columns:1fr}.why-c,.why-c+.why-c{padding:24px 0;border-left:0;border-top:1px solid var(--line)}.dark .why-c+.why-c{border-top-color:rgba(255,255,255,.18)}.why-c:first-child{border-top:0}
 .cond-layout{grid-template-columns:1fr}.cs-toc{position:static;flex-direction:row;flex-wrap:wrap;border-left:0;gap:8px 18px;border-bottom:1px solid var(--line);padding-bottom:12px}.cs-toc a{padding:6px 0}
 .hero-img{object-position:70% center}}
@media(max-width:700px){
 .hero{min-height:0;display:block;background:var(--ink,#111517)}
 .hero-media{position:relative;inset:auto;overflow:hidden}
 .hero-img{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain;object-position:center center}
 .hero-shade{background:linear-gradient(0deg,rgba(17,21,23,.18) 0%,rgba(17,21,23,0) 28%)}
 .hero-in{padding:28px 0 48px;margin-top:0;background:var(--ink,#111517)}
 .hero-text{font-size:17px}
 .cgrid{grid-template-columns:1fr}.tl::before{left:7px}.tl li{grid-template-columns:1fr;padding-left:34px}.tl li::before{left:1px}.tl-when{text-align:left;padding:0 0 6px}.tl li>div{padding-left:0}
 .loc dl>div{grid-template-columns:1fr;gap:2px}.gallery{columns:2 140px;column-gap:10px}.g-item{margin-bottom:10px}.lb-in{grid-template-columns:1fr;grid-template-rows:1fr auto;padding:12px}.lb-n{position:fixed;bottom:18px;z-index:2}.lb-prev{left:18px}.lb-next{right:18px}.m-track li{flex-basis:240px}.actions .btn,.closing-in .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.m-track{animation:none}.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}


/* Image framing safeguard: avoid cutting off faces and important clinical imagery. */
.story-tz img, .split figure img { object-position: center top; }
.condition-feature-image { width:100%; height:auto; max-height:560px; object-fit:contain; object-position:center; }
@media (max-width:640px) { .story-tz img, .split figure img { max-height:none; object-fit:contain; } }


/* Mobile hero refinement: preserve the same portrait and fade, with copy layered over the lower part of the image. */
@media (max-width: 700px) {
  .hero {
    position: relative;
    display: block;
    min-height: 0;
    height: min(690px, calc(100svh - 120px));
    height: min(690px, calc(100vh - 120px));
    overflow: hidden;
    background: var(--ink, #111517);
  }
  .hero-media {
    position: absolute;
    inset: 0;
    height: 100%;
    overflow: hidden;
  }
  .hero-media picture { display: block; width: 100%; height: 100%; }
  .hero-img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center 18%;
    transform: translateY(-245px) scale(1.42);
    transform-origin: center top;
  }
  .hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17,21,23,0) 34%, rgba(17,21,23,.12) 48%, rgba(17,21,23,.82) 69%, #111517 100%);
  }
  .hero-in {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    width: 100%;
    padding: 170px 20px 26px;
    margin: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(17,21,23,.18) 20%, rgba(17,21,23,.9) 60%, #111517 100%);
  }
  .hero-in .eyebrow { margin-bottom: 10px; }
  .hero h1 { font-size: clamp(31px, 9vw, 39px); line-height: 1.08; margin: 5px 0 10px; max-width: 100%; }
  .hero .strap { font-size: clamp(21px, 6vw, 26px); line-height: 1.2; margin-bottom: 12px; }
  .hero-text { font-size: 16.5px; line-height: 1.55; margin-bottom: 18px; }
  .hero .actions { gap: 10px; }
}
@media (max-width: 380px) {
  .hero { height: min(690px, calc(100vh - 110px)); }
  .hero-in { padding: 155px 18px 22px; }
  .hero h1 { font-size: 30px; }
  .hero .strap { font-size: 21px; }
}






/* V19 mobile hero fix: lift the portrait itself and place the copy below the face.
   Desktop rules and the existing dark fade remain unchanged. */
@media (max-width: 700px) {
  .hero { position: relative; overflow: hidden; }
  .hero-media,
  .hero-media picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .hero-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top !important;
    transform: translateY(-185px) scale(1.08) !important;
    transform-origin: center top !important;
  }
  .hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17,21,23,0) 0%, rgba(17,21,23,.08) 32%, rgba(17,21,23,.58) 54%, #111517 76%) !important;
  }
  .hero-in {
    position: relative;
    z-index: 2;
    padding: 285px 18px 28px !important;
    margin: 0;
    background: transparent !important;
  }
  .hero .eyebrow { margin-top: 0; margin-bottom: 10px; }
  .hero h1 { margin-top: 8px; }
}
@media (max-width: 380px) {
  .hero-in { padding-top: 285px !important; }
}


/* Client-requested typography update: Featured Expertise section only */
.exp .exp-head .eyebrow{font-size:15px}
.exp .exp-head h2{font-size:clamp(34px,3.2vw,46px);line-height:1.16}
.exp .ccard h3{font-size:clamp(23px,1.8vw,27px);line-height:1.25}
.exp .ccard p{font-size:16px;line-height:1.6}
@media(max-width:700px){
  .exp .exp-head h2{font-size:clamp(30px,8vw,38px)}
  .exp .ccard h3{font-size:23px}
  .exp .ccard p{font-size:16.5px}
}

/* Home page reference-style horizontal metrics strip */
.cred ul{grid-template-columns:repeat(5,minmax(0,1fr));}
.cred .cred-tagline{justify-content:center;align-self:center}
.cred .cred-tagline strong{font-style:italic;font-size:clamp(18px,1.8vw,25px)}
.cred .cred-tagline span{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:clamp(18px,1.8vw,25px)}
@media(max-width:900px){.cred ul{grid-template-columns:repeat(2,minmax(0,1fr))}.cred li:nth-child(odd){border-left:0;padding-left:0}.cred .cred-tagline{grid-column:1/-1;align-items:flex-start}}


/* Targeted fix: prevent the mobile home hero content from being clipped by the stats strip.
   Desktop layout and all other pages remain unchanged. */
@media (max-width: 700px) {
  body.home .hero {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    display: block;
  }
  body.home .hero-media {
    position: absolute;
    inset: 0 0 auto;
    height: 100%;
    overflow: hidden;
  }
  body.home .hero-media picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  body.home .hero-in {
    position: relative !important;
    inset: auto !important;
    z-index: 2;
    width: 100%;
    box-sizing: border-box;
    padding: 285px 18px 28px !important;
    margin: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(17,21,23,.3) 18%, rgba(17,21,23,.92) 46%, #111517 100%) !important;
  }
  body.home .hero .actions {
    position: relative;
    z-index: 3;
    flex-wrap: wrap;
  }
  body.home .cred {
    position: relative;
    z-index: 3;
    margin-top: 0;
  }
}
@media (max-width: 380px) {
  body.home .hero-in { padding: 270px 18px 24px !important; }
}


/* Final mobile hero fix: restore the original image-and-fade composition while keeping
   the copy and both action buttons readable below the portrait. Desktop is unchanged. */
@media (max-width: 700px) {
  body.home main#main > .hero {
    display: block !important;
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #111517 !important;
  }
  body.home main#main > .hero .hero-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 0 !important;
    background: #202427 !important;
  }
  body.home main#main > .hero .hero-media picture {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }
  body.home main#main > .hero .hero-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 68% !important;
    transform: none !important;
    transform-origin: center center !important;
  }
  body.home main#main > .hero .hero-shade {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 1 !important;
    background: linear-gradient(180deg,
      rgba(17,21,23,.04) 0%,
      rgba(17,21,23,.08) 25%,
      rgba(17,21,23,.38) 43%,
      rgba(17,21,23,.88) 61%,
      #111517 78%,
      #111517 100%) !important;
  }
  body.home main#main > .hero .hero-in {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: clamp(250px, 76vw, 330px) 18px 24px !important;
    background: transparent !important;
    z-index: 2 !important;
  }
  body.home main#main > .hero .hero-in .eyebrow { margin-top: 0 !important; }
  body.home main#main > .hero .hero-in h1 {
    margin-top: 6px !important;
    font-size: clamp(31px, 8.7vw, 39px) !important;
    line-height: 1.08 !important;
  }
  body.home main#main > .hero .hero-in .actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    position: relative !important;
    z-index: 3 !important;
  }
  body.home main#main > .hero .hero-stat-card {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 18px 22px !important;
    background: #111517 !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 2 !important;
  }
  body.home main#main > .hero + .cred {
    position: relative !important;
    z-index: 3 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(214,183,122,.22) !important;
    background: #111517 !important;
  }
  body.home main#main > .hero + .cred ul { margin-top: 0 !important; }
  body.home { background: #111517 !important; }
}
@media (max-width: 380px) {
  body.home main#main > .hero .hero-in { padding-top: 245px !important; }
}


/* Final targeted mobile portrait adjustment: increase visible portrait area and bring the face into view. Desktop and all other pages unchanged. */
@media (max-width: 700px) {
  body.home main#main > .hero {
    position: relative !important;
    overflow: hidden !important;
  }
  body.home main#main > .hero .hero-media {
    height: 100% !important;
    min-height: 560px !important;
  }
  body.home main#main > .hero .hero-media picture,
  body.home main#main > .hero .hero-img,
  body.home main#main > .hero .hero-shade {
    height: 100% !important;
  }
  body.home main#main > .hero .hero-img {
    object-fit: cover !important;
    object-position: center 38% !important;
    transform: scale(1.04) !important;
    transform-origin: center 38% !important;
  }
  body.home main#main > .hero .hero-shade {
    background: linear-gradient(180deg,
      rgba(17,21,23,.02) 0%,
      rgba(17,21,23,.04) 28%,
      rgba(17,21,23,.24) 43%,
      rgba(17,21,23,.72) 59%,
      rgba(17,21,23,.96) 76%,
      #111517 100%) !important;
  }
  body.home main#main > .hero .hero-in {
    padding-top: clamp(300px, 88vw, 350px) !important;
  }
}
@media (max-width: 380px) {
  body.home main#main > .hero .hero-in { padding-top: 300px !important; }
}


/* Mobile-only: use the supplied portrait with the existing dark fade; desktop untouched. */
@media (max-width: 700px) {
  body.home main#main > .hero .hero-media {
    height: 560px !important;
    min-height: 560px !important;
    inset: 0 0 auto !important;
  }
  body.home main#main > .hero .hero-media picture {
    height: 100% !important;
  }
  body.home main#main > .hero .hero-img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    transform: none !important;
  }
  body.home main#main > .hero .hero-shade {
    height: 100% !important;
    background: linear-gradient(180deg, rgba(17,21,23,.02) 0%, rgba(17,21,23,.04) 32%, rgba(17,21,23,.28) 50%, rgba(17,21,23,.78) 70%, #111517 100%) !important;
  }
}
