/* Bay Area Neuropsychiatry: "Clarity" design system (approved direction, 2026-10).
   Shapes: photographs are soft objects (12px radius); controls and panels are crisp (4px);
   colour bands run full-bleed with no radius. One shadow in the whole system (the open
   Conditions menu). Type: Newsreader light for display, Instrument Sans for reading.
   Links: inline links in running text are underlined; links that form a list or row
   (condition names, physician names, nav) rely on the row and underline on hover. */

@font-face{font-family:"Newsreader";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader-var.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader-italic-var.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-var.woff2) format("woff2")}

:root{
  --bg:#F4F6F7; --white:#FFFFFF; --mist:#E8EDF0; --ink:#0D1B24; --ink-2:#4A5862; --line:#D9E0E4; --blue:#254B69;
  --night-2:#B9C6CE; --night-line:rgba(255,255,255,.16);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --wrap:1240px; --gut:clamp(20px,4vw,48px);
  --r-photo:12px; --r-ui:4px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.45;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0}
p{text-wrap:pretty}
h1,h2,h3{font-family:var(--serif);font-weight:300;letter-spacing:-0.015em;text-wrap:balance}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--blue)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.hidden{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-ui);text-decoration:none;font-size:15px}
.skip:focus{top:12px;color:#fff}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
figcaption{margin-top:12px;font-size:13.5px;color:var(--ink-2)}
/* photo captions sit right, under the photograph (the Mono Lake overlay caption is the exception) */
.lead-photo figcaption,.intro-photo figcaption,.visit-photo figcaption{text-align:right}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--r-ui);background:var(--ink);color:#fff;font-family:var(--sans);font-size:16px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;border:0;cursor:pointer;transition:background-color .18s ease-out}
.btn:hover{background:var(--blue);color:#fff}
.btn:active{background:#091319}
.btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.btn-sm{min-height:40px;padding:0 18px;font-size:15px}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:#DCE6EC;color:var(--ink)}
.btn-light:focus-visible{outline-color:#fff}
.btn-block{display:flex;width:100%}
.link{font-size:16px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em;white-space:nowrap}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}

/* ---------- header ---------- */
.site-head{position:relative;z-index:20}
.utility{font-size:13.5px;color:var(--ink-2)}
.utility .wrap{display:flex;justify-content:flex-end;gap:24px;padding-top:12px}
.utility a{text-decoration:none}
.utility a:hover{text-decoration:underline;color:var(--ink)}
.utility-tel{font-weight:500;color:var(--ink)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:20px}
.brand{flex:none}
.brand img{height:44px;width:auto}
.primary{display:flex;align-items:center;gap:28px;font-size:15.5px;font-weight:500}
.primary > a:not(.btn){text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.primary > a:not(.btn):hover,.primary > a[aria-current="page"]{border-bottom-color:currentColor;color:var(--ink)}
.primary .btn{margin-left:4px}
.dd{position:relative}
.dd-btn{font:inherit;color:inherit;background:none;border:0;padding:6px 0;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.dd-btn::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.dd-panel{position:absolute;top:calc(100% + 12px);left:-24px;width:560px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;padding:24px 24px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-ui);box-shadow:0 18px 40px -24px rgba(13,27,36,.35);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease-out,transform .16s ease-out,visibility .16s}
.dd:hover .dd-panel,.dd:focus-within .dd-panel,.dd.open .dd-panel{opacity:1;visibility:visible;transform:none}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.dd-label{font-size:13px;color:var(--ink-2);margin-bottom:8px}
.dd-col a{display:block;padding:6px 0;font-weight:400;font-size:15.5px;text-decoration:none}
.dd-col a:hover{text-decoration:underline}
.dd-all{grid-column:1/-1;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:15px;font-weight:500}
.menu-btn{display:none;font:inherit;font-size:15px;font-weight:500;color:var(--ink);background:none;border:1px solid var(--ink);border-radius:var(--r-ui);min-height:40px;padding:0 16px;cursor:pointer}
.mobile-panel{border-top:1px solid var(--line);background:var(--bg)}
.mobile-panel nav{display:flex;flex-direction:column;padding-top:16px;padding-bottom:24px}
.mobile-panel nav > a:not(.btn),.mobile-panel summary{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:17px;text-decoration:none;cursor:pointer}
.mobile-panel nav > .btn{margin-bottom:8px}
.mobile-panel summary{list-style:none}
.mobile-panel summary::-webkit-details-marker{display:none}
.mobile-panel summary::after{content:"+";float:right;color:var(--ink-2)}
.mobile-panel details[open] summary::after{content:"\2212"}
.mobile-sub{display:flex;flex-direction:column;padding:8px 0 12px 16px;border-bottom:1px solid var(--line)}
.mobile-sub a{padding:8px 0;font-size:16px;color:var(--ink-2);text-decoration:none}

/* the header sits on the page colour; home lays it over the hero photograph */
.site-head{background:var(--bg)}
.page-home .site-head{position:absolute;top:0;left:0;right:0;background:transparent}

/* ---------- home: hero ---------- */
.hero{position:relative;min-height:min(900px,96vh);display:flex;align-items:center;background:#DCE3E6;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,246,247,0) 28%,rgba(244,246,247,.62) 56%,rgba(244,246,247,.84) 100%)}
.hero-body{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-top:160px;padding-bottom:96px}
.hero-copy{grid-column:2;max-width:560px}
.hero h1{font-size:clamp(44px,5.4vw,80px);line-height:1.02;letter-spacing:-0.025em}
.hero-copy > p{margin-top:24px;font-size:19px;color:var(--ink-2);max-width:42ch}
.hero .actions{margin-top:32px}

/* ---------- home: intro ---------- */
.intro{background:var(--white);padding:clamp(72px,8vw,112px) 0 clamp(72px,8vw,104px)}
.intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px clamp(40px,7vw,112px);align-items:end}
.intro-lead{font-family:var(--serif);font-weight:300;font-size:clamp(24px,2.1vw,29px);line-height:1.35;letter-spacing:-0.005em;max-width:34em}
.intro-copy > p:not(.intro-lead){margin-top:24px;max-width:62ch}
.intro-copy > p:last-child{margin-top:32px}
.intro-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-photo);background:var(--mist)}

/* ---------- home: conditions ---------- */
.treat{padding:clamp(80px,9vw,120px) 0 clamp(64px,7vw,96px)}
.treat h2{font-size:clamp(30px,2.6vw,36px);line-height:1.1}
.visit h2{font-size:clamp(36px,3.6vw,52px);line-height:1.05}
.treat-note{margin-top:20px;color:var(--ink-2);font-size:16px;max-width:60ch}
.common-run{margin-top:28px;font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.3vw,48px);line-height:1.18;letter-spacing:-0.015em;max-width:24em}
.common-run a{text-decoration-color:var(--line);text-decoration-thickness:1px;text-underline-offset:.14em}
.common-run a:hover{text-decoration-color:currentColor}
.list-label{margin-top:56px;font-size:15px;font-weight:500;color:var(--ink-2)}
.special{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:clamp(40px,6vw,96px);margin-top:12px;max-width:1040px;border-top:1px solid var(--line)}
.special li{border-bottom:1px solid var(--line)}
.special a{display:block;padding:16px 0 18px;text-decoration:none}
.special-name{display:block;font-size:17px;font-weight:500}
.special-desc{display:block;margin-top:4px;font-size:15px;line-height:1.4;color:var(--ink-2);max-width:46ch}
.special a:hover .special-name{text-decoration:underline;text-underline-offset:.2em}

