:root{
  --navy:#1C2A3A;
  --navy-2:#243349;
  --navy-3:#2E3F55;
  --gold:#B89446;
  --gold-2:#C9A45A;
  --paper:#F8F4ED;
  --paper-2:#F1ECE2;
  --paper-3:#EDE6D6;
  --rule:#D9D2C3;
  --rule-soft:#E8E2D4;
  --ink:#1C2A3A;
  --mute:#5A6470;
  --faint:#9AA0A6;

  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Public Sans',-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;

  --gutter:clamp(20px,4vw,72px);
  --max:1360px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"kern" 1,"liga" 1;
}
::selection{background:var(--gold);color:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

a:focus-visible,button:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* ---------- Navigation ---------- */
.nav{
  background:var(--paper);
  border-bottom:1px solid var(--rule-soft);
  position:sticky;top:0;z-index:40;
  backdrop-filter:saturate(180%) blur(8px);
  -webkit-backdrop-filter:saturate(180%) blur(8px);
  background:rgba(248,244,237,.92);
}
.nav__inner{
  display:flex;align-items:center;justify-content:space-between;
  height:84px;
}
.brand{display:flex;align-items:baseline;gap:9px}
.brand__primary{
  font-family:var(--serif);
  font-size:22px;
  font-weight:500;
  color:var(--navy);
  letter-spacing:-.015em;
}
.brand__secondary{
  font-family:var(--sans);
  font-size:9px;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
  position:relative;
  top:1px;
  opacity:.82;
}
.nav__menu{display:flex;gap:36px;align-items:center;margin-left:auto}
.nav__menu a{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mute);font-weight:500;
  transition:color .25s;
}
.nav__menu a:hover{color:var(--navy)}
.nav__cta{
  margin-left:28px;
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-weight:600;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--navy);
  border:1px solid var(--navy);
  padding:11px 20px;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.nav__cta:hover{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.nav__cta .arr{display:inline-block;transition:transform .25s ease}
.nav__cta:hover .arr{transform:translateX(3px)}

.nav__burger{display:none}
.nav__mobile{display:none}

@media (max-width:840px){
  .nav__inner{height:68px}
  .nav__menu, .nav__cta{display:none}
  .nav__burger{
    display:flex;flex-direction:column;gap:5px;padding:10px;
  }
  .nav__burger span{
    width:22px;height:1.5px;background:var(--navy);display:block;
  }
  .nav__mobile{
    display:none;
    background:var(--paper);
    border-top:1px solid var(--rule-soft);
    padding:18px var(--gutter) 24px;
  }
  .nav__mobile.open{display:block}
  .nav__mobile a{
    display:block;
    padding:14px 0;
    font-size:14px;
    letter-spacing:.12em;text-transform:uppercase;
    color:var(--navy);font-weight:500;
    border-bottom:1px solid var(--rule-soft);
  }
  .nav__mobile a.cta{
    margin-top:18px;
    border:1px solid var(--navy);
    text-align:center;
    padding:14px 18px;
  }
}

/* ---------- Shared utilities (eyebrow + accent rule) ---------- */
.eyebrow{
  display:inline-block;
  font-family:var(--sans);
  font-weight:700;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:22px;
}
.accent-rule{
  display:block;
  width:88px;
  height:3px;
  background:var(--gold);
  margin:24px 0 28px;
  border:0;
}
.accent-rule--gold{background:var(--gold)}
.pov__body .accent-rule{margin:24px 0 36px}

/* ---------- HERO (NAVY) ---------- */
.hero{
  background:var(--navy);
  color:var(--paper);
  padding:clamp(84px,11vh,140px) 0 clamp(92px,12vh,150px);
  position:relative;
  overflow:hidden;
}
.hero::before{
  /* gold halo on dark canvas */
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 8% 12%, rgba(184,148,70,.10), transparent 55%);
  pointer-events:none;
}
.hero__inner{
  position:relative;z-index:2;
  max-width:920px;
}

/* main column */
.hero__strap{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(48px,8vw,124px);
  line-height:.98;
  letter-spacing:-.02em;
  color:var(--paper);
  margin-bottom:clamp(30px,4vh,44px);
}
.hero__strap .em{
  font-style:italic;color:var(--gold);font-weight:400;
}
.hero__strap .all{display:inline-block}
.hero__strap .no{display:inline-block}

