/* Fonts are self-hosted (no requests to Google): Newsreader (display) and Archivo (text) */
@font-face{font-family:"Newsreader";src:url("/fonts/newsreader-var.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("/fonts/archivo-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* ============ TOKENS — blue ============ */
:root{
  --bg:#FBF9F6;--bg2:#F2F5F9;--panel:#FFFFFF;--ink:#0A1622;--ink2:#31414F;
  --muted:#61717F;--line:#DEE7F0;--line2:#BCCBDA;
  --acc:#0E3B78;--acc2:#1C5FB0;--acc-ink:#FFFFFF;--onphoto:#FFFFFF;
  --veil1:rgba(5,12,20,.52);--veil2:rgba(5,12,20,.30);--veil3:rgba(5,12,20,.88);
  --gal:#E7EEF6;--card-c:#FFFFFF;
  --gap:clamp(86px,13vw,178px);
  --tqa:#E9EFF7;--tqb:#DFE8F3;--tqc:#EFF2F5;--tqd:#E4EDF6;
}
@media (prefers-color-scheme:dark){:root[data-theme="auto-dark"]{
  --bg:#05070A;--bg2:#090D13;--panel:#0C1218;--ink:#EDF3F9;--ink2:#C3CFDB;
  --muted:#84939F;--line:#161E28;--line2:#2C3A48;
  --acc:#8FBCEA;--acc2:#A9CFF5;--acc-ink:#05121F;--onphoto:#FFFFFF;
  --veil1:rgba(3,6,10,.62);--veil2:rgba(3,6,10,.34);--veil3:rgba(3,6,10,.92);
  --gal:#0D141C;--card-c:#F1F6FB;
  --tqa:#111A25;--tqb:#16202D;--tqc:#0E141B;--tqd:#182333;
}}
:root[data-theme="dark"]{
  --bg:#05070A;--bg2:#090D13;--panel:#0C1218;--ink:#EDF3F9;--ink2:#C3CFDB;
  --muted:#84939F;--line:#161E28;--line2:#2C3A48;
  --acc:#8FBCEA;--acc2:#A9CFF5;--acc-ink:#05121F;--onphoto:#FFFFFF;
  --veil1:rgba(3,6,10,.62);--veil2:rgba(3,6,10,.34);--veil3:rgba(3,6,10,.92);
  --gal:#0D141C;--card-c:#F1F6FB;
  --tqa:#111A25;--tqb:#16202D;--tqc:#0E141B;--tqd:#182333;
}

*{box-sizing:border-box}
:root{--font:"Archivo","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;--disp:"Newsreader",Georgia,"Times New Roman",serif}
html,body,button,input,select,textarea,optgroup{font-family:var(--font);font-synthesis-weight:none}
::placeholder{font-family:var(--font)}
html,body{margin:0;padding:0}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--font);
  font-size:17.5px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
button{font:inherit;color:inherit}
a{color:inherit}
::selection{background:rgba(28,95,176,.22);color:inherit}
::-moz-selection{background:rgba(28,95,176,.22);color:inherit}
.hero-in,.heroF .htext{-webkit-user-select:none;user-select:none}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}
p{margin:0 0 16px}
.w{max-width:1440px;margin:0 auto;padding-left:clamp(20px,5vw,72px);padding-right:clamp(20px,5vw,72px)}
.lab{font-size:clamp(12px,1.22vw,14.5px);font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--acc);margin:0 0 clamp(22px,3.4vw,38px)}
h2{font-size:clamp(25px,3.7vw,48px);font-weight:700;letter-spacing:-.028em;
  margin-bottom:clamp(20px,2.6vw,34px);text-wrap:pretty}
.body-copy{font-size:clamp(16.2px,1.57vw,19.8px);line-height:1.7;color:var(--ink2);max-width:60ch}
.muted{color:var(--muted)}
section{position:relative}
.band{padding-block:var(--gap);background:var(--bg);position:relative}
#site > section.band:nth-of-type(even){background:var(--bg2)}
.hero + .band,.heroF + .band,.pband + .band{padding-block:calc(var(--gap) * 1.05)}
#site > section.band:nth-of-type(even).rule{border-top-color:transparent}
/* soften the hard edge where a dark photo section meets a light section */
.hero:has(+ .band)::after,.pband:has(+ .band)::after,.roles:has(+ .band)::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:clamp(70px,9vw,130px);pointer-events:none;z-index:3;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,var(--bg) 100%)}
.band + .band.rule{border-top-color:var(--line)}
.rule{border-top:1px solid var(--line)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;border:1px solid transparent;cursor:pointer;transition:.25s}
.btn-a{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.btn-a:hover{background:var(--acc2);border-color:var(--acc2)}
.btn-o{color:var(--onphoto);border-color:rgba(255,255,255,.5)}
.btn-o:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* ============ NAV (Rich Roll pattern) ============ */
.nav{position:absolute;top:0;left:0;right:0;z-index:40;padding-top:env(safe-area-inset-top,0px)}
.nav.fixed{position:fixed;background:var(--veil3);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08)}
.nav-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
  padding-block:20px;max-width:1440px;margin:0 auto;
  padding-left:clamp(20px,5vw,72px);padding-right:clamp(20px,5vw,72px)}
.socials{display:flex;gap:clamp(10px,1.3vw,17px);align-items:center}
.socials a{display:inline-flex;color:var(--onphoto);opacity:.82;transition:opacity .2s,transform .2s}
.socials a:hover{opacity:1;transform:translateY(-2px)}
.socials svg{width:17px;height:17px;display:block;fill:currentColor}
.menu{display:flex;gap:clamp(14px,2vw,30px);justify-content:center;flex-wrap:wrap}
.menu a{font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
  text-decoration:none;color:var(--onphoto);opacity:.62;transition:opacity .2s;white-space:nowrap}
.menu a:hover,.menu a.on{opacity:1}
.navr{display:flex;gap:12px;align-items:center;justify-content:flex-end}
.navr .ic{display:inline-flex;color:var(--onphoto);opacity:.82;background:none;border:0;cursor:pointer;padding:4px}
.navr .ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
a.sub{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--onphoto);border:1px solid rgba(255,255,255,.5);padding:9px 15px;text-decoration:none;
  white-space:nowrap;transition:.2s}
a.sub:hover{background:#fff;color:#06121F;border-color:#fff}
.lang{display:flex;gap:3px;font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--onphoto)}
.lang button{background:none;border:0;cursor:pointer;padding:4px 3px;opacity:.5}
.lang button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:4px}
@media (max-width:1000px){
  .nav-in{grid-template-columns:1fr auto}
  .menu{display:none}
}