/* ---------- home: first visit ---------- */
.visit{padding:clamp(24px,3vw,40px) 0 clamp(96px,10vw,136px)}
.visit-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px clamp(40px,7vw,112px);align-items:stretch}
/* the photograph leads on the left here, mirroring the intro above (text left, photo right) */
.visit-copy{min-width:0;grid-column:2;grid-row:1}
.visit-photo{grid-column:1;grid-row:1}
.sequence{margin-top:36px}
.sequence > div + div{margin-top:28px}
.sequence dt{font-family:var(--serif);font-size:23px;line-height:1.25;font-weight:400}
.sequence dd{margin-top:8px;max-width:60ch}
.visit-note{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--serif);font-size:clamp(22px,1.9vw,26px);line-height:1.35;max-width:32ch}
.visit-note a{text-decoration-color:var(--ink-2)}
.visit-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:28px}
.visit-photo{display:flex;flex-direction:column;min-height:520px}
.visit-photo img{flex:1;width:100%;min-height:0;object-fit:cover;object-position:50% 45%;border-radius:var(--r-photo);background:var(--mist)}

/* ---------- home: physicians ---------- */
.people{background:var(--white);padding:clamp(88px,9vw,120px) 0 clamp(96px,10vw,136px)}
.people-head h2{font-size:clamp(30px,2.6vw,36px);line-height:1.1}
.people-head p{margin-top:12px;max-width:58ch}
.roster{list-style:none;margin-top:40px;border-top:1px solid var(--ink)}
.roster-row{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px clamp(32px,4vw,56px);align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}
.roster-photo{display:block;border-radius:var(--r-photo);overflow:hidden;aspect-ratio:4/5;background:var(--mist)}
.roster-photo img{width:100%;height:100%;object-fit:cover;transition:opacity .2s ease-out}
.roster-photo:hover img{opacity:.92}
.roster-text{max-width:640px;padding-top:4px}
.roster-text h3{font-size:clamp(30px,2.8vw,40px);line-height:1.08}
.roster-text h3 a{text-decoration:none}
.roster-text h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.role{margin-top:8px;font-size:15px;font-weight:500;color:var(--blue)}
.roster-focus{margin-top:20px;max-width:56ch}
.train{margin-top:12px;font-size:15px;color:var(--ink-2)}
.roster-more{display:inline-block;margin-top:20px;font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:.3em}

