
/* Layout: a dark, cinematic single-column page. A thin left rail names each section;
   one live "tissue field" seen through an objective lens carries the hero.
   NAAG blue is light, NAAG orange is action, NAAG gray is structure. */
:root{
  color-scheme: dark;
  --ink-0:#0a0d11;          /* page */
  --ink-1:#10151b;          /* raised band */
  --ink-2:#161d25;          /* card */
  --bone:#e9ecee;           /* primary text */
  --bone-2:#b7bec5;         /* body text */
  --bone-3:#8a939c;         /* captions */
  --rule:rgba(233,236,238,.12);
  --rule-2:rgba(233,236,238,.22);
  --naag-blue:#007DBE;      /* brand */
  --blue-lit:#47a9e3;       /* brand blue lifted for text on dark */
  --naag-orange:#FC8234;    /* brand: actions only */
  --naag-gray:#6D6E70;      /* brand */
  --f-display:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-body:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-label:"Oswald","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --wrap:1240px;
  --rail:150px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink-0);color:var(--bone-2);font:400 17px/1.7 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink-0)}
a{color:inherit}
::selection{background:var(--naag-blue);color:#fff}
:focus-visible{outline:2px solid var(--blue-lit);outline-offset:3px;border-radius:2px}

.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.label{font:500 12px/1 var(--f-label);letter-spacing:.34em;text-transform:uppercase;color:var(--bone-3)}

/* ---------- header ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
.top.solid{background:rgba(10,13,17,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--rule)}
.top .wrap{display:flex;align-items:center;gap:32px;height:78px}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;flex-shrink:0}
.brand img{width:46px;height:46px;display:block}
.brand span{font:400 15px/1 var(--f-label);letter-spacing:.62em;color:var(--naag-blue);padding-top:2px}
.nav{display:flex;gap:30px;margin-left:auto}
.nav a{font:400 14px/1 var(--f-body);color:var(--bone-2);text-decoration:none;letter-spacing:.02em;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--blue-lit);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.nav a:hover{color:var(--bone)}
.nav a:hover::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;gap:12px;font:500 13px/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:16px 24px;border-radius:999px;transition:background .3s,color .3s,border-color .3s,transform .3s;white-space:nowrap}
.btn svg{width:14px;height:14px;transition:transform .3s}
.btn:hover svg{transform:translateX(4px)}
.btn-solid{background:var(--naag-orange);color:#1a0d03}
.btn-solid:hover{background:#ff9550}
.btn-line{border:1px solid var(--rule-2);color:var(--bone)}
.btn-line:hover{border-color:var(--bone-3)}
.top .btn{padding:13px 20px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--rule-2);color:var(--bone);border-radius:999px;font:500 12px/1 var(--f-label);letter-spacing:.24em;text-transform:uppercase;padding:12px 18px;cursor:pointer}
.drawer{border-top:1px solid var(--rule);background:var(--ink-0)}
.drawer .wrap{display:flex;flex-direction:column;padding-block:12px 28px}
.drawer a{text-decoration:none;color:var(--bone);font:300 26px/1.2 var(--f-display);padding:14px 0;border-bottom:1px solid var(--rule)}
.drawer .btn{margin-top:24px;align-self:flex-start;font-size:13px}

/* ---------- hero ---------- */
.hero{position:relative;padding-block:56px 40px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:40px}
.hero-copy{min-width:0}
.hero h1{font:200 clamp(52px,7.4vw,112px)/.98 var(--f-display);letter-spacing:-.035em;color:var(--bone);margin:28px 0 32px;text-wrap:balance}
.hero h1 em{font-style:italic;font-weight:200;color:var(--blue-lit)}
.lede{font-size:clamp(17px,1.5vw,19px);line-height:1.7;max-width:34em;margin:0 0 40px;color:var(--bone-2)}
.lede strong{color:var(--bone);font-weight:400}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.lens-wrap{position:relative;min-width:0;justify-self:end;width:100%;max-width:560px}
.lens{position:relative;width:100%;aspect-ratio:1;max-width:100%}
.lens canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.fig{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font:400 11px/1.5 var(--f-mono);color:var(--bone-3);letter-spacing:.02em}

.load{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.08s}.d2{animation-delay:.22s}.d3{animation-delay:.38s}.d4{animation-delay:.54s}.d5{animation-delay:.2s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- facts ---------- */
.facts{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:36px}
.facts .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.fact{padding:34px 28px 34px 0;border-right:1px solid var(--rule);min-width:0}
.fact+.fact{padding-left:28px}
.fact:last-child{border-right:0}
.fact b{display:block;font:200 clamp(36px,3.6vw,52px)/1 var(--f-display);letter-spacing:-.03em;color:var(--bone);margin-bottom:12px;font-variant-numeric:tabular-nums}
.fact b small{font-size:.42em;letter-spacing:0;color:var(--blue-lit);margin-left:4px;font-weight:300}
.fact span{font-size:14px;line-height:1.5;color:var(--bone-3);display:block;max-width:18em}

/* ---------- sections ---------- */
section.s{padding-block:clamp(88px,11vw,150px)}
.s .wrap{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:24px}
.rail{position:relative}
.rail .label{position:sticky;top:120px;display:flex;align-items:center;gap:12px}
.rail .label::before{content:"";width:22px;height:1px;background:var(--naag-gray)}
.body{min-width:0}
h2{font:200 clamp(38px,4.8vw,68px)/1.04 var(--f-display);letter-spacing:-.03em;color:var(--bone);margin:0 0 28px;text-wrap:balance;max-width:16em}
h2 em{font-style:italic;color:var(--blue-lit)}
.intro{max-width:36em;margin:0 0 56px;font-size:18px}
.band{background:var(--ink-1);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}

/* practice */
.creed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-2);margin-top:8px}
.creed div{padding:26px 24px 0 0;min-width:0}
.creed div+div{padding-left:24px;border-left:1px solid var(--rule)}
.creed h3{font:300 24px/1.25 var(--f-display);color:var(--bone);margin:0 0 10px;letter-spacing:-.01em}
.creed p{margin:0;font-size:15px;line-height:1.65}
.quote{margin:88px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;border-top:1px solid var(--rule);padding-top:40px}
.quote p{font:200 italic clamp(24px,2.6vw,34px)/1.35 var(--f-display);color:var(--bone);margin:0;max-width:24em;letter-spacing:-.01em;text-wrap:balance}
.quote cite{font:400 12px/1.6 var(--f-mono);font-style:normal;color:var(--bone-3);text-align:right}
.quote cite b{display:block;font:500 12px/1.6 var(--f-label);letter-spacing:.28em;text-transform:uppercase;color:var(--bone-2)}

