/* Layout: all seven pages in one preview. Clinical teal carries the bands; mono carries labels and data. */
:root{
  color-scheme:light;
  --paper:#F6F7F8;
  --surface:#FFFFFF;
  --ink:#0E1418;
  --body:#2C3740;
  --muted:#5E6B70;
  --rule:#D3D9DC;
  --tint:#E8EDEF;
  --accent:#3D5566;
  --on-accent:#EAEFF1;
  --inverse:#0E1418;
  --on-inverse:#F6F7F8;

  --display:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:Archivo,'Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:Archivo,'Helvetica Neue',Helvetica,Arial,sans-serif; /* label font: plain, not monospaced */
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0D1113; --surface:#141A1D; --ink:#F0F3F4; --body:#C3CDD2;
    --muted:#8D9AA0; --rule:#2A3338; --tint:#19222A;
    --accent:#9BB6C5; --on-accent:#111C23;
    --inverse:#19212A; --on-inverse:#F0F3F4;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0D1113; --surface:#141A1D; --ink:#F0F3F4; --body:#C3CDD2;
  --muted:#8D9AA0; --rule:#2A3338; --tint:#19222A;
  --accent:#9BB6C5; --on-accent:#111C23;
  --inverse:#19212A; --on-inverse:#F0F3F4;
  color-scheme:dark;
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
img{max-width:100%}

.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.note{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* nav */
.nav{border-bottom:1px solid var(--rule);background:var(--surface);position:sticky;top:0;z-index:9;padding-top:env(safe-area-inset-top,0px);transition:box-shadow .18s ease}
.nav.compact{box-shadow:0 2px 16px rgba(14,20,24,.11)}
@media (prefers-color-scheme: dark){.nav.compact{box-shadow:0 2px 16px rgba(0,0,0,.45)}}
.nav .wrap{padding-block:18px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px}
.brand{font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.22em;text-transform:uppercase;margin-right:auto;color:var(--ink);text-decoration:none;padding:0}
.nav .lnk{font-family:var(--sans);font-size:14px;color:var(--body);text-decoration:none;border-bottom:1px solid transparent;padding:0 0 2px}
.nav .lnk:hover{color:var(--ink);border-bottom-color:var(--accent)}
.nav .lnk[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}


/* mobile nav toggle (hidden on desktop) */
.navlinks{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px}
.nav-toggle{display:none;position:absolute;right:max(16px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid var(--rule);color:var(--ink);cursor:pointer;padding:0}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:17px;height:1px;background:currentColor}
.nav-toggle span{position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0}
.nav-toggle span::before{top:-5px}
.nav-toggle span::after{top:5px}
.nav.open .nav-toggle{border-color:var(--ink)}

/* page head */
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--accent);flex:none}
h1{font-family:var(--display);font-weight:400;margin:0;font-size:clamp(38px,5.6vw,72px);line-height:1.02;letter-spacing:-.028em;max-width:17ch;text-wrap:balance}
.pagehead .wrap{padding-block:64px 36px;border-bottom:1px solid var(--ink)}
.pagelead{font-family:var(--display);font-weight:300;font-size:clamp(18px,2vw,21px);line-height:1.5;color:var(--body);margin:22px 0 0;max-width:60ch}

/* hero (home) */
.hero .wrap{padding-block:76px 72px}
.hero h1{font-size:clamp(42px,7vw,88px);line-height:1;letter-spacing:-.03em;max-width:14ch}
.herogrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:end;margin-top:40px}
.lead{font-family:var(--display);font-weight:300;font-size:clamp(19px,2.1vw,23px);line-height:1.5;color:var(--body);margin:0;max-width:50ch}

.cta{display:flex;flex-wrap:wrap;gap:10px}
.btn{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-solid{background:var(--accent);color:var(--on-accent)}
.btn-solid:hover{background:var(--ink);color:var(--paper)}
.btn-line{border-color:var(--ink);color:var(--ink);background:none}
.btn-line:hover{background:var(--ink);color:var(--paper)}

/* teal band */
.terms{background:var(--accent);color:var(--on-accent)}
.terms .wrap{padding-block:44px}
.terms h2{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin:0 0 26px;opacity:.75}
.termgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 32px}
.term{min-width:0;border-top:1px solid rgba(255,255,255,.28);padding-top:14px}
.term p{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(17px,1.7vw,20px);line-height:1.35}

/* sections */
.sec .wrap{padding-block:76px}
.sechead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ink);padding-bottom:16px}
h2.big{font-family:var(--display);font-weight:400;margin:0;font-size:clamp(27px,3.3vw,42px);line-height:1.1;letter-spacing:-.025em}

.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.card{background:var(--surface);border:1px solid var(--rule);padding:26px 24px 28px;min-width:0}
.card .num{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin:0}
.card h3{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.25;margin:14px 0 10px}
.card p{margin:0;color:var(--body);font-size:15px}

/* stages */
.stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:32px}
.stage{min-width:0;border-top:3px solid var(--accent);padding-top:16px}
.stage .st{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0}
.stage h3{font-family:var(--display);font-weight:400;font-size:21px;margin:12px 0 10px;line-height:1.25}
.stage p{margin:0;color:var(--body);font-size:15px}

