:root{
  --black: #0b0a08;
  --black2: #14120e;
  --white: #ffffff;
  --off: #f7f5f0;
  --text: #1a1915;
  --gray: #6d6a62;
  --linelight: #e7e3d9;
  --linedark: rgba(214,183,110,.22);
  --gold: #7f6410;
  --gold-lt: #d6b76a;
  --grad-dark: linear-gradient(115deg, #f0d99c 0%, #d6b76a 45%, #b08a35 100%);
  --grad-light: linear-gradient(115deg, #8a6a15 0%, #6d540f 100%);
  --serif: "Cormorant Garamond", Georgia, serif;
  --max: 1100px;
  --disp: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --body: "Inter", "Helvetica Neue", Arial, sans-serif;
  --gold-grad-light: linear-gradient(115deg, #9a7a1c, #c49a3f 60%, #8a6a15);
  --gold-grad-dark: linear-gradient(115deg, #ecd193, #d6b76a 55%, #b8934a);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{
  background:var(--white);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/></svg>"),radial-gradient(rgba(26,25,21,.028) 1px, transparent 1px);
  background-size:180px,26px 26px;
  color:var(--text);
  font-family:var(--body);font-size:16.5px;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
::selection{background:var(--gold);color:#fff}
img{display:block;width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.tics{color:inherit;text-decoration:underline;text-decoration-color:rgba(196,154,63,.55);text-underline-offset:3px;transition:text-decoration-color .25s}
.tics:hover{text-decoration-color:#c49a3f}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;position:relative}

.label{
  font-family:var(--disp);font-size:11px;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
  display:flex;align-items:center;gap:14px;margin-bottom:20px;position:relative;z-index:1;
}
.label::after{content:"";height:1px;width:74px;background:linear-gradient(90deg,var(--gold),transparent)}
.dark .label{color:var(--gold-lt)}
h1,h2{font-family:var(--disp);font-weight:700;letter-spacing:-.025em;line-height:1.05}
h2{font-size:clamp(31px,4.2vw,47px);margin-bottom:22px;max-width:22ch}
h1 em,h2 em{
  font-family:var(--disp);font-style:normal;font-weight:700;font-size:1em;letter-spacing:-.025em;
  color:#8a6a15;
}
.dark h1 em,.dark h2 em{color:#e0c17a}
h3{font-family:var(--disp);font-weight:600;font-size:19px;letter-spacing:-.01em;margin-bottom:8px}
p{margin-bottom:1.2em;max-width:60ch}
p:last-child{margin-bottom:0}
.lede{font-size:clamp(17px,1.9vw,20px);line-height:1.65}
.gray{color:var(--gray)}
section{padding:100px 0;border-top:1px solid transparent}
section.dark{border-top:1px solid rgba(214,183,110,.25)}
section.off{border-top:1px solid var(--linelight)}
section:not(.dark):not(.off)+section:not(.dark):not(.off){border-top:1px solid var(--linelight)}
.dark{
  background:
    radial-gradient(900px 480px at 85% 0%, rgba(214,183,110,.10), transparent 60%),
    radial-gradient(700px 420px at 0% 100%, rgba(214,183,110,.06), transparent 55%),
    var(--black);
  color:#f4f2ec;--gray:#b3afa6;--gold:var(--gold-lt);position:relative;
}
.dark::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");background-size:180px;opacity:.05;pointer-events:none}
.dark>*{position:relative;z-index:1}
.dark .gray{color:#b3afa6}
.dark figcaption{color:#b3afa6}
.off{background:var(--off);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/></svg>"),radial-gradient(rgba(26,25,21,.05) 1px, transparent 1px);background-size:180px,22px 22px}
.js figure.reveal,.js .gal.reveal{transform:translateY(22px) scale(.985)}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity 1s cubic-bezier(.16,.6,.3,1),transform 1s cubic-bezier(.16,.6,.3,1);transition-delay:var(--d,0s);will-change:opacity,transform}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{animation:none!important;transition:none!important}
}

/* ---- iris ornament ---- */
.iris{
  position:absolute;pointer-events:none;opacity:.14;z-index:0;
}
.iris circle{fill:none;stroke:#d6b76a;stroke-width:1}

/* ---- progress ---- */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#ecd193,var(--gold-lt) 50%,#b8934a);z-index:300;transition:width .15s linear;box-shadow:0 0 8px rgba(214,183,110,.5)}

/* ---- nav ---- */
nav{
  position:sticky;top:0;z-index:100;background:rgba(11,10,8,.96);backdrop-filter:blur(8px);
  transition:box-shadow .4s ease;
  border-bottom:1px solid transparent;
  border-image:linear-gradient(90deg, transparent, rgba(214,183,110,.5), transparent) 1;
}
.nav-in{max-width:var(--max);margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between}
.nav-name{font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:-.01em;color:#fff;text-decoration:none}
.nav-name span{color:var(--gold-lt)}
.nav-links{display:flex;gap:26px;list-style:none;align-items:center}
.nav-links a{font-family:var(--disp);font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#c6c2b9;text-decoration:none;transition:color .2s}
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:var(--gold-lt);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.nav-links a:hover{color:var(--gold-lt)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-links a.nav-cta::after{display:none}
.nav-cta{border:1px solid var(--gold-lt);color:var(--gold-lt)!important;padding:9px 18px;border-radius:4px}
.nav-cta:hover{background:var(--gold-lt);color:var(--black)!important}
@media(max-width:880px){.nav-links li:not(.keep){display:none}}

/* ---- burger + menu ---- */
.burger{
  width:38px;height:38px;border:1px solid rgba(214,183,110,.4);border-radius:4px;background:transparent;cursor:pointer;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;
  transition:border-color .3s ease;
}
.burger:hover{border-color:#d6b76a}
.burger span{display:block;width:16px;height:2px;background:#d6b76a;border-radius:2px;transition:transform .3s ease, opacity .3s ease}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-panel{
  position:fixed;top:71px;left:0;right:0;z-index:99;background:rgba(11,10,8,.98);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(214,183,110,.25);
  max-height:0;overflow:hidden;visibility:hidden;
  transition:max-height .45s cubic-bezier(.22,.61,.36,1), visibility 0s linear .45s;
}
.menu-panel.open{
  max-height:560px;visibility:visible;
  transition:max-height .45s cubic-bezier(.22,.61,.36,1), visibility 0s linear 0s;
}
.menu-in{max-width:var(--max);margin:0 auto;padding:26px 28px 32px;display:grid;grid-template-columns:1fr 1fr;gap:34px}
.menu-in ul{list-style:none}
.menu-in a{
  display:block;font-family:var(--disp);font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#d8d4cb;text-decoration:none;padding:9px 0;transition:color .25s, padding-left .25s;
}
.menu-in a:hover{color:#d6b76a;padding-left:8px}
.menu-h{font-family:var(--disp);font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#8f8b82;margin-bottom:10px}
@media(max-width:640px){.menu-in{grid-template-columns:1fr}}

/* ---- buttons ---- */
.btn{
  font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:15px 30px;border-radius:4px;text-decoration:none;display:inline-block;cursor:pointer;
  border:1px solid var(--black);color:var(--black);background:transparent;
  transition:background .35s cubic-bezier(.22,.61,.36,1),color .35s cubic-bezier(.22,.61,.36,1),border-color .35s cubic-bezier(.22,.61,.36,1),transform .35s cubic-bezier(.22,.61,.36,1);
}
.btn:hover{transform:translateY(-1px);background:var(--black);color:#fff}
.btn.solid{background:linear-gradient(135deg,#8a6c14,#6f570d);border-color:transparent;color:#fff;box-shadow:0 6px 18px rgba(127,100,16,.22)}
.btn.solid:hover{background:var(--black);border-color:var(--black)}
.dark .btn{border-color:#f4f2ec;color:#f4f2ec}
.dark .btn:hover{background:#f4f2ec;color:var(--black)}
.dark .btn.solid{background:linear-gradient(135deg,#ecd193,#c9a251);border-color:transparent;color:var(--black)}
.dark .btn.solid:hover{background:#fff;border-color:#fff}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}

/* ---- hero ---- */
.hero{
  padding:52px 0 92px;
  background:
    radial-gradient(1100px 560px at 78% 8%, rgba(214,183,110,.16), transparent 62%),
    radial-gradient(700px 460px at 8% 96%, rgba(214,183,110,.08), transparent 55%),
    var(--black)!important;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.hero h1{font-size:clamp(54px,7.8vw,96px);margin-bottom:26px}
.hero h1 .dot{background:var(--grad-dark);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-rule{width:76px;height:3px;background:linear-gradient(90deg,#e2c684,#a8842f);border-radius:2px;margin:0 0 26px}
.hero .lede{max-width:46ch;margin-bottom:36px;color:#dad6cd}
.hero-img{position:relative;will-change:transform}
.hero-img img{border-radius:6px}
.hero-img::after{
  content:"";position:absolute;inset:-14px;
  border:1px solid rgba(214,183,110,.55);border-radius:10px;z-index:-1;
  background:linear-gradient(135deg, rgba(214,183,110,.10), transparent 60%);
}
.hero-img img{box-shadow:0 24px 60px rgba(0,0,0,.45)}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:46px}}

/* ---- credentials strip ---- */
.creds{border-top:1px solid var(--linedark);padding:24px 0;background:var(--black2)}
.creds-in{max-width:var(--max);margin:0 auto;padding:0 28px;display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between}
.creds span{font-family:var(--disp);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#aaa69d;display:flex;align-items:center;gap:12px}
.creds span::before{content:"";width:5px;height:5px;transform:rotate(45deg);background:#d6b76a;opacity:.7;flex:none}
.creds b{color:#f4f2ec;font-weight:600}

/* ---- about ---- */
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:76px;align-items:stretch}
.facts{border-top:3px solid;border-image:linear-gradient(90deg,#8a6a15,#d6b76a,#8a6a15) 1}
.facts li{
  list-style:none;padding:15px 2px;border-bottom:1px solid var(--linelight);
  display:flex;justify-content:space-between;gap:24px;align-items:baseline;
}
.facts .k{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);white-space:nowrap}
.facts .v{font-family:var(--disp);font-size:14.5px;font-weight:600;text-align:right;letter-spacing:-.01em}
.about-photo{margin-top:40px}
.about-photo img{border-radius:6px}
@media(max-width:880px){.about-grid{grid-template-columns:1fr;gap:46px}}

/* ---- demo ---- */
.demo{background:var(--black);color:#f4f2ec;border-radius:6px;padding:38px;margin-top:40px;position:relative;overflow:hidden}
.demo::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");background-size:180px;opacity:.07;pointer-events:none}
.demo>*{position:relative;z-index:1}
.demo .label{color:var(--gold-lt);margin-bottom:14px}
.spot-stage{
  display:flex;align-items:center;justify-content:space-between;
  width:min(540px,92%);margin:14px auto;padding:38px 28px;
  border:1px solid var(--linedark);border-radius:3px;background:var(--black2);
}
.spot-cross{font-size:34px;line-height:1;font-weight:600}
.spot-dot{width:30px;height:30px;border-radius:50%;background:var(--gold-lt)}
.demo small{font-size:13px;color:#bcb8af;display:block;line-height:1.7}
.demo small b{color:#f4f2ec}
.demo p{color:#e2ded5;font-size:15px}

/* ---- pillars ---- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.pillar{
  border:1px solid var(--linelight);border-radius:4px;padding:34px 30px;background:#fff;
  background-image:radial-gradient(rgba(26,25,21,.03) 1px, transparent 1px);background-size:18px 18px;
  position:relative;transition:transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
}
.pillar::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#e2c684,#a8842f,#e2c684)}
.pillar:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(138,106,21,.14)}
.pillar .pnum{font-family:var(--disp);font-style:normal;font-weight:800;font-size:30px;letter-spacing:-.02em;line-height:1;background:var(--grad-light);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:14px}
.pillar p{font-size:14.5px;color:var(--gray)}
@media(max-width:820px){.pillars{grid-template-columns:1fr}}

/* ---- research ---- */
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:44px 0}
.stat{
  background:#fff;border:1px solid var(--linelight);border-radius:6px;padding:26px 26px 22px;position:relative;
  background-image:radial-gradient(rgba(26,25,21,.03) 1px, transparent 1px);background-size:18px 18px;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
}
.stat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:6px 6px 0 0;background:linear-gradient(90deg,#e2c684,#a8842f)}
.stat:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(138,106,21,.12)}
.stat .n{font-family:var(--disp);font-weight:800;font-size:clamp(40px,4.8vw,56px);letter-spacing:-.03em;line-height:1;background:var(--gold-grad-light);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .t{font-family:var(--disp);font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-top:8px;line-height:1.6}
@media(max-width:820px){.stats3{grid-template-columns:1fr}}
.pub{
  display:block;text-decoration:none;background:#fff;background-image:radial-gradient(rgba(26,25,21,.03) 1px, transparent 1px);background-size:18px 18px;border:1px solid var(--linelight);border-left:3px solid var(--gold);
  border-radius:6px;padding:32px 36px;margin-top:40px;
  transition:border-color .35s ease, transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s ease;
}
.pub:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 18px 44px rgba(138,106,21,.16)}
.pub .j{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.pub h3{font-size:clamp(19px,2.4vw,24px);font-weight:700;letter-spacing:-.015em}
.pub .a{font-family:var(--disp);font-size:13px;color:var(--gray);margin-top:8px}
.pub .a b{color:var(--text)}
.pub .go{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:var(--gold-grad-light);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:16px;display:inline-block}
figure{margin:52px 0 0;border-radius:6px;position:relative;overflow:visible}
figure::after,.gal figure::after{display:none}
figure img{
  overflow:hidden;border-radius:6px 6px 0 0;
  transition:transform .8s cubic-bezier(.22,.61,.36,1);
  box-shadow:0 14px 36px rgba(20,18,14,.15);
}
figure:hover img{transform:translateY(-3px)}
figcaption{
  font-family:var(--disp);font-size:11.5px;letter-spacing:.08em;color:var(--gray);
  text-transform:uppercase;padding:12px 16px;background:rgba(214,183,110,.07);
  border-top:1px solid rgba(214,183,110,.28);border-radius:0 0 6px 6px;
}

/* ---- talks ---- */
.talks{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;margin-top:44px}
.talks span{
  font-family:var(--disp);font-weight:600;font-size:17px;letter-spacing:-.01em;
  padding:18px 2px 18px 0;border-bottom:1px solid var(--linedark);display:block;position:relative;
  transition:padding-left .35s cubic-bezier(.22,.61,.36,1);
}
.talks span::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleX(0);transform-origin:left;
  width:16px;height:2px;background:linear-gradient(90deg,#c49a3f,#8a6a15);border-radius:2px;
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
.talks span:hover{padding-left:26px}
.talks span:hover::before{transform:translateY(-50%) scaleX(1)}
@media(max-width:820px){.talks{grid-template-columns:1fr}}

/* ---- on magic ---- */
.thesis{list-style:none;margin-top:26px}
.thesis li{
  border-top:1px solid rgba(214,183,110,.22);padding:34px 2px;
  display:grid;grid-template-columns:64px 1fr;gap:26px;align-items:start;
}
.thesis li:last-child{border-bottom:1px solid rgba(214,183,110,.22)}
.thesis .tn{
  font-family:var(--disp);font-weight:800;font-size:15px;letter-spacing:.06em;padding-top:7px;
  background:var(--grad-dark);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.thesis .tx{
  font-family:var(--disp);font-weight:700;letter-spacing:-.02em;line-height:1.3;
  font-size:clamp(20px,2.6vw,28px);max-width:26ch;
}
.thesis .tx em{font-style:normal;background:var(--grad-dark);-webkit-background-clip:text;background-clip:text;color:transparent}
.thesis .tsub{font-family:var(--body);font-weight:400;font-size:15px;color:#b3afa6;letter-spacing:0;line-height:1.65;display:block;margin-top:10px;max-width:56ch}
@media(max-width:640px){.thesis li{grid-template-columns:1fr;gap:8px}}

/* ---- world ---- */
.quote{
  position:relative;font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(25px,3.4vw,36px);letter-spacing:0;line-height:1.45;max-width:30ch;
  border-left:3px solid var(--gold-lt);padding-left:30px;margin:46px 0;
}
.quote::before{
  content:"\201C";position:absolute;left:22px;top:-52px;
  font-family:var(--serif);font-size:120px;line-height:1;color:var(--gold-lt);opacity:.35;
}
.quote em{color:var(--gold-lt);font-style:normal}
.flags{display:flex;flex-wrap:wrap;gap:12px;margin:38px 0 8px}
.flag{
  display:flex;align-items:center;gap:10px;border:1px solid rgba(214,183,110,.4);border-radius:4px;
  padding:12px 18px;font-family:var(--disp);font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:#f0ece3;background:rgba(214,183,110,.06);
  transition:transform .3s cubic-bezier(.22,.61,.36,1), background .3s, border-color .3s;
}
.flag .f{font-size:19px;line-height:1}
.flag:hover{transform:translateY(-2px);background:rgba(214,183,110,.14);border-color:var(--gold-lt)}

/* ---- gallery ---- */
.gal{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px}
.gal figure{margin:0}
@media(max-width:820px){.gal{grid-template-columns:1fr}}

/* ---- highlights ---- */
.hl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.hl div{
  padding:20px 24px;background:#fff;border:1px solid var(--linelight);border-left:3px solid;border-radius:6px;
  border-image:none;border-left-color:#c49a3f;
  background-image:radial-gradient(rgba(26,25,21,.03) 1px, transparent 1px);background-size:18px 18px;
  transition:transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease;
}
.hl div:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(138,106,21,.10)}
.hl .ht{font-family:var(--disp);font-weight:600;font-size:16.5px;letter-spacing:-.01em;display:block}
.hl .hs{font-size:14px;color:var(--gray);display:block;margin-top:4px}
@media(max-width:820px){.hl{grid-template-columns:1fr}}

/* ---- photo quote ---- */
.figquote{margin-top:14px}
.figquote p{
  font-size:14.5px;line-height:1.65;color:var(--text);max-width:56ch;
  border-left:2px solid var(--gold);padding-left:14px;margin-bottom:8px;
}
.figquote cite{
  font-family:var(--disp);font-style:normal;font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gray);padding-left:16px;display:block;
}

/* ---- commencement embed ---- */
.ig-fallback{font-family:var(--disp);font-size:13px;color:var(--gray);margin-top:16px;text-align:center}
.ig-fallback a{color:var(--gold);font-weight:600;text-decoration:none}
.ig-fallback a:hover{text-decoration:underline}

/* ---- big pull quote ---- */
.bigquote{
  font-family:var(--disp);font-weight:700;font-size:clamp(23px,3.4vw,38px);
  letter-spacing:-.02em;line-height:1.25;max-width:26ch;margin:30px auto 0;text-align:center;color:#f4f2ec;
}
.bigquote::before,.bigquote::after{content:"";display:block;width:54px;height:3px;margin:0 auto;background:linear-gradient(90deg,#e2c684,#a8842f);border-radius:2px}
.bigquote::before{margin-bottom:32px}
.bigquote::after{margin-top:32px}

/* ---- video ---- */
.video-wrap{max-width:920px;margin-top:44px;position:relative;border-radius:6px}
.video-wrap.vert{max-width:400px}
.video-wrap.vert video{aspect-ratio:auto}
.video-wrap::after{
  content:"";position:absolute;inset:0;transform:translate(11px,11px);
  border:1px solid rgba(184,147,74,.5);border-radius:6px;z-index:-1;pointer-events:none;
}
.video-wrap video{
  display:block;width:100%;border-radius:6px;background:#000;
  box-shadow:0 16px 44px rgba(20,18,14,.22);outline:1px solid rgba(214,183,110,.35);outline-offset:-1px;
}

/* ---- cursor glow on dark ---- */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .dark{--mx:50%;--my:30%}
  .dark::after{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:radial-gradient(340px at var(--mx) var(--my), rgba(214,183,110,.07), transparent 65%);
    transition:opacity .4s ease;opacity:0;
  }
  .dark:hover::after{opacity:1}
}

/* ---- vanish poll + email ---- */
.vanish-poll,.vanish-email{display:none;margin-top:8px;text-align:center}
.vanish-poll.on,.vanish-email.on{display:block;animation:fadeUp .5s ease}
.vp-q{font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-.01em;color:#f4f2ec;margin-bottom:16px;max-width:52ch}
.vp-btns{display:flex;gap:12px;justify-content:center}
.vp-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.vp-form input{
  font-family:var(--disp);font-size:14px;padding:14px 18px;min-width:260px;
  background:#0f0e0b;border:1px solid rgba(214,183,110,.45);border-radius:5px;color:#f4f2ec;
}
.vp-form input:focus{outline:2px solid #d6b76a;outline-offset:2px}
.vp-done{display:none;font-family:var(--disp);font-weight:600;font-size:14px;color:#e0c17a;margin-top:14px}
.vp-done.on{display:block}

/* ---- insight box ---- */
@property --iba{syntax:'<angle>';initial-value:0deg;inherits:false}
.insight-box{
  display:block;position:relative;margin-top:48px;max-width:760px;
  padding:36px 40px;border-radius:8px;text-decoration:none;
  background:
    linear-gradient(#0f0e0b,#0f0e0b) padding-box,
    conic-gradient(from var(--iba), #7f6410, #f0d99c, #c49a3f, #7f6410) border-box;
  border:2px solid transparent;
  animation:ibspin 6s linear infinite;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
}
@keyframes ibspin{to{--iba:360deg}}
.insight-box:hover{transform:translateY(-4px);box-shadow:0 22px 54px rgba(138,106,21,.28)}
.insight-box .ib-kicker{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#e0c17a;display:block;margin-bottom:12px}
.insight-box .ib-title{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.4vw,34px);letter-spacing:-.02em;color:#f4f2ec;display:block;margin-bottom:12px}
.insight-box .ib-sub{font-size:15px;line-height:1.65;color:#b8b4ab;display:block;max-width:56ch;margin-bottom:18px}
.insight-box .ib-cta{font-family:var(--disp);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e0c17a;display:inline-block}
@media(prefers-reduced-motion:reduce){.insight-box{animation:none}}

/* ---- world grid + uniform media ---- */
.world-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start}
.world-video{justify-self:end}
@media(max-width:880px){.world-grid{grid-template-columns:1fr;gap:40px}.world-video{justify-self:start}}

.gal figure img{aspect-ratio:4/3;object-fit:cover;width:100%}
.surg-row img{aspect-ratio:1/1;object-fit:cover;width:100%}
.rec-media figure{flex:none;width:250px}
.rec-media figure img{aspect-ratio:3/4;object-fit:cover;width:100%}
.rec-media figure.match-vert{width:300px}
.rec-media figure.match-vert img{aspect-ratio:9/16}

/* ---- talks + stage grid ---- */
.talks-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:start;margin-top:44px}
.talks-grid .talks{grid-template-columns:1fr;margin-top:0}
@media(max-width:860px){.talks-grid{grid-template-columns:1fr;gap:36px}}

/* ---- speaking header grid ---- */
.spk-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
@media(max-width:860px){.spk-grid{grid-template-columns:1fr;gap:34px}}

/* ---- recognition media rows ---- */
.rec-media{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;margin-top:24px}

/* ---- lecture row ---- */
.lect-row{display:flex;gap:34px;align-items:flex-start;flex-wrap:wrap;max-width:960px}
.reel-col{flex:none;width:250px}
@media(max-width:640px){.reel-col{width:100%}.reel-col .video-wrap{max-width:280px}}

/* ---- marked deck ---- */
.deck-row{display:flex;gap:26px;align-items:center;margin:0 0 1.2em}
.deck-svg{width:clamp(78px,15vw,108px);flex:none;filter:drop-shadow(0 8px 18px rgba(20,18,14,.15))}
@media(max-width:560px){.deck-row{flex-direction:column;align-items:flex-start}}

/* ---- speech clips carousel ---- */
.clips-wrap{position:relative;max-width:820px}
.clips{
  display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:4px 2px 12px;scrollbar-width:thin;scrollbar-color:rgba(214,183,110,.4) transparent;
  -webkit-overflow-scrolling:touch;
}
.clips::-webkit-scrollbar{height:5px}
.clips::-webkit-scrollbar-thumb{background:rgba(214,183,110,.35);border-radius:3px}
.clip{flex:none;width:200px;scroll-snap-align:start}
.clip video{
  display:block;width:100%;aspect-ratio:9/16;border-radius:6px;background:#000;
  outline:1px solid rgba(214,183,110,.35);outline-offset:-1px;box-shadow:0 10px 26px rgba(0,0,0,.4);
}
.clip-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(214,183,110,.5);
  background:rgba(11,10,8,.85);color:#e8d9ac;font-size:16px;cursor:pointer;
  transition:background .25s, border-color .25s;
}
.clip-nav:hover{background:#d6b76a;color:#0b0a08;border-color:#d6b76a}
.clip-nav.prev{left:-14px}
.clip-nav.next{right:-14px}
@media(max-width:700px){.clip-nav{display:none}}

/* ---- talk box on dark ---- */
.talkbox{background:var(--black2);border-color:rgba(214,183,110,.3);max-width:560px;margin-top:28px}
.talkbox h3{color:#f4f2ec}
.talkbox .j{color:#e0c17a}
.talkbox:hover{border-color:#d6b76a;box-shadow:0 18px 44px rgba(0,0,0,.4)}

/* ---- testimonials marquee ---- */
.t-marquee{
  display:grid;grid-template-columns:1fr 1fr;gap:22px;
  max-width:var(--max);margin:44px auto 0;padding:0 28px;
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(180deg, transparent, #000 6%, #000 94%, transparent);
}
.t-col{height:580px;overflow:hidden;min-width:0}
.t-track{display:flex;flex-direction:column;width:100%;animation:tscroll var(--tdur,30s) linear infinite}
.t-set{display:flex;flex-direction:column;gap:18px;padding-bottom:18px}
@keyframes tscroll{to{transform:translateY(-50%)}}
.t-card{
  width:100%;flex:none;background:#fff;border:1px solid var(--linelight);border-radius:6px;
  padding:24px 24px 20px;position:relative;
  background-image:radial-gradient(rgba(26,25,21,.03) 1px, transparent 1px);background-size:18px 18px;
  box-shadow:0 10px 26px rgba(20,18,14,.07);
}
.t-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:6px 6px 0 0;background:linear-gradient(90deg,#e2c684,#a8842f)}
.t-card .tq{
  font-family:var(--disp);font-weight:800;font-size:36px;line-height:.6;color:#c49a3f;display:block;margin-bottom:10px;
}
.t-card p{font-size:14.5px;line-height:1.58;color:var(--text);margin-bottom:13px}
.t-card cite{font-family:var(--disp);font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
@media(max-width:700px){
  .t-marquee{grid-template-columns:1fr;gap:0}
  .t-col{height:440px}
  .t-col + .t-col{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){
  .t-track{animation:none}
  .t-set[aria-hidden]{display:none}
  .t-col{height:auto}
  .t-marquee{-webkit-mask-image:none;mask-image:none}
}

/* ---- suits + soma + podcast ---- */
.suited{position:relative;overflow:hidden}
.suit{
  position:absolute;z-index:0;pointer-events:none;user-select:none;line-height:1;
  font-size:clamp(200px,26vw,340px);color:#8a6a15;opacity:.06;
}
.dark .suit{color:#d6b76a;opacity:.05}
.suited .wrap{position:relative;z-index:1}
.soma-row{display:flex;gap:34px;align-items:flex-start;max-width:820px;margin-top:34px;flex-wrap:wrap}
.soma-row p{flex:1;min-width:260px;color:#dad6cd}
.soma-fig{max-width:180px;flex:none}
.soma-fig img{border-radius:6px}

/* ---- video credits + youtube ---- */
.credit{font-size:12.5px;font-style:italic;color:var(--gray);margin-top:12px}
.yt-frame{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#000;
  box-shadow:0 16px 44px rgba(20,18,14,.22);outline:1px solid rgba(214,183,110,.35);outline-offset:-1px}
.yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- surgery photos ---- */
.surg-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:680px;margin-top:30px}
.surg-row figure{margin:0}
.surg-row img{border-radius:6px}
.surg-row figure::after{display:none}
@media(max-width:640px){.surg-row{grid-template-columns:1fr 1fr}}

/* ---- the vanish ---- */
.trick-strip{padding:58px 0}
.trick-stage{
  border:1px solid rgba(214,183,110,.45);border-radius:6px;background:var(--black2);
  padding:34px 22px 30px;margin-top:6px;text-align:center;min-height:300px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;position:relative;overflow:hidden;
}
.trick-start{
  font-family:var(--disp);font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  background:linear-gradient(115deg, rgba(214,183,110,.16), rgba(214,183,110,.05));
  border:2px solid #d6b76a;border-radius:6px;color:#f0e3bd;
  padding:22px 44px;cursor:pointer;display:flex;align-items:center;gap:14px;
  transition:border-color .3s ease, background .3s ease, transform .3s ease;
  animation:tpulse 2.2s ease-in-out infinite;
}
@keyframes tpulse{0%,100%{box-shadow:0 0 0 0 rgba(214,183,110,.45)}50%{box-shadow:0 0 0 14px rgba(214,183,110,0)}}
@media(prefers-reduced-motion:reduce){.trick-start{animation:none}}
.trick-start:hover{border-color:#d6b76a;background:rgba(214,183,110,.08);transform:translateY(-2px)}
.trick-start .ts-pip{color:#c0392b;font-size:18px;line-height:1}
.trick-msg{font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#d8d4cb;min-height:18px;margin:0}
.pcards{display:none;gap:12px;justify-content:center;align-items:center;width:100%}
.pcards.on{display:flex}
.pcard{
  width:clamp(52px, 14vw, 108px);aspect-ratio:0.7;position:relative;perspective:700px;
  transition:transform .55s cubic-bezier(.22,.61,.36,1), opacity .5s ease;
}
.pcard.enter{transform:translateX(60vw);opacity:0}
.pcard.gone{transform:translateY(-46px) scale(.85);opacity:0}
.pcard .pin{
  position:absolute;inset:0;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,.1,.3,1);
}
.pcard.flip .pin{transform:rotateY(180deg)}
.pface{
  position:absolute;inset:0;backface-visibility:hidden;border-radius:7px;overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,.45);
}
.pface.front{background:#fff;display:flex;align-items:center;justify-content:center;padding:7%}
.pface.front img{width:100%;height:100%;object-fit:contain}
.pface.back{
  transform:rotateY(180deg);
  background:
    repeating-linear-gradient(45deg, rgba(214,183,110,.28) 0 2px, transparent 2px 9px),
    repeating-linear-gradient(-45deg, rgba(214,183,110,.28) 0 2px, transparent 2px 9px),
    #14120e;
  border:2px solid rgba(214,183,110,.55);border-radius:7px;
}
.trick-again{
  display:none;font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  background:transparent;border:1px solid rgba(214,183,110,.4);border-radius:4px;color:#c9b989;
  padding:10px 20px;cursor:pointer;transition:border-color .3s, background .3s;
}
.trick-again.on{display:inline-block}
.trick-again:hover{border-color:#d6b76a;background:rgba(214,183,110,.08)}

/* ---- marquee ---- */
.marquee{overflow:hidden;border-top:1px solid rgba(214,183,110,.22);border-bottom:1px solid rgba(214,183,110,.22);padding:16px 0;margin:0 0 56px;position:relative}
.marquee-track{display:flex;gap:0;white-space:nowrap;will-change:transform;animation:marq 12s linear infinite}
.marquee span{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#c9b989;padding:0 26px}
.marquee span::after{content:"◆";color:#8a6a15;font-size:8px;margin-left:52px;vertical-align:2px}
@keyframes marq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ---- socials ---- */
.socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.socials a{
  font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid rgba(138,106,21,.4);border-radius:4px;padding:11px 16px;color:var(--text);text-decoration:none;
  transition:border-color .3s ease, transform .3s ease, background .3s ease;
}
.socials a:hover{border-color:#8a6a15;background:rgba(196,154,63,.08);transform:translateY(-2px)}

/* ---- thesis on light ---- */
.thesis.light li{border-color:var(--linelight)}
.thesis.light .tx{color:var(--text)}
.thesis.light .tsub{color:var(--gray)}
.thesis.light .tn{color:#8a6a15}

/* ---- clients ---- */
.client-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start;margin-top:10px}
.names{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.names li{
  font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid rgba(214,183,110,.45);border-radius:4px;padding:11px 16px;color:#f0ede4;
  background:linear-gradient(135deg, rgba(214,183,110,.13), rgba(214,183,110,.03));
  transition:border-color .3s ease, transform .3s ease;
}
.names li:hover{border-color:#d6b76a;transform:translateY(-2px)}


@media(max-width:860px){.client-grid{grid-template-columns:1fr;gap:40px}}

/* ---- press ---- */
.press{margin-top:44px;border-top:1px solid var(--linelight)}
.press a{
  display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  padding:22px 2px;border-bottom:1px solid var(--linelight);text-decoration:none;
  transition:padding-left .35s cubic-bezier(.22,.61,.36,1);
}
.press a:hover{padding-left:12px}
.press a:hover .pt{color:var(--gold)}
.press .pt{font-family:var(--disp);font-weight:600;font-size:clamp(16px,2.2vw,20px);letter-spacing:-.01em;transition:color .2s}
.press .po{font-family:var(--disp);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);white-space:nowrap}
.press .po::after{content:" \2197";color:#c49a3f}
.press-fig{max-width:560px}

/* ---- contact ---- */
.contact{padding:110px 0;text-align:center}
.contact h2{margin:0 auto 18px;max-width:none}
.contact .label::after{display:none}
.contact p{margin:0 auto 40px}
.contact .btn-row{justify-content:center}
footer{background:var(--black2);border-top:1px solid var(--linedark);padding:38px 0;color:#a8a49b;font-size:12.5px}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
footer a{color:#d8d4cb;text-decoration:none}
footer a:hover{color:var(--gold-lt)}

/* ---- global film grain ---- */
body::after{
  content:"";position:fixed;inset:0;z-index:2000;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media(prefers-reduced-motion:reduce){
  #progress{display:none}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- jod panel + textures + drift ---- */
.jod-block{
  margin-top:72px;background:#0f0e0b;border:1px solid rgba(214,183,110,.4);border-radius:10px;
  padding:38px 36px 34px;position:relative;overflow:hidden;
  box-shadow:0 20px 50px rgba(20,18,14,.18);
}
.jod-block::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#c0392b,#e2c684,#a8842f)}
.jod-ghost{
  position:absolute;right:-30px;bottom:-60px;font-size:280px;line-height:1;color:#c0392b;opacity:.07;
  pointer-events:none;user-select:none;
}
.jod-block figcaption{color:#c9b989;border-color:rgba(214,183,110,.25)}
.textured{
  background-image:
    radial-gradient(ellipse 920px 620px at 88% -4%, rgba(196,154,63,.13), transparent 60%),
    radial-gradient(ellipse 760px 560px at 4% 102%, rgba(196,154,63,.11), transparent 60%),
    repeating-linear-gradient(90deg, rgba(26,25,21,.028) 0 1px, transparent 1px 96px),
    radial-gradient(rgba(26,25,21,.085) 1px, transparent 1px);
  background-size:100% 100%,100% 100%,100% 100%,20px 20px;
}
.dark.textured{
  background-image:
    radial-gradient(ellipse 900px 620px at 86% -4%, rgba(214,183,110,.10), transparent 60%),
    radial-gradient(ellipse 740px 540px at 6% 102%, rgba(214,183,110,.08), transparent 60%),
    radial-gradient(rgba(214,183,110,.07) 1px, transparent 1px);
  background-size:100% 100%,100% 100%,20px 20px;
}

.textured .suit.drift{opacity:.10}
.mr-grid{display:grid;grid-template-columns:1fr 330px;gap:48px;align-items:start}
.split-grid{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start}
.split-grid .thesis{margin-top:0}
.side-media{position:sticky;top:96px;display:grid;gap:16px;margin-top:0}
.side-media figure{margin:0}
.side-media figure img{aspect-ratio:1/1;object-fit:cover;object-position:center 38%;width:100%}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.duo figure{margin:0}
.duo figure img{aspect-ratio:3/2;object-fit:cover;width:100%}
@media(max-width:920px){
  .split-grid{grid-template-columns:1fr}
  .side-media{position:static;margin-top:14px;max-width:320px}
}
@media(max-width:640px){.duo{grid-template-columns:1fr}}
.mr-grid .thesis{margin-top:0}
.mr-side{display:grid;gap:18px;margin-top:0}
.side-figs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.side-figs figure{margin:0;min-width:0}
.mr-side figure img{aspect-ratio:var(--sideimg,2/3);object-fit:cover;object-position:center;width:100%}
.mr-side figcaption{padding:9px 13px;font-size:10.5px}
.mr-side figure{margin:0}
@media(max-width:920px){
  .mr-grid{grid-template-columns:1fr}
  .mr-side{position:static;grid-template-columns:1fr 1fr;margin-top:10px}
}
@media(max-width:560px){.mr-side{grid-template-columns:1fr}}
.suit.drift{animation:suitdrift 11s ease-in-out infinite alternate}
@keyframes suitdrift{from{margin-top:0;opacity:.07}to{margin-top:46px;opacity:.13}}
@media(prefers-reduced-motion:reduce){.suit.drift{animation:none}}

/* ---- linkedin post card ---- */
.li-post{
  display:block;text-decoration:none;background:#fff;border:1px solid var(--linelight);
  border-radius:10px;padding:22px 24px 20px;box-shadow:0 12px 30px rgba(20,18,14,.08);
  transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s,border-color .5s;
}
.li-post:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(20,18,14,.14);border-color:#c9a763}
.li-head{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.li-avatar{
  flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:.02em;color:#fff;
  background:linear-gradient(135deg,#8a6c14,#c9a251);
}
.li-meta{display:flex;flex-direction:column;line-height:1.25}
.li-name{font-family:var(--disp);font-weight:700;font-size:15.5px;color:var(--black)}
.li-sub{font-size:12.5px;color:var(--gray)}
.li-mark{margin-left:auto;fill:#0a66c2;flex:none}
.li-body{font-size:15px;line-height:1.62;color:var(--text);margin-bottom:16px}
.li-cta{
  font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:#0a66c2;display:inline-flex;align-items:center;gap:6px;
}
.li-post:hover .li-cta{gap:10px}

/* ---- cta band ---- */
.cta-band{
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  margin-top:52px;padding:30px 34px;border-radius:12px;
  background:linear-gradient(135deg,#151310,#241f16);
  border:1px solid rgba(214,183,110,.34);
  box-shadow:0 18px 44px rgba(20,18,14,.16);
}
.cta-band-text{display:flex;flex-direction:column;gap:8px;min-width:240px}
.cta-eyebrow{
  font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#d6b76a;
}
.cta-line{font-family:var(--serif);font-size:clamp(19px,2.2vw,25px);line-height:1.25;color:#f4f2ec;max-width:34ch}
.cta-band-btn{flex:none;padding:16px 34px;font-size:13.5px}
@media(max-width:560px){.cta-band{padding:26px 24px}.cta-band-btn{width:100%;text-align:center}}


/* ---- side charts ---- */
.sidechart{
  background:rgba(255,255,255,.72);border:1px solid var(--linelight);border-radius:10px;
  padding:20px 20px 18px;box-shadow:0 10px 26px rgba(20,18,14,.06);
}
.sidechart h3{font-family:var(--disp);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.sidechart .cnote{font-size:12px;color:var(--gray);line-height:1.45;margin-bottom:16px}
.cbars{display:flex;flex-direction:column;gap:9px}
.crow{display:flex;align-items:center;gap:9px}
.ckey{flex:none;width:30px;font-family:var(--serif);font-size:17px;line-height:1;text-align:center}
.ckey.wide{width:auto;flex:0 0 96px;font-family:var(--body);font-size:10.5px;line-height:1.25;text-align:left;color:var(--text)}
.ckey.red{color:#b23b34}.ckey.blk{color:#2a2620}
.ctrack{flex:1;height:9px;background:rgba(26,25,21,.07);border-radius:5px;overflow:hidden}
.cfill{display:block;height:100%;width:0;border-radius:5px;
  background:linear-gradient(90deg,#c9a251,#8a6c14);
  transition:width 1s cubic-bezier(.22,.61,.36,1)}
.cfill.low{background:linear-gradient(90deg,#b9b3a4,#8d8779)}
.cpct{flex:none;width:28px;font-family:var(--disp);font-size:10.5px;font-weight:600;color:var(--gold);text-align:right}
.cfoot{margin-top:14px;font-size:11px;line-height:1.5;color:var(--gray)}
@media(prefers-reduced-motion:reduce){.cfill{transition:none}}

/* ---- interactive quiz ---- */
.quizbox .qq{font-size:13px;line-height:1.5;color:var(--text);margin-bottom:12px}
.quiz-step{display:none}
.quiz-step.on{display:block}
.qopts{display:flex;flex-wrap:wrap;gap:8px}
.qbtn{
  font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.06em;
  padding:9px 14px;border-radius:5px;cursor:pointer;
  border:1px solid rgba(138,106,21,.4);background:#fff;color:var(--text);
  transition:background .25s,color .25s,transform .25s;
}
.qbtn:hover{background:var(--gold);color:#fff;transform:translateY(-1px)}
.quiz-result{display:none}
.quiz-result.on{display:block}
.qres-line{font-size:12.5px;line-height:1.5;color:var(--text);background:rgba(196,154,63,.12);
  border-left:2px solid var(--gold);padding:10px 12px;border-radius:0 5px 5px 0}
.quiz-form{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.qform-q{font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.quiz-form input{
  font-family:var(--body);font-size:13px;padding:10px 12px;border-radius:5px;
  border:1px solid var(--linelight);background:#fff;color:var(--text);width:100%;
}
.quiz-form input:focus{outline:2px solid var(--gold);outline-offset:1px}
.quiz-form .btn{width:100%;text-align:center}
.qdone{display:none;margin-top:10px;font-size:12.5px;color:var(--gold)}
.qdone.on{display:block}
.vp-sub{font-size:13px;line-height:1.5;color:#b3afa6;margin-top:6px;max-width:42ch}

/* ---- daily trojan card variant ---- */
.dt-avatar{background:linear-gradient(135deg,#7d0f14,#a8282f)}
.dt-post .li-body{font-family:var(--serif);font-size:19px;line-height:1.35;color:var(--text)}
.dt-cta{color:#8a1f24}
.dt-post:hover{border-color:#b7565b}

/* ---- quote beneath a photo ---- */
.photo-quote{
  margin:16px 0 0;padding:18px 20px;background:rgba(196,154,63,.08);
  border-left:3px solid var(--gold);border-radius:0 6px 6px 0;
}
.photo-quote p{font-style:italic;font-size:14.5px;line-height:1.6;color:var(--text);margin:0}
.dark .photo-quote p{color:#e4e0d6}
.photo-quote cite{
  display:block;margin-top:10px;font-family:var(--disp);font-style:normal;
  font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);
}

/* ---- clearer section break ---- */
.sec-break{position:relative;background:#fff;border-top:1px solid var(--linelight)}
.sec-break::after{
  content:"";position:absolute;top:-2px;left:50%;transform:translateX(-50%);
  width:200px;height:4px;border-radius:0 0 4px 4px;background:var(--grad-light);
}

/* ---- equal-size quote pair ---- */
.quote-duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;margin-top:36px}
.quote-duo .li-post{display:flex;flex-direction:column;height:100%}
.quote-duo .li-body{flex:1}
@media(max-width:760px){.quote-duo{grid-template-columns:1fr}}

/* ---- equal-size video trio ---- */
.reel-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;align-items:start}
.reel-item{margin:0;min-width:0}
.reel-item .video-wrap{margin:0;max-width:none;width:100%}
.reel-item video{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;border-radius:8px;background:#000}
.reel-item figcaption{padding:10px 2px 0;font-size:11.5px;color:var(--gray);text-align:left}
@media(max-width:760px){.reel-trio{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.reel-trio{grid-template-columns:1fr}}

/* ---- equal-height photo quotes + wide video ---- */
.quote-duo .photo-quote.eq{margin:0;display:flex;flex-direction:column;height:100%}
.quote-duo .photo-quote.eq p{flex:1}
.wide-vid{margin:26px 0 0}
.wide-vid .video-wrap{margin:0;max-width:none;width:100%}
.wide-vid video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:8px;background:#000}
.wide-vid figcaption{padding:10px 2px 0;font-size:11.5px;color:var(--gray)}

.side-vid{margin:0;max-width:none;width:100%}
.side-vid video{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;border-radius:8px;background:#000}

/* ---- work section layout ---- */

.work-cta{
  position:relative;display:flex;flex-direction:column;gap:14px;padding:34px 30px;border-radius:14px;
  background:linear-gradient(155deg,#fdfbf6 0%,#f6efdd 55%,#f0e4c6 100%);
  border:1px solid rgba(138,106,21,.34);
  box-shadow:0 18px 44px rgba(120,92,20,.14);overflow:hidden;
}
.work-cta::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-light)}
.work-cta::after{
  content:"\2666";position:absolute;right:-14px;bottom:-30px;font-size:130px;line-height:1;
  color:rgba(138,106,21,.09);pointer-events:none;
}
.work-cta .cta-eyebrow{color:#8a6a15}
.wc-line{font-family:var(--serif);font-size:30px;line-height:1.18;color:var(--black);letter-spacing:-.01em}
.wc-sub{font-size:14px;line-height:1.6;color:#6b6558;flex:1;position:relative;z-index:1}
.wc-btn{align-self:stretch;text-align:center;padding:17px 32px;font-size:13.5px;position:relative;z-index:1;
  box-shadow:0 10px 24px rgba(138,106,21,.3)}
.wc-btn:hover{transform:translateY(-2px)}

/* ---- NBC trio: equal height row ---- */
.nbc-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;align-items:start}
.nbc-item{margin:0;min-width:0}
.nbc-item .video-wrap{margin:0;max-width:none;width:100%}
.nbc-item video{width:100%;aspect-ratio:1/1;object-fit:contain;background:#0d0c0a;display:block;border-radius:8px}
.nbc-item figcaption{padding:9px 2px 0;font-size:11.5px;color:var(--gray)}
@media(max-width:820px){.nbc-trio{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.nbc-trio{grid-template-columns:1fr}}

/* ---- speaking: tighter talks column with CTA beneath ---- */
.talks-col{display:flex;flex-direction:column;gap:26px;min-width:0}
.talks-grid{align-items:start}
.spk-grid{align-items:start}
.talk-cta{margin-top:0}
.talk-cta .wc-line{font-size:27px}

/* ---- insight box matched to the publication card ---- */
.insight-box.pub-match{
  max-width:none;width:100%;margin-top:24px;padding:32px 36px;border-radius:6px;
  border:1px solid rgba(214,183,110,.35);border-left:3px solid var(--gold);
  background:linear-gradient(#0f0e0b,#0f0e0b) padding-box, linear-gradient(#0f0e0b,#0f0e0b) border-box;
  animation:none;
}
.insight-box.pub-match::before{content:none}
.insight-box.pub-match .ib-title{font-size:clamp(19px,2.4vw,24px);font-weight:700;letter-spacing:-.015em;margin-bottom:10px}
.insight-box.pub-match .ib-kicker{font-size:11px;letter-spacing:.2em;margin-bottom:10px}
.insight-box.pub-match .ib-sub{font-size:13.5px;line-height:1.6;max-width:none;margin-bottom:16px}
.insight-box.pub-match .ib-cta{font-size:12px;letter-spacing:.12em}
.insight-box.pub-match:hover{border-color:#e0c17a;transform:translateY(-3px)}

/* ---- commencement + NBC: one uniform row ---- */
.comm-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;align-items:start}
.cr-item{margin:0;min-width:0}
.cr-media{position:relative;width:100%;aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:#0d0c0a}
.cr-media img,.cr-media video{width:100%;height:100%;display:block}
.cr-media img{object-fit:cover}
.cr-media video{object-fit:contain;background:#0d0c0a}
.cr-item figcaption{padding:9px 2px 0;font-size:11.5px;color:var(--gray)}
@media(max-width:900px){.comm-row{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.comm-row{grid-template-columns:1fr}}

/* ---- speaking talks: tighten so CTA bottom meets stage image bottom ---- */
#speaking .talks-col .talks{margin-top:0}
#speaking .talks-col .talks span{padding:8px 2px 8px 0}
#speaking .talks-col{gap:19px}
.hero-grid .lede .hl-gold{color:#e0c17a;font-weight:700}

/* ---- book-a-talk modal ---- */
.book-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.book-modal[hidden]{display:none}
.bm-backdrop{position:absolute;inset:0;background:rgba(12,11,9,.72);backdrop-filter:blur(3px);animation:bmFade .25s ease}
.bm-card{
  position:relative;z-index:1;width:min(460px,100%);background:#fff;border-radius:14px;
  padding:38px 36px 30px;box-shadow:0 30px 80px rgba(12,11,9,.4);
  border-top:4px solid transparent;border-image:var(--grad-light) 1;
  animation:bmRise .32s cubic-bezier(.22,.61,.36,1);
}
@keyframes bmFade{from{opacity:0}to{opacity:1}}
@keyframes bmRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.bm-x{position:absolute;top:14px;right:16px;border:none;background:none;font-size:26px;line-height:1;color:var(--gray);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s,color .2s}
.bm-x:hover{background:rgba(26,25,21,.06);color:var(--black)}
.bm-eyebrow{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:10px}
.bm-card h3{font-family:var(--disp);font-weight:800;font-size:26px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px}
.bm-sub{font-size:14.5px;line-height:1.6;color:var(--gray);margin-bottom:22px}
.bm-form{display:flex;flex-direction:column;gap:10px}
.bm-form input{font-family:var(--body);font-size:14px;padding:13px 15px;border-radius:8px;border:1px solid var(--linelight);background:#fff;color:var(--text);width:100%}
.bm-form input:focus{outline:2px solid var(--gold);outline-offset:1px}
.bm-form .btn{width:100%;text-align:center;margin-top:4px;padding:15px}
.bm-done{display:none;margin-top:6px;font-size:14px;line-height:1.55;color:var(--gold);font-family:var(--disp);font-weight:600}
.bm-done.on{display:block}
.bm-alt{margin-top:18px;font-size:12.5px;color:var(--gray);text-align:center}
.bm-alt a{color:var(--gold);text-decoration:none}
.bm-alt a:hover{text-decoration:underline}
body.bm-open{overflow:hidden}

button.nav-cta{background:none;font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.02em;cursor:pointer;line-height:1}
.tsub em{font-weight:700}

/* ---- dark-section cards: stats + publication ---- */
.dark .stat{
  background:#16130e;
  background-image:radial-gradient(rgba(214,183,110,.06) 1px, transparent 1px);
  background-size:18px 18px;
  border-color:rgba(214,183,110,.28);
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.dark .stat .t{color:#b3afa6}
.dark .stat:hover{box-shadow:0 18px 44px rgba(0,0,0,.5);border-color:rgba(214,183,110,.5)}
.dark .pub:not(.talkbox){
  background:#16130e;
  background-image:radial-gradient(rgba(214,183,110,.06) 1px, transparent 1px);
  background-size:18px 18px;
  border-color:rgba(214,183,110,.28);
  border-left-color:var(--gold-lt);
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.dark .pub:not(.talkbox) h3{color:#f4f2ec}
.dark .pub:not(.talkbox) .j{color:#e0c17a}
.dark .pub:not(.talkbox) .authors,.dark .pub:not(.talkbox) .cite{color:#b3afa6}
.dark .pub:not(.talkbox):hover{border-color:#d6b76a;box-shadow:0 18px 44px rgba(0,0,0,.5)}

/* ---- soma grid ---- */
.soma-grid{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:stretch;margin-top:26px}
.soma-grid .soma-text{display:flex;flex-direction:column;justify-content:flex-start;gap:20px;max-width:46ch}
.soma-grid .soma-text p{font-size:17px;line-height:1.7;color:#cfcabf;margin:0}
.soma-grid .soma-fig{max-width:none;width:100%;display:flex;align-items:flex-start;justify-content:flex-start}
.soma-grid .soma-fig img{width:auto;max-width:100%;max-height:100%;display:block;border-radius:10px;border:1px solid rgba(214,183,110,.3);box-shadow:0 18px 44px rgba(0,0,0,.4)}
@media(max-width:860px){.soma-grid{grid-template-columns:1fr;gap:30px}.soma-grid .soma-fig{max-width:300px;display:block}.soma-grid .soma-fig img{width:100%;max-width:100%;height:auto}}

/* ---- brazil media row ---- */
.brazil-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.bz-item{margin:0;min-width:0}
.bz-media{width:100%;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:#0d0c0a;
  border:1px solid rgba(214,183,110,.3);box-shadow:0 16px 40px rgba(0,0,0,.4)}
.bz-media img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.bz-media video{width:100%;height:100%;object-fit:cover;display:block}
.bz-item figcaption{padding:9px 2px 0;font-size:11.5px;color:#b3afa6}
@media(max-width:560px){.brazil-row{grid-template-columns:1fr}}

/* ---- about eye grid ---- */
.eye-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
.eye-grid figure{margin:0;min-width:0}
.eye-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:8px;
  border:1px solid var(--linelight);box-shadow:0 12px 30px rgba(20,18,14,.1)}

/* ---- ambient audio bar ---- */
.audio-bar{
  display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:nowrap;
  padding:22px 0 0;margin:0 0 60px;position:relative;z-index:3;
}
.ab-label{
  flex:none;font-family:var(--disp);font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  background:var(--gold-grad-light);-webkit-background-clip:text;background-clip:text;color:transparent;
  margin-right:6px;white-space:nowrap;
}
.ab-btn{
  font-family:var(--disp);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 11px;border-radius:4px;cursor:pointer;line-height:1;white-space:nowrap;flex:none;
  border:1px solid rgba(214,183,110,.45);background:rgba(214,183,110,.05);color:#d6b76a;
  transition:background .25s,color .25s,border-color .25s,transform .25s;
}
.ab-btn:hover{background:rgba(214,183,110,.16);border-color:#d6b76a;transform:translateY(-1px)}
.ab-btn.on{background:linear-gradient(115deg,#e2c684,#a8842f);border-color:#e0c17a;color:#141210}
@media(max-width:820px){.audio-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.audio-bar::-webkit-scrollbar{display:none}.ab-btn{padding:6px 10px;font-size:10px}}

/* ---- about eye grid: 3 across when hero holds the closeup ---- */
.eye-grid-3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:640px){.eye-grid-3{grid-template-columns:1fr 1fr}}

/* ============ FULL-BLEED HERO V2 ============ */
.hero-v2{position:relative;background:#0d0c0a;padding:0}
.hero-v2-bar{padding-top:22px;padding-bottom:22px;position:relative;z-index:5}
.hero-stage{
  position:relative;width:100%;height:82vh;min-height:520px;max-height:900px;
  overflow:hidden;background:#0d0c0a;
}
.hero-stage-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;
}
.hero-stage-scrim{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to top, rgba(13,12,10,.96) 0%, rgba(13,12,10,.35) 34%, rgba(13,12,10,.12) 60%, rgba(13,12,10,.55) 100%),
    radial-gradient(120% 90% at 50% 30%, transparent 40%, rgba(13,12,10,.5) 100%);
}
.hero-stage-name{
  position:absolute;left:0;right:0;top:60%;z-index:2;
  display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px;
}
.hero-eyebrow{
  font-family:var(--disp);font-size:clamp(11px,1.05vw,13px);font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--gold-lt);
  margin-top:clamp(16px,1.6vw,24px);
  position:relative;z-index:3;
  text-shadow:0 2px 10px rgba(13,12,10,.85), 0 0 18px rgba(13,12,10,.7);
}
.hero-title{
  font-family:"Playfair Display",var(--serif);font-weight:700;line-height:.98;letter-spacing:-.005em;
  font-size:clamp(52px,9.5vw,148px);margin:0;color:#f6f3ec;
  text-shadow:0 6px 44px rgba(0,0,0,.6);
}
.hero-title em{
  font-family:"Playfair Display",var(--serif);font-weight:700;font-style:normal;
  background:linear-gradient(115deg,#f0d99c 0%,#e0c17a 42%,#c49a3f 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-intro{
  max-width:none;padding-top:clamp(42px,6vw,72px);padding-bottom:clamp(48px,7vw,92px);
  display:grid;grid-template-columns:1fr;gap:30px;
}
.hero-intro .lede{max-width:64ch;margin:0}
.hero-intro .lede .hl-gold{color:#e0c17a;font-weight:700}
.hero-intro .btn-row{margin:0}
@media(min-width:900px){
  .hero-intro{grid-template-columns:1.5fr auto;align-items:center;gap:56px}
  .hero-intro .btn-row{justify-self:end}
}
@media(max-width:640px){
  .hero-stage{height:74vh;min-height:440px}
  .hero-stage-name{top:62%}
}

/* ---- hero panel 2: stage photo, bio, facts ---- */
.hero-stage-2{display:flex;flex-direction:column;justify-content:flex-end}
.hero-scrim-2{
  background:
    linear-gradient(to top, rgba(13,12,10,.97) 0%, rgba(13,12,10,.72) 22%, rgba(13,12,10,.30) 52%, rgba(13,12,10,.55) 100%);
}
.hero-bio-over{
  position:absolute;left:0;right:0;top:0;bottom:0;z-index:2;
  display:flex;align-items:center;justify-content:center;padding:0 24px;
  pointer-events:none;
}
.hero-bio{
  max-width:50ch;margin:0;text-align:center;color:#f2efe8;
  font-size:clamp(17px,2vw,23px);line-height:1.6;
  text-shadow:0 3px 30px rgba(0,0,0,.7);
}
.hero-bio .hl-gold{color:#e6cd8e;font-weight:700}
.hero-facts-bar{
  position:relative;z-index:3;width:100%;
  background:linear-gradient(to top, rgba(13,12,10,.92), rgba(13,12,10,.66));
  border-top:1px solid rgba(214,183,110,.28);
  backdrop-filter:blur(2px);
  padding:14px 0 16px;
}
.hero-facts{
  border-top:none!important;border-image:none!important;
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px 34px;margin:0;
}
.hero-facts li{
  border-bottom:none;padding:6px 0;flex-direction:column;align-items:flex-start;gap:3px;justify-content:flex-start;
}
.hero-facts .k{color:var(--gold-lt);font-size:9.5px;letter-spacing:.18em}
.hero-facts .v{font-size:12.5px;text-align:left;color:#eae6dc}
.hero-facts .v a{color:#eae6dc}
.hero-facts .v a:hover{color:var(--gold-lt)}
@media(max-width:820px){.hero-facts{grid-template-columns:1fr 1fr;gap:4px 20px}}
@media(max-width:480px){.hero-facts{grid-template-columns:1fr}.hero-facts li{flex-direction:row;justify-content:space-between}}

/* ---- nav Read the Research link ---- */
.nav-research{
  font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.02em;
  color:var(--gold-lt)!important;text-decoration:none;white-space:nowrap;
  border-bottom:1px solid transparent;transition:border-color .2s;
}
.nav-research:hover{border-bottom-color:var(--gold-lt)}
@media(max-width:1100px){.nav-research{display:none}}

/* per-panel image framing */
.hero-stage:not(.hero-stage-2) .hero-stage-img{object-position:center 50%}
.hero-stage-2 .hero-stage-img{object-position:center 42%}

/* ---- audio bar overlaid on image top ---- */
.hero-audio-over{
  position:absolute;top:0;left:0;right:0;z-index:4;
  padding-top:18px;padding-bottom:14px;
  background:linear-gradient(to bottom, rgba(13,12,10,.78) 0%, rgba(13,12,10,.4) 55%, transparent 100%);
  pointer-events:none;
}
.hero-audio-over .audio-bar{margin:0;padding:0;pointer-events:auto}
.hero-audio-over .ab-btn{
  background:rgba(13,12,10,.35);backdrop-filter:blur(2px);
}






/* name block shrinks to title width; eyebrow flex-start aligns to Tyler's left edge */
.hero-stage-name{align-items:center;width:auto;left:0!important;right:0!important;transform:none}
.hero-eyebrow{align-self:center;text-align:center;margin-top:clamp(12px,1.2vw,18px)}
@media(min-width:901px){.hero-eyebrow{margin-right:52px}}
@media(max-width:640px){.hero-stage-name{max-width:calc(100% - 32px)}}

@media(max-width:900px){.hero-eyebrow{font-size:10.5px;letter-spacing:.18em}}
@media(max-width:560px){.hero-eyebrow{font-size:9.5px;letter-spacing:.14em}}

@media(max-width:900px){
  .hero-stage-name{align-items:center;width:auto;max-width:calc(100% - 32px)}
  .hero-eyebrow{width:auto;text-align:center;padding-left:0}
}

.hero-facts .v-sub{margin-top:3px;font-size:11.5px;color:#d8d3c8}

/* origin: unify all body paragraph sizes */
#origin .lede,#origin .deck-row p,#origin>.wrap>div>p,#origin blockquote p{font-size:17px;line-height:1.7}

/* about right column: socials align to eye-grid bottom */
.about-grid>div:last-child{display:flex;flex-direction:column;height:100%}
.about-grid>div:last-child>figure{flex:1 1 auto;display:flex;flex-direction:column;margin:0 0 26px}
.about-grid>div:last-child>figure img{flex:1 1 auto;object-fit:cover;min-height:0}
.about-grid>div:last-child .socials{margin-top:auto}
@media(max-width:820px){
  .about-grid>div:last-child{height:auto}
  .about-grid>div:last-child>figure img{flex:none}
}

/* mobile: audio bar scrolls within viewport instead of clipping off-screen */
.hero-audio-over{overflow:hidden}
.hero-audio-over .wrap{overflow:visible}
.hero-audio-over .audio-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hero-audio-over .audio-bar::-webkit-scrollbar{display:none}
@media(max-width:640px){
  .hero-audio-over{padding-left:0;padding-right:0}
  .hero-audio-over .wrap{padding-left:16px;padding-right:16px}
  .ab-btn{padding:9px 12px;font-size:10.5px}
  .ab-label{padding-left:0}
}
/* subtle fade at right edge hinting more buttons on small screens */
@media(max-width:900px){
  .hero-audio-over .audio-bar{padding-right:20px}
}

/* mobile: eyes panel framed as a portrait so the face reads well (desktop untouched) */
@media(max-width:640px){
  .hero-stage:not(.hero-stage-2){height:auto;min-height:0;aspect-ratio:4/5;max-height:78vh}
  .hero-stage:not(.hero-stage-2) .hero-stage-img{object-position:50% 45%}
}

/* ==================== v2: reel, deeper pages, mobile length ==================== */

/* ---- the reel ---- */
.reel-band{padding:78px 0 78px;overflow:hidden}
.reel-stage{
  position:relative;width:100%;margin:34px 0 0;background:#000;
  border-top:1px solid rgba(214,183,110,.3);border-bottom:1px solid rgba(214,183,110,.3);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.reel-stage video{display:block;width:100%;height:auto;max-height:84vh;background:#000;object-fit:contain}
.reel-actions{
  max-width:var(--max);margin:0 auto;padding:30px 28px 0;
  display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
}
.reel-actions .btn{flex:none;padding:18px 38px;font-size:14px}
.reel-note{font-size:14px;line-height:1.65;color:#b3afa6;max-width:52ch;margin:0}
.reel-note b{color:#e8e4da;font-weight:600}
@media(max-width:640px){
  .reel-band{padding:58px 0 58px}
  .reel-actions{flex-direction:column-reverse;align-items:stretch;padding-top:24px}
  .reel-actions .btn{width:100%;text-align:center}
  .reel-note{max-width:none}
}

/* ---- read-more links to the deeper pages ---- */
.more-link{
  display:inline-flex;align-items:center;gap:10px;margin-top:28px;
  font-family:var(--disp);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:var(--gold);
  border-bottom:1px solid rgba(138,106,21,.45);padding-bottom:6px;
  transition:gap .3s cubic-bezier(.22,.61,.36,1), border-color .3s ease;
}
.more-link:hover{gap:16px;border-bottom-color:var(--gold)}
.dark .more-link{color:var(--gold-lt);border-bottom-color:rgba(214,183,110,.45)}
.dark .more-link:hover{border-bottom-color:var(--gold-lt)}
.more-link .ml-arrow{font-size:14px;line-height:1}

/* ---- deeper-page header ---- */
.page-head{padding:66px 0 6px}
.page-head h1{font-family:var(--disp);font-weight:700;letter-spacing:-.025em;line-height:1.05;
  font-size:clamp(38px,5.8vw,68px);margin-bottom:20px}
.page-head h1 em{font-style:normal;color:#e0c17a}
.page-head .lede{max-width:58ch;color:#dad6cd}
.crumb{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;text-decoration:none;
  font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lt);
}
.crumb:hover{color:#f0d99c}
.page-head + section{border-top:none}

/* ---- preview blocks on the homepage ---- */
.prev-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
@media(max-width:880px){.prev-grid{grid-template-columns:1fr;gap:34px}}
.prev-grid figure{margin:0}
.prev-grid figure img{aspect-ratio:4/3;object-fit:cover;width:100%}
.prev-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.prev-duo figure{margin:0;min-width:0}
.prev-duo figure img{aspect-ratio:4/3;object-fit:cover;width:100%}
@media(max-width:560px){.prev-duo{grid-template-columns:1fr}}
.thesis.compact li{padding:24px 2px}
.thesis.compact li:first-child{border-top:none}

/* ---- nav: current page marker ---- */
.nav-links a[aria-current="page"]{color:var(--gold-lt)}
.nav-links a[aria-current="page"]::after{transform:scaleX(1)}

/* ---- footer sitemap ---- */
.foot-nav{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:20px}
.foot-nav a{font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#c6c2b9}
.foot-nav a:hover{color:var(--gold-lt)}

/* ---- less scrolling on a phone ---- */
@media(max-width:640px){
  section{padding:64px 0}
  .contact{padding:76px 0}
  .page-head{padding:46px 0 4px}
  .btn{padding:16px 26px}
  .ab-btn{padding:10px 13px}
}

/* ==================== v3: reel autoplay, centered CTA, stronger links ==================== */

/* the reel now opens the band directly, no heading above it */
.reel-band{padding:0 0 74px}
.reel-stage{margin-top:0;border-top:none}

/* tap-for-sound chip, shown only when the browser forces muted autoplay */
.reel-unmute{
  position:absolute;right:18px;bottom:64px;z-index:3;display:none;
  align-items:center;gap:8px;font-family:var(--disp);font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;cursor:pointer;
  padding:11px 18px;border-radius:999px;border:1px solid rgba(214,183,110,.7);
  background:rgba(11,10,8,.82);color:#f0e3bd;backdrop-filter:blur(4px);
  box-shadow:0 10px 26px rgba(0,0,0,.45);
  animation:unmutePulse 2.4s ease-in-out infinite;
}
.reel-unmute.on{display:inline-flex}
.reel-unmute:hover{background:#d6b76a;color:#0b0a08;border-color:#d6b76a}
@keyframes unmutePulse{0%,100%{box-shadow:0 10px 26px rgba(0,0,0,.45),0 0 0 0 rgba(214,183,110,.4)}50%{box-shadow:0 10px 26px rgba(0,0,0,.45),0 0 0 10px rgba(214,183,110,0)}}
@media(prefers-reduced-motion:reduce){.reel-unmute{animation:none}}
@media(max-width:640px){.reel-unmute{right:12px;bottom:56px;padding:9px 14px;font-size:11px}}

/* centered, emphatic booking moment beneath the reel */
.reel-actions{
  flex-direction:column;align-items:center;text-align:center;gap:24px;
  padding:36px 28px 0;
}
.reel-note{max-width:62ch;font-size:15px;color:#c4c0b6}
.reel-book{
  position:relative;overflow:hidden;
  padding:20px 60px;font-size:14.5px;letter-spacing:.18em;
  box-shadow:0 16px 44px rgba(214,183,110,.28);
}
.reel-book::after{
  content:"";position:absolute;top:0;left:-70%;width:42%;height:100%;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.4), transparent);
  transform:skewX(-20deg);
  animation:bookSheen 4s cubic-bezier(.4,0,.2,1) infinite;
  pointer-events:none;
}
@keyframes bookSheen{0%,55%{left:-70%}100%{left:135%}}
.reel-book:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(214,183,110,.4)}
@media(prefers-reduced-motion:reduce){.reel-book::after{animation:none}}
@media(max-width:640px){
  .reel-band{padding:0 0 56px}
  .reel-actions{flex-direction:column;padding-top:28px}
  .reel-book{width:100%;padding:19px 30px}
}

/* read-more links promoted from underlined text to full gold buttons */
.more-link{
  display:inline-flex;align-items:center;gap:12px;margin-top:36px;
  padding:17px 34px;border-radius:5px;
  border:1px solid rgba(138,106,21,.55);border-bottom:1px solid rgba(138,106,21,.55);
  background:linear-gradient(135deg, rgba(196,154,63,.15), rgba(196,154,63,.04));
  font-size:13px;padding-bottom:17px;
  box-shadow:0 12px 30px rgba(138,106,21,.14);
  transition:gap .3s cubic-bezier(.22,.61,.36,1), transform .3s cubic-bezier(.22,.61,.36,1),
             background .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.more-link:hover{
  gap:18px;transform:translateY(-2px);color:#fff;border-color:transparent;
  background:linear-gradient(135deg,#8a6c14,#6f570d);
  box-shadow:0 18px 42px rgba(138,106,21,.32);
}
.dark .more-link{
  color:var(--gold-lt);border-color:rgba(214,183,110,.55);
  background:linear-gradient(135deg, rgba(214,183,110,.12), rgba(214,183,110,.03));
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.dark .more-link:hover{
  color:#141210;border-color:transparent;
  background:linear-gradient(135deg,#ecd193,#c9a251);
  box-shadow:0 18px 42px rgba(0,0,0,.5);
}
@media(max-width:640px){.more-link{width:100%;justify-content:center}}

/* ---- reel tagline ---- */
.reel-tag{
  display:block;margin-top:14px;
  font-family:var(--disp);font-weight:600;font-size:clamp(19px,2.4vw,26px);
  letter-spacing:-.015em;color:#f4f2ec;
}
.reel-tag .gold-word{
  font-style:normal;font-weight:800;
  background:var(--grad-dark);-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---- recognition preview: press links left, commencement media right ---- */
.rec-prev-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:start}
.rec-prev-media{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.rec-prev-media .cr-item{margin:0;min-width:0}
@media(max-width:880px){
  .rec-prev-grid{grid-template-columns:1fr;gap:36px}
  .rec-prev-media{max-width:560px}
}
@media(max-width:480px){.rec-prev-media{grid-template-columns:1fr}}

/* ---- recognition preview: logo grid + bottom alignment with the button ---- */
.rec-prev-grid{align-items:stretch}
.rec-prev-left,.rec-prev-right{display:flex;flex-direction:column;min-width:0}
.rec-prev-left .press{margin-bottom:30px}
.rec-prev-left .more-link{margin-top:auto;align-self:flex-start}
.rec-logos{
  margin-top:auto;padding-top:24px;
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.logo-card{
  display:flex;align-items:center;justify-content:center;
  min-height:96px;padding:8px 12px;
}
.logo-card img{
  width:auto;height:auto;max-width:100%;max-height:74px;object-fit:contain;
}
@media(max-width:880px){.rec-prev-left .more-link{margin-top:36px}}
@media(max-width:480px){.rec-logos{grid-template-columns:1fr 1fr}.logo-card{min-height:76px}.logo-card img{max-height:56px}}

/* ---- recognition preview media: slightly taller to fill toward the logos ---- */
.rec-prev-media .cr-media{aspect-ratio:2/3}
.rec-logos{padding-top:20px}