/* services */
.svc{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-2)}
.svc li{border-bottom:1px solid var(--rule)}
.svc a{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) 40px;gap:32px;align-items:baseline;padding:34px 0;text-decoration:none;position:relative}
.svc a::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--naag-blue);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.svc a:hover::before{width:100%}
.svc h3{font:300 clamp(24px,2.3vw,31px)/1.2 var(--f-display);color:var(--bone);margin:0 0 10px;letter-spacing:-.015em;transition:color .3s}
.svc a:hover h3{color:#fff}
.svc .who{font:500 11px/1.4 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--blue-lit)}
.svc p{margin:0;font-size:16px;line-height:1.65}
.svc .arr{justify-self:end;width:40px;height:40px;border-radius:50%;border:1px solid var(--rule-2);display:grid;place-items:center;color:var(--bone-2);transition:all .35s;align-self:center}
.svc .arr svg{width:14px;height:14px}
.svc a:hover .arr{background:var(--naag-orange);border-color:var(--naag-orange);color:#1a0d03;transform:rotate(-45deg)}

/* deep dive */
.dive{position:relative;overflow:hidden}
.dive .wm{position:absolute;left:-230px;top:50%;width:620px;max-width:none;transform:translateY(-50%);opacity:.055;pointer-events:none;user-select:none}
.dive-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start;position:relative}
.dive-grid > div{min-width:0}
.dive h2{max-width:9em}
.dive p{max-width:32em}
.dive .note{margin-top:34px;padding-top:24px;border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.dive .note b{display:block;font:300 20px/1.3 var(--f-display);color:var(--bone);margin-bottom:6px}
.dive .note span{font-size:14px;line-height:1.55;color:var(--bone-3)}
.moritz{background:rgba(10,13,17,.6);border:1px solid var(--rule);border-radius:4px;padding:34px 34px 28px}
.moritz .label{color:var(--naag-orange);opacity:.9}
.moritz h3{font:300 26px/1.25 var(--f-display);color:var(--bone);margin:16px 0 22px;letter-spacing:-.01em}
.moritz ol{margin:0;padding:0;list-style:none;counter-reset:m}
.moritz li{counter-increment:m;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid var(--rule);font-size:14.5px;line-height:1.5;color:var(--bone-2)}
.moritz li::before{content:counter(m,decimal-leading-zero);font:400 12px/1.9 var(--f-mono);color:var(--bone-3)}
.moritz cite{display:block;margin-top:18px;font:400 11px/1.6 var(--f-mono);font-style:normal;color:var(--bone-3)}

/* physicians */
.phys-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 40px;margin-bottom:56px}
.phys-head h2{margin:0}
.phys-head p{margin:0;max-width:26em;font-size:16px}
.lead-doc{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:64px;align-items:center;padding-bottom:72px;margin-bottom:8px;border-bottom:1px solid var(--rule)}
.portrait{margin:0;aspect-ratio:1122/1140;border-radius:3px;overflow:hidden;background:#f7f4ee;max-width:100%;position:relative;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.portrait::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
.doc:hover .portrait img,.lead-doc:hover .portrait img{transform:scale(1.035)}
.lead-doc h3{font:200 clamp(34px,3.4vw,48px)/1.05 var(--f-display);color:var(--bone);margin:14px 0 10px;letter-spacing:-.03em}
.role{font:500 12px/1.6 var(--f-label);letter-spacing:.24em;text-transform:uppercase;color:var(--blue-lit)}
.lead-doc p{max-width:34em;margin:20px 0 0}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;padding:0;list-style:none}
.creds li{font:400 12px/1 var(--f-mono);color:var(--bone-2);border:1px solid var(--rule-2);border-radius:999px;padding:9px 14px}
.docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;margin-top:64px}
.doc{min-width:0}
.doc h4{font:300 23px/1.25 var(--f-display);color:var(--bone);margin:22px 0 8px;letter-spacing:-.01em}
.doc .role{font-size:11px;letter-spacing:.2em;line-height:1.6}
.doc .disc{display:block;margin-top:6px;font:400 12px/1.5 var(--f-mono);color:var(--bone-3)}