/* ============ HERO ============ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;text-align:center;color:var(--onphoto)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:64% 16%;
  animation:kb 34s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.09)}}
.hero .bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;
  animation:none}
@media (prefers-reduced-motion:reduce){.hero .bgvid{display:none}}
.hero .veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(4,10,18,.62) 0%,rgba(4,10,18,.34) 26%,rgba(4,10,18,.66) 58%,rgba(4,10,18,.95) 100%)}
.hero .veil2{position:absolute;inset:0;z-index:2;background:radial-gradient(78% 60% at 50% 62%,rgba(3,8,14,.34) 0%,rgba(3,8,14,.80) 100%)}
.hero .veil{z-index:2}
.hero-in{position:relative;z-index:5;padding-block:120px 90px;width:100%}
.hkick{font-size:clamp(12px,1.38vw,15px);font-weight:600;letter-spacing:.32em;text-transform:uppercase;
  opacity:.88;margin:0 0 clamp(26px,4vh,46px)}
.hpre{font-size:clamp(18px,2.16vw,29px);font-weight:500;letter-spacing:.05em;margin:0 0 2px;opacity:.92}
.hstatus{font-size:clamp(12.5px,1.32vw,15.5px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  margin:0 0 clamp(16px,2.4vh,26px);opacity:.92;line-height:1.7}
.hstatus b{font-weight:700;color:#fff}
.hname{font-size:clamp(37px,8.3vw,114px);font-weight:700;letter-spacing:-.038em;line-height:.94;
  margin:0 0 clamp(20px,3vh,34px)}
.hroles{font-size:clamp(17px,2.1vw,25px);font-weight:500;letter-spacing:.01em;
  margin:0 0 clamp(20px,3vh,30px);opacity:.96}
.hcreds{font-size:clamp(15px,1.5vw,18px);font-weight:400;line-height:1.85;opacity:.82;
  max-width:62ch;margin:0 auto clamp(30px,4.5vh,46px)}
.hbtns .btn{font-size:14px;padding:17px 30px}
.hero.sub .hname{font-size:clamp(28px,4.2vw,56px);line-height:1.08;letter-spacing:-.025em;
  max-width:22ch;margin-inline:auto}
.hero.sub .hroles{font-size:clamp(15.5px,1.55vw,19px);opacity:.9}

/* ---- HERO variant: cut-out figure beside the text ---- */
.heroF{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;
  color:#fff;background:#05080D}
.heroF .glow{position:absolute;inset:0;
  background:
    radial-gradient(64% 58% at 74% 62%, rgba(45,110,190,.40) 0%, rgba(10,24,44,0) 70%),
    radial-gradient(90% 80% at 14% 12%, rgba(26,86,160,.30) 0%, rgba(5,8,13,0) 62%),
    linear-gradient(170deg,#0A1526 0%,#05080D 58%,#04060A 100%)}
.heroF .grain{position:absolute;inset:0;opacity:.30;pointer-events:none;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px)}
.hgrid{position:relative;z-index:4;display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(20px,3vw,50px);align-items:end;width:100%}
.htext{padding-block:clamp(130px,17vh,190px) clamp(60px,10vh,120px);text-align:left}
.htext .hcreds{margin-left:0;margin-right:0}
.htext .hbtns{justify-content:flex-start}
.hfig{margin:0;align-self:end;display:flex;justify-content:center;position:relative}
.hfig img{display:block;width:100%;max-width:560px;height:auto;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
.hfig::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:22%;z-index:-1;
  background:radial-gradient(60% 100% at 50% 100%, rgba(80,150,230,.30) 0%, rgba(5,8,13,0) 75%)}
@media (max-width:900px){
  .hgrid{grid-template-columns:1fr;gap:0}
  .htext{padding-block:clamp(110px,16vh,150px) 26px;text-align:center}
  .htext .hcreds{margin-left:auto;margin-right:auto}
  .htext .hbtns{justify-content:center}
  .hfig img{max-width:min(78vw,360px)}
}
.hbtns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.hbtns2{display:flex;justify-content:center;margin-top:12px}
.hbtns2 .btn{font-size:13px;padding:15px 26px;border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.06)}
.hbtns2 .btn:hover{border-color:#fff;background:rgba(255,255,255,.14)}

/* ---- qualifications ---- */
.quals{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin-top:clamp(24px,3vw,44px)}
.qgrp{background:var(--bg);padding:clamp(22px,2.4vw,32px)}
.qgrp h3{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--acc);margin:0 0 18px;line-height:1}
.qgrp ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.qgrp li{font-size:clamp(13.5px,1.15vw,15px);line-height:1.45;font-weight:600}
.qgrp li span{display:block;font-weight:400;font-size:12.5px;color:var(--muted);margin-top:3px;
  letter-spacing:.01em}

/* ---- education list ---- */
.edu{margin-top:clamp(26px,3.4vw,48px);border-top:1px solid var(--line)}
.edurow{display:grid;grid-template-columns:clamp(74px,8vw,120px) 1fr;gap:clamp(18px,3vw,44px);
  padding-block:clamp(20px,2.6vw,32px);border-bottom:1px solid var(--line);align-items:baseline}
.eduyr{font-size:clamp(13px,1.3vw,17px);font-weight:800;color:var(--acc);letter-spacing:-.01em;
  font-variant-numeric:tabular-nums}
.edub h3{font-size:clamp(16px,1.75vw,23px);font-weight:700;letter-spacing:-.025em;margin:0 0 6px;
  line-height:1.2}
.edub p{font-size:clamp(13px,1.15vw,15px);color:var(--muted);margin:0;max-width:62ch;line-height:1.5}
@media (max-width:620px){.edurow{grid-template-columns:1fr;gap:6px}}

/* ---- experience timeline (alternating) ---- */
.xtl{position:relative;margin-top:clamp(26px,3.4vw,52px)}
.xtl::before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:1px;
  background:var(--line2);transform:translateX(-.5px)}
.xrow{display:grid;grid-template-columns:1fr 56px 1fr;align-items:start;
  padding-block:clamp(16px,2.2vw,30px)}
.xdot{position:relative;height:100%;grid-column:2;grid-row:1}
.xdot::after{content:"";position:absolute;left:50%;top:8px;width:11px;height:11px;border-radius:50%;
  background:var(--acc);transform:translateX(-50%);box-shadow:0 0 0 5px var(--bg)}
.xcard{min-width:0}
.xrow:nth-child(odd) .xcard{grid-column:1;text-align:right;padding-right:clamp(6px,1.4vw,20px)}
.xrow:nth-child(even) .xcard{grid-column:3;text-align:left;padding-left:clamp(6px,1.4vw,20px)}
.xyr{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--acc);display:block;margin-bottom:10px}
.xorg{font-size:clamp(17px,2vw,27px);font-weight:700;letter-spacing:-.03em;line-height:1.14;margin:0 0 8px}
.xrole{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink2);margin:0 0 12px}
.xdesc{font-size:clamp(13px,1.1vw,14.5px);color:var(--muted);margin:0;line-height:1.55}
.xrow:nth-child(odd) .xdesc{margin-left:auto}
@media (max-width:820px){
  .xtl::before{left:6px}
  .xrow{grid-template-columns:34px 1fr;padding-block:16px}
  .xdot{grid-column:1}
  .xdot::after{left:6px;box-shadow:0 0 0 4px var(--bg)}
  .xrow:nth-child(odd) .xcard,.xrow:nth-child(even) .xcard{grid-column:2;text-align:left;
    padding-left:0;padding-right:0}
}

/* ---- testimonial carousel ---- */
.tcar{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  gap:clamp(14px,1.8vw,26px);padding-bottom:4px}
.tcar::-webkit-scrollbar{display:none}
.tq{flex:0 0 100%;scroll-snap-align:start;min-width:0;margin:0;position:relative;overflow:hidden;
  background:var(--tq);display:grid;grid-template-columns:1fr;align-items:end}
.tq--t0{--tq:var(--tqa)}.tq--t1{--tq:var(--tqb)}.tq--t2{--tq:var(--tqc)}.tq--t3{--tq:var(--tqd)}
.tq-txt{padding:clamp(26px,3.2vw,52px);grid-area:1/1;align-self:center;position:relative;z-index:2;
  max-width:min(100%,620px)}
.tq-eyebrow{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--acc);margin:0 0 6px}
.tq-eyebrow::after{content:"";display:block;width:34px;height:1px;background:var(--acc);
  margin-top:12px;opacity:.6}
.tq blockquote{margin:22px 0 0;font-size:clamp(17px,1.6vw,23px);line-height:1.52;font-weight:400;
  letter-spacing:-.01em;color:var(--ink)}
.tq figcaption{margin-top:clamp(20px,2.4vw,36px);display:flex;flex-direction:column;gap:2px;
  font-style:italic;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.tq-name{font-weight:600;color:var(--ink)}
.tq-name::before{content:"— "}
.tq-img{grid-area:1/1;align-self:stretch;justify-self:stretch;position:relative;overflow:hidden;
  z-index:1;pointer-events:none;min-height:0}
.tq-img img{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;
  object-position:bottom right;display:block}

.tq--solo .tq-txt{max-width:820px}
.tq--solo::before{content:"\201C";position:absolute;right:clamp(10px,3vw,50px);top:-.18em;
  font-size:clamp(180px,26vw,340px);line-height:1;color:var(--acc);opacity:.08;pointer-events:none}
@media (min-width:860px){
  .tq{min-height:clamp(380px,32vw,460px);grid-template-columns:1.06fr .94fr}
  .tq-txt{grid-column:1}
  .tq-img{grid-column:2;grid-row:1}
}
@media (max-width:859px){
  .tq{grid-template-rows:auto}
  .tq-img{height:clamp(220px,56vw,320px);width:100%;align-self:start}
  .tq-img img{object-position:bottom center}
  .tq{display:flex;flex-direction:column-reverse}
  .tq-txt{padding-top:6px}
}
.scrollcue{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;z-index:5;
  font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;opacity:.6;color:var(--onphoto)}

/* ============ PHOTO BAND ============ */
.pband{position:relative;min-height:min(84svh,760px);display:flex;align-items:center;
  overflow:hidden;color:var(--onphoto)}
.pband .bg{position:absolute;inset:0;background-size:cover;background-position:18% 34%}
.pband .veil{position:absolute;inset:0;
  background:linear-gradient(260deg,rgba(3,8,14,.95) 0%,rgba(3,8,14,.88) 42%,rgba(3,8,14,.34) 100%)}
.pband .inner{position:relative;z-index:3;max-width:none;padding-block:clamp(60px,9vw,110px);
  display:flex;justify-content:flex-end}
.pband .ptext{max-width:min(56ch,54%)}
.pband .lab{color:var(--acc2)}
.pband h2{max-width:17ch}
.pband .body-copy{color:rgba(255,255,255,.86);max-width:none}
@media (max-width:900px){
  .pband .bg{background-position:30% 28%}
  .pband .veil{background:linear-gradient(180deg,rgba(3,8,14,.5) 0%,rgba(3,8,14,.9) 46%,rgba(3,8,14,.97) 100%)}
  .pband .ptext{max-width:none}
}

/* ============ FOUR ROLES 2x2 ============ */
.roles{display:grid;grid-template-columns:1fr 1fr;gap:0}
.role{position:relative;min-height:min(56svh,520px);overflow:hidden;display:flex;align-items:flex-end;
  color:#fff;text-decoration:none;cursor:pointer}
.role .bg{position:absolute;inset:0;background-size:cover;
  background-position:var(--bp,center 22%);
  opacity:.72;transition:opacity .6s,transform .9s;
  transform:scaleX(var(--mx,1)) scale(var(--z,1))}
.role:hover .bg,.role:focus-within .bg{opacity:.86;--z:1.05}
.role .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,14,.22) 0%,rgba(3,8,14,.52) 38%,rgba(3,8,14,.88) 68%,rgba(3,8,14,.96) 100%)}
.role .rin{position:relative;z-index:3;padding:clamp(24px,3vw,46px);width:100%}
.rnum{font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--acc2);display:block;margin-bottom:12px;line-height:1}
.raud{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.7);margin:0 0 12px;line-height:1}
.role h3{font-size:clamp(22px,2.4vw,34px);font-weight:800;letter-spacing:-.035em;margin:0 0 14px;
  line-height:1.06;min-height:2.12em}