.hero__lede{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(20px,1.7vw,26px);
  line-height:1.4;
  color:rgba(255,255,255,.85);
  font-weight:400;
  max-width:740px;
  margin-bottom:clamp(24px,3vh,32px);
  letter-spacing:-.005em;
}
.hero__body{
  font-family:var(--sans);
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,.78);
  font-weight:400;
  max-width:680px;
  margin-bottom:clamp(36px,5vh,52px);
}
.hero__body strong{font-weight:600;color:var(--paper)}

.hero__body--lead{
  font-size:clamp(16px,1.25vw,18px);
  max-width:820px;
  margin-bottom:clamp(32px,4.5vh,44px);
}

.hero__actions{
  display:flex;align-items:center;gap:28px;flex-wrap:wrap;
  margin-top:2px;
}
.btn-fill{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--gold);color:var(--navy);
  padding:16px 26px;
  font-family:var(--sans);font-weight:600;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--gold);
  transition:all .25s;
  cursor:pointer;
}
.btn-fill:hover{background:transparent;color:var(--gold)}
.btn-fill .arr{transition:transform .25s;display:inline-block}
.btn-fill:hover .arr{transform:translateX(4px)}

.btn-line{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--sans);font-weight:600;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.85);padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.3);
  transition:color .25s ease,border-color .25s ease;
}
.btn-line:hover{color:var(--gold);border-color:var(--gold)}

.btn-gold-outline{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 22px;
  font-family:var(--sans);font-weight:600;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper);
  border:1px solid var(--gold);
  background:transparent;
  opacity:.92;
  transition:background .25s ease,color .25s ease,opacity .25s ease,border-color .25s ease;
}
.btn-gold-outline:hover{background:var(--gold);color:var(--navy);opacity:1;border-color:var(--gold)}
.btn-gold-outline .arr{display:inline-block;transition:transform .25s ease}
.btn-gold-outline:hover .arr{transform:translateY(2px)}


.hero__specific{
  font-family:var(--sans);
  font-size:12px;
  line-height:1.6;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.64);
  font-weight:600;
  max-width:760px;
  margin:-18px 0 clamp(36px,5vh,52px);
}
.hero__specific::before{
  content:"";
  display:inline-block;
  width:44px;height:1px;
  background:var(--gold);
  vertical-align:middle;
  margin-right:16px;
  transform:translateY(-1px);
}
@media (max-width:620px){
  .hero__specific{font-size:10.5px;letter-spacing:.12em;margin-top:-10px}
  .hero__specific::before{display:block;margin:0 0 14px;width:52px}
}

/* ---------- Trust line ---------- */
.trust{
  background:var(--paper-2);
  border-top:1px solid var(--rule-soft);
  border-bottom:1px solid var(--rule-soft);
  padding:24px 0;
}
.trust__inner{
  display:flex;align-items:center;justify-content:center;
  gap:18px;flex-wrap:wrap;text-align:center;
  font-family:var(--sans);
  font-size:10.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--mute);
  font-weight:500;
}
.trust__inner em{
  font-family:var(--serif);font-style:italic;
  font-size:13px;color:var(--navy);
  letter-spacing:0;text-transform:none;
  font-weight:400;
}
.trust__inner .dot{
  width:3px;height:3px;
  background:var(--gold);
  border-radius:50%;
}
.trust__logos{gap:20px}
.trust__label{
  width:100%;
  font-size:9.5px;
  letter-spacing:.26em;
  color:var(--faint);
  margin-bottom:2px;
}
.trust__name{
  font-family:var(--serif);
  font-style:italic;
  font-size:17px;
  line-height:1.2;
  letter-spacing:.01em;
  text-transform:none;
  color:var(--navy);
  font-weight:500;
  opacity:.82;
}
@media (max-width:720px){
  .trust__logos{gap:12px 14px}
  .trust__label{font-size:8.5px;line-height:1.5}
  .trust__name{font-size:15px}
}


/* ---------- Signal View ---------- */
.pov{
  padding:clamp(72px,9vh,120px) 0;
  background:var(--paper);
}
.pov__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
  max-width:1120px;
}
.pov__body{max-width:1080px}