/* counties */
.counties{display:flex;flex-wrap:wrap;gap:6px 0;margin:0;padding:0;list-style:none;border-top:1px solid var(--rule-2);padding-top:34px}
.counties li{font:200 clamp(28px,3.4vw,48px)/1.25 var(--f-display);color:var(--bone);letter-spacing:-.02em}
.counties li:not(:last-child)::after{content:"/";color:var(--naag-gray);margin:0 .42em;font-weight:200}
.counties-note{margin-top:30px;font:400 12px/1.6 var(--f-mono);color:var(--bone-3)}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule-2);counter-reset:st}
.step{padding:28px 24px 0 0;min-width:0;counter-increment:st}
.step+.step{padding-left:24px;border-left:1px solid var(--rule)}
.step::before{content:counter(st,decimal-leading-zero);display:block;font:400 12px/1 var(--f-mono);color:var(--naag-orange);margin-bottom:28px}
.step h3{font:300 23px/1.25 var(--f-display);color:var(--bone);margin:0 0 10px}
.step p{margin:0;font-size:15px;line-height:1.65}

/* contact */
.contact{position:relative;overflow:hidden;padding-block:clamp(100px,12vw,170px);border-top:1px solid var(--rule)}
.contact::before{content:"";position:absolute;left:50%;top:-40%;width:1100px;height:1100px;max-width:none;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,125,190,.22),transparent 70%);pointer-events:none}
.contact .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:end}
.contact h2{font-size:clamp(46px,6.4vw,96px);line-height:.98;margin:22px 0 28px;max-width:10em}
.contact .lede{margin-bottom:36px}
.lines{border-top:1px solid var(--rule-2)}
.line{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--rule)}
.line .label{font-size:11px}
.line .v{font:300 20px/1.4 var(--f-display);color:var(--bone);user-select:all;overflow-wrap:anywhere}
.copy{background:none;border:1px solid var(--rule-2);color:var(--bone-3);border-radius:999px;font:500 10px/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;padding:9px 12px;cursor:pointer;transition:color .3s,border-color .3s}
.copy:hover{color:var(--bone);border-color:var(--bone-3)}
.caution{margin-top:22px;font-size:13px;line-height:1.6;color:var(--bone-3);display:flex;gap:10px}
.caution::before{content:"";flex:0 0 6px;height:6px;margin-top:8px;border-radius:50%;background:var(--naag-orange)}