.role p{font-size:clamp(13.5px,1.18vw,15px);line-height:1.55;color:rgba(255,255,255,.88);
  margin:0 0 20px;max-width:44ch;min-height:6.2em;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:760px){.role p{min-height:0;-webkit-line-clamp:5}.role h3{min-height:0}}
.racts{display:flex;flex-wrap:wrap;gap:8px}
.racts a{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;padding:12px 17px}
.racts .p{background:var(--acc);color:var(--acc-ink)}
.racts .s{border:1px solid rgba(255,255,255,.42);color:#fff}
@media (max-width:760px){.roles{grid-template-columns:1fr}.role{min-height:430px}}

.nowband{display:flex;flex-wrap:wrap;justify-content:center;
  gap:clamp(16px,2vw,30px);margin-top:clamp(24px,3vw,40px)}
.nowband > *{flex:0 1 calc(33.333% - clamp(11px,1.34vw,20px))}
@media (max-width:900px){.nowband > *{flex:0 1 calc(50% - clamp(8px,1vw,15px))}}
@media (max-width:560px){.nowband > *{flex:1 1 100%}}
.nowitem{border-top:2px solid var(--acc);padding-top:18px;display:flex;flex-direction:column;
  gap:8px;text-align:center;align-items:center}
.nowitem b{font-size:clamp(15px,1.34vw,19px);font-weight:700;letter-spacing:-.01em;line-height:1.3}
.nowitem span{font-size:clamp(14px,1.05vw,15.5px);line-height:1.52;color:var(--muted)}
.colgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(16px,2vw,28px);margin-top:clamp(20px,2.6vw,34px)}
.colcard{border-top:2px solid var(--acc);padding-top:16px;display:flex;flex-direction:column;
  gap:8px;text-align:center;align-items:center}
.colcard h3{font-size:clamp(17px,1.45vw,20px);letter-spacing:-.02em;line-height:1.25}
.colcard p{margin:0;color:var(--muted);font-size:clamp(14px,1.08vw,15.5px);line-height:1.55}
.colcard a{margin-top:4px;font-size:13px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--acc);text-decoration:none}
.colcard a:hover{text-decoration:underline}

.tgrp{margin-top:clamp(26px,3.2vw,42px)}
.tgh{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);
  margin-bottom:14px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.tglist{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:0 clamp(22px,2.6vw,40px)}
.titem{display:flex;flex-direction:column;gap:3px;padding-block:13px;border-bottom:1px solid var(--line)}
.titem b{font-size:clamp(14.5px,1.16vw,16.5px);font-weight:650;letter-spacing:-.01em;line-height:1.35}
.titem span{font-size:clamp(13px,1.02vw,14.5px);line-height:1.5;color:var(--muted)}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(20px,2.4vw,36px)}
.step{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--acc);padding-top:18px}
.stepn{font-size:13.5px;font-weight:700;letter-spacing:.18em;color:var(--acc)}
.step b{font-size:clamp(16px,1.35vw,19px);letter-spacing:-.01em;line-height:1.3}
.stept{font-size:clamp(14px,1.08vw,15.5px);line-height:1.55;color:var(--muted)}
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:clamp(24px,3vw,42px)}
@media (max-width:980px){.areas{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.areas{grid-template-columns:1fr}}
.area{background:var(--bg);padding:clamp(24px,2.8vw,38px);display:flex;flex-direction:column;gap:10px}
.arean{font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--acc)}
.area h3{font-size:clamp(18px,1.7vw,23px);letter-spacing:-.02em;line-height:1.25}
.area p{margin:0;color:var(--muted);font-size:clamp(14.5px,1.12vw,16.5px);line-height:1.6}
/* Pattern A modifiers */
.areas.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:620px){.areas.two{grid-template-columns:1fr}}
.area.hi{background:var(--bg2);box-shadow:inset 3px 0 0 var(--acc)}
.area.hi h3{color:var(--acc)}
.pubs{border-top:1px solid var(--line);margin-top:clamp(24px,3vw,40px)}
.pub{display:grid;grid-template-columns:78px 1fr;gap:6px 20px;padding-block:clamp(16px,1.9vw,24px);
  border-bottom:1px solid var(--line)}
.puby{font-size:13.5px;font-weight:700;color:var(--acc);font-variant-numeric:tabular-nums;padding-top:3px}
.pubb h3{font-size:clamp(15px,1.24vw,18px);font-weight:650;letter-spacing:-.01em;line-height:1.35}
.pubj{margin:6px 0 0;font-size:14px;color:var(--ink2)}
.puba{margin:3px 0 0;font-size:13.5px;color:var(--muted)}
.pubd{display:inline-block;margin-top:7px;font-size:13px;font-weight:600;color:var(--acc);
  text-decoration:none;word-break:break-all}
.pubd:hover{text-decoration:underline}
.pubn{color:var(--muted);font-weight:400}
@media (max-width:560px){.pub{grid-template-columns:1fr;gap:4px}}
.panel{background:var(--bg2);border:1px solid var(--line);padding:clamp(24px,3vw,40px)}
.blpick{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:clamp(18px,2.4vw,34px);margin-top:clamp(30px,4vw,54px)}
.blcard{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;
  border:1px solid var(--line2);padding:clamp(26px,3vw,42px);transition:.22s;min-height:210px}
.blcard:hover{border-color:var(--acc);transform:translateY(-3px)}
.blcard h3{font-size:clamp(21px,2.1vw,29px);letter-spacing:-.02em;line-height:1.2}
.blcard p{margin:0;color:var(--muted);font-size:clamp(14.5px,1.15vw,16.5px);line-height:1.6;flex:1}
.blgo{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}

/* ============ RECORD — one line ============ */
.ev{display:block;margin-top:10px;padding-left:12px;border-left:2px solid var(--acc);
  font-size:clamp(13px,1.02vw,14.5px);line-height:1.55;color:var(--ink2)}
.ev sup{font-size:.72em;color:var(--acc);font-weight:700}
.jrny{max-width:74ch;margin-top:clamp(20px,2.6vw,34px)}
.jrny p{font-size:clamp(16.2px,1.57vw,19.8px);line-height:1.72;color:var(--ink2);margin:0 0 clamp(16px,1.9vw,24px)}
.jrny p.lead{font-size:clamp(18px,2vw,25px);line-height:1.56;color:var(--ink)}
.mstone{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:clamp(26px,3.2vw,44px)}
@media (max-width:860px){.mstone{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.mstone{grid-template-columns:1fr}}
.mrow{background:var(--bg);padding:clamp(18px,2.1vw,26px);display:flex;flex-direction:column;gap:7px}
.myr{font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--acc)}
.mtx{font-size:clamp(13.5px,1.08vw,15.5px);line-height:1.5;color:var(--ink2)}
.pubsrest{animation:pubfade .5s ease both}
@keyframes pubfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pubsmore{display:flex;justify-content:center;padding-top:clamp(22px,2.8vw,36px)}
.evnote{font-size:12px;color:var(--muted);margin-top:clamp(16px,2vw,26px);line-height:1.6}
.pullq{max-width:900px;margin:0 auto;text-align:center;padding-block:clamp(10px,1.4vw,18px)}
.pullq p{font-size:clamp(18px,2.05vw,27px);line-height:1.45;font-weight:400;letter-spacing:-.018em;
  color:var(--ink);margin:0;font-style:italic}
