:root { --paper:#f4f5f0; --surface:#fff; --ink:#111711; --muted:#616b60; --line:#d7ddd3; --accent:#d8ff58; --accent-ink:#111711; --focus:#8eae15; --font-body:Arial,sans-serif; --action-radius:6px; }
:root[data-theme="dark"] { --paper:#101510; --surface:#192019; --ink:#f2f4ed; --muted:#a7b1a3; --line:#354034; --accent:#d8ff58; --accent-ink:#111711; --focus:#d8ff58; }
.hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.86fr); align-items:center; gap:clamp(32px,6vw,90px); min-height:610px; padding:clamp(56px,8vw,112px) clamp(22px,7vw,104px) 84px; }
.eyebrow { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.16em; }
.eyebrow span { color:var(--accent); }
.hero h1 { max-width:620px; margin:18px 0; font-size:clamp(50px,8vw,100px); line-height:.92; letter-spacing:-.075em; }
.hero h1 em { color:#667c15; font-style:normal; }
:root[data-theme="dark"] .hero h1 em { color:var(--accent); }
.hero-lede { max-width:440px; color:var(--muted); font-size:16px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:28px; }
.text-action { padding:9px 0; border-bottom:1px solid var(--line); font-size:12px; font-weight:700; transition:border-color .2s ease,color .2s ease; }
.text-action:hover { border-color:var(--accent); color:var(--accent); }
.hero-footnote { margin-top:26px; color:var(--muted); font-size:10px; }
.hero-media { height:min(68vw,500px); min-height:330px; border-radius:3px; }
.hero-media img { object-position:center; }
.hero-media figcaption { position:absolute; bottom:0; left:0; right:0; padding:13px 15px; background:#101510c9; color:#f2f4ed; font-size:9px; letter-spacing:.11em; }
.hero-index { position:absolute; bottom:24px; left:clamp(22px,7vw,104px); color:var(--muted); font-size:10px; letter-spacing:.12em; }
.hero-index span { color:var(--accent); }
.section-shell { padding:clamp(62px,8vw,112px) clamp(22px,7vw,104px); }
.section-heading { max-width:540px; }
.section-heading h2,.location h2,.contact-band h2 { margin:12px 0; font-size:clamp(34px,5vw,58px); line-height:1; letter-spacing:-.06em; }
.section-heading > p:last-child,.location > p { color:var(--muted); }
.modalities { background:var(--surface); }
.modalities .search-panel { max-width:440px; margin-top:32px; }
.modality-list { margin-top:28px; border-top:1px solid var(--line); }
.modality-row { display:grid; grid-template-columns:50px 1fr auto; align-items:center; gap:18px; min-height:88px; border-bottom:1px solid var(--line); transition:padding .2s ease,background .2s ease; }
.modality-row:hover { padding-inline:12px; background:color-mix(in srgb,var(--accent) 13%,var(--surface)); }
.row-no,.row-note { color:var(--muted); font-size:11px; }
.modality-row h3 { margin:0; font-size:clamp(21px,3vw,30px); letter-spacing:-.04em; }
.row-note b { margin-left:12px; color:var(--accent); }
.location { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:28px; }
.location h2 { max-width:430px; }
.location > p { max-width:400px; }
.contact-band { display:flex; align-items:center; justify-content:space-between; gap:34px; padding:56px clamp(22px,7vw,104px); background:var(--ink); color:var(--paper); }
.contact-band .eyebrow { color:var(--accent); }
.contact-band h2 { max-width:460px; }
.contact-band > p { max-width:280px; color:var(--muted); font-size:13px; }
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:28px}.location{grid-template-columns:1fr 1fr}.location .action{grid-column:2}.contact-band{flex-wrap:wrap}}
@media(max-width:650px){.hero{grid-template-columns:1fr;min-height:unset;padding-top:54px}.hero h1{font-size:clamp(50px,15vw,76px)}.hero-media{height:72vw;min-height:260px}.hero-index{display:none}.modality-row{grid-template-columns:34px 1fr auto;gap:10px}.row-note{font-size:0}.row-note b{font-size:15px}.location{grid-template-columns:1fr}.location .action{grid-column:auto}.contact-band{display:grid;grid-template-columns:1fr}.contact-band .action{justify-self:start}}