/* footer */
footer{border-top:1px solid var(--rule);padding-block:56px calc(40px + env(safe-area-inset-bottom,0px))}
footer .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
footer .brand img{width:58px;height:58px}
footer p{font-size:14px;line-height:1.7;color:var(--bone-3);margin:20px 0 0;max-width:24em}
footer h5{font:500 11px/1 var(--f-label);letter-spacing:.3em;text-transform:uppercase;color:var(--bone-3);margin:8px 0 18px}
footer ul{list-style:none;margin:0;padding:0}
footer li a{display:inline-block;padding:5px 0;font-size:14px;color:var(--bone-2);text-decoration:none}
footer li a:hover{color:var(--bone)}
.legal{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:28px;margin-top:20px;border-top:1px solid var(--rule);font:400 11px/1.6 var(--f-mono);color:var(--bone-3)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav{gap:22px}
  .docs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dive-grid{grid-template-columns:minmax(0,1fr);gap:56px}
}
@media (max-width:920px){
  .nav,.top .btn{display:none}
  .menu-btn{display:inline-block}
  .hero .wrap{grid-template-columns:minmax(0,1fr)}
  .lens-wrap{justify-self:center;max-width:440px;order:2}
  .facts .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact:nth-child(2){border-right:0}
  .fact:nth-child(3){padding-left:0;border-top:1px solid var(--rule)}
  .fact:nth-child(4){border-top:1px solid var(--rule)}
  .s .wrap{grid-template-columns:minmax(0,1fr);gap:28px}
  .rail .label{position:static}
  .creed,.steps{grid-template-columns:minmax(0,1fr)}
  .creed div+div,.step+.step{padding-left:0;border-left:0;border-top:1px solid var(--rule);margin-top:26px}
  .step{padding-bottom:4px}
  .svc a{grid-template-columns:minmax(0,1fr) 40px;gap:14px 20px}
  .svc a > div:first-child{grid-column:1/2}
  .svc a p{grid-column:1/2}
  .svc .arr{grid-column:2;grid-row:1/3}
  .lead-doc{grid-template-columns:minmax(0,1fr);gap:32px}
  .lead-doc .portrait{max-width:420px}
  .quote{grid-template-columns:minmax(0,1fr);gap:20px}
  .quote cite{text-align:left}
  .contact .wrap{grid-template-columns:minmax(0,1fr);gap:48px}
  footer .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  footer .wrap > div:first-child{grid-column:1/-1}
}
@media (max-width:520px){
  body{font-size:16px}
  .brand span{letter-spacing:.48em;font-size:13px}
  .brand img{width:40px;height:40px}
  .facts .wrap,.docs{grid-template-columns:minmax(0,1fr)}
  .fact,.fact+.fact{padding:26px 0;border-right:0;border-top:1px solid var(--rule)}
  .fact:first-child{border-top:0}
  .dive .note{grid-template-columns:minmax(0,1fr)}
  .moritz{padding:26px 20px 22px}
  .line{grid-template-columns:minmax(0,1fr) auto}
  .line .label{grid-column:1/-1}
  .cta-row .btn{width:100%;justify-content:center}
  .dive .wm{width:440px;left:-200px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ======================================================================
   Multi-page additions (2026-11)
   ====================================================================== */
.top .nav a.on{color:var(--bone)}
.top .nav a.on::after{transform:scaleX(1)}
.brand span{white-space:nowrap}

/* audience doors */
.doors-wrap{margin-top:8px}
.doors-q{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule-2);padding-bottom:14px;margin-bottom:0}
.doors-q b{font:300 clamp(22px,2vw,28px)/1.2 var(--f-display);color:var(--bone);letter-spacing:-.01em}
.doors-sec{padding-block:8px 64px}
.doors-sec .doors-q b{font-size:clamp(28px,2.6vw,38px);font-weight:200}
.doors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}
.doors li{border-bottom:1px solid var(--rule)}
.doors a{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:14px;align-items:center;padding:26px 0;text-decoration:none;position:relative}
.doors a::before{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--naag-orange);transition:width .55s cubic-bezier(.2,.7,.2,1)}
.doors a:hover::before{width:100%}
.doors .n{font:400 12px/1 var(--f-mono);color:var(--bone-3)}
.doors h3{font:300 clamp(21px,1.75vw,25px)/1.2 var(--f-display);color:var(--bone);margin:0;letter-spacing:-.01em;transition:color .3s}
.doors p{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--bone-3)}
.doors .arr{width:34px;height:34px;border-radius:50%;border:1px solid var(--rule-2);display:grid;place-items:center;color:var(--bone-2);transition:all .35s}
.doors .arr svg{width:13px;height:13px}
.doors a:hover h3{color:#fff}
.doors a:hover .arr{background:var(--naag-orange);border-color:var(--naag-orange);color:#1a0d03;transform:rotate(-45deg)}
.hero.home{padding-bottom:40px}
.hero.home .lede{margin-bottom:8px}
.hero.home h1{margin:22px 0 22px}
.hero.home .lede{margin-bottom:34px}

/* is / is not */
.isnot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border-top:1px solid var(--rule-2)}
.isnot > div{padding:30px 32px 6px 0;min-width:0}
.isnot > div + div{padding-left:32px;border-left:1px solid var(--rule)}
.isnot h3{font:500 12px/1 var(--f-label);letter-spacing:.3em;text-transform:uppercase;margin:0 0 22px}
.isnot .no h3{color:var(--bone-3)}
.isnot .yes h3{color:var(--blue-lit)}
.isnot ul{list-style:none;margin:0;padding:0}
.isnot li{padding:14px 0 16px;border-top:1px solid var(--rule)}
.isnot li b{display:block;font:300 21px/1.3 var(--f-display);color:var(--bone);margin-bottom:5px;letter-spacing:-.01em}
.isnot .no li b{color:var(--bone-2);text-decoration:line-through;text-decoration-color:rgba(252,130,52,.75);text-decoration-thickness:1px}
.isnot li span{font-size:15px;line-height:1.6;color:var(--bone-3);display:block}
.statement{margin:56px 0 0;padding:34px 0 0;border-top:1px solid var(--rule);font:200 clamp(24px,2.5vw,34px)/1.35 var(--f-display);color:var(--bone);letter-spacing:-.01em;max-width:30em;text-wrap:balance}
.statement em{font-style:italic;color:var(--blue-lit)}

/* grid of cells (global standing, facilities) */
.cells{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule-2)}
.cells.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cell{padding:30px 32px 34px 0;border-bottom:1px solid var(--rule);min-width:0}
.cells:not(.three) .cell:nth-child(2n){padding-left:32px;border-left:1px solid var(--rule);padding-right:0}
.cells.three .cell+.cell{padding-left:28px;border-left:1px solid var(--rule)}
.cells.three .cell{padding-right:28px}
.cell .k{font:500 11px/1 var(--f-label);letter-spacing:.3em;text-transform:uppercase;color:var(--blue-lit);display:block;margin-bottom:16px}
.cell h3{font:300 24px/1.25 var(--f-display);color:var(--bone);margin:0 0 10px;letter-spacing:-.01em}
.cell p{margin:0;font-size:15.5px;line-height:1.65}
.cell p + p{margin-top:10px}