.pullq cite{display:block;margin-top:clamp(14px,1.8vw,22px);font-style:normal;font-size:11.5px;
  font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pullq::before{content:"\201C";display:block;font-size:clamp(46px,5vw,74px);line-height:.6;
  color:var(--acc);opacity:.26;margin-bottom:10px}
section.band.pullband{padding-block:calc(var(--gap) * .5);background:var(--bg2)}
.recline{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;
  gap:clamp(16px,2.6vw,46px);text-align:center;margin-inline:auto;max-width:1040px}
.recline + .recline{margin-top:clamp(20px,2.6vw,40px)}
section.band:has(.recline){padding-block:calc(var(--gap) * .72)}
.hl{color:var(--acc);font-weight:700}
.recitem{display:flex;flex-direction:column;align-items:center;gap:9px;flex:0 1 auto}
.recnum{display:grid;place-items:center;width:clamp(63px,6.9vw,100px);height:clamp(63px,6.9vw,100px);
  border-radius:50%;background:var(--card-c);color:var(--acc);
  font-weight:800;font-size:clamp(21px,2.6vw,37px);letter-spacing:-.03em;line-height:1;
  font-variant-numeric:tabular-nums;border:1px solid var(--line);
  box-shadow:0 3px 20px rgba(10,22,34,.09)}
.recitem > span:last-child{color:var(--muted);font-weight:500;
  font-size:clamp(13px,1.15vw,17px);line-height:1.38;max-width:16ch}
.authority{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:clamp(10px,1.6vw,26px);text-align:center;margin-inline:auto;max-width:1000px}
.authority span{font-size:clamp(13px,1.24vw,16.5px);font-weight:600;color:var(--ink2);letter-spacing:.01em}
.authority b{color:var(--acc);font-weight:800;font-variant-numeric:tabular-nums}
.authority i{font-style:normal;color:var(--line2);font-weight:400}
section.band.authband{padding-block:calc(var(--gap) * .42)}
.reclink{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  margin-top:20px;display:block}

/* social row big */
.socbig{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,2vw,28px);
  margin-top:clamp(40px,5vw,70px)}
.socbig a{display:grid;place-items:center;width:clamp(58px,6vw,82px);height:clamp(58px,6vw,82px);
  border:1px solid var(--line2);border-radius:50%;text-decoration:none;color:var(--ink2);
  transition:.22s}
.socbig a:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-3px)}
.socbig svg{width:clamp(24px,2.6vw,34px);height:clamp(24px,2.6vw,34px);fill:currentColor}

/* ============ TESTIMONIALS ============ */
.tabs{display:flex;flex-wrap:wrap;gap:0 clamp(18px,2.6vw,40px);border-bottom:1px solid var(--line);
  margin-bottom:clamp(30px,4vw,54px)}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;
  padding:0 0 15px;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);transition:.22s}
.tabs button[aria-selected="true"]{color:var(--acc);border-bottom-color:var(--acc)}
.tq-legacy{}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(18px,2.4vw,34px)}
.quote{border-top:2px solid var(--acc);padding-top:26px;display:flex;flex-direction:column;gap:18px}
.quote p{font-size:clamp(17px,1.85vw,24px);line-height:1.4;font-weight:500;letter-spacing:-.02em;
  margin:0;flex:1;color:var(--ink)}
.quote cite{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);line-height:1.8}

/* ============ BEFORE / AFTER ============ */
.ba{position:relative;aspect-ratio:16/9;overflow:hidden;user-select:none;touch-action:pan-y;background:var(--bg2)}
@media (max-width:760px){.ba{aspect-ratio:4/3}}
.ba .tag{background:rgba(5,12,20,.6);color:#fff;padding:5px 9px;border-radius:2px}
.ba .s{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,#16222E,#070C12)}
.ba .s img{width:100%;height:100%;object-fit:cover;display:block}
.ba .s span{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#6A7A8A;text-align:center;line-height:2}
.ba .a{clip-path:inset(0 0 0 50%)}
.ba .tag{position:absolute;top:16px;z-index:4;font-size:9.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:#fff;background:rgba(5,12,20,.72);padding:6px 12px}
.ba .tl{left:16px}.ba .tr{right:16px}
.ba .dv{position:absolute;top:0;bottom:0;width:2px;background:var(--acc2);z-index:5;left:50%}
.ba .kn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(42px,5vw,56px);
  aspect-ratio:1;border-radius:50%;background:var(--acc2);z-index:6;display:flex;align-items:center;
  justify-content:center;color:#06121F;font-size:14px;font-weight:800;pointer-events:none}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:7;margin:0}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:clamp(12px,2vw,24px)}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.cap{font-size:clamp(15px,1.2vw,17.5px);font-weight:400;color:var(--muted);
  margin-top:20px;line-height:1.6;max-width:720px}
.cap b{display:block;color:var(--ink);font-weight:700;font-size:clamp(17px,1.5vw,22px);
  letter-spacing:-.02em;line-height:1.25;margin-bottom:7px;text-transform:none}
.dots{display:flex;gap:8px;margin-top:26px}
.dots button{width:34px;height:2px;border:0;padding:0;cursor:pointer;background:var(--line2)}
.dots button[aria-current="true"]{background:var(--acc)}

/* ============ TIMELINE (Bartlett style) ============ */
.tl{position:relative;margin-top:clamp(30px,4vw,58px)}
.tl::before{content:"";position:absolute;left:clamp(46px,7vw,110px);top:8px;bottom:8px;width:1px;background:var(--line)}
.tlrow{position:relative;display:grid;grid-template-columns:clamp(46px,7vw,110px) 1fr;
  gap:clamp(22px,3.4vw,54px);padding-block:clamp(22px,3vw,40px)}
.tlyr{font-size:clamp(13px,1.35vw,17px);font-weight:800;letter-spacing:-.02em;color:var(--acc);
  padding-top:6px;font-variant-numeric:tabular-nums;text-align:right;padding-right:18px}
.tlrow::after{content:"";position:absolute;left:clamp(46px,7vw,110px);top:clamp(28px,3.6vw,48px);
  width:9px;height:9px;border-radius:50%;background:var(--acc);transform:translateX(-4px)}
.tlb h3{font-size:clamp(20px,2.9vw,40px);font-weight:800;letter-spacing:-.04em;margin:0 0 10px}
.tlb p{font-size:clamp(13.5px,1.25vw,16px);color:var(--muted);margin:0;max-width:54ch;line-height:1.65}

/* ============ GALLERY 3 rows ============ */
.gal{background:var(--gal);padding-block:clamp(56px,8vw,110px);overflow:hidden}
.galrow{display:flex;gap:10px;width:max-content;margin-bottom:10px}
.galrow img{height:clamp(130px,17vw,240px);width:auto;object-fit:cover;display:block;flex:none}
.r1{animation:mL 46s linear infinite}
.r2{animation:mR 52s linear infinite}
.r3{animation:mL 58s linear infinite}
@keyframes mL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.galtitle{font-size:clamp(28px,7.4vw,108px);font-weight:800;letter-spacing:-.05em;line-height:1;
  text-align:center;margin:0 0 clamp(30px,4vw,56px);color:var(--ink);white-space:nowrap}

/* ============ CONTACT ============ */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px)}
@media (max-width:900px){.cgrid{grid-template-columns:1fr}}
.form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.form label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.form input,.form select,.form textarea{font-family:inherit;font-size:15px;padding:12px 0;
  border:0;border-bottom:1px solid var(--line2);background:transparent;color:var(--ink);
  border-radius:0;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-bottom-color:var(--acc)}
.form .full{grid-column:1/-1}
.form textarea{min-height:92px;resize:vertical}
.tally-wrap{width:100%}
.tally-wrap iframe{width:100%;border:0;display:block;height:760px}
@media (max-width:600px){.tally-wrap iframe{height:860px}}
.ml-embedded{width:100%;min-height:280px}

footer{border-top:1px solid var(--line);padding-block:clamp(36px,5vw,68px);font-size:11px;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.foot-in{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}

/* speaking page */
.fmtwrap{overflow-x:auto}
.fmt{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.fmt th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--acc);padding:0 18px 14px 0;border-bottom:1px solid var(--line2)}
.fmt td{padding:18px 18px 18px 0;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}
.fmt td:first-child{font-weight:700;width:28%}
.lect{padding-block:clamp(24px,3.2vw,42px);border-top:1px solid var(--line)}
.lect .n{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--acc)}
.lect h3{font-size:clamp(21px,3vw,40px);font-weight:800;letter-spacing:-.04em;margin:12px 0 12px;max-width:26ch}
.lect p{font-size:15px;color:var(--muted);margin:0 0 14px;max-width:60ch}
.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}
.tags li{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line2);padding:7px 12px}
.venues{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.venues li{border:1px solid var(--line2);padding:13px 20px;font-size:14px;font-weight:500}

/* reveal */
body.anim .rv{opacity:0;transform:translateY(26px)}
body.anim .rv.in{opacity:1;transform:none;
  transition:opacity .85s cubic-bezier(.2,.6,.2,1),transform .85s cubic-bezier(.2,.6,.2,1)}

/* prototype pill */
.ctl{position:fixed;z-index:70;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));
  display:flex;align-items:center;gap:5px;background:var(--panel);backdrop-filter:blur(14px);
  border:1px solid var(--line2);border-radius:999px;padding:5px;box-shadow:0 6px 22px rgba(0,0,0,.24)}