.pov__title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(32px,3.8vw,56px);
  line-height:1.1;
  letter-spacing:-.014em;
  color:var(--navy);
  margin:0;
}
.pov__title em{font-style:italic;color:var(--gold)}

.pov__text{
  font-family:var(--serif);
  font-size:clamp(17px,1.35vw,21px);
  line-height:1.65;
  color:var(--ink);
  font-weight:400;
  max-width:880px;
}
.pov__text + .pov__text{margin-top:18px}
.pov__text em{font-style:italic;color:var(--navy);font-weight:500}

/* Evidence panel */
.pov__evidence{
  margin-top:56px;
  background:var(--navy);
  color:var(--paper);
  padding:clamp(32px,4vw,52px) clamp(28px,3.5vw,52px) clamp(36px,4vw,56px);
  position:relative;
  border-radius:2px;
}
.pov__evidence::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--gold);
}
.pov__evidence-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:30px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pov__evidence-label{
  font-family:var(--sans);
  font-size:10.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold-2);
  font-weight:700;
}
.pov__evidence-source{
  font-family:var(--serif);
  font-style:italic;
  font-size:14.5px;
  color:rgba(248,244,237,.7);
  letter-spacing:.01em;
}
.pov__stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.pov__stat{
  padding:8px 28px 4px;
  border-left:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.pov__stat:first-child{border-left:none;padding-left:4px}
.pov__stat-eyebrow{
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--gold-2);
  font-weight:700;
}
.pov__stat-figure{
  font-family:var(--sans);
  font-weight:300;
  font-size:clamp(56px,6.2vw,84px);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--paper);
  display:flex;
  align-items:baseline;
}
.pov__stat-figure .unit{
  font-size:.42em;
  font-weight:400;
  margin-left:4px;
  letter-spacing:0;
  color:rgba(248,244,237,.85);
}
.pov__stat-caption{
  font-family:var(--serif);
  font-size:17px;
  line-height:1.45;
  color:var(--paper);
  font-weight:400;
  max-width:30ch;
}
.pov__reading{
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.08);
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(17px,1.4vw,20px);
  line-height:1.5;
  color:rgba(248,244,237,.92);
  max-width:62ch;
}
.pov__reading .em{color:var(--gold-2);font-style:italic}

.pov__source-note{
  margin-top:22px;
  font-family:var(--sans);
  font-size:9.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(248,244,237,.48);
  font-weight:600;
}

/* Three decisions, reframed as columns with implications */
.pov__decisions{
  margin-top:64px;
  padding-top:36px;
  border-top:1px solid var(--rule);
}
.pov__decisions-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:32px;
}
.pov__decisions-label{
  font-family:var(--sans);
  font-size:10.5px;
  line-height:1.55;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:700;
}
.pov__decisions-meta{
  font-family:var(--serif);
  font-style:italic;
  font-size:14.5px;
  color:var(--mute);
}
.pov__columns{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.pov__col{
  padding:4px 28px 4px;
  border-left:1px solid var(--rule);
  display:flex;
  flex-direction:column;
  gap:18px;
}
.pov__col:first-child{border-left:none;padding-left:4px}
.pov__col-num{
  font-family:var(--serif);
  font-style:italic;
  font-size:22px;
  line-height:1;
  color:var(--gold);
  letter-spacing:.02em;
}
.pov__col-q{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(20px,1.7vw,24px);
  line-height:1.25;
  color:var(--navy);
  letter-spacing:-.005em;
}
.pov__col-q em{font-style:italic;color:var(--gold)}
.pov__col-implication{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--rule-soft);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.pov__col-implication-label{
  font-family:var(--sans);
  font-size:9.5px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--faint);
  font-weight:700;
}
.pov__col-implication-text{
  font-family:var(--sans);
  font-size:13.5px;
  line-height:1.55;
  color:var(--mute);
}

.pov__cta{
  margin-top:48px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--sans);
  font-size:10.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  font-weight:700;
  border-bottom:1px solid var(--gold);
  padding-bottom:4px;
  transition:color .25s;
}
.pov__cta:hover{color:var(--gold);border-color:var(--gold)}
.pov__cta span{transition:transform .25s ease;display:inline-block}
.pov__cta:hover span{transform:translateX(3px)}