/* inner page hero */
.phero{position:relative;padding-block:64px 64px;overflow:hidden;border-bottom:1px solid var(--rule)}
.phero::before{content:"";position:absolute;right:-260px;top:-360px;width:900px;height:900px;background:radial-gradient(closest-side,rgba(0,125,190,.22),transparent 70%);pointer-events:none}
.phero .wrap{position:relative}
.crumbs{font:400 12px/1 var(--f-mono);color:var(--bone-3);margin-bottom:34px}
.crumbs a{text-decoration:none;color:var(--bone-2)}
.crumbs a:hover{color:var(--bone)}
.phero h1{font:200 clamp(46px,6.2vw,92px)/1 var(--f-display);letter-spacing:-.035em;color:var(--bone);margin:22px 0 26px;max-width:13em;text-wrap:balance}
.phero h1 em{font-style:italic;color:var(--blue-lit)}
.phero .lede{max-width:40em;margin-bottom:34px}
.phero .who-line{font:400 13px/1.6 var(--f-mono);color:var(--bone-3);max-width:60em}

/* prose */
.prose{max-width:46em}
.prose p{margin:0 0 18px;font-size:17px;line-height:1.75}
.prose p strong{color:var(--bone);font-weight:400}
.prose h3{font:300 26px/1.3 var(--f-display);color:var(--bone);margin:44px 0 14px;letter-spacing:-.01em}
.prose ul{margin:0 0 22px;padding:0;list-style:none}
.prose ul li{position:relative;padding:10px 0 10px 28px;border-top:1px solid var(--rule);font-size:16px;line-height:1.6}
.prose ul li::before{content:"";position:absolute;left:2px;top:22px;width:12px;height:1px;background:var(--naag-orange)}
.prose ul li b{color:var(--bone);font-weight:400}
.prose a{color:var(--blue-lit)}

/* discipline blocks */
.disc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:56px;padding:48px 0;border-top:1px solid var(--rule);scroll-margin-top:100px}
.disc:first-child{border-top-color:var(--rule-2)}
.disc h3{font:300 clamp(28px,2.6vw,36px)/1.15 var(--f-display);color:var(--bone);margin:12px 0 0;letter-spacing:-.02em}
.disc .who{font:500 11px/1.4 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--blue-lit)}
.disc .prose p{font-size:16px}