.ctl button{background:none;border:0;cursor:pointer;color:var(--muted);border-radius:999px;
  padding:8px 12px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.ctl button[aria-pressed="true"]{background:var(--acc);color:var(--acc-ink)}
.ctl .sep{width:1px;height:16px;background:var(--line2);flex:none}
.note{display:none}
body.notes .note{display:inline-block;vertical-align:middle;font-size:8.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:3px 6px;margin-left:8px;white-space:nowrap;
  position:relative;top:-2px;border-radius:3px}
body.notes .n-r{background:rgba(64,160,110,.18);color:#5FC48F}
body.notes .n-d{background:rgba(212,160,60,.18);color:#D9AE5C}
body.notes .n-p{background:rgba(150,140,190,.18);color:#AFA6CE}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  body.anim .rv{opacity:1;transform:none}
}

/* ===================== VERSION C ADDITIONS ===================== */
/* serif display, sans everything else (two families total) */
.hname,h2,.jrny p.lead,.valgrid h3,.cta h2,.vq p{font-family:var(--disp);font-weight:400;
  letter-spacing:-.012em;font-synthesis-weight:none}
.hname{font-weight:400;letter-spacing:-.016em;line-height:1.0}
h2{font-weight:400;letter-spacing:-.014em;line-height:1.08}
h2 b,.cta h2 b{font-weight:500}

/* --- institution strip, directly under the hero --- */
.instrip{background:var(--acc);color:var(--acc-ink);padding-block:clamp(26px,3vw,40px)}
.instrip .iw{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,30px)}
.instrip .icol{border-left:1px solid rgba(255,255,255,.22);padding-left:clamp(12px,1.2vw,18px)}
.instrip .icol:first-child{border-left:0;padding-left:0}
.instrip b{display:block;font-size:clamp(12.5px,1.05vw,14.5px);font-weight:700;
  letter-spacing:.02em;line-height:1.3;margin-bottom:6px}
.instrip span{display:block;font-size:clamp(11.5px,.92vw,13px);line-height:1.45;opacity:.78}
@media(max-width:900px){.instrip .iw{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .instrip .icol:nth-child(odd){border-left:0;padding-left:0}}
@media(max-width:520px){.instrip .iw{grid-template-columns:1fr}
  .instrip .icol{border-left:0;padding-left:0}}

/* --- closing CTA band, full width, ends every page --- */
.cta{background:var(--acc);color:var(--acc-ink);padding-block:clamp(72px,9vw,124px);text-align:center}
.cta h2{font-size:clamp(27px,4vw,52px);margin:0 auto clamp(16px,2vw,24px);max-width:16em;color:var(--acc-ink)}
.cta p{margin:0 auto clamp(26px,3.2vw,40px);max-width:52ch;font-size:clamp(14.5px,1.15vw,17px);
  line-height:1.65;opacity:.84}
.cta .ctabtns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta .btn-a{background:var(--acc-ink);color:var(--acc);border-color:var(--acc-ink)}
.cta .btn-o{border-color:rgba(255,255,255,.42);color:var(--acc-ink)}
.cta .btn-o:hover{background:rgba(255,255,255,.1)}

/* --- value grid (About) --- */
.valgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.6vw,42px);
  margin-top:clamp(28px,3.4vw,48px)}
.valgrid .vcol{padding-top:20px;border-top:2px solid var(--acc)}
.valgrid h3{font-size:clamp(19px,1.9vw,26px);margin:0 0 12px;line-height:1.2;color:var(--acc)}
.valgrid p{margin:0;font-size:clamp(14px,1.05vw,16px);line-height:1.68;color:var(--ink2)}
@media(max-width:860px){.valgrid{grid-template-columns:1fr;gap:26px}}

/* --- contact router --- */
.crouter{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.5vw,20px);
  margin-top:clamp(26px,3.2vw,44px)}
.crcard{display:block;padding:clamp(20px,2vw,28px);background:var(--panel);border:1px solid var(--line);
  border-radius:3px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.crcard:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:0 10px 34px rgba(10,22,34,.07)}
.crcard h3{margin:0 0 10px;font-size:clamp(15px,1.25vw,18px);line-height:1.25}
.crcard p{margin:0 0 16px;font-size:13.5px;line-height:1.6;color:var(--muted)}
.crcard .crgo{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
@media(max-width:1000px){.crouter{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.crouter{grid-template-columns:1fr}}

/* ===================== VERSION D ===================== */
/* muted fill tone: blue filling reduced and softened */
:root{--fill:#2F4B6E;--fill2:#243C59;--fill-ink:#FFFFFF;--ctabg:#EDF2F7}
:root[data-theme="dark"]{--fill:#8FBCEA;--fill2:#A9CFF5;--fill-ink:#05121F;--ctabg:#0A1017}
.btn-a,.racts .p{background:var(--fill);border-color:var(--fill);color:var(--fill-ink)}
.btn-a:hover{background:var(--fill2);border-color:var(--fill2)}
.btn-l{color:var(--acc);border-color:var(--acc);background:transparent}
.btn-l:hover{background:var(--acc);color:var(--acc-ink)}

/* eyebrows: 30% larger, colour as Version A */
.lab{font-size:clamp(15.6px,1.59vw,18.9px)}

/* ---- home hero: only kicker, PD Dr., name, roles, buttons ---- */
.hero.hh{--hn:clamp(40px,8.3vw,114px)}
.hero.hh .hkick{font-size:calc(var(--hn) * .40);letter-spacing:.1em;line-height:1.25;opacity:.92;
  margin:0 auto clamp(18px,3vh,34px);max-width:24em}
.hero.hh .hpre{font-family:var(--font);font-size:calc(var(--hn) * .70);font-weight:500;letter-spacing:0;
  line-height:1.05;margin:0 0 4px;opacity:.95}
.hero.hh .hname{font-size:var(--hn);margin:0 0 clamp(18px,3vh,30px)}
.hero.hh .hroles{font-size:calc(var(--hn) * .40);line-height:1.3;margin:0 auto clamp(28px,4.5vh,46px);max-width:22em}
.hero.hh .hero-in{padding-block:clamp(110px,14vh,150px) clamp(70px,10vh,110px)}

/* ---- current roles (Version A design, no titles) ---- */
#site > section.band.nowsec{padding-block:clamp(44px,6vw,86px);background:var(--bg)}
section.band.nowsec .nowband{margin-top:0}

/* ---- clinical & scientific perspective: longer fade in light view ---- */
:root:not([data-theme="dark"]) .pband .inner{padding-block:clamp(130px,15vw,230px)}
:root:not([data-theme="dark"]) .pband::before{content:"";position:absolute;left:0;right:0;top:0;z-index:3;
  height:clamp(110px,14vw,210px);pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,0) 0%,var(--bg) 100%)}
:root:not([data-theme="dark"]) .pband:has(+ .band)::after{height:clamp(150px,19vw,280px);
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(251,249,246,.55) 45%,var(--bg) 100%)}
#site > section.band.whatido{background:var(--bg)}

/* ---- what I do: framed fade on the 2x2 block, light view only ---- */
:root:not([data-theme="dark"]) .roles{--fe:clamp(46px,6.5vw,110px);--fs:clamp(18px,4.5vw,84px);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--fe),#000 calc(100% - var(--fe)),transparent 100%),
                     linear-gradient(90deg,transparent 0,#000 var(--fs),#000 calc(100% - var(--fs)),transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,transparent 0,#000 var(--fe),#000 calc(100% - var(--fe)),transparent 100%),
             linear-gradient(90deg,transparent 0,#000 var(--fs),#000 calc(100% - var(--fs)),transparent 100%);
  mask-composite:intersect}
:root:not([data-theme="dark"]) .role:nth-child(odd) .rin{padding-left:calc(var(--fs) + 12px)}
:root:not([data-theme="dark"]) .role:nth-child(even) .rin{padding-right:calc(var(--fs) + 12px)}
:root:not([data-theme="dark"]) .role:nth-last-child(-n+2) .rin{padding-bottom:calc(var(--fe) + 14px)}
@media (max-width:760px){
  :root:not([data-theme="dark"]) .role .rin{padding-left:calc(var(--fs) + 12px)!important;padding-right:calc(var(--fs) + 12px)!important}
  :root:not([data-theme="dark"]) .role:nth-last-child(-n+2) .rin{padding-bottom:clamp(24px,3vw,46px)}
  :root:not([data-theme="dark"]) .role:last-child .rin{padding-bottom:calc(var(--fe) + 14px)}
}

/* ---- the esthetic compass ---- */
.cmp{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,90px);align-items:start}
.cmp .body-copy{max-width:58ch}
.cmp .body-copy:first-of-type{color:var(--ink)}
.cmpside{display:flex;flex-direction:column;gap:clamp(26px,3vw,40px);padding-top:clamp(6px,1vw,14px)}
.cmpi{border-top:2px solid var(--acc);padding-top:18px}
.cmpi .aud{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.cmpi p{margin:0 0 14px;color:var(--ink2);font-size:clamp(14.5px,1.12vw,16.5px);line-height:1.62}
.cmpi a{font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--acc);text-decoration:none}
.cmpi a:hover{text-decoration:underline}
@media (max-width:900px){.cmp{grid-template-columns:1fr}}

/* ---- the record: one row ---- */
.recline.one{flex-wrap:nowrap;max-width:1200px;justify-content:space-between;gap:clamp(8px,1.6vw,26px)}
.recline.one .recitem{flex:1 1 0;min-width:0}
.recline.one .recnum{width:clamp(56px,6vw,88px);height:clamp(56px,6vw,88px);font-size:clamp(19px,2.2vw,31px)}
.recline.one .recitem > span:last-child{font-size:clamp(12px,1.02vw,15px);max-width:14ch}
@media (max-width:700px){.recline.one{flex-wrap:wrap;justify-content:center;row-gap:26px}
  .recline.one .recitem{flex:0 0 30%}}

/* ---- gallery: two rows, name large in the background ---- */
.gal.two{position:relative;padding-block:clamp(40px,6vw,80px)}
.gal.two .galname{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--disp);font-weight:400;letter-spacing:-.02em;line-height:.9;white-space:nowrap;
  font-size:clamp(40px,11.2vw,172px);color:var(--ink);opacity:.8;pointer-events:none;text-transform:uppercase}