@media (max-width:980px){
  .pov__stats{grid-template-columns:1fr;gap:0}
  .pov__stat{
    border-left:none;
    border-top:1px solid rgba(255,255,255,.08);
    padding:24px 4px 4px;
  }
  .pov__stat:first-child{border-top:none;padding-top:4px}
  .pov__columns{grid-template-columns:1fr;gap:0}
  .pov__col{
    border-left:none;
    border-top:1px solid var(--rule);
    padding:24px 4px 4px;
  }
  .pov__col:first-child{border-top:none;padding-top:4px}
  .pov__col-implication{margin-top:18px}
}
@media (max-width:620px){
  .pov__evidence{padding:28px 22px 32px}
  .pov__evidence-head{margin-bottom:24px;padding-bottom:18px}
  .pov__stat-figure{font-size:64px}
  .pov__stat-caption{font-size:16px}
  .pov__reading{font-size:16.5px}
  .pov__decisions{margin-top:48px;padding-top:28px}
}

/* ---------- About ---------- */
.about{
  background:var(--paper);
  padding:clamp(96px,12vh,160px) 0;
  border-top:1px solid var(--rule-soft);
}
.about__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(42px,7vw,96px);
  align-items:start;
}
.about__intro{max-width:980px}
.about__h{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(34px,4.4vw,58px);
  line-height:1.06;
  letter-spacing:-.018em;
  color:var(--navy);
  margin:0;
}
.about__lead{
  font-family:var(--serif);
  font-size:clamp(18px,1.45vw,22px);
  line-height:1.6;
  color:var(--ink);
  max-width:760px;
}
.about__copy{
  font-family:var(--sans);
  font-size:15px;
  line-height:1.75;
  color:var(--mute);
  margin-top:20px;
  max-width:760px;
}
.about__signals{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:42px;
  padding-top:30px;
  border-top:1px solid var(--rule);
  max-width:980px;
}
.about__signal{
  border-left:2px solid var(--gold);
  padding-left:16px;
}
.about__signal h3{
  font-family:var(--sans);
  font-size:10.5px;
  letter-spacing:.20em;
  text-transform:uppercase;
  color:var(--navy);
  font-weight:700;
  margin-bottom:10px;
}
.about__signal p{
  font-family:var(--sans);
  font-size:13px;
  line-height:1.55;
  color:var(--mute);
}
.about-linkedin{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:30px;
  color:var(--navy);
  opacity:.66;
  transition:opacity .2s ease,color .2s ease;
  font-family:var(--sans);
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
}
.about-linkedin:hover{opacity:1;color:var(--gold)}
.about-linkedin svg{flex:none}
@media (max-width:900px){
  .about__signals{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .about__signals{grid-template-columns:1fr}
}
.about__card{
  background:var(--navy);
  color:var(--paper);
  border-left:3px solid var(--gold);
  padding:clamp(30px,4.5vw,48px);
}
.about__name{
  font-family:var(--serif);
  font-size:clamp(30px,3vw,42px);
  line-height:1.05;
  color:var(--paper);
  margin-bottom:8px;
}
.about__role{
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:700;
  margin-bottom:26px;
}
.about__card p{
  font-family:var(--serif);
  font-style:italic;
  font-size:18px;
  line-height:1.55;
  color:rgba(255,255,255,.8);
  margin-bottom:30px;
}
.about__facts{
  display:grid;
  gap:20px;
  border-top:1px solid rgba(255,255,255,.16);
  padding-top:24px;
}
.about__facts dt{
  font-family:var(--sans);
  font-size:9.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
  font-weight:700;
  margin-bottom:8px;
}
.about__facts dd{
  font-family:var(--sans);
  font-size:13.5px;
  line-height:1.6;
  color:rgba(255,255,255,.82);
}
.about__facts a{color:var(--paper);border-bottom:1px solid var(--gold);padding-bottom:2px}
.about__facts a:hover{color:var(--gold)}
@media (max-width:900px){
  .about__grid{grid-template-columns:1fr}
}

/* ---------- Research (NAVY) ---------- */
.research{
  background:var(--navy);
  color:var(--paper);
  padding:clamp(96px,12vh,160px) 0;
  position:relative;
  overflow:hidden;
}
.research::before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 90% 10%, rgba(184,148,70,.07), transparent 55%);
  pointer-events:none;
}
.research > .wrap{position:relative;z-index:2}