/* ---------- home: California + insurance ---------- */
.ca{padding:clamp(88px,9vw,120px) 0 clamp(80px,8vw,112px)}
.ca-photo{position:relative;border-radius:var(--r-photo);overflow:hidden;min-height:600px;background:#CFDDE5}
.ca-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.ca-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(244,246,247,.82) 0%,rgba(244,246,247,.55) 34%,rgba(244,246,247,0) 62%)}
.ca-text{position:relative;z-index:1;padding:clamp(32px,5vw,64px);max-width:640px}
.ca-text h2{font-size:clamp(36px,4.2vw,60px);line-height:1.04;max-width:12ch}
.ca-text p{margin-top:16px;font-size:18px;color:#1B2A34;max-width:36ch}
.ca-caption{position:absolute;z-index:1;right:24px;top:20px;font-size:13px;color:#22313B}
.plans{position:relative;z-index:2;margin:-56px clamp(16px,4vw,48px) 0;background:#fff;border-radius:var(--r-ui);padding:32px clamp(24px,3vw,40px);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:16px 48px}
.plans h3{font-size:28px;line-height:1.15}
.plans-body{min-width:0}
.plan-names{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.35}
.plan-names a{text-decoration-color:var(--line);text-decoration-thickness:1px}
.plan-names a:hover{text-decoration-color:currentColor}
.plans-note{margin-top:16px;font-size:15px;color:var(--ink-2);max-width:70ch}
.plans-note a{color:var(--ink);font-weight:500}

/* ---------- home: reviews ---------- */
.reviews{padding:clamp(24px,3vw,40px) 0 clamp(96px,11vw,152px)}
.reviews-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:48px clamp(40px,7vw,112px);align-items:start}
.review-side blockquote:first-child{border-top:0;padding-top:8px}
.review-main p{font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.2vw,46px);line-height:1.2;letter-spacing:-0.015em;text-indent:-0.42em}
.review-side blockquote{padding:20px 0;border-top:1px solid var(--line)}
.review-side blockquote p{font-size:16.5px}
.review-note{padding-top:16px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}

/* ---------- interior page head ---------- */
.crumb{font-size:15px;color:var(--ink-2)}
.crumb a{text-decoration:none;border-bottom:1px solid var(--line)}
.crumb a:hover{border-bottom-color:currentColor}
.page-head{padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(32px,4vw,56px)}
.page-head-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px clamp(40px,6vw,96px);align-items:end;margin-top:20px}
.page-head h1{font-size:clamp(48px,6.4vw,96px);line-height:.98;letter-spacing:-0.03em}
.standfirst-small{font-family:var(--serif);font-size:clamp(21px,1.8vw,25px);line-height:1.35;color:var(--ink-2);max-width:32ch}
.page-head-side .actions{margin-top:24px}
/* single-column head (forms, legal pages, Our team): title, then the lede beneath it */
.page-head-solo .crumb + h1{margin-top:20px}
.page-head-solo h1 + .standfirst-small{margin-top:24px;max-width:44ch}
.lead-photo img{width:100%;aspect-ratio:12/5;object-fit:cover;border-radius:var(--r-photo);background:var(--mist)}