.gal.two .galrow{position:relative;z-index:1}
.gal.two .galrow img{opacity:.4;transition:opacity .4s}
.gal.two .galrow img:hover{opacity:.85}
:root[data-theme="dark"] .gal.two .galrow img{opacity:.28}

/* ---- closing CTA: fill reduced ---- */
.cta{background:var(--ctabg);color:var(--ink);border-top:1px solid var(--line)}
.cta h2{color:var(--ink)}
.cta p{color:var(--ink2);opacity:1}
.cta .btn-a{background:var(--fill);color:var(--fill-ink);border-color:var(--fill)}
.cta .btn-o{color:var(--acc);border-color:var(--acc)}
.cta .btn-o:hover{background:var(--acc);color:var(--acc-ink)}


/* advisory hero (own class; the old .sub class collided with the Join button style) */
.hero.hs{min-height:78svh}
.hero.hs .hname{font-size:clamp(34px,5.6vw,78px);line-height:1.05;margin:0 auto clamp(18px,2.6vh,28px);max-width:16ch}
.hero.hs .hroles{font-size:clamp(15.5px,1.45vw,19px);line-height:1.6;max-width:60ch;margin:0 auto clamp(26px,4vh,40px);opacity:.9}

/* mobile menu */
.navr .mbtn{display:none}
@media (max-width:1000px){
  .navr .mbtn{display:inline-flex}
  .nav.open .menu{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    background:var(--veil3);backdrop-filter:blur(16px);padding:8px clamp(20px,5vw,72px) 18px}
  .nav.open .menu a{font-size:13px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);opacity:.9}
}
@media (max-width:600px){.lab{letter-spacing:.14em}}


/* ---- about hero: portrait right, text left ---- */
.hero.ab{display:block;text-align:left;color:var(--ink);background:var(--bg);min-height:100svh;overflow:hidden}
.hero.ab .abimg{position:absolute;right:calc(-1 * clamp(0px,11vw,190px));top:0;height:clamp(640px,100svh,1100px);aspect-ratio:3/2;
  background:var(--al) no-repeat right top/cover;z-index:0}
:root[data-theme="dark"] .hero.ab .abimg{background-image:var(--ad)}
.hero.ab .abimg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 16%,rgba(0,0,0,0) 44%)}
.hero.ab .abimg::before{content:"";position:absolute;top:0;bottom:0;right:100%;width:100vw;background:var(--bg)}
.hero.ab .hero-in{padding-block:clamp(120px,15vh,170px) clamp(70px,9vh,110px);-webkit-user-select:text;user-select:text}
.abtext{max-width:min(600px,46vw);position:relative;z-index:2}
.hero.ab{--hn:clamp(40px,8.3vw,114px)}
.hero.ab .hpre{font-size:calc(var(--hn) * .56);font-weight:500;letter-spacing:0;line-height:1.05;margin:0;opacity:1}
.hero.ab .hname{font-size:calc(var(--hn) * .8);margin:0 0 clamp(30px,4vh,48px);line-height:1}
.hero.ab .lab{margin-bottom:clamp(12px,1.6vw,18px)}
.hero.ab h2{font-size:clamp(24px,2.5vw,36px);margin-bottom:clamp(16px,2vw,24px)}
.hero.ab .body-copy{font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.68;color:var(--ink2)}
.hero.ab .body-copy:first-of-type{color:var(--ink)}
.hero.ab .hbtns{justify-content:flex-start;margin-top:clamp(18px,2.4vw,30px)}
@media (max-width:900px){
  .hero.ab .abimg{position:relative;height:auto;width:100%;aspect-ratio:1/1;margin-top:64px;background-size:cover;background-position:60% 40%}
  .hero.ab .abimg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 16%,rgba(0,0,0,0) 44%)}
.hero.ab .abimg::before{display:none}
  .hero.ab .hero-in{padding-block:14px 60px}
  .abtext{max-width:none}
}
/* nav text readable on the light About hero */
body.navink .nav:not(.fixed):not(.open){--onphoto:var(--ink)}
body.navink .nav:not(.fixed):not(.open) .sub{border-color:var(--line2)}
/* ---- about story ---- */
.story{max-width:74ch;margin-top:clamp(20px,2.6vw,34px)}
.story p{font-size:clamp(16.2px,1.45vw,19px);line-height:1.72;color:var(--ink2);margin:0 0 clamp(14px,1.7vw,22px)}
.story p.lead{font-family:var(--disp);font-size:clamp(19px,2vw,26px);line-height:1.5;color:var(--ink)}
.story p.pull{font-family:var(--disp);font-size:clamp(21px,2.2vw,30px);line-height:1.3;color:var(--acc);margin:clamp(22px,3vw,40px) 0}
.story ul{list-style:none;margin:0 0 clamp(18px,2.2vw,28px);padding:0;border-left:2px solid var(--acc)}
.story li{padding:6px 0 6px clamp(16px,1.8vw,24px);font-size:clamp(15.5px,1.35vw,18px);line-height:1.62;color:var(--ink)}
.qmore{display:flex;justify-content:center;padding-top:clamp(22px,2.8vw,36px)}


/* ---- subpage hero with short version (all subpages) ---- */
.hero.svh{min-height:100svh;text-align:left;align-items:center}
.hero.svh .veil{background:linear-gradient(90deg,rgba(4,10,18,.93) 0%,rgba(4,10,18,.84) 46%,rgba(4,10,18,.36) 100%)}
.hero.svh .veil2{background:linear-gradient(180deg,rgba(4,10,18,.45) 0%,rgba(4,10,18,0) 30%,rgba(4,10,18,0) 70%,rgba(4,10,18,.6) 100%)}
.hero.svh .hero-in{padding-block:clamp(120px,15vh,170px) clamp(80px,10vh,120px);-webkit-user-select:text;user-select:text}
.svt{max-width:680px}
.svt .lab{color:#A9CFF5;margin-bottom:clamp(14px,1.8vw,22px)}
.svt h1{font-family:var(--disp);font-weight:400;font-size:clamp(30px,4vw,54px);line-height:1.08;letter-spacing:-.014em;margin:0 0 clamp(20px,2.6vw,32px)}
.svt p{font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.7;color:rgba(255,255,255,.86);margin:0 0 14px}
.svt p:first-of-type{color:#fff}
.svt .hbtns{justify-content:flex-start;margin-top:clamp(20px,2.6vw,32px)}
@media (max-width:600px){.svt .btn{padding:15px 20px;font-size:12px;letter-spacing:.1em}}
@media (max-width:900px){.hero.svh .veil{background:linear-gradient(180deg,rgba(4,10,18,.7) 0%,rgba(4,10,18,.9) 40%,rgba(4,10,18,.95) 100%)}}


/* ---- photo hero, image on the left (Education) ---- */
.hero.ab.lft .abimg{right:auto;left:calc(-1 * clamp(0px,11vw,190px));background-position:left top}
.hero.ab.lft .abimg::before{right:auto;left:100%}
.hero.ab.lft .abimg::after{background:linear-gradient(270deg,var(--bg) 0%,var(--bg) 16%,rgba(0,0,0,0) 44%)}
.hero.ab.lft .abtext{margin-left:auto}
@media (max-width:900px){.hero.ab.lft .abimg{left:0;background-position:40% 40%}.hero.ab.lft .abimg::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(0,0,0,0) 22%)}}
/* outlined buttons on light sections were white-on-white */
.band .btn-o,.panel .btn-o{color:var(--acc);border-color:var(--acc)}
.band .btn-o:hover,.panel .btn-o:hover{background:var(--acc);color:var(--acc-ink)}
/* principle section with faded surgical portrait on the opposite side */
.prin{position:relative;overflow:hidden}
.prin .pimg{position:absolute;top:6%;bottom:6%;right:0;width:min(60%,900px);background:var(--surg) no-repeat right top/auto 100%;
  opacity:.24;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 40%),linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 40%),linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);mask-composite:intersect}