.research__head{
  margin-bottom:clamp(56px,7vh,82px);
  max-width:920px;
}
.research__h{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(34px,4.4vw,58px);
  line-height:1.06;letter-spacing:-.018em;
  color:var(--paper);max-width:820px;
  margin:0;
}
.research__h em{font-style:italic;color:var(--gold)}
.research__intro{
  font-family:var(--serif);font-size:18px;
  line-height:1.55;color:rgba(255,255,255,.7);
  max-width:680px;margin-top:24px;font-style:italic;
}

.programs{
  display:grid;gap:0;
  border-top:1px solid rgba(255,255,255,.14);
}
.program{
  display:grid;
  grid-template-columns:auto minmax(0,1.1fr) minmax(0,2fr) auto;
  gap:clamp(20px,2.6vw,40px);
  padding:clamp(28px,4vh,42px) 0;
  border-bottom:1px solid rgba(255,255,255,.14);
  align-items:center;
  transition:padding .3s,background .3s;
  position:relative;
}
.program::before{
  content:"";
  position:absolute;left:-2px;top:0;bottom:0;
  width:0;background:var(--gold);
  transition:width .3s;
}
.program:hover{padding-left:14px;background:rgba(255,255,255,.025)}
.program:hover::before{width:2px}

.program__num{
  font-family:var(--serif);font-style:italic;
  font-size:18px;color:var(--gold);
  font-weight:500;min-width:28px;
}
.program__t{
  font-family:var(--serif);
  font-size:clamp(22px,2vw,30px);
  font-weight:500;color:var(--paper);
  line-height:1.18;letter-spacing:-.005em;
}
.program__d{
  font-family:var(--sans);font-size:14px;
  line-height:1.6;color:rgba(255,255,255,.68);
  font-weight:400;max-width:560px;
}
.program__d strong{color:var(--paper);font-weight:600}
.program__d em{
  display:block;
  font-family:var(--serif);font-style:italic;
  font-size:17px;
  color:var(--paper);
  font-weight:500;
  margin-bottom:8px;
  letter-spacing:0;
}
.program__cta{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-size:10.5px;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--paper);font-weight:600;
  white-space:nowrap;
  border-bottom:1px solid var(--gold);
  padding-bottom:4px;
  transition:color .25s;
}
.program__cta:hover{color:var(--gold);border-color:var(--gold)}
.program__cta .arr{transition:transform .25s ease;display:inline-block}
.program__cta:hover .arr{transform:translateX(3px)}

@media (max-width:880px){
  .program{
    grid-template-columns:auto 1fr;
    grid-template-rows:auto auto auto;
    gap:14px 18px;
  }
  .program__num{grid-row:span 3}
  .program__t{grid-column:2}
  .program__d{grid-column:2}
  .program__cta{grid-column:2;justify-self:start}
}


/* ---------- Research lenses ---------- */
.research__frame{border-top:1px solid rgba(255,255,255,.16)}
.research__frame-label{font-family:var(--sans);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.48);font-weight:700;padding:22px 0 6px}
.lenses{display:grid;gap:0}
.lens{display:grid;grid-template-columns:minmax(120px,.42fr) minmax(220px,.9fr) minmax(0,1.8fr);gap:clamp(22px,3vw,48px);padding:clamp(34px,5vh,56px) 0;border-bottom:1px solid rgba(255,255,255,.16);align-items:start}
.lens__meta{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--gold);line-height:1.2}
.lens__title{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.2vw,34px);line-height:1.14;letter-spacing:-.006em;color:var(--paper);margin-bottom:14px}
.lens__thesis{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.5;color:rgba(255,255,255,.7)}
.lens__programs{display:grid;gap:16px}
.lens__programs--two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lens__program{background:rgba(255,255,255,.035);border-left:2px solid var(--gold);padding:22px 24px 24px;min-height:176px}
.lens__program h4{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.18;color:var(--paper);margin-bottom:10px}
.lens__program p{font-family:var(--sans);font-size:13.5px;line-height:1.62;color:rgba(255,255,255,.68);margin-bottom:20px}
.lens__program a{display:inline-flex;gap:8px;align-items:center;font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:4px}
.lens__program a:hover{color:var(--gold)}
@media (max-width:980px){.lens{grid-template-columns:1fr;gap:14px}.lens__programs--two{grid-template-columns:1fr}.lens__program{min-height:0}}