/* ---------- interior document: article + aside ---------- */
.doc{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:56px clamp(40px,6vw,96px);align-items:start;padding-top:clamp(56px,6vw,88px);padding-bottom:clamp(80px,9vw,128px)}
.doc > .prose{grid-column:1;grid-row:1}
.doc > .doc-aside{grid-column:2;grid-row:1}
.prose{max-width:64ch;font-size:18px}
.prose > section + section{margin-top:56px}
.prose h2{font-size:clamp(30px,2.8vw,38px);line-height:1.12;margin-bottom:20px}
.prose p + p{margin-top:16px}
.prose a{text-decoration-color:rgba(37,75,105,.45)}
.prose a:hover{text-decoration-color:currentColor}
.prose .inset{background:var(--white);border-radius:var(--r-ui);padding:clamp(28px,3.5vw,44px)}
.faq{padding-top:8px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font-family:var(--serif);font-size:22px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;margin-top:9px;background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;color:var(--ink-2)}
.faq details[open] summary::after{background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat}
.faq summary:hover{color:var(--blue)}
.faq details p{padding:0 0 24px;max-width:62ch}
.related ul{list-style:none;border-top:1px solid var(--line)}
.related li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px;align-items:baseline}
.related li a{font-family:var(--serif);font-size:21px;line-height:1.3;text-decoration:none}
.related li a:hover{text-decoration:underline;text-underline-offset:.18em}
.related li span{font-size:14px;color:var(--ink-2)}
/* the page-ending request block: a quiet panel, set apart by space rather than a rule */
.closing{background:var(--white);border-radius:var(--r-ui);padding:clamp(28px,3.5vw,44px)}
.prose > .closing{margin-top:72px}
.prose .closing h2{font-size:clamp(28px,2.4vw,32px);margin-bottom:12px}
.closing .actions{margin-top:24px}
.disclaimer{margin-top:48px;font-size:14px;color:var(--ink-2)}
.doc-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}
.aside-block{background:var(--white);border-radius:var(--r-ui);padding:28px}
.aside-block h2{font-size:24px;line-height:1.2;font-weight:400;margin-bottom:16px}
.aside-block p{font-size:16px;color:var(--ink-2)}
.aside-block .btn{margin-top:20px}
.aside-contact{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.aside-contact a{text-decoration:none;color:var(--ink)}
.aside-contact a:hover{text-decoration:underline}
.doc-aside > .aside-contact{margin:4px 0 0;padding:0 4px;border:0;font-size:15px;color:var(--ink-2)}
.doc-aside > .aside-contact a{text-decoration:underline;text-decoration-color:var(--line)}
.aside-more{margin-top:12px;font-size:15px}
.aside-more a{color:var(--ink)}
.who{list-style:none}
.who li + li{margin-top:12px}
.who a{display:flex;align-items:center;gap:16px;text-decoration:none;font-size:16px;font-weight:500}
.who a:hover span{text-decoration:underline;text-underline-offset:.2em}
.who img{width:52px;height:64px;object-fit:cover;border-radius:var(--r-ui);background:var(--mist);flex:none}

/* ---------- physician profile ---------- */
.profile{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(40px,6vw,96px);align-items:start;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(72px,8vw,112px)}
.profile-crumb{grid-column:1/-1}
.profile-photo{border-radius:var(--r-photo);overflow:hidden;aspect-ratio:4/5;background:var(--mist);position:sticky;top:24px}
.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.profile-copy{max-width:640px}
.profile-copy h1{font-size:clamp(48px,5.6vw,84px);line-height:1;letter-spacing:-0.03em;margin-top:-8px}
.profile-copy .role{margin-top:16px;font-size:16px}
.profile-lead{margin-top:40px;font-family:var(--serif);font-size:clamp(22px,1.9vw,26px);line-height:1.4}
.profile-copy > p:not(.role):not(.profile-lead){margin-top:20px;font-size:17.5px}
.profile-focus{margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
.profile-focus h2{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:0;color:var(--ink-2)}
.profile-focus p{margin-top:8px;font-size:18px}
.profile-focus a{text-decoration-color:var(--line)}
.profile-focus a:hover{text-decoration-color:currentColor}
.profile-copy .actions{margin-top:40px}
.cv{background:var(--white);padding:clamp(64px,7vw,104px) 0}
.cv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px clamp(40px,5vw,80px)}
.cv-block{min-width:0}
.cv h2,.scholarship h2{font-size:clamp(28px,2.6vw,36px);line-height:1.12}
.cv-table{width:100%;margin-top:24px;border-collapse:collapse;border-top:1px solid var(--ink)}
.cv-table th,.cv-table td{padding:16px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.cv-table th{font-weight:500;font-size:16.5px;line-height:1.4;padding-right:24px}
.cv-table th span{display:block;margin-top:2px;font-weight:400;font-size:15px;color:var(--ink-2)}
.cv-table td{font-size:15px;color:var(--ink-2);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;padding-top:18px}
.scholarship{padding:clamp(72px,8vw,112px) 0 clamp(64px,7vw,96px)}
.scholarship-body{margin-top:28px;max-width:880px}
.biblio{list-style:none;border-top:1px solid var(--ink)}
.biblio li{font-family:var(--serif);font-size:19px;line-height:1.45;padding:16px 0 16px 1.5em;text-indent:-1.5em;border-bottom:1px solid var(--line)}
.scholarship-note{margin-top:32px;max-width:64ch}

.signoff{padding:0 0 clamp(88px,9vw,128px)}
.signoff-grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:32px;align-items:center;padding-top:40px;border-top:1px solid var(--line)}
.signoff-grid img{width:120px;height:150px;object-fit:cover;object-position:50% 20%;border-radius:var(--r-photo)}
.signoff h2{font-size:clamp(28px,2.6vw,36px);line-height:1.1}
.signoff p{margin-top:8px;max-width:56ch}
.signoff .btn{margin-top:20px}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:#fff;padding:clamp(72px,8vw,112px) 0 40px}
.no-cta .site-foot{padding-top:40px}
.no-cta .crisis{border-top:0}
.site-foot a:hover{color:#fff;text-decoration:underline}
.foot-cta{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(40px,6vw,96px);align-items:end;padding-bottom:clamp(56px,6vw,88px)}
.foot-cta h2{font-size:clamp(34px,3.8vw,54px);line-height:1.06;max-width:18ch}
.foot-cta-side p{color:var(--night-2);font-size:17px;max-width:44ch}
.foot-cta-side .btn{margin-top:28px}
.crisis{padding:24px max(0px,calc(100% - 74ch)) 24px 0;border-top:1px solid var(--night-line);border-bottom:1px solid var(--night-line);font-size:16.5px;color:#fff}
.crisis a{font-weight:600;color:#fff}
.foot-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,5fr);gap:40px clamp(32px,5vw,72px);padding:56px 0 48px}
.foot-contact img{height:40px;width:auto;margin-bottom:28px}
.foot-contact p{font-size:15px;color:var(--night-2)}
.foot-contact p + p{margin-top:14px}
.foot-contact a{color:#fff;text-decoration:none}
.foot-contact .foot-phone{font-family:var(--serif);font-size:28px;line-height:1.2;color:#fff}
.foot-links{display:flex;flex-direction:column;align-items:flex-start}
.foot-links h2{font-family:var(--sans);font-size:13.5px;font-weight:500;letter-spacing:0;color:var(--night-2);margin-bottom:12px}
.foot-links a{padding:5px 0;font-size:15px;text-decoration:none;color:#fff}
.foot-conditions{display:block;column-count:2;column-gap:24px}
.foot-conditions h2{column-span:all}
.foot-conditions a{display:block;break-inside:avoid}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-top:24px;border-top:1px solid var(--night-line);font-size:13.5px;color:var(--night-2)}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.legal a{color:var(--night-2);text-decoration:none}
/* legal notices on every page (language assistance, 45 CFR 92.11; Open Payments, B&P 663) */
.foot-notices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px clamp(32px,5vw,72px);padding:28px 0 32px;border-top:1px solid var(--night-line);font-size:14px;line-height:1.5;color:var(--night-2)}
.foot-notice h2{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;color:#fff;margin-bottom:8px}
.foot-notice p{max-width:68ch}
.foot-notice p + p{margin-top:10px}
.foot-notice a{color:#fff}
.foot-notice a[href^="tel:"]{white-space:nowrap}
.foot-langs{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot-langs a{text-decoration:none}
.foot-langs [lang="ar"],.foot-langs [lang="fa"]{font-size:1.12em}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .utility{display:none}
  .primary{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .masthead{padding-top:16px;padding-bottom:16px}
}
@media (max-width:900px){
  .visit-copy,.visit-photo{grid-column:1;grid-row:auto}
  .intro-grid,.visit-grid,.page-head-grid,.doc,.profile,.cv-grid,.foot-cta,.reviews-grid{grid-template-columns:minmax(0,1fr)}
  .visit-photo{min-height:0}
  .visit-photo img{flex:none;aspect-ratio:4/3}
  .roster-row{grid-template-columns:200px minmax(0,1fr)}
  .intro-photo img{aspect-ratio:4/3}
  .doc > .prose,.doc > .doc-aside{grid-column:1;grid-row:auto}
  .doc-aside{position:static}
  .aside-request{display:none}
  .profile-photo{position:static;max-width:440px}
  .plans{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot-contact{grid-column:1/-1}
  .foot-notices{grid-template-columns:minmax(0,1fr)}
  .lead-photo img{aspect-ratio:16/9}
}
@media (max-width:760px){
  .page-home .site-head{position:relative;background:var(--bg)}
  .hero{display:block;min-height:0;background:none}
  .hero-img{position:static;height:auto;aspect-ratio:4/3;object-position:28% 50%}
  .hero::after{display:none}
  .hero-body{display:block;padding-top:32px;padding-bottom:56px}
  .hero h1{font-size:42px}
  .hero-copy > p{font-size:17.5px}
  .special{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
  .common-run{font-size:30px}
  .roster-row{grid-template-columns:88px minmax(0,1fr);column-gap:20px;row-gap:0}
  .signoff-grid{grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:start}
  .signoff-grid img{width:88px;height:110px}
  .roster-photo{grid-row:1/span 2}
  .roster-text{display:contents}
  .roster-text h3{grid-column:2;align-self:end;font-size:28px}
  .roster-text .role{grid-column:2;align-self:start}
  .roster-focus,.roster-text .train,.roster-more{grid-column:1/-1}
  .roster-focus{margin-top:16px}
  .roster-more{justify-self:start;padding-top:12px}
  .profile-copy h1{margin-top:8px}
  .ca-photo{min-height:0;display:flex;flex-direction:column;background:none;border-radius:0;overflow:visible}
  .ca-photo::after{display:none}
  .ca-photo img{position:static;order:2;height:auto;aspect-ratio:4/3;object-position:62% 60%;border-radius:var(--r-photo)}
  .ca-text{padding:0 0 24px}
  .ca-caption{position:static;order:3;padding-top:12px;color:var(--ink-2)}
  .plans{margin:24px 0 0;padding:24px 20px}
  .review-main p{text-indent:0}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
  .prose{font-size:17.5px}
  .page-head h1{font-size:52px}
  .cv-table tr{display:grid;grid-template-columns:minmax(0,1fr);border-bottom:1px solid var(--line);padding:14px 0}
  .cv-table th,.cv-table td{border-bottom:0;padding:0}
  .cv-table td{text-align:left;padding-top:4px}
  .cv-table td:empty{display:none}
}
@media (max-width:420px){
  .brand img{height:38px}
  .hero-copy .btn,.foot-cta .btn,.profile-copy .btn,.page-head-side .btn{width:100%}
  .common-run{font-size:27px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;scroll-behavior:auto!important}
}
@media print{
  .site-head,.site-foot .foot-cta,.doc-aside{display:none!important}
}