/* callout + cross-link */
.callout{border:1px solid var(--rule-2);border-radius:4px;padding:30px 32px;background:linear-gradient(150deg,rgba(0,125,190,.12),rgba(0,125,190,0) 60%),var(--ink-1);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.callout h3{font:300 26px/1.25 var(--f-display);color:var(--bone);margin:0 0 8px;letter-spacing:-.01em}
.callout p{margin:0;font-size:15.5px;line-height:1.6;max-width:40em}
.callout + .callout{margin-top:16px}

/* FAQ */
.faq{border-top:1px solid var(--rule-2)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:20px;align-items:center;padding:24px 0;font:300 clamp(19px,1.6vw,23px)/1.35 var(--f-display);color:var(--bone)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:200 28px/1 var(--f-display);color:var(--bone-3);text-align:center;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg);color:var(--naag-orange)}
.faq .a{padding:0 50px 26px 0;font-size:16px;line-height:1.7;max-width:48em}

/* doc bios on physicians page */
.bio{margin-top:14px;font-size:15px;line-height:1.65;color:var(--bone-2)}
.bio p{margin:0 0 10px}
.bio-more summary{cursor:pointer;font:500 11px/1 var(--f-label);letter-spacing:.24em;text-transform:uppercase;color:var(--naag-orange);list-style:none;margin-top:8px}
.bio-more summary::-webkit-details-marker{display:none}
.bio-more[open] summary{color:var(--bone-3)}

/* related doors strip */
.others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rule-2)}
.others a{padding:22px 24px 22px 0;border-bottom:1px solid var(--rule);text-decoration:none;font:300 20px/1.3 var(--f-display);color:var(--bone-2);display:flex;justify-content:space-between;gap:12px;transition:color .3s}
.others a:nth-child(3n+2),.others a:nth-child(3n){padding-left:24px;border-left:1px solid var(--rule)}
.others a:hover{color:var(--bone)}
.others a span{color:var(--naag-orange)}

@media (max-width:1080px){
  .doors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .disc{grid-template-columns:minmax(0,1fr);gap:20px}
  .cells.three{grid-template-columns:minmax(0,1fr)}
  .cells.three .cell+.cell{padding-left:0;border-left:0}
}
@media (max-width:920px){
  .doors{grid-template-columns:minmax(0,1fr)}
  .isnot{grid-template-columns:minmax(0,1fr)}
  .isnot > div + div{padding-left:0;border-left:0;border-top:1px solid var(--rule-2);margin-top:18px}
  .cells{grid-template-columns:minmax(0,1fr)}
  .cells:not(.three) .cell:nth-child(2n){padding-left:0;border-left:0}
  .callout{grid-template-columns:minmax(0,1fr)}
  .others{grid-template-columns:minmax(0,1fr)}
  .others a:nth-child(3n+2),.others a:nth-child(3n){padding-left:0;border-left:0}
  .faq .a{padding-right:0}
}

/* price tables (sheriffcoroner.com) */
.ptable-wrap{margin:8px 0 40px}
.ptable-wrap h3{font:500 12px/1 var(--f-label);letter-spacing:.28em;text-transform:uppercase;color:var(--blue-lit);margin:0 0 14px}
.ptable{width:100%;border-collapse:collapse;font-size:15px}
.ptable th{font:500 11px/1.3 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--bone-3);text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid var(--rule-2)}
.ptable th.r,.ptable td.r{text-align:right;padding-right:0;padding-left:16px;white-space:nowrap}
.ptable td{padding:14px 12px 14px 0;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--bone-2)}
.ptable td b{color:var(--bone);font-weight:400;display:block}
.ptable td small{display:block;color:var(--bone-3);font-size:13px;margin-top:2px}
.ptable td.r{font:300 19px/1.3 var(--f-display);color:var(--bone)}
.ptable td.free{color:var(--blue-lit)}
.pnote{font-size:13.5px;line-height:1.6;color:var(--bone-3);border-left:2px solid var(--naag-orange);padding:4px 0 4px 14px;margin:-18px 0 40px;max-width:52em}
.badge-hero{justify-self:center;width:100%;max-width:440px;filter:drop-shadow(0 40px 70px rgba(0,0,0,.65));position:relative}
.badge-hero::before{content:"";position:absolute;inset:-18%;background:radial-gradient(closest-side,rgba(0,125,190,.28),transparent 70%);z-index:-1}
.brand.sc img{width:52px;height:52px}
.brand.sc span{color:var(--bone);letter-spacing:.34em;font-size:13px;line-height:1.35}
.brand.sc span small{display:block;color:var(--bone-3);font-size:10px;letter-spacing:.38em}
.checks{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-2)}
.checks li{padding:16px 0 16px 30px;border-bottom:1px solid var(--rule);position:relative;font-size:16px;line-height:1.6}
.checks li::before{content:"";position:absolute;left:2px;top:27px;width:12px;height:1px;background:var(--naag-orange)}
.checks li b{color:var(--bone);font-weight:400}
@media (max-width:640px){.ptable{font-size:14px}.ptable td.r{font-size:16px}.ptable th.r,.ptable td.r{padding-left:8px}}