/* ---------- Engagement (4 audience pillars) ---------- */
.eng{
  background:var(--paper);
  padding:clamp(96px,12vh,160px) 0;
}

.eng__head{
  margin-bottom:clamp(56px,7vh,82px);
  max-width:920px;
}
.eng__h{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(34px,4.4vw,58px);
  line-height:1.06;letter-spacing:-.018em;
  color:var(--navy);max-width:780px;
  margin:0;
}
.eng__h em{font-style:italic;color:var(--gold)}
.eng__intro{
  font-family:var(--serif);font-size:18px;
  line-height:1.55;color:var(--mute);
  max-width:680px;margin-top:24px;font-style:italic;
}

.pillars{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
@media (min-width:760px){
  .pillars{grid-template-columns:1fr 1fr;gap:24px}
}

.pillar{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:clamp(32px,4.5vh,52px) clamp(28px,3.5vw,44px);
  display:flex;flex-direction:column;
  transition:all .3s ease;
  position:relative;
}
.pillar:hover{
  background:var(--paper-2);
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(28,42,58,.06);
}
.pillar__eyebrow{
  display:inline-block;
  font-family:var(--sans);
  font-weight:700;font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);
  margin-bottom:24px;
}
.pillar__h{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(24px,2.2vw,32px);
  line-height:1.18;letter-spacing:-.008em;
  color:var(--navy);
  margin-bottom:16px;
}
.pillar__h em{font-style:italic;color:var(--gold);font-weight:500}

.pillar__lede{
  font-family:var(--serif);
  font-style:italic;
  font-size:17px;line-height:1.5;
  color:var(--mute);
  margin-bottom:24px;
  max-width:520px;
}

.pillar__list{
  list-style:none;
  margin-bottom:28px;
  display:grid;gap:10px;
  padding-top:20px;
  border-top:1px solid var(--rule);
}
.pillar__list li{
  font-family:var(--sans);
  font-size:13.5px;line-height:1.55;
  color:var(--ink);
  padding-left:18px;
  position:relative;
}
.pillar__list li::before{
  content:"·";
  position:absolute;left:0;top:0;
  color:var(--gold);font-weight:700;
  font-size:18px;line-height:1.2;
}

.pillar__cta{
  margin-top:auto;
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-size:10.5px;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy);font-weight:600;
  border-bottom:1px solid var(--gold);
  padding-bottom:4px;
  align-self:flex-start;
  transition:color .25s;
}
.pillar__cta:hover{color:var(--gold);border-color:var(--gold)}
.pillar__cta .arr{transition:transform .25s ease;display:inline-block}
.pillar__cta:hover .arr{transform:translateX(3px)}

/* ---------- Contact (deep navy) ---------- */
.contact{
  background:var(--navy);
  color:var(--paper);
  padding:clamp(96px,13vh,170px) 0;
  position:relative;overflow:hidden;
}
.contact::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 8% 100%, rgba(184,148,70,.13), transparent 55%);
  pointer-events:none;
}
.contact__grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr;
  gap:48px;align-items:center;
}
@media (min-width:980px){
  .contact__grid{grid-template-columns:1.5fr 1fr;gap:80px}
}
.contact__cat{
  font-family:var(--sans);font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:600;
  display:block;margin-bottom:24px;
}
.contact__h{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(36px,5.2vw,72px);
  line-height:1.04;letter-spacing:-.02em;
  color:var(--paper);
}
.contact__h em{font-style:italic;color:var(--gold)}
.contact__t{
  font-family:var(--serif);font-style:italic;
  font-size:18px;line-height:1.6;
  color:rgba(255,255,255,.78);
  margin-top:28px;max-width:560px;
}
.contact__card{
  background:var(--navy-2);
  border-left:3px solid var(--gold);
  padding:clamp(30px,4vh,46px);
  display:grid;
  gap:0;
}
.contact__item{
  padding:0 0 24px;
  margin:0 0 24px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.contact__item:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:0;
}
.contact__card dt{
  font-family:var(--sans);font-size:9.5px;
  letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.48);
  font-weight:700;margin-bottom:10px;
}
.contact__card dd{
  font-family:var(--serif);font-size:20px;
  color:#fff;font-weight:500;
  line-height:1.3;
}
.contact__card a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  border-bottom:1px solid var(--gold);
  padding-bottom:3px;
  transition:color .2s,border-color .2s;
}
.contact__card a:hover{color:var(--gold);border-color:var(--gold)}
.contact__card .arr{
  font-family:var(--sans);
  font-size:14px;
  line-height:1;
  transform:translateY(1px);
}