/* short list */
.shortlist{background:var(--tint)}
.shortlist .wrap{padding-block:76px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.stackwrap{min-width:0}
.stack{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}
.chip{aspect-ratio:3/4;background:var(--rule);opacity:.55;border-radius:2px}
.chip.on{background:var(--accent);opacity:1}
.stackcap{margin-top:18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.stackcap .hi{color:var(--accent)}
.shortlist h2.big{max-width:13ch}
.shortlist p{color:var(--body);margin:16px 0 0;max-width:46ch}

/* roster + tags */
.rosterline{display:flex;flex-wrap:wrap;align-items:baseline;font-family:var(--display);font-weight:300;font-size:clamp(19px,2.4vw,28px);line-height:1.45;margin-top:26px}
.rosterline span{padding-right:14px;margin-right:14px;border-right:1px solid var(--rule)}
.rosterline span:last-child{border-right:none;padding-right:0;margin-right:0}
.rosterline span.hi{color:var(--accent)}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.tags span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--accent);color:var(--accent);font-family:var(--display);font-size:17px}

/* level rows */
.rows{margin-top:28px}
.row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding:24px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.row:first-child{border-top:1px solid var(--ink)}
.row:last-child{border-bottom:1px solid var(--ink)}
.row b{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.row p{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(18px,1.9vw,21px);line-height:1.45;min-width:0}

/* list */
.list{list-style:none;margin:28px 0 0;padding:0}
.list li{padding:16px 0;border-top:1px solid var(--rule);font-family:var(--display);font-weight:300;font-size:19px;line-height:1.45;color:var(--body)}
.list li:last-child{border-bottom:1px solid var(--rule)}

/* panel */
.panel{background:var(--tint);padding:44px 40px;margin-top:32px}
.panelgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.panelgrid .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.panelgrid p.v{margin:0;color:var(--body);font-size:15px}

/* about split */
.about2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:56px;margin-top:32px;align-items:start}
.about2 p{margin:0 0 18px;color:var(--body)}
.about2 p:last-child{margin-bottom:0}
.about2 .first{font-family:var(--display);font-weight:300;font-size:21px;line-height:1.5}
.meta p{margin:0 0 10px}
.meta .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.meta .v{font-family:var(--display);font-weight:300;font-size:19px;color:var(--ink)}

/* contact */
.contact2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;margin-top:36px;align-items:start}
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.field input,.field textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--rule);padding:13px 14px;border-radius:0}
.field textarea{min-height:120px;resize:vertical}
.field2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.formnote{margin:14px 0 0;font-size:13px;color:var(--muted)}
.deets dt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:22px}
.deets dt:first-child{margin-top:0}
.deets dd{margin:7px 0 0;font-family:var(--display);font-weight:300;font-size:20px;line-height:1.4}
.deets dd small{display:block;font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--body);margin-top:8px}
.deets{border-top:1px solid var(--ink);padding-top:22px;margin:0}

/* closing */
.close{background:var(--inverse);color:var(--on-inverse)}
.close .wrap{padding-block:70px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.close p{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(23px,3.1vw,36px);line-height:1.25;margin:0;max-width:20ch}
.close .btn-solid{background:var(--on-inverse);color:var(--inverse)}
.close .btn-solid:hover{background:var(--accent);color:var(--on-accent)}

/* footer */
.foot{background:var(--inverse);color:var(--on-inverse);border-top:1px solid rgba(255,255,255,.14)}
.foot .wrap{padding-block:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.foot .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin:0 0 10px}
.foot p.v{margin:0;font-family:var(--display);font-weight:300;font-size:18px;line-height:1.5}

.eeo{margin:32px 0 0;padding-top:18px;border-top:1px solid var(--ink);font-family:var(--display);font-style:italic;font-weight:300;font-size:17px;line-height:1.5;color:var(--body)}

@media (max-width:900px){
  .herogrid,.shortlist .wrap,.about2,.contact2{grid-template-columns:1fr;gap:32px}
  .herogrid{align-items:start}
  .termgrid,.cards,.stages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot .wrap{grid-template-columns:1fr}
}
@media (max-width:620px){
  body{font-size:15px}
  .hero .wrap{padding-block:48px 48px}
  .pagehead .wrap{padding-block:40px 26px}
  .sec .wrap,.shortlist .wrap,.close .wrap{padding-block:52px}
  .termgrid,.cards,.stages,.panelgrid,.field2{grid-template-columns:1fr}
  .stack{grid-template-columns:repeat(6,1fr)}
  .row{grid-template-columns:1fr;gap:8px}
  .rosterline{display:block;margin-top:20px}
  .rosterline span{display:block;padding-right:0;margin-right:0;border-right:none;line-height:1.55}
  .btn{width:100%}
  .nav .wrap{position:relative;justify-content:center;gap:12px 20px}
  .brand{margin-right:0;width:100%;text-align:center}
  .nav-toggle{display:flex}
  .nav.open .nav-toggle{top:7px;transform:none}
  .navlinks{display:none;width:100%;justify-content:center;gap:12px 20px}
  .nav.open .navlinks{display:flex;padding-top:14px}
  .panel{padding:28px 22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