.nav a{white-space:nowrap}
@media (max-width:1180px){.nav{gap:22px}.nav a{font-size:13px}}

.lens.specimen{aspect-ratio:360/400}
.lens.specimen svg{position:absolute;inset:0;width:100%;height:100%;display:block}

.lens.study{aspect-ratio:3/2}
.lens.study video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 50%,#000 50%,transparent 100%);mask-image:radial-gradient(ellipse 70% 80% at 50% 50%,#000 50%,transparent 100%)}

/* utility bar + action tiles */
.util{border-bottom:1px solid var(--rule);font:400 11px/1 var(--f-mono);letter-spacing:.04em;color:var(--bone-3)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:34px;gap:16px}
.util a{color:var(--bone-2);text-decoration:none;margin-left:22px;transition:color .2s}
.util a:hover{color:var(--blue-lit)}
@media (max-width:720px){.util .wrap>span:first-child{display:none}.util .wrap{justify-content:center}.util a{margin:0 9px}}
.actions-sec{padding-block:0 72px}
.actions{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}
.action{display:flex;flex-direction:column;gap:10px;padding:32px 34px;border:1px solid var(--rule-2);border-radius:6px;text-decoration:none;color:var(--bone-2);background:var(--ink-1);transition:border-color .3s,transform .3s}
.action:hover{border-color:var(--blue-lit);transform:translateY(-2px)}
.action h3{font:300 clamp(26px,2.4vw,34px)/1.15 var(--f-display);color:var(--bone);margin:4px 0 0;letter-spacing:-.015em}
.action p{margin:0;font-size:15px;line-height:1.6;max-width:44ch}
.action .go{margin-top:auto;padding-top:14px;font:500 12px/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--bone);display:flex;gap:10px;align-items:center}
.action .go svg{width:14px}
.action.primary{border-color:rgba(252,130,52,.55);background:linear-gradient(150deg,rgba(252,130,52,.12),rgba(252,130,52,0) 55%),var(--ink-1)}
.action.primary .go{color:var(--naag-orange)}
@media (max-width:820px){.actions{grid-template-columns:1fr}}

/* families */