/* ---------- Footer ---------- */
footer{
  background:var(--paper);
  color:var(--mute);
  padding:36px 0;
  border-top:1px solid var(--rule-soft);
  font-size:11px;
}
.foot__inner{
  display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:18px;align-items:center;
}
.foot__logo{
  font-family:var(--serif);font-style:italic;
  font-size:14px;color:var(--navy);font-weight:500;
}
.foot__meta{
  display:flex;gap:24px;flex-wrap:wrap;
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.04em;
}

/* ---------- Testimonial strip (replaces trust line) ---------- */
.testimonial-strip{
  background:var(--paper-2);
  border-top:1px solid var(--rule-soft);
  border-bottom:1px solid var(--rule-soft);
  padding:clamp(44px,7vh,72px) 0;
  text-align:center;
}
.testimonial-strip__inner{
  max-width:880px;
  margin:0 auto;
  position:relative;
}
.testimonial-strip__rule{
  display:block;
  width:48px;height:1px;
  background:var(--gold);
  margin:0 auto 28px;
  border:0;
}
.testimonial-strip__quote{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  font-size:clamp(20px,2vw,28px);
  line-height:1.4;
  color:var(--navy);
  letter-spacing:-.005em;
}
.testimonial-strip__attr{
  display:block;
  margin-top:24px;
  font-family:var(--sans);
  font-size:10.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mute);
  font-weight:600;
}
@media (max-width:620px){
  .testimonial-strip__quote{font-size:18px;line-height:1.45}
}

/* ---------- Section anchor testimonial (engagement) ---------- */
.eng__quote{
  margin:clamp(20px,3vh,36px) 0 clamp(48px,6vh,72px);
  padding:32px 0 30px;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  max-width:860px;
}
.eng__quote-text{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  font-size:clamp(19px,1.7vw,24px);
  line-height:1.5;
  color:var(--navy);
  letter-spacing:-.003em;
}
.eng__quote-attr{
  display:block;
  margin-top:18px;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mute);
  font-weight:600;
}

/* ---------- Pillar questions (replaces capability bullets) ---------- */
.pillar__questions{
  list-style:none;
  margin-bottom:30px;
  display:grid;gap:16px;
  padding-top:22px;
  border-top:1px solid var(--rule);
}
.pillar__questions li{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  font-size:16.5px;
  line-height:1.5;
  color:var(--ink);
  padding-left:24px;
  position:relative;
}
.pillar__questions li::before{
  content:"";
  position:absolute;
  left:0;top:.7em;
  width:14px;height:1px;
  background:var(--gold);
}

/* ---------- Lens program tier indicators ---------- */
.lens__tier{
  display:inline-block;
  font-family:var(--sans);
  font-size:9px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:14px;
}
.lens__tier--open{color:var(--gold)}
.lens__tier--sub{color:rgba(255,255,255,.78)}
.lens__tier--private{
  color:rgba(255,255,255,.5);
  font-style:italic;
  font-family:var(--serif);
  font-size:13px;
  letter-spacing:.04em;
  text-transform:none;
  font-weight:400;
}
.lens__program--private{opacity:.85}
.lens__status{
  display:inline-block;
  font-family:var(--serif);
  font-style:italic;
  font-size:13px;
  color:rgba(255,255,255,.55);
  letter-spacing:.01em;
}

/* ---------- About press line ---------- */
.about__press{
  display:block;
  margin-top:36px;
  padding-top:24px;
  border-top:1px solid var(--rule);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.6;
  color:var(--mute);
  font-style:normal;
  max-width:760px;
}
.about__press em{
  font-family:var(--serif);
  font-style:italic;
  color:var(--navy);
  font-weight:500;
}

/* ---------- Reveal ---------- */
.reveal{
  opacity:1;transform:none;
  transition:opacity .8s ease, transform .8s ease;
}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
  .reveal{opacity:1;transform:none}
}