:root[data-theme="dark"] .prin .pimg{opacity:.2}
.prin .w{position:relative;z-index:1}
@media (max-width:900px){.prin .pimg{width:100%;opacity:.1}}
/* merged colleagues + practices */
.colpanel{margin-top:clamp(40px,5vw,70px);padding-top:clamp(30px,3.6vw,48px);border-top:1px solid var(--line);max-width:900px}
.colpanel h3{font-family:var(--disp);font-weight:400;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.012em;line-height:1.15;margin:0 0 16px}
/* topic groups with a photo in the empty cells */
.areas .area.imgcell{grid-column:span 2;min-height:clamp(240px,24vw,380px);background:var(--bg2) no-repeat center/cover;padding:0}
@media (max-width:980px){.areas .area.imgcell{grid-column:span 1}}
/* record-style circles for the teaching strip */
.recnum.lng{font-size:clamp(15px,1.6vw,23px)}
.pqbtn{display:flex;justify-content:center;margin-top:clamp(22px,2.8vw,34px)}


.hero.ab .btn-o{color:var(--acc);border-color:var(--acc)}
.hero.ab .btn-o:hover{background:var(--acc);color:var(--acc-ink)}
.hero.ab .abtop{position:absolute;left:0;right:0;top:0;height:clamp(90px,14%,150px);z-index:1;
  background:linear-gradient(180deg,var(--bg) 0%,rgba(0,0,0,0) 100%)}
@media (max-width:900px){.hero.ab .abtop{display:none}}
/* ---- advisory page ---- */
.pend{border:1px dashed var(--line2);padding:clamp(20px,2.6vw,34px);color:var(--muted);font-size:15px;line-height:1.6;max-width:760px}
.disc{max-width:860px}

/* ============ VERSION 6 ADDITIONS ============ */

/* Branded route back to home: directly beneath the social icons, column 1 of the header */
.navl{display:inline-flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;justify-self:start}
.homelink{display:inline-block;font-family:var(--disp);font-size:17px;font-weight:400;
  letter-spacing:.005em;line-height:1.1;color:var(--onphoto);text-decoration:none;opacity:.92;
  white-space:nowrap;transition:opacity .2s}
.homelink:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.homelink{display:block;line-height:1;white-space:nowrap;font-weight:500}
@media (max-width:600px){.homelink{font-size:19px!important}.navl .socials{display:none}}

/* Two families only: Newsreader at its Display optical size, Archivo for all other text */
/* optical size follows the font size automatically (matches the approved design) */
body{font-variation-settings:normal}
.hero.hh .hkick,.hero.hh .hroles,.hero.hh .hcreds{font-family:var(--font)}

/* Visible light / dark control replacing the search icon */
.thbtn{position:relative;border:1px solid currentColor;border-radius:999px;
  width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  opacity:.75;transition:opacity .2s,background .2s}
.thbtn:hover{opacity:1;background:rgba(127,127,127,.14)}
.thbtn svg{fill:none;stroke-width:1.8;width:17px;height:17px}
:root[data-theme="dark"] .thbtn svg circle{fill:currentColor}

/* ---------- HOME HERO ---------- */
/* taller, and the veil fades in gradually instead of cutting */
.hero.hh{min-height:min(112svh,1040px)}
.hero.hh:has(+ .band)::after,.hero.hh::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:3;
  pointer-events:none;height:clamp(180px,26vh,300px);
  background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--bg) 12%,transparent) 30%,
    color-mix(in srgb,var(--bg) 42%,transparent) 58%,color-mix(in srgb,var(--bg) 80%,transparent) 82%,var(--bg) 100%)}
.hero.hh .veil2{background:radial-gradient(80% 62% at 50% 55%,rgba(3,8,14,.30) 0%,rgba(3,8,14,.62) 100%)}
.hero.hh .veil{background:linear-gradient(180deg,rgba(4,10,18,.55) 0%,rgba(4,10,18,.30) 24%,rgba(4,10,18,.52) 60%,rgba(4,10,18,.72) 100%)}
/* video framing: face centred and high in frame */
.hero.hh .bgvid,.hero.hh .bg{object-position:50% 40%;background-position:50% 40%;animation:none}
@media (max-width:760px){
  .hero.hh{min-height:100svh}
  .hero.hh .bgvid,.hero.hh .bg{object-position:50% 28%;background-position:50% 28%}
}

/* text hierarchy, driven by one number: --hn is 100% (Adham Elsayed) */
.hero.hh .hkick{font-size:calc(var(--hn) * .20);letter-spacing:.2em;line-height:1.5;opacity:.9;
  max-width:none;white-space:nowrap}
@media (max-width:760px){.hero.hh .hkick{white-space:normal;letter-spacing:.16em}}
.hero.hh .hpre{font-family:var(--disp);font-size:calc(var(--hn) * .60);font-weight:400;
  letter-spacing:-.01em;line-height:1;margin:0 0 2px;opacity:1}
.hero.hh .hname{font-size:var(--hn);line-height:.98;margin-bottom:clamp(14px,1.8vw,24px)}
.hero.hh .hroles{font-size:calc(var(--hn) * .30);font-weight:500;
  line-height:1.25;letter-spacing:-.01em;max-width:none;margin:0 auto clamp(10px,1.2vw,16px)}
.hero.hh .hcreds{font-size:calc(var(--hn) * .20);font-weight:400;line-height:1.55;
  max-width:60ch;margin:0 auto;opacity:.88;letter-spacing:0}
.hero.hh .hcreds .note{display:none}
@media (max-width:760px){
  .hero.hh .hroles{font-size:calc(var(--hn) * .42)}
  .hero.hh .hcreds{font-size:calc(var(--hn) * .30);max-width:34ch}
}
/* three buttons */
.hbtns.hb3{gap:10px;margin-top:clamp(22px,3vw,38px)}
.hbtns.hb3 .btn{flex:0 0 auto}
@media (max-width:640px){.hbtns.hb3{flex-direction:column;align-items:center}
  .hbtns.hb3 .btn{width:min(320px,100%);justify-content:center}}

/* ---------- ALL PHOTO HEROES: "PD Dr." smaller, same family as the name ---------- */
.hero.ab .hpre{font-family:var(--disp);font-size:calc(var(--hn) * .34);font-weight:400;
  letter-spacing:-.008em;line-height:1.1;opacity:.9}
.hero.ab .hname{font-size:min(calc(var(--hn) * .74),7.1vw);white-space:nowrap;line-height:1.02}
@media (min-width:901px){.abtext{max-width:min(640px,49vw)}}
@media (max-width:900px){.abtext{max-width:none}.hero.ab.lft .abtext{margin-left:0}}
@media (max-width:900px){
  .hero.ab .hname{font-size:clamp(30px,8.4vw,48px);white-space:normal}
  .hero.ab .hpre{font-size:clamp(17px,5vw,26px)}
}

/* ---------- PHOTO HEROES: long eased fade; original photo in both themes ---------- */
/* eased stops (not a straight ramp) so no visible edge; text column always on solid page colour */
.hero.ab{--f0:var(--bg);--f1:color-mix(in srgb,var(--bg) 88%,transparent);
  --f2:color-mix(in srgb,var(--bg) 62%,transparent);--f3:color-mix(in srgb,var(--bg) 32%,transparent);
  --f4:color-mix(in srgb,var(--bg) 10%,transparent)}
@media (min-width:901px){
  .hero.ab .abimg::after{background:linear-gradient(90deg,
    var(--f0) 0%,var(--f0) 27%,var(--f1) 34%,var(--f2) 42%,var(--f3) 50%,var(--f4) 58%,transparent 66%)}
  .hero.ab.lft .abimg::after{background:linear-gradient(270deg,
    var(--f0) 0%,var(--f0) 20%,var(--f1) 27%,var(--f2) 35%,var(--f3) 43%,var(--f4) 51%,transparent 60%)}
}
@media (max-width:900px){
  .hero.ab .abimg::after,.hero.ab.lft .abimg::after{background:linear-gradient(0deg,
    var(--f0) 0%,var(--f2) 10%,var(--f4) 24%,transparent 36%)}
}

/* Research hero: larger and anchored to the right edge so the face sits centred in the
   free space beside the text; lowered, with a soft blend above the head */
@media (min-width:901px){
  .hero.ab.rsh .abimg{right:clamp(30px,3.5vw,70px);left:auto;top:clamp(150px,19vh,230px);
    height:clamp(760px,122svh,1300px);background-position:right top}
  .hero.ab.rsh .abimg::after{background:linear-gradient(90deg,
    var(--f0) 0%,var(--f0) 50%,var(--f1) 53%,var(--f2) 56%,var(--f3) 59%,var(--f4) 62%,transparent 65.5%)}
}