.brand.fam span{color:var(--bone);letter-spacing:.34em;font-size:13px;line-height:1.35}
.brand.fam span small{display:block;color:var(--bone-3);font-size:10px;letter-spacing:.38em}
.urgent{border:1px solid rgba(252,130,52,.5);border-radius:6px;padding:30px 30px 26px;background:linear-gradient(160deg,rgba(252,130,52,.10),rgba(252,130,52,0) 60%),var(--ink-1);max-width:440px;justify-self:end;width:100%}
.urgent .label{color:var(--naag-orange)}
.urgent h3{font:300 26px/1.25 var(--f-display);color:var(--bone);margin:14px 0 10px;letter-spacing:-.01em}
.urgent p{margin:0 0 18px;font-size:15px;line-height:1.6}
.urgent a.tel{display:block;font:200 clamp(30px,3vw,40px)/1.1 var(--f-display);color:var(--bone);text-decoration:none;letter-spacing:-.02em;margin-bottom:6px}
.urgent small{display:block;font:400 12px/1.6 var(--f-mono);color:var(--bone-3)}
.fam-hero{position:relative;padding-block:72px 64px;overflow:hidden}
.fam-hero::before{content:"";position:absolute;left:-200px;bottom:-500px;width:1100px;height:900px;background:radial-gradient(closest-side,rgba(0,125,190,.20),transparent 70%);pointer-events:none}
.fam-hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.fam-hero h1{font:200 clamp(50px,6.6vw,100px)/1 var(--f-display);letter-spacing:-.035em;color:var(--bone);margin:24px 0 28px;text-wrap:balance}
.fam-hero h1 em{font-style:italic;color:var(--blue-lit)}
.apex-hero{position:relative;padding-block:96px 88px;overflow:hidden;border-bottom:1px solid var(--rule)}
.apex-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(1000px 600px at 75% 10%,rgba(201,169,110,.16),transparent 65%),radial-gradient(900px 600px at 10% 100%,rgba(0,125,190,.12),transparent 65%);pointer-events:none}
.apex-hero .wrap{position:relative}
.apex-hero .label{color:#c9a96e}
.apex-hero h1{font:200 clamp(46px,6.4vw,96px)/1.02 var(--f-display);letter-spacing:-.035em;color:var(--bone);margin:24px 0 28px;max-width:13em;text-wrap:balance}
.apex-hero h1 em{font-style:italic;color:#d9bf8c}
.apex .cell .k{color:#d9bf8c}
.apex .statement em,.apex h2 em{color:#d9bf8c}
@media (max-width:920px){.fam-hero .wrap{grid-template-columns:minmax(0,1fr)}.urgent{justify-self:start}}

/* ---- service catalog ---- */
.wrap.wide{display:block}
.carte{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-2)}
.carte li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;padding:30px 0;border-bottom:1px solid var(--rule)}
.carte .cn{font:400 12px/1.9 var(--f-mono);color:var(--naag-orange);letter-spacing:.06em}
.carte h3{font:300 clamp(22px,1.9vw,28px)/1.2 var(--f-display);color:var(--bone);margin:0 0 10px;letter-spacing:-.01em}
.carte p{margin:0;max-width:66ch;font-size:16px;line-height:1.65}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tags span{font:400 10.5px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--bone-2);border:1px solid var(--rule-2);border-radius:100px;padding:7px 11px}
.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:6px;overflow:hidden;margin-top:8px}
.levels div{background:var(--ink-1);padding:24px 26px}
.levels b{display:block;font:500 11px/1.4 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-lit);margin-bottom:10px}
.levels p{margin:0;font-size:15px;line-height:1.6}
.colls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.coll{display:flex;flex-direction:column;gap:12px;background:var(--ink-0);padding:34px 30px 30px;text-decoration:none;color:var(--bone-2);transition:background .3s;min-height:260px}
.coll:hover{background:var(--ink-1)}
.coll .num{font:200 34px/1 var(--f-display);letter-spacing:.06em;color:var(--blue-lit)}
.coll h3{font:300 26px/1.15 var(--f-display);color:var(--bone);margin:8px 0 0;letter-spacing:-.01em}
.coll p{margin:0;font-size:15px;line-height:1.55}
.coll .aud{margin-top:auto;font:400 10.5px/1.5 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--bone-3)}
.guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.guide{display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;align-items:center;padding:22px;border:1px solid var(--rule-2);border-radius:6px;text-decoration:none;color:var(--bone-2);background:var(--ink-1);transition:border-color .3s,transform .3s}
.guide:hover{border-color:var(--blue-lit);transform:translateY(-2px)}
.guide img{width:96px;aspect-ratio:8.5/11;object-fit:cover;border-radius:3px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.guide h3{font:300 22px/1.2 var(--f-display);color:var(--bone);margin:0 0 6px}
.guide p{margin:0 0 10px;font-size:14px;line-height:1.5}
.guide .dl{font:500 11px/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--naag-orange)}
.coll.edu{grid-column:span 3;min-height:0}
@media (max-width:980px){.colls{grid-template-columns:repeat(2,minmax(0,1fr))}.coll.edu{grid-column:span 2}}
@media (max-width:720px){.coll.edu{grid-column:auto}}
@media (max-width:480px){.util a[href^="tel"]{display:none}.util a{white-space:nowrap}}
@media (max-width:720px){.colls,.guides{grid-template-columns:1fr}.carte li{grid-template-columns:40px minmax(0,1fr);gap:14px}}

/* ---- resources & seo ---- */
.reviewed{margin-top:22px;font:400 11.5px/1.6 var(--f-mono);letter-spacing:.02em;color:var(--bone-3)}
.reviewed a{color:var(--bone-2)}
.keypts{border:1px solid var(--rule-2);border-left:2px solid var(--naag-orange);border-radius:4px;padding:26px 30px;background:var(--ink-1)}
.keypts .label{color:var(--naag-orange)}
.keypts ul{margin:14px 0 0;padding-left:18px}.keypts li{margin:6px 0;font-size:16px;line-height:1.6;color:var(--bone)}
.article .prose h3{margin-top:28px}
.article .prose ul{padding-left:20px}.article .prose li{margin:8px 0}
.further{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.further a{display:block;padding:22px 24px;border:1px solid var(--rule-2);border-radius:6px;text-decoration:none;color:var(--bone-2);background:var(--ink-1);transition:border-color .3s}
.further a:hover{border-color:var(--blue-lit)}
.further b{display:block;font:300 21px/1.25 var(--f-display);color:var(--bone);margin:6px 0 8px}
.further span{font:500 10.5px/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-lit)}