@media (min-width:901px){
  .hero.ab:not(.rsh) .abimg{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 74%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0,#000 74%,transparent 100%)}
  .hero.ab.rsh .abimg{
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 76%,transparent 100%),
                       linear-gradient(270deg,transparent 0,#000 90px);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 76%,transparent 100%),
               linear-gradient(270deg,transparent 0,#000 90px);
    mask-composite:intersect}
}

/* Research hero on phones: the photo has empty space above the head; fade only that strip */
@media (max-width:900px){.hero.ab.rsh .abimg{background-position:100% 0;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%);mask-image:linear-gradient(180deg,transparent 0,#000 12%)}}

/* Education hero: the speaker sits centred in the free space right of the text;
   the blue LED wall at the photo's left edge lies under the text column and the fade */
@media (min-width:901px){
  .hero.ab.edh .abimg{--ew:calc(clamp(640px,100svh,1100px) * 1.5);right:auto;
    left:calc(74% - var(--ew) * .45);background-position:left top}
  .hero.ab.edh .abimg::after{background:linear-gradient(90deg,
    var(--f0) 0%,var(--f0) 27%,var(--f1) 29.5%,var(--f2) 32%,var(--f3) 34.5%,var(--f4) 37%,transparent 39.5%)}
}
@media (max-width:900px){.hero.ab.edh .abimg{right:auto;left:0;background-position:34% 30%}}

/* ---------- CLINICAL AND SCIENTIFIC PERSPECTIVE ---------- */
.pband{min-height:min(96svh,900px)}
/* zoom in slightly so the face can be lifted toward the top of the left half */
/* source is portrait (3:4): size by width so it always covers edge to edge,
   face lifted into the upper part of the left half */
.pband .bg{background-size:120% auto;background-position:67% 59%}
@media (max-width:760px){.pband{min-height:auto}
  .pband .bg{background-size:cover;background-position:30% 40%}}

/* ---------- WHAT I DO: four separate cards floating on the page (light view) ---------- */
/* no fade: each card is a clean rounded tile, inset from the page edges, with space between */
:root:not([data-theme="dark"]) .roles{-webkit-mask-image:none;mask-image:none;
  gap:clamp(18px,2.4vw,36px);max-width:1280px;margin-inline:auto;
  padding-inline:clamp(20px,5vw,72px)}
:root:not([data-theme="dark"]) .role{-webkit-mask-image:none;mask-image:none;
  border-radius:16px;overflow:hidden;min-height:min(50svh,470px);
  box-shadow:0 2px 6px rgba(10,22,34,.06),0 18px 44px rgba(10,22,34,.14)}
:root:not([data-theme="dark"]) .role .rin{padding:clamp(24px,3vw,44px)!important}

/* ---------- ROLE STRIP: optional centred intro ---------- */
.nowintro{max-width:74ch;margin:0 auto clamp(26px,3.2vw,42px);text-align:center;
  font-size:clamp(14px,1.08vw,15.5px);line-height:1.68;color:var(--ink2)}

/* emphasised sub-line inside the In Brief block */
.subline{font-family:var(--disp);font-size:clamp(19px,1.66vw,25px);font-weight:400;
  line-height:1.3;letter-spacing:-.01em;color:var(--ink);
  margin:clamp(18px,2.2vw,28px) 0 clamp(14px,1.8vw,22px)}

/* Outline buttons on light surfaces (hero ab, bands, pull-quote bands) use the accent,
   white only on photo/dark surfaces */
.hero.ab .btn-o,.band .btn-o{color:var(--acc);border-color:var(--acc);background:transparent}
.hero.ab .btn-o:hover,.band .btn-o:hover{background:var(--acc);color:var(--acc-ink)}
.whatido .btn-o{color:#fff;border-color:rgba(255,255,255,.5)}

/* ---------- footer legal links + form consent ---------- */
.foot-in{align-items:center}
.foot-legal{display:flex;gap:clamp(16px,2vw,28px)}
.foot-legal a,.foot-mail{color:var(--muted);text-decoration:none;transition:color .2s}
.foot-legal a:hover,.foot-mail:hover,.foot-legal a[aria-current]{color:var(--acc)}
.foot-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.foot-in > :last-child{justify-self:end}
.foot-legal{justify-self:center}
.foot-legal a{text-decoration:none}
.foot-legal a:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:640px){.foot-in{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px}.foot-in > :last-child{justify-self:center}}
.form .consent{flex-direction:row;align-items:flex-start;gap:12px;text-transform:none;letter-spacing:0;
  font-size:14px;font-weight:400;color:var(--ink2);line-height:1.5;margin-top:6px;cursor:pointer}
.form .consent input{-webkit-appearance:none;appearance:none;width:20px;height:20px;flex:none;margin:0;padding:0;
  border:1.5px solid var(--acc);border-radius:3px;background:var(--bg);cursor:pointer;display:grid;place-items:center}
.form .consent input:checked{background:var(--acc)}
.form .consent input:checked::after{content:"";width:5px;height:10px;border:solid var(--acc-ink);border-width:0 2px 2px 0;
  transform:rotate(45deg) translate(-1px,-1px)}
.form .consent input:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}
.form .consent a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.btn.is-soon{opacity:.55;cursor:default;pointer-events:none}
.legal h3{font-family:var(--font);font-weight:700;letter-spacing:-.01em;line-height:1.3}
.legal h1{font-family:var(--disp);font-weight:400;letter-spacing:-.016em}
.legal .edurow{grid-template-columns:minmax(150px,210px) 1fr;gap:clamp(16px,2.4vw,32px)}
.legal .eduyr{font-size:clamp(12.5px,1.05vw,14.5px);line-height:1.35;hyphens:auto}
.legal .edub p{font-size:clamp(14px,1.1vw,15.5px);color:var(--ink2);line-height:1.6}
@media (max-width:620px){.legal .edurow{grid-template-columns:1fr;gap:4px}}

/* fallback colour if the home hero video and poster fail to load */
.hero.hh{background-color:#040A12}

/* keyboard focus: clearly visible on form fields without changing the resting design */
.form input:not([type=checkbox]):focus-visible,.form select:focus-visible,.form textarea:focus-visible{
  border-bottom-color:var(--acc);box-shadow:0 1px 0 0 var(--acc);outline:2px solid var(--acc);outline-offset:3px}

/* the role cards themselves are not links (their buttons are), so no pointer on the card */
.role{cursor:default}

/* ---------- misc ---------- */
.anch{display:block;position:relative;top:calc(-1 * clamp(70px,9vw,110px));visibility:hidden}
#selqual{scroll-margin-top:clamp(70px,9vw,110px)}

/* ---------- Newsletter (MailerLite embed) styled like the site's own form ---------- */
.ml-embedded .ml-form-embedContainer,.ml-embedded .ml-form-embedWrapper,.ml-embedded .ml-form-embedBody,
.ml-embedded .ml-form-successBody{background:transparent!important;border:0!important;box-shadow:none!important;
  padding:0!important;margin:0!important;max-width:none!important;width:100%!important;border-radius:0!important}
.ml-embedded .ml-form-align-center{text-align:left!important}
.ml-embedded .ml-form-embedBody .ml-form-embedContent{display:none!important}
#joinform .ml-embedded,#joinform .ml-embedded *{font-family:var(--font)!important}
.ml-embedded .ml-field-group::before{content:"Email";display:block;font-size:10px;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
:root[lang="de"] .ml-embedded .ml-field-group::before,html[lang="de"] .ml-embedded .ml-field-group::before{content:"E-Mail"}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow .ml-field-group input.form-control{font-size:15px!important;padding:12px 0!important;height:auto!important;
  border:0!important;border-bottom:1px solid var(--line2)!important;background:transparent!important;
  color:var(--ink)!important;border-radius:0!important;box-shadow:none!important}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow .ml-field-group input.form-control::placeholder{color:transparent!important}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow .ml-field-group input.form-control:focus{outline:0!important;border-bottom-color:var(--acc)!important}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow{margin:0 0 18px!important}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedPermissions .ml-form-embedPermissionsContent p,#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedPermissions .ml-form-embedPermissionsContent p a{font-size:13px!important;
  line-height:1.6!important;color:var(--muted)!important}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedPermissions .ml-form-embedPermissionsContent p a{text-decoration:underline!important;text-underline-offset:3px}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit{margin-top:22px!important;float:none!important}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary,#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.loading{
  width:auto!important;min-width:220px;padding:15px 26px!important;font-size:12px!important;font-weight:700!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;border-radius:0!important;
  background:var(--fill)!important;border:1px solid var(--fill)!important;color:var(--fill-ink)!important;
  cursor:pointer;transition:.25s;height:auto!important;line-height:1.3!important}
#joinform .ml-embedded .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary:hover{background:var(--fill2)!important;border-color:var(--fill2)!important}
.ml-embedded .ml-form-successContent h4{font-family:var(--disp)!important;font-weight:400!important;
  font-size:clamp(24px,2.4vw,32px)!important;color:var(--ink)!important;margin:0 0 10px!important}
.ml-embedded .ml-form-successContent p{font-size:15.5px!important;color:var(--ink2)!important}
