@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&display=swap');

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Manrope",Arial,sans-serif;background:#f7f6f2;color:#1d1d1b}a{color:inherit}.wrap{width:min(1200px,80%);margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,246,242,.96);border-bottom:1px solid #d9d8d2}.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:"Manrope",Arial,sans-serif;font-size:21px;text-decoration:none}.nav-links{display:flex;flex-wrap:wrap;gap:20px}.nav-links a{text-decoration:none;font-size:14px}.nav-links a:hover,.text-link:hover,.footer-links a:hover{opacity:.6}.hero{padding:120px 0 100px}.hero h1,.page-hero h1{margin:0 0 22px;font-family:"Manrope",Arial,sans-serif;font-weight:500;line-height:1;letter-spacing:-2px}.hero h1{font-size:clamp(52px,7vw,92px)}.page-hero h1{font-size:clamp(46px,6vw,74px)}.tagline{max-width:900px;margin:0 0 28px;font-family:"Manrope",Arial,sans-serif;font-size:clamp(27px,3vw,42px);line-height:1.2}.lead{max-width:780px;margin:0;font-size:18px;line-height:1.75;color:#484844}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.button{display:inline-block;border:1px solid #1d1d1b;padding:12px 20px;text-decoration:none;font-size:14px}.button:hover{background:#1d1d1b;color:#fff}.section{padding:95px 0}.section.white{background:#fff}.label{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#777}.title{margin:0 0 48px;font-family:"Manrope",Arial,sans-serif;font-size:clamp(34px,4.5vw,56px);font-weight:400;line-height:1.1}.intro-copy{max-width:820px;margin:-26px 0 48px;font-family:"Manrope",Arial,sans-serif;font-size:21px;line-height:1.5;color:#444}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 70px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}.card{border-top:1px solid #c9c8c2;padding-top:20px}.card h3{margin:0 0 12px;font-family:"Manrope",Arial,sans-serif;font-size:28px;font-weight:500;line-height:1.2}.meta{margin:0 0 14px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#777;line-height:1.5}.card p{margin:0;font-size:16px;line-height:1.7;color:#555}.card .accent{margin:0 0 15px;font-family:"Manrope",Arial,sans-serif;font-size:19px;line-height:1.45;color:#2c2c29}.text-link{display:inline-block;margin-top:24px;padding-bottom:3px;border-bottom:1px solid #1d1d1b;text-decoration:none;font-size:14px}.page-hero{padding:95px 0 65px}.long-copy{max-width:920px;font-family:"Manrope",Arial,sans-serif;font-size:22px;line-height:1.6;color:#333}.long-copy p{margin:0 0 24px}.ecosystem{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:45px}.entry{margin-bottom:22px}.entry strong{display:block;margin-bottom:5px}.entry span{font-size:15px;line-height:1.55;color:#666}.site-footer{padding:48px 0;background:#1d1d1b;color:#f7f6f2}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-name{margin:0;font-family:"Manrope",Arial,sans-serif;font-size:26px}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer-links a{font-size:14px;text-decoration:none;border-bottom:1px solid rgba(247,246,242,.45)}@media(max-width:800px){.wrap{width:86%}.nav{align-items:flex-start;flex-direction:column;padding:18px 0}.nav-links{gap:12px 16px}.hero{padding:80px 0 70px}.section{padding:70px 0}.grid-2,.grid-3,.ecosystem{grid-template-columns:1fr}.intro-copy{margin-top:-18px;font-size:19px}.footer-grid{align-items:flex-start;flex-direction:column}}

/* HOMEPAGE REDESIGN — editorial academic system */
:root{
  --paper:#f4f1ea;
  --ink:#171914;
  --muted:#686b63;
  --line:#d7d2c8;
  --accent:#2f5d50;
  --accent-soft:#dde8e2;
  --white:#fbfaf6;
}

body{
  background:var(--paper);
  color:var(--ink);
}

.homepage .site-header{
  background:rgba(244,241,234,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(23,25,20,.1);
}

.homepage .brand{
  font-family:"Manrope",Arial,sans-serif;
  font-size:22px;
  letter-spacing:-.02em;
}

.homepage .nav-links a{
  position:relative;
  color:#34372f;
}

.homepage .nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:0;
  height:1px;
  background:var(--accent);
  transition:width .2s ease;
}

.homepage .nav-links a:hover::after{
  width:100%;
}

.home-hero{
  padding:86px 0 44px;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:72px;
  align-items:end;
}

.hero-kicker{
  margin:0 0 20px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--accent);
  font-weight:700;
}

.home-hero h1{
  max-width:900px;
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(64px,8vw,116px);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.055em;
}

.hero-statement{
  max-width:900px;
  margin:34px 0 0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(27px,3vw,44px);
  line-height:1.14;
  color:#252820;
}

.hero-copy{
  max-width:720px;
  margin:28px 0 0;
  font-size:17px;
  line-height:1.75;
  color:#55594f;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:34px;
}

.hero-actions .button:first-child{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}

.hero-actions .button:first-child:hover{
  background:#23493f;
}

.hero-panel{
  border-top:3px solid var(--accent);
  padding-top:22px;
}

.hero-panel-label{
  margin:0 0 18px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--muted);
}

.hero-panel-item{
  padding:18px 0;
  border-top:1px solid var(--line);
}

.hero-panel-item:first-of-type{
  border-top:0;
  padding-top:0;
}

.hero-panel-item strong{
  display:block;
  margin-bottom:4px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:19px;
  font-weight:500;
  line-height:1.25;
}

.hero-panel-item span{
  display:block;
  font-size:14px;
  line-height:1.55;
  color:var(--muted);
}

.research-strip{
  margin-top:74px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.research-strip-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.research-strip span{
  padding:18px 20px;
  border-right:1px solid var(--line);
  text-align:center;
  font-size:13px;
  letter-spacing:.04em;
  color:#4d5148;
}

.research-strip span:last-child{
  border-right:0;
}

.home-section{
  padding:92px 0;
}

.home-section.white{
  background:var(--white);
}

.home-section .section-head{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:40px;
  align-items:end;
  margin-bottom:48px;
}

.home-section .section-head .title{
  margin:0;
}

.home-section .section-head .section-note{
  max-width:620px;
  margin:0 0 6px auto;
  font-size:16px;
  line-height:1.65;
  color:var(--muted);
}

.editorial-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:22px;
}

.editorial-card{
  position:relative;
  min-height:260px;
  padding:28px;
  border:1px solid var(--line);
  background:transparent;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.editorial-card:hover{
  transform:translateY(-3px);
  background:#fff;
  border-color:#bdb8ad;
}

.editorial-card.large{grid-column:span 6;}
.editorial-card.small{grid-column:span 3;}

.editorial-card .eyebrow{
  margin:0 0 38px;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--accent);
}

.editorial-card h3{
  margin:0 0 14px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:30px;
  font-weight:500;
  line-height:1.12;
}

.editorial-card p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:#5b5f55;
}

.project-feature-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr .65fr;
  gap:22px;
}

.project-feature{
  min-height:330px;
  padding:30px;
  border-top:2px solid var(--ink);
  background:var(--white);
}

.project-feature.primary{
  background:var(--accent);
  color:#fff;
  border-top-color:var(--accent);
}

.project-feature .meta{
  margin-bottom:42px;
}

.project-feature.primary .meta,
.project-feature.primary p{
  color:rgba(255,255,255,.78);
}

.project-feature h3{
  margin:0 0 16px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:34px;
  font-weight:500;
}

.project-feature p{
  margin:0;
  font-size:16px;
  line-height:1.65;
  color:#55594f;
}

.publication-list-home{
  border-top:1px solid var(--line);
}

.publication-row{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:28px;
  align-items:center;
  padding:25px 0;
  border-bottom:1px solid var(--line);
}

.publication-row .pub-meta{
  font-size:12px;
  line-height:1.45;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.publication-row h3{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:24px;
  font-weight:500;
  line-height:1.25;
}

.publication-row .arrow{
  font-size:24px;
  color:var(--accent);
}

.home-callout{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:70px;
  align-items:center;
  padding:54px 0;
}

.home-callout blockquote{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(30px,3.5vw,52px);
  line-height:1.12;
  color:#252820;
}

.home-callout p{
  margin:0;
  font-size:17px;
  line-height:1.75;
  color:var(--muted);
}

.home-ecosystem{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
}

.ecosystem-line{
  padding:18px 0;
  border-top:1px solid var(--line);
}

.ecosystem-line strong{
  display:block;
  margin-bottom:5px;
  font-size:15px;
}

.ecosystem-line span{
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
}

@media(max-width:900px){
  .hero-grid,
  .home-section .section-head,
  .home-callout,
  .home-ecosystem{
    grid-template-columns:1fr;
  }

  .hero-panel{
    margin-top:20px;
  }

  .research-strip-inner{
    grid-template-columns:repeat(2,1fr);
  }

  .research-strip span:nth-child(2){
    border-right:0;
  }

  .research-strip span:nth-child(-n+2){
    border-bottom:1px solid var(--line);
  }

  .editorial-card.large,
  .editorial-card.small{
    grid-column:span 6;
  }

  .project-feature-grid{
    grid-template-columns:1fr;
  }

  .home-section .section-head .section-note{
    margin:0;
  }
}

@media(max-width:650px){
  .home-hero{
    padding-top:64px;
  }

  .home-hero h1{
    font-size:clamp(56px,18vw,80px);
  }

  .editorial-card.large,
  .editorial-card.small{
    grid-column:1/-1;
  }

  .publication-row{
    grid-template-columns:1fr auto;
  }

  .publication-row .pub-meta{
    grid-column:1/-1;
  }
}


/* HOMEPAGE PREMIUM INSTITUTIONAL REDESIGN */
:root{
  --premium-ivory:#f6f3ec;
  --premium-paper:#fbfaf6;
  --premium-ink:#111713;
  --premium-navy:#17313b;
  --premium-forest:#27483f;
  --premium-gold:#b89b62;
  --premium-muted:#6e746c;
  --premium-line:#ddd8cf;
}

.homepage{
  background:var(--premium-ivory);
  color:var(--premium-ink);
}

.homepage .site-header{
  background:rgba(246,243,236,.92);
  border-bottom:1px solid rgba(17,23,19,.09);
  backdrop-filter:blur(18px);
}

.homepage .nav{
  min-height:78px;
}

.homepage .brand{
  font-family:"Manrope",Arial,sans-serif;
  font-size:23px;
  font-weight:500;
}

.homepage .nav-links{
  gap:26px;
}

.homepage .nav-links a{
  font-size:13px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#40463f;
}

.homepage .premium-hero{
  position:relative;
  padding:92px 0 78px;
  overflow:hidden;
}

.homepage .premium-hero::before{
  content:"";
  position:absolute;
  inset:0 auto 0 58%;
  width:42%;
  background:linear-gradient(180deg,rgba(23,49,59,.06),rgba(39,72,63,.13));
  pointer-events:none;
}

.homepage .premium-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:84px;
  align-items:stretch;
  position:relative;
  z-index:1;
}

.homepage .hero-overline{
  margin:0 0 28px;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--premium-gold);
  font-weight:700;
}

.homepage .premium-hero h1{
  max-width:880px;
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(72px,8.5vw,128px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.06em;
}

.homepage .premium-hero .hero-subtitle{
  max-width:820px;
  margin:38px 0 0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(28px,3vw,46px);
  line-height:1.13;
  color:#232923;
}

.homepage .premium-hero .hero-lead{
  max-width:700px;
  margin:28px 0 0;
  font-size:17px;
  line-height:1.8;
  color:#585f58;
}

.homepage .premium-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:38px;
}

.homepage .premium-hero-actions .button{
  padding:13px 22px;
  border-color:#27302a;
  font-size:13px;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.homepage .premium-hero-actions .button:first-child{
  background:var(--premium-navy);
  border-color:var(--premium-navy);
  color:#fff;
}

.homepage .hero-visual{
  position:relative;
  min-height:560px;
  padding:30px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,0)),
    linear-gradient(160deg,var(--premium-navy),var(--premium-forest));
  color:#fff;
  overflow:hidden;
}

.homepage .hero-visual::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  top:-110px;
  right:-100px;
}

.homepage .hero-visual::after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  top:135px;
  right:40px;
}

.homepage .hero-visual-content{
  position:relative;
  z-index:1;
  max-width:360px;
}

.homepage .hero-visual-label{
  margin:0 0 22px;
  font-size:11px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}

.homepage .hero-visual h2{
  margin:0 0 24px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:33px;
  font-weight:400;
  line-height:1.15;
}

.homepage .hero-visual p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,.78);
}

.homepage .premium-strip{
  margin-top:70px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--premium-line);
  border-bottom:1px solid var(--premium-line);
}

.homepage .premium-strip a{
  padding:22px 22px;
  text-decoration:none;
  border-right:1px solid var(--premium-line);
}

.homepage .premium-strip a:last-child{
  border-right:0;
}

.homepage .premium-strip small{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  letter-spacing:.14em;
  color:var(--premium-gold);
}

.homepage .premium-strip span{
  display:block;
  font-family:"Manrope",Arial,sans-serif;
  font-size:18px;
  line-height:1.25;
}

.homepage .premium-section{
  padding:110px 0;
}

.homepage .premium-section.paper{
  background:var(--premium-paper);
}

.homepage .premium-heading{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:60px;
  align-items:end;
  margin-bottom:58px;
}

.homepage .premium-heading .label{
  color:var(--premium-gold);
  font-weight:700;
}

.homepage .premium-heading .title{
  margin:0;
  max-width:650px;
  font-size:clamp(42px,5vw,68px);
}

.homepage .premium-heading .section-note{
  max-width:620px;
  margin:0 0 4px auto;
  font-size:16px;
  line-height:1.72;
  color:var(--premium-muted);
}

.homepage .research-lines{
  border-top:1px solid var(--premium-line);
}

.homepage .research-line{
  display:grid;
  grid-template-columns:80px 1fr 1fr;
  gap:28px;
  align-items:start;
  padding:28px 0;
  border-bottom:1px solid var(--premium-line);
}

.homepage .research-line .number{
  font-family:"Manrope",Arial,sans-serif;
  font-size:22px;
  color:var(--premium-gold);
}

.homepage .research-line h3{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:30px;
  font-weight:500;
  line-height:1.15;
}

.homepage .research-line p{
  margin:0;
  font-size:15px;
  line-height:1.72;
  color:var(--premium-muted);
}

.homepage .featured-work{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:28px;
}

.homepage .featured-main{
  min-height:480px;
  padding:38px;
  background:linear-gradient(145deg,#17313b,#27483f);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
}

.homepage .featured-main::after{
  content:"THEOSCOPE";
  position:absolute;
  right:-24px;
  top:10px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:110px;
  color:rgba(255,255,255,.04);
  letter-spacing:-.05em;
}

.homepage .featured-main .meta{
  color:rgba(255,255,255,.68);
}

.homepage .featured-main h3{
  position:relative;
  z-index:1;
  margin:0 0 18px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:52px;
  font-weight:400;
}

.homepage .featured-main p{
  position:relative;
  z-index:1;
  max-width:650px;
  margin:0;
  font-size:17px;
  line-height:1.7;
  color:rgba(255,255,255,.8);
}

.homepage .featured-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:28px;
}

.homepage .featured-small{
  padding:30px;
  background:#fff;
  border:1px solid var(--premium-line);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.homepage .featured-small h3{
  margin:0 0 14px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:30px;
  font-weight:500;
}

.homepage .featured-small p{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:var(--premium-muted);
}

.homepage .premium-publications{
  border-top:1px solid var(--premium-line);
}

.homepage .premium-publication-row{
  display:grid;
  grid-template-columns:150px 1fr 36px;
  gap:24px;
  align-items:center;
  padding:30px 0;
  border-bottom:1px solid var(--premium-line);
  text-decoration:none;
  transition:padding-left .2s ease;
}

.homepage .premium-publication-row:hover{
  padding-left:8px;
}

.homepage .premium-publication-row .pub-meta{
  font-size:11px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--premium-muted);
}

.homepage .premium-publication-row h3{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:25px;
  font-weight:500;
  line-height:1.3;
}

.homepage .premium-publication-row .arrow{
  color:var(--premium-gold);
  font-size:24px;
}

.homepage .impact-band{
  background:var(--premium-navy);
  color:#fff;
  padding:90px 0;
}

.homepage .impact-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:80px;
  align-items:center;
}

.homepage .impact-band blockquote{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(34px,4vw,60px);
  line-height:1.08;
  font-weight:400;
}

.homepage .impact-band p{
  margin:0 0 22px;
  font-size:16px;
  line-height:1.75;
  color:rgba(255,255,255,.72);
}

.homepage .impact-band .text-link{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.55);
}

.homepage .premium-ecosystem{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.homepage .ecosystem-panel{
  padding:30px;
  border:1px solid var(--premium-line);
  background:#fff;
}

.homepage .ecosystem-panel h3{
  margin:0 0 28px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:27px;
  font-weight:500;
}

.homepage .ecosystem-item{
  padding:18px 0;
  border-top:1px solid var(--premium-line);
}

.homepage .ecosystem-item strong{
  display:block;
  margin-bottom:5px;
  font-size:14px;
}

.homepage .ecosystem-item span{
  font-size:14px;
  line-height:1.55;
  color:var(--premium-muted);
}

.homepage .site-footer{
  background:#0f1512;
}

@media(max-width:900px){
  .homepage .premium-hero-grid,
  .homepage .premium-heading,
  .homepage .featured-work,
  .homepage .impact-grid,
  .homepage .premium-ecosystem{
    grid-template-columns:1fr;
  }

  .homepage .premium-hero::before{
    display:none;
  }

  .homepage .hero-visual{
    min-height:360px;
  }

  .homepage .premium-strip{
    grid-template-columns:repeat(2,1fr);
  }

  .homepage .premium-strip a:nth-child(2){
    border-right:0;
  }

  .homepage .premium-strip a:nth-child(-n+2){
    border-bottom:1px solid var(--premium-line);
  }

  .homepage .research-line{
    grid-template-columns:60px 1fr;
  }

  .homepage .research-line p{
    grid-column:2;
  }

  .homepage .featured-side{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }

  .homepage .premium-heading .section-note{
    margin:0;
  }
}

@media(max-width:650px){
  .homepage .premium-hero{
    padding-top:60px;
  }

  .homepage .premium-hero h1{
    font-size:clamp(62px,20vw,90px);
  }

  .homepage .premium-strip{
    grid-template-columns:1fr;
  }

  .homepage .premium-strip a{
    border-right:0;
    border-bottom:1px solid var(--premium-line);
  }

  .homepage .premium-strip a:last-child{
    border-bottom:0;
  }

  .homepage .featured-side{
    grid-template-columns:1fr;
  }

  .homepage .premium-publication-row{
    grid-template-columns:1fr 30px;
  }

  .homepage .premium-publication-row .pub-meta{
    grid-column:1/-1;
  }
}


/* HOMEPAGE REFINEMENT — premium visual storytelling */
.homepage .premium-hero{
  padding:72px 0 44px;
}

.homepage .premium-hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  gap:56px;
  align-items:center;
}

.homepage .premium-hero h1{
  font-size:clamp(60px,6.7vw,94px);
  line-height:.92;
  letter-spacing:-.045em;
}

.homepage .premium-hero .hero-subtitle{
  max-width:760px;
  margin-top:30px;
  font-size:clamp(26px,2.6vw,39px);
  line-height:1.16;
}

.homepage .premium-hero .hero-lead{
  max-width:650px;
  font-size:16px;
  line-height:1.78;
}

.homepage .hero-visual{
  min-height:480px;
  padding:34px;
  background:
    linear-gradient(180deg,rgba(9,25,31,.04),rgba(9,25,31,.38)),
    linear-gradient(145deg,#d8ded9 0%,#b7c9c2 44%,#29493f 100%);
}

.homepage .hero-visual::before,
.homepage .hero-visual::after{
  border-radius:0;
  border:0;
}

.homepage .hero-visual::before{
  width:72%;
  height:72%;
  top:10%;
  right:-18%;
  background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.48),rgba(255,255,255,0) 60%);
}

.homepage .hero-visual::after{
  width:58%;
  height:1px;
  top:24%;
  right:8%;
  background:rgba(255,255,255,.32);
  transform:rotate(-25deg);
}

.homepage .hero-visual-content{
  max-width:390px;
  padding:24px 0 4px;
}

.homepage .hero-visual-label{
  color:rgba(255,255,255,.78);
}

.homepage .hero-visual h2{
  font-size:31px;
  line-height:1.12;
}

.homepage .premium-strip{
  margin-top:42px;
}

.homepage .premium-strip a{
  padding:18px 20px;
}

.homepage .premium-strip small{
  display:none;
}

.homepage .premium-strip span{
  font-size:16px;
}

.homepage .research-territories{
  border-top:1px solid var(--premium-line);
}

.homepage .research-territory{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr) auto;
  gap:38px;
  align-items:center;
  padding:30px 0;
  border-bottom:1px solid var(--premium-line);
  text-decoration:none;
  transition:background .22s ease,padding .22s ease;
}

.homepage .research-territory:hover{
  background:rgba(23,49,59,.035);
  padding-left:16px;
  padding-right:16px;
}

.homepage .research-territory h3{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:31px;
  font-weight:500;
  line-height:1.13;
}

.homepage .research-territory p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:var(--premium-muted);
}

.homepage .research-territory .territory-tags{
  font-size:11px;
  line-height:1.55;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--premium-gold);
  text-align:right;
}

.homepage .feature-story{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:500px;
  background:#fff;
  border:1px solid var(--premium-line);
}

.homepage .feature-story-visual{
  position:relative;
  min-height:500px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(10,28,33,.05),rgba(10,28,33,.28)),
    linear-gradient(135deg,#8fa9a1 0%,#c9d2ce 44%,#1c3c45 100%);
}

.homepage .feature-story-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(24deg,transparent 0 44%,rgba(255,255,255,.28) 44.3% 44.8%,transparent 45.1% 100%),
    linear-gradient(153deg,transparent 0 61%,rgba(255,255,255,.2) 61.2% 61.6%,transparent 62% 100%);
}

.homepage .feature-story-visual span{
  position:absolute;
  left:28px;
  bottom:26px;
  max-width:380px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:21px;
  line-height:1.25;
  color:#fff;
}

.homepage .feature-story-copy{
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.homepage .feature-story-copy h3{
  margin:0 0 18px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:54px;
  font-weight:400;
  line-height:1;
}

.homepage .feature-story-copy .project-kicker{
  margin:0 0 24px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:var(--premium-gold);
}

.homepage .feature-story-copy p{
  margin:0;
  font-size:16px;
  line-height:1.75;
  color:var(--premium-muted);
}

.homepage .secondary-projects{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:28px;
}

.homepage .secondary-project{
  padding:30px 0 4px;
  border-top:1px solid var(--premium-line);
}

.homepage .secondary-project h3{
  margin:0 0 12px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:29px;
  font-weight:500;
}

.homepage .secondary-project p{
  margin:0;
  font-size:15px;
  line-height:1.67;
  color:var(--premium-muted);
}

.homepage .practice-feature{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  min-height:430px;
  background:var(--premium-navy);
  color:#fff;
}

.homepage .practice-visual{
  position:relative;
  min-height:430px;
  background:
    linear-gradient(180deg,rgba(18,38,45,.08),rgba(18,38,45,.28)),
    linear-gradient(135deg,#d3c6a8 0%,#9bb1aa 48%,#34594f 100%);
  overflow:hidden;
}

.homepage .practice-visual::after{
  content:"";
  position:absolute;
  inset:12% 10%;
  border:1px solid rgba(255,255,255,.42);
}

.homepage .practice-copy{
  padding:50px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.homepage .practice-copy .label{
  color:#dbc590;
}

.homepage .practice-copy h2{
  margin:0 0 24px;
  max-width:620px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(38px,4vw,56px);
  font-weight:400;
  line-height:1.08;
}

.homepage .practice-copy p{
  margin:0;
  max-width:600px;
  font-size:16px;
  line-height:1.75;
  color:rgba(255,255,255,.74);
}

.homepage .practice-copy .text-link{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.5);
}

.homepage .ecosystem-minimal{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:60px;
  align-items:start;
}

.homepage .ecosystem-minimal h3{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:32px;
  font-weight:500;
  line-height:1.18;
}

.homepage .ecosystem-names{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.homepage .ecosystem-names span{
  padding:11px 14px;
  border:1px solid var(--premium-line);
  background:#fff;
  font-size:13px;
  color:#4c534d;
}

@media(max-width:900px){
  .homepage .premium-hero-grid,
  .homepage .feature-story,
  .homepage .practice-feature,
  .homepage .ecosystem-minimal{
    grid-template-columns:1fr;
  }

  .homepage .hero-visual,
  .homepage .feature-story-visual{
    min-height:360px;
  }

  .homepage .research-territory{
    grid-template-columns:1fr;
    gap:10px;
  }

  .homepage .research-territory .territory-tags{
    text-align:left;
  }
}

@media(max-width:650px){
  .homepage .secondary-projects{
    grid-template-columns:1fr;
  }

  .homepage .feature-story-copy,
  .homepage .practice-copy{
    padding:32px;
  }

  .homepage .feature-story-copy h3{
    font-size:42px;
  }
}


/* HOMEPAGE — editorial project carousel */
.homepage .project-carousel{
  position:relative;
}

.homepage .project-carousel-frame{
  overflow:hidden;
  border:1px solid var(--premium-line);
  background:#fff;
}

.homepage .project-track{
  display:flex;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.homepage .project-slide{
  min-width:100%;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:510px;
}

.homepage .project-slide-visual{
  position:relative;
  min-height:510px;
  overflow:hidden;
  background:#d3d9d5;
}

.homepage .project-slide-visual::before,
.homepage .project-slide-visual::after{
  content:"";
  position:absolute;
  inset:auto;
  pointer-events:none;
}

.homepage .project-slide-visual::before{
  width:72%;
  height:72%;
  left:-18%;
  top:-12%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.38);
}

.homepage .project-slide-visual::after{
  width:54%;
  height:1px;
  right:8%;
  top:34%;
  background:rgba(255,255,255,.42);
  transform:rotate(-24deg);
}

.homepage .project-slide.theoscope .project-slide-visual{
  background:linear-gradient(145deg,#9eb4ad 0%,#d4dcda 42%,#21434a 100%);
}

.homepage .project-slide.restore .project-slide-visual{
  background:linear-gradient(145deg,#b8c5b2 0%,#7f9b83 48%,#334f44 100%);
}

.homepage .project-slide.aagora .project-slide-visual{
  background:linear-gradient(145deg,#bfd4d7 0%,#6f9dad 48%,#183c51 100%);
}

.homepage .project-slide.locust .project-slide-visual{
  background:linear-gradient(145deg,#d3cabf 0%,#9f8d82 48%,#4a3c43 100%);
}

.homepage .project-slide.trackin .project-slide-visual{
  background:linear-gradient(145deg,#d7d0bf 0%,#b19e79 48%,#665a44 100%);
}

.homepage .project-visual-label{
  position:absolute;
  left:30px;
  bottom:28px;
  max-width:360px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:20px;
  line-height:1.28;
  color:#fff;
  text-shadow:0 1px 18px rgba(0,0,0,.12);
}

.homepage .project-slide-copy{
  padding:52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.homepage .project-slide-copy .project-kicker{
  margin:0 0 24px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:var(--premium-gold);
}

.homepage .project-slide-copy h3{
  margin:0 0 20px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(43px,4vw,60px);
  font-weight:400;
  line-height:1;
}

.homepage .project-slide-copy p{
  margin:0;
  font-size:16px;
  line-height:1.76;
  color:var(--premium-muted);
}

.homepage .project-carousel-nav{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:20px;
  align-items:center;
  margin-top:24px;
}

.homepage .carousel-arrow{
  width:44px;
  height:44px;
  border:1px solid var(--premium-line);
  background:transparent;
  color:var(--premium-ink);
  font-size:20px;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.homepage .carousel-arrow:hover{
  background:var(--premium-navy);
  border-color:var(--premium-navy);
  color:#fff;
}

.homepage .project-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 18px;
}

.homepage .project-tab{
  padding:9px 0;
  border:0;
  border-bottom:1px solid transparent;
  background:transparent;
  color:var(--premium-muted);
  font-size:12px;
  letter-spacing:.04em;
  cursor:pointer;
}

.homepage .project-tab[aria-selected="true"]{
  color:var(--premium-ink);
  border-bottom-color:var(--premium-gold);
}

.homepage .project-carousel-status{
  margin-top:16px;
  text-align:center;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--premium-muted);
}

.homepage .hero-visual{
  border:1px solid rgba(17,23,19,.08);
  box-shadow:0 24px 60px rgba(17,23,19,.08);
}

.homepage .hero-visual-content p:last-child{
  display:none;
}

.homepage .practice-visual{
  background:
    linear-gradient(180deg,rgba(18,38,45,.04),rgba(18,38,45,.24)),
    linear-gradient(135deg,#d8cfba 0%,#9cb1aa 50%,#35594f 100%);
}

.homepage .practice-visual::before{
  content:"Research in action";
  position:absolute;
  left:28px;
  bottom:26px;
  z-index:2;
  font-family:"Manrope",Arial,sans-serif;
  font-size:21px;
  color:#fff;
}

@media(max-width:900px){
  .homepage .project-slide{
    grid-template-columns:1fr;
  }

  .homepage .project-slide-visual{
    min-height:340px;
  }

  .homepage .project-carousel-nav{
    grid-template-columns:44px 1fr 44px;
  }
}

@media(max-width:650px){
  .homepage .project-slide-copy{
    padding:32px;
  }

  .homepage .project-tabs{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:4px;
  }

  .homepage .project-tab{
    white-space:nowrap;
  }

  .homepage .project-slide-visual{
    min-height:280px;
  }
}


/* TYPOGRAPHY SYSTEM — MANROPE */
html, body, button, input, textarea, select {
  font-family:"Manrope",Arial,sans-serif;
}

body {
  font-weight:400;
  letter-spacing:-0.01em;
}

.site-header .brand,
.homepage .brand {
  font-family:"Manrope",Arial,sans-serif;
  font-weight:600;
  letter-spacing:-0.035em;
}

.nav-links a,
.homepage .nav-links a {
  font-family:"Manrope",Arial,sans-serif;
  font-weight:500;
  letter-spacing:.045em;
}

.homepage .premium-hero h1 {
  font-family:"Manrope",Arial,sans-serif;
  font-weight:300;
  letter-spacing:-0.065em;
}

.homepage .premium-hero .hero-subtitle,
.homepage .premium-heading .title,
.homepage .research-territory h3,
.homepage .project-slide-copy h3,
.homepage .premium-publication-row h3,
.homepage .practice-copy h2,
.homepage .ecosystem-minimal h3,
.page-hero h1,
.title,
.card h3,
.long-copy,
.footer-name {
  font-family:"Manrope",Arial,sans-serif;
  letter-spacing:-0.035em;
}

.homepage .premium-hero .hero-subtitle,
.homepage .premium-heading .title,
.homepage .practice-copy h2,
.page-hero h1,
.title {
  font-weight:300;
}

.homepage .research-territory h3,
.homepage .project-slide-copy h3,
.homepage .premium-publication-row h3,
.homepage .ecosystem-minimal h3,
.card h3,
.footer-name {
  font-weight:400;
}

.homepage .hero-overline,
.homepage .label,
.homepage .project-kicker,
.homepage .pub-meta,
.meta,
.label {
  font-family:"Manrope",Arial,sans-serif;
  font-weight:600;
  letter-spacing:.12em;
}

.homepage .hero-lead,
.homepage .section-note,
.homepage .research-territory p,
.homepage .project-slide-copy p,
.homepage .practice-copy p,
.card p,
.lead,
.entry span {
  font-family:"Manrope",Arial,sans-serif;
  font-weight:400;
  letter-spacing:-0.01em;
}

.homepage .button,
.homepage .text-link,
.button,
.text-link {
  font-family:"Manrope",Arial,sans-serif;
  font-weight:500;
  letter-spacing:.025em;
}


/* VISUAL TEST — higher contrast premium palette */
:root{
  --premium-ivory:#F5F2EA;
  --premium-paper:#FCFBF7;
  --premium-ink:#101512;
  --premium-navy:#0E2C3A;
  --premium-forest:#146B5D;
  --premium-gold:#4169E1;
  --premium-muted:#626A64;
  --premium-line:#D8D5CE;
}

.homepage{
  background:var(--premium-ivory);
  color:var(--premium-ink);
}

.homepage .site-header{
  background:rgba(245,242,234,.95);
  border-bottom:1px solid rgba(16,21,18,.11);
}

.homepage .hero-overline,
.homepage .premium-heading .label,
.homepage .project-slide-copy .project-kicker,
.homepage .premium-publication-row .arrow,
.homepage .research-territory .territory-tags{
  color:var(--premium-gold);
}

.homepage .premium-hero{
  padding:64px 0 38px;
}

.homepage .premium-hero-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);
  gap:64px;
}

.homepage .premium-hero h1{
  font-size:clamp(56px,6vw,84px);
  line-height:.94;
}

.homepage .premium-hero .hero-subtitle{
  max-width:700px;
  margin-top:28px;
  font-size:clamp(24px,2.35vw,34px);
  line-height:1.18;
}

.homepage .premium-hero .hero-lead{
  max-width:640px;
  margin-top:24px;
  font-size:16px;
  line-height:1.75;
  color:var(--premium-muted);
}

.homepage .premium-hero-actions{
  margin-top:32px;
}

.homepage .premium-hero-actions .button{
  padding:12px 20px;
  font-size:12px;
}

.homepage .premium-hero-actions .button:first-child{
  background:var(--premium-navy);
  border-color:var(--premium-navy);
}

.homepage .premium-hero-actions .button:first-child:hover{
  background:var(--premium-forest);
  border-color:var(--premium-forest);
}

.homepage .premium-hero-actions .button:last-child:hover{
  background:transparent;
  color:var(--premium-forest);
  border-color:var(--premium-forest);
}

.homepage .hero-visual{
  min-height:455px;
  background:
    linear-gradient(180deg,rgba(14,44,58,.02),rgba(14,44,58,.2)),
    linear-gradient(145deg,#DCE4E1 0%,#AFC8C1 44%,#146B5D 100%);
  border:1px solid rgba(14,44,58,.14);
  box-shadow:0 22px 55px rgba(14,44,58,.12);
}

.homepage .hero-visual::before{
  background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.62),rgba(255,255,255,0) 62%);
}

.homepage .hero-visual::after{
  background:rgba(255,255,255,.48);
}

.homepage .premium-strip{
  border-top-color:var(--premium-line);
  border-bottom-color:var(--premium-line);
}

.homepage .premium-strip a{
  border-right-color:var(--premium-line);
}

.homepage .premium-strip a:hover{
  background:rgba(65,105,225,.045);
}

.homepage .research-territory:hover{
  background:rgba(65,105,225,.045);
}

.homepage .carousel-arrow:hover{
  background:var(--premium-navy);
  border-color:var(--premium-navy);
}

.homepage .project-tab[aria-selected="true"]{
  color:var(--premium-ink);
  border-bottom-color:var(--premium-gold);
}

.homepage .project-slide.theoscope .project-slide-visual{
  background:linear-gradient(145deg,#A6C5BE 0%,#D4E0DC 42%,#0E2C3A 100%);
}

.homepage .project-slide.restore .project-slide-visual{
  background:linear-gradient(145deg,#C7D6C3 0%,#7FA18B 48%,#146B5D 100%);
}

.homepage .project-slide.aagora .project-slide-visual{
  background:linear-gradient(145deg,#C9DEE4 0%,#6AA3B7 48%,#0E2C3A 100%);
}

.homepage .project-slide.locust .project-slide-visual{
  background:linear-gradient(145deg,#DDD3C7 0%,#A18E83 48%,#52434A 100%);
}

.homepage .project-slide.trackin .project-slide-visual{
  background:linear-gradient(145deg,#E1D9C8 0%,#BAA37A 48%,#655844 100%);
}

.homepage .practice-feature{
  background:var(--premium-navy);
}

.homepage .practice-copy .label{
  color:#90A9FF;
}

.homepage .practice-visual{
  background:
    linear-gradient(180deg,rgba(14,44,58,.04),rgba(14,44,58,.28)),
    linear-gradient(135deg,#E2D6BF 0%,#9DB8AF 48%,#146B5D 100%);
}

.homepage .site-footer{
  background:#0A171C;
}

.homepage .text-link:hover{
  color:var(--premium-gold);
  opacity:1;
}

@media(max-width:900px){
  .homepage .premium-hero-grid{
    grid-template-columns:1fr;
  }

  .homepage .hero-visual{
    min-height:340px;
  }
}


/* VISUAL TEST 2 — Oxford-inspired institutional palette */
:root{
  --premium-ivory:#F1EEE9;
  --premium-paper:#F7F5F2;
  --premium-ink:#211D1C;
  --premium-navy:#002147;
  --premium-forest:#15616D;
  --premium-gold:#1D42A6;
  --premium-muted:#5F6468;
  --premium-line:#D7D3CD;
}

.homepage{
  background:var(--premium-ivory);
  color:var(--premium-ink);
}

.homepage .site-header{
  background:rgba(241,238,233,.96);
  border-bottom:1px solid rgba(33,29,28,.12);
}

.homepage .brand,
.homepage .nav-links a{
  color:var(--premium-ink);
}

.homepage .hero-overline,
.homepage .premium-heading .label,
.homepage .project-slide-copy .project-kicker,
.homepage .premium-publication-row .arrow,
.homepage .research-territory .territory-tags{
  color:var(--premium-gold);
}

.homepage .premium-hero-actions .button:first-child{
  background:var(--premium-navy);
  border-color:var(--premium-navy);
}

.homepage .premium-hero-actions .button:first-child:hover{
  background:var(--premium-gold);
  border-color:var(--premium-gold);
}

.homepage .premium-hero-actions .button:last-child:hover{
  color:var(--premium-gold);
  border-color:var(--premium-gold);
}

.homepage .hero-visual{
  background:
    linear-gradient(180deg,rgba(0,33,71,.02),rgba(0,33,71,.24)),
    linear-gradient(145deg,#E3E8ED 0%,#A8C0C6 44%,#15616D 100%);
  border:1px solid rgba(0,33,71,.16);
  box-shadow:0 22px 55px rgba(0,33,71,.14);
}

.homepage .premium-strip a:hover,
.homepage .research-territory:hover{
  background:rgba(29,66,166,.055);
}

.homepage .carousel-arrow:hover{
  background:var(--premium-navy);
  border-color:var(--premium-navy);
}

.homepage .project-tab[aria-selected="true"]{
  border-bottom-color:var(--premium-gold);
}

.homepage .project-slide.theoscope .project-slide-visual{
  background:linear-gradient(145deg,#B9CED4 0%,#E0E6EA 42%,#002147 100%);
}

.homepage .project-slide.restore .project-slide-visual{
  background:linear-gradient(145deg,#CAD8D5 0%,#86A9A1 48%,#15616D 100%);
}

.homepage .project-slide.aagora .project-slide-visual{
  background:linear-gradient(145deg,#D1E3E8 0%,#73A7B5 48%,#002147 100%);
}

.homepage .project-slide.locust .project-slide-visual{
  background:linear-gradient(145deg,#E1D8CD 0%,#A38F82 48%,#55444A 100%);
}

.homepage .project-slide.trackin .project-slide-visual{
  background:linear-gradient(145deg,#E5DDCC 0%,#B8A178 48%,#665844 100%);
}

.homepage .practice-feature{
  background:var(--premium-navy);
}

.homepage .practice-copy .label{
  color:#AFC1FF;
}

.homepage .practice-visual{
  background:
    linear-gradient(180deg,rgba(0,33,71,.03),rgba(0,33,71,.30)),
    linear-gradient(135deg,#DDD4C4 0%,#9DB6B1 48%,#15616D 100%);
}

.homepage .site-footer{
  background:#0A1420;
}

.homepage .text-link:hover{
  color:var(--premium-gold);
  opacity:1;
}


/* VISUAL TEST 3 — warm cultural institution + technological precision */
:root{
  --premium-ivory:#F3EFE6;
  --premium-paper:#FBF8F2;
  --premium-ink:#171815;
  --premium-navy:#1F2D28;
  --premium-forest:#38564D;
  --premium-gold:#C66F4E;
  --premium-muted:#66645F;
  --premium-line:#D9D2C7;
  --premium-sage:#A8B7A5;
  --premium-sand:#D8CBB5;
}

.homepage{
  background:var(--premium-ivory);
  color:var(--premium-ink);
}

.homepage .site-header{
  background:rgba(243,239,230,.94);
  border-bottom:1px solid rgba(23,24,21,.10);
}

.homepage .nav-links a::after{
  background:var(--premium-gold);
}

.homepage .hero-overline,
.homepage .premium-heading .label,
.homepage .project-slide-copy .project-kicker,
.homepage .premium-publication-row .arrow,
.homepage .research-territory .territory-tags{
  color:var(--premium-gold);
}

.homepage .premium-hero{
  padding:58px 0 36px;
}

.homepage .premium-hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:66px;
}

.homepage .premium-hero h1{
  font-size:clamp(54px,5.7vw,80px);
  line-height:.95;
  letter-spacing:-.062em;
}

.homepage .premium-hero .hero-subtitle{
  max-width:680px;
  margin-top:28px;
  font-size:clamp(25px,2.25vw,33px);
  line-height:1.2;
  color:var(--premium-ink);
}

.homepage .premium-hero .hero-lead{
  max-width:630px;
  margin-top:22px;
  color:var(--premium-muted);
}

.homepage .premium-hero-actions .button:first-child{
  background:var(--premium-navy);
  border-color:var(--premium-navy);
  color:#fff;
}

.homepage .premium-hero-actions .button:first-child:hover{
  background:var(--premium-forest);
  border-color:var(--premium-forest);
}

.homepage .premium-hero-actions .button:last-child{
  border-color:#7B776F;
}

.homepage .premium-hero-actions .button:last-child:hover{
  color:var(--premium-gold);
  border-color:var(--premium-gold);
  background:transparent;
}

.homepage .hero-visual{
  min-height:445px;
  position:relative;
  display:block;
  padding:0;
  background:
    linear-gradient(rgba(255,255,255,.22),rgba(255,255,255,.22)),
    repeating-linear-gradient(90deg,transparent 0 69px,rgba(23,24,21,.07) 70px),
    repeating-linear-gradient(0deg,transparent 0 69px,rgba(23,24,21,.07) 70px),
    linear-gradient(145deg,#D7DED5 0%,#A8B7A5 54%,#38564D 100%);
  border:1px solid rgba(23,24,21,.12);
  box-shadow:0 24px 60px rgba(31,45,40,.10);
  overflow:hidden;
}

.homepage .hero-visual::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  right:-72px;
  top:-56px;
  background:transparent;
}

.homepage .hero-visual::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:58%;
  height:42%;
  background:linear-gradient(135deg,rgba(198,111,78,.88),rgba(198,111,78,.28));
  clip-path:polygon(0 48%,100% 0,77% 100%,0 100%);
}

.homepage .hero-visual-content{
  position:absolute;
  inset:0;
  max-width:none;
  padding:0;
}

.homepage .hero-visual-label{
  position:absolute;
  left:28px;
  top:26px;
  margin:0;
  color:#20322C;
  font-size:10px;
  font-weight:600;
}

.homepage .hero-visual h2{
  position:absolute;
  left:28px;
  bottom:30px;
  z-index:3;
  max-width:360px;
  margin:0;
  color:#fff;
  font-size:28px;
  line-height:1.12;
  font-weight:400;
}

.homepage .hero-node{
  position:absolute;
  z-index:2;
  padding:9px 12px;
  border:1px solid rgba(23,24,21,.22);
  background:rgba(243,239,230,.86);
  backdrop-filter:blur(8px);
  font-size:11px;
  font-weight:500;
  letter-spacing:.015em;
  color:#26312D;
}

.homepage .hero-node.n1{top:26%;left:13%;}
.homepage .hero-node.n2{top:17%;right:11%;}
.homepage .hero-node.n3{top:47%;right:9%;}
.homepage .hero-node.n4{top:54%;left:26%;}

.homepage .premium-strip{
  margin-top:38px;
}

.homepage .premium-strip a{
  transition:background .2s ease,color .2s ease;
}

.homepage .premium-strip a:hover{
  background:rgba(198,111,78,.07);
}

.homepage .premium-section.paper{
  background:var(--premium-paper);
}

.homepage .research-territory:hover{
  background:rgba(168,183,165,.12);
}

.homepage .research-territory .territory-tags{
  color:#A9573D;
}

.homepage .project-carousel-frame{
  border-color:var(--premium-line);
  box-shadow:0 16px 45px rgba(31,45,40,.06);
}

.homepage .project-slide-visual{
  background-image:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.13) 80px),
    repeating-linear-gradient(0deg,transparent 0 79px,rgba(255,255,255,.13) 80px);
  background-blend-mode:soft-light;
}

.homepage .project-slide.theoscope .project-slide-visual{
  background:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.14) 80px),
    repeating-linear-gradient(0deg,transparent 0 79px,rgba(255,255,255,.14) 80px),
    linear-gradient(145deg,#B7C4B8 0%,#D8CBB5 42%,#38564D 100%);
}

.homepage .project-slide.restore .project-slide-visual{
  background:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.13) 80px),
    repeating-linear-gradient(0deg,transparent 0 79px,rgba(255,255,255,.13) 80px),
    linear-gradient(145deg,#C8D1C1 0%,#95AA91 48%,#38564D 100%);
}

.homepage .project-slide.aagora .project-slide-visual{
  background:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.13) 80px),
    repeating-linear-gradient(0deg,transparent 0 79px,rgba(255,255,255,.13) 80px),
    linear-gradient(145deg,#CBD9D5 0%,#8FAEAA 48%,#31545A 100%);
}

.homepage .project-slide.locust .project-slide-visual{
  background:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.11) 80px),
    repeating-linear-gradient(0deg,transparent 0 79px,rgba(255,255,255,.11) 80px),
    linear-gradient(145deg,#E2D5C6 0%,#C28A73 48%,#66504A 100%);
}

.homepage .project-slide.trackin .project-slide-visual{
  background:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.11) 80px),
    repeating-linear-gradient(0deg,transparent 0 79px,rgba(255,255,255,.11) 80px),
    linear-gradient(145deg,#E4DAC7 0%,#BCA47F 48%,#6A5D48 100%);
}

.homepage .carousel-arrow:hover{
  background:var(--premium-ink);
  border-color:var(--premium-ink);
}

.homepage .project-tab[aria-selected="true"]{
  border-bottom-color:var(--premium-gold);
  color:var(--premium-ink);
}

.homepage .premium-publication-row:hover{
  color:var(--premium-forest);
}

.homepage .premium-publication-row .arrow{
  color:var(--premium-gold);
}

.homepage .practice-feature{
  background:var(--premium-navy);
}

.homepage .practice-copy .label{
  color:#E0A28A;
}

.homepage .practice-visual{
  background:
    repeating-linear-gradient(90deg,transparent 0 89px,rgba(255,255,255,.11) 90px),
    repeating-linear-gradient(0deg,transparent 0 89px,rgba(255,255,255,.11) 90px),
    linear-gradient(135deg,#D8CBB5 0%,#A8B7A5 50%,#38564D 100%);
}

.homepage .practice-visual::after{
  inset:10% 9%;
  border-color:rgba(255,255,255,.34);
}

.homepage .practice-visual::before{
  color:#fff;
}

.homepage .ecosystem-names span{
  background:transparent;
  border-color:#CFC6B9;
  transition:background .2s ease,border-color .2s ease;
}

.homepage .ecosystem-names span:hover{
  background:#fff;
  border-color:var(--premium-sage);
}

.homepage .site-footer{
  background:#171815;
}

.homepage .text-link:hover{
  color:var(--premium-gold);
  opacity:1;
}

@media(max-width:900px){
  .homepage .premium-hero-grid{
    grid-template-columns:1fr;
  }
  .homepage .hero-visual{
    min-height:360px;
  }
}

@media(max-width:650px){
  .homepage .hero-node.n1{top:22%;left:7%;}
  .homepage .hero-node.n2{top:16%;right:7%;}
  .homepage .hero-node.n3{top:43%;right:6%;}
  .homepage .hero-node.n4{top:52%;left:16%;}
  .homepage .hero-visual h2{font-size:24px;max-width:290px;}
}


/* HERO REDESIGN — Atalanta-inspired structure, Ray Phoenix warmth */
.homepage .site-header{
  background:#34312B;
  border-bottom:1px solid rgba(244,240,231,.14);
  color:#F4F0E7;
}

.homepage .site-header .wrap{
  max-width:none;
  padding-left:clamp(24px,4vw,68px);
  padding-right:clamp(24px,4vw,68px);
}

.homepage .brand,
.homepage .nav-links a{
  color:#F4F0E7;
}

.homepage .nav-links a{
  opacity:.78;
}

.homepage .nav-links a:hover,
.homepage .nav-links a:focus-visible{
  opacity:1;
  color:#F4F0E7;
}

.homepage .nav-links a::after{
  background:#C66F4E;
}

.homepage .atalanta-hero{
  background:#34312B;
  color:#F4F0E7;
  padding:0;
  border-bottom:1px solid rgba(244,240,231,.15);
}

.homepage .hero-frame{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  max-width:1600px;
  margin:0 auto;
  border-left:1px solid rgba(244,240,231,.12);
  border-right:1px solid rgba(244,240,231,.12);
}

.homepage .hero-side-rail{
  position:relative;
  min-height:760px;
  border-right:1px solid rgba(244,240,231,.15);
  display:flex;
  flex-direction:column;
  align-items:center;
}

.homepage .hero-rail-mark{
  margin-top:28px;
  font-size:16px;
  font-weight:600;
  letter-spacing:-.04em;
}

.homepage .hero-rail-line{
  width:1px;
  flex:1;
  margin:24px 0 18px;
  background:rgba(244,240,231,.14);
}

.homepage .hero-rail-caption{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  margin-bottom:28px;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8F8A80;
}

.homepage .hero-core{
  min-width:0;
}

.homepage .hero-kicker-row{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:32px 36px 26px;
  border-bottom:1px solid rgba(244,240,231,.12);
  color:#F4F0E7;
  font-size:12px;
  font-weight:500;
  letter-spacing:.02em;
}

.homepage .hero-kicker-row span:last-child{
  color:#918D84;
  text-align:right;
}

.homepage .hero-statement{
  display:flex;
  flex-direction:column;
  margin:0;
  padding:72px 36px 64px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(48px,5vw,82px);
  line-height:.99;
  font-weight:300;
  letter-spacing:-.055em;
  color:#F4F0E7;
  border-bottom:1px solid rgba(244,240,231,.12);
}

.homepage .hero-statement-muted{
  color:#918D84;
}

.homepage .hero-media-row{
  display:grid;
  grid-template-columns:minmax(250px,28%) minmax(0,72%);
  min-height:400px;
}

.homepage .hero-summary{
  padding:30px 28px 34px 36px;
  border-right:1px solid rgba(244,240,231,.14);
  color:#CBC6BC;
}

.homepage .hero-summary p{
  margin:0;
  max-width:320px;
  font-size:15px;
  line-height:1.55;
  font-weight:500;
}

.homepage .hero-quick-links{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:34px;
  border-top:1px solid rgba(244,240,231,.14);
}

.homepage .hero-quick-links a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(244,240,231,.14);
  color:#F4F0E7;
  text-decoration:none;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.homepage .hero-quick-links a span{
  color:#C66F4E;
}

.homepage .hero-video-panel{
  position:relative;
  overflow:hidden;
  min-height:400px;
  background:#192126;
}

.homepage .hero-background-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(.94) brightness(.73);
  transform:scale(1.035);
}

.homepage .hero-video-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(25,27,27,.35),rgba(25,27,27,.03) 55%,rgba(25,27,27,.16)),
    linear-gradient(180deg,rgba(17,20,21,.05),rgba(17,20,21,.42));
  pointer-events:none;
}

.homepage .hero-video-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(244,240,231,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.08) 1px,transparent 1px);
  background-size:82px 82px;
  opacity:.22;
  pointer-events:none;
}

.homepage .hero-video-label{
  position:absolute;
  z-index:2;
  top:24px;
  left:28px;
  color:#F4F0E7;
  font-size:11px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.homepage .hero-video-tags{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:36px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.homepage .hero-video-tags span{
  padding:8px 10px;
  border:1px solid rgba(244,240,231,.32);
  background:rgba(30,32,31,.32);
  backdrop-filter:blur(8px);
  color:#F4F0E7;
  font-size:10px;
  font-weight:500;
}

.homepage .hero-video-credit{
  position:absolute;
  z-index:3;
  right:18px;
  top:20px;
  color:rgba(244,240,231,.72);
  text-decoration:none;
  font-size:9px;
  letter-spacing:.02em;
}

.homepage .hero-video-credit:hover{
  color:#fff;
}

.homepage .atalanta-hero .premium-strip{
  margin:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(244,240,231,.12);
  border-bottom:0;
  background:#34312B;
}

.homepage .atalanta-hero .premium-strip a{
  min-height:58px;
  display:flex;
  align-items:center;
  padding:0 18px;
  border-right:1px solid rgba(244,240,231,.12);
  color:#C7C1B6;
  text-decoration:none;
  font-size:12px;
  transition:background .2s ease,color .2s ease;
}

.homepage .atalanta-hero .premium-strip a:last-child{
  border-right:0;
}

.homepage .atalanta-hero .premium-strip a:hover{
  background:rgba(198,111,78,.08);
  color:#F4F0E7;
}

.homepage .premium-section:first-of-type{
  border-top:0;
}

@media(max-width:900px){
  .homepage .hero-frame{
    grid-template-columns:1fr;
  }

  .homepage .hero-side-rail{
    display:none;
  }

  .homepage .hero-kicker-row{
    padding:24px;
    flex-direction:column;
    gap:6px;
  }

  .homepage .hero-kicker-row span:last-child{
    text-align:left;
  }

  .homepage .hero-statement{
    padding:52px 24px 48px;
    font-size:clamp(42px,9vw,64px);
  }

  .homepage .hero-media-row{
    grid-template-columns:1fr;
  }

  .homepage .hero-summary{
    border-right:0;
    border-bottom:1px solid rgba(244,240,231,.14);
    padding:26px 24px;
  }

  .homepage .hero-summary p{
    max-width:640px;
  }

  .homepage .hero-video-panel{
    min-height:360px;
  }

  .homepage .atalanta-hero .premium-strip{
    grid-template-columns:1fr 1fr;
  }

  .homepage .atalanta-hero .premium-strip a{
    border-bottom:1px solid rgba(244,240,231,.12);
  }
}

@media(max-width:600px){
  .homepage .hero-statement{
    font-size:40px;
  }

  .homepage .hero-video-panel{
    min-height:310px;
  }

  .homepage .hero-video-tags{
    left:18px;
    right:18px;
    bottom:20px;
  }

  .homepage .atalanta-hero .premium-strip{
    grid-template-columns:1fr;
  }

  .homepage .atalanta-hero .premium-strip a{
    border-right:0;
  }
}

@media(prefers-reduced-motion:reduce){
  .homepage .hero-background-video{
    display:none;
  }

  .homepage .hero-video-panel{
    background:
      linear-gradient(180deg,rgba(17,20,21,.12),rgba(17,20,21,.42)),
      url("https://svs.gsfc.nasa.gov/vis/a000000/a005500/a005570/Earth_wAtmos_spin_02.01000.preview.jpg") center/cover no-repeat;
  }
}


/* EDITORIAL CARD SYSTEM — Projects / Publications / Impact */
.editorial-page{
  background:#34312B;
  color:#F4F0E7;
}

.editorial-page .site-header{
  background:rgba(52,49,43,.96);
  border-bottom:1px solid rgba(244,240,231,.13);
  color:#F4F0E7;
  backdrop-filter:blur(14px);
}

.editorial-page .brand,
.editorial-page .nav-links a{
  color:#F4F0E7;
}

.editorial-page .nav-links a{
  opacity:.72;
  transition:opacity .2s ease;
}

.editorial-page .nav-links a:hover,
.editorial-page .nav-links a:focus-visible{
  opacity:1;
}

.editorial-page .page-hero{
  padding:88px 0 72px;
  border-bottom:1px solid rgba(244,240,231,.13);
}

.editorial-page .page-hero .label{
  color:#D97A63;
}

.editorial-page .page-hero h1{
  max-width:900px;
  color:#F4F0E7;
  font-weight:300;
  font-size:clamp(52px,6vw,86px);
  letter-spacing:-.055em;
}

.editorial-page .page-hero .lead{
  max-width:780px;
  color:#AAA59B;
  font-size:17px;
  line-height:1.7;
}

.editorial-card-section{
  padding:64px 0 110px;
}

.story-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:38px 28px;
}

.story-card{
  grid-column:span 4;
  color:#F4F0E7;
}

.story-card.wide{
  grid-column:span 6;
}

.story-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.story-card-visual{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:
    linear-gradient(rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(145deg,#D9D0BD 0%,#EEE7D6 56%,#B8B09E 100%);
  background-size:64px 64px,64px 64px,100% 100%;
  border:1px solid rgba(244,240,231,.12);
}

.story-card-visual::before,
.story-card-visual::after{
  content:"";
  position:absolute;
  z-index:2;
  background:var(--card-accent,#D97A63);
  transition:transform .52s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  opacity:0;
}

.story-card-visual::before{
  left:-3%;
  top:18%;
  width:58%;
  height:30%;
  transform:translateX(-105%);
}

.story-card-visual::after{
  right:-3%;
  bottom:16%;
  width:66%;
  height:24%;
  transform:translateX(105%);
}

.story-card:hover .story-card-visual::before,
.story-card:hover .story-card-visual::after,
.story-card:focus-within .story-card-visual::before,
.story-card:focus-within .story-card-visual::after{
  transform:translateX(0);
  opacity:.92;
}

.story-card-mark{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  font-size:clamp(40px,4.4vw,72px);
  line-height:.9;
  font-weight:300;
  letter-spacing:-.06em;
  color:rgba(52,49,43,.58);
  text-align:center;
  text-transform:uppercase;
  transition:transform .5s cubic-bezier(.22,1,.36,1), color .3s ease;
}

.story-card:hover .story-card-mark,
.story-card:focus-within .story-card-mark{
  transform:scale(1.035);
  color:rgba(52,49,43,.78);
}

.story-card-index{
  position:absolute;
  top:16px;
  left:16px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  background:rgba(244,240,231,.88);
  color:#34312B;
  font-size:10px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.story-card-body{
  padding-top:18px;
}

.story-card-type{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
  color:var(--card-accent,#D97A63);
  font-size:11px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.story-card-type::before{
  content:"";
  width:9px;
  height:9px;
  background:currentColor;
}

.story-card h2,
.story-card h3{
  margin:0 0 12px;
  color:#A7A197;
  font-size:clamp(24px,2vw,32px);
  line-height:1.18;
  font-weight:500;
  letter-spacing:-.035em;
  transition:color .25s ease;
}

.story-card:hover h2,
.story-card:hover h3,
.story-card:focus-within h2,
.story-card:focus-within h3{
  color:#F4F0E7;
}

.story-card .story-accent{
  margin:0 0 11px;
  color:#D9D3C9;
  font-family:"Manrope",Arial,sans-serif;
  font-size:17px;
  line-height:1.45;
}

.story-card .story-copy{
  margin:0;
  color:#9F9A91;
  font-size:14px;
  line-height:1.65;
}

.story-card-meta{
  margin:0 0 10px;
  color:#817C74;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.story-card-action{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding-bottom:3px;
  border-bottom:1px solid rgba(244,240,231,.65);
  color:#F4F0E7;
  font-family:"Manrope",Arial,sans-serif;
  font-size:16px;
  text-decoration:none;
}

.story-card-action span{
  display:inline-block;
  transition:transform .22s ease;
}

.story-card:hover .story-card-action span{
  transform:translate(3px,-3px);
}

.story-card.tone-coral{--card-accent:#D97A63;}
.story-card.tone-sage{--card-accent:#8FB1A6;}
.story-card.tone-acid{--card-accent:#D8DE54;}
.story-card.tone-blue{--card-accent:#6F858E;}
.story-card.tone-sand{--card-accent:#C9B894;}
.story-card.tone-rust{--card-accent:#B76D50;}

.story-card.tone-sage .story-card-visual{
  background:
    linear-gradient(rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(145deg,#DCE3D8,#B5C5B5 52%,#829C8E);
  background-size:64px 64px,64px 64px,100% 100%;
}

.story-card.tone-blue .story-card-visual{
  background:
    linear-gradient(rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(145deg,#D6E0E4,#ABC1CB 52%,#6D8D9D);
  background-size:64px 64px,64px 64px,100% 100%;
}

.story-card.tone-acid .story-card-visual{
  background:
    linear-gradient(rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(145deg,#E7E2C6,#D3D09B 50%,#A9A96F);
  background-size:64px 64px,64px 64px,100% 100%;
}

.story-card.tone-rust .story-card-visual{
  background:
    linear-gradient(rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(145deg,#E3D0C5,#C69B86 50%,#8D6153);
  background-size:64px 64px,64px 64px,100% 100%;
}

.story-card.tone-sand .story-card-visual{
  background:
    linear-gradient(rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(145deg,#E6DDCD,#CDBD9F 50%,#9C8E72);
  background-size:64px 64px,64px 64px,100% 100%;
}

.story-card.tone-coral .story-card-visual{
  background:
    linear-gradient(rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.035) 1px,transparent 1px),
    linear-gradient(145deg,#E7D7CE,#D8B09F 50%,#B67A64);
  background-size:64px 64px,64px 64px,100% 100%;
}

.editorial-page .orcid-cta{
  margin-top:64px;
}

.editorial-page .orcid-cta .button{
  color:#F4F0E7;
  border-color:rgba(244,240,231,.5);
}

.editorial-page .orcid-cta .button:hover{
  background:#F4F0E7;
  color:#34312B;
}

.editorial-page .site-footer{
  background:#2D2A25;
  border-top:1px solid rgba(244,240,231,.12);
}

@media(max-width:1000px){
  .story-card,
  .story-card.wide{
    grid-column:span 6;
  }
}

@media(max-width:650px){
  .editorial-page .page-hero{
    padding:62px 0 50px;
  }

  .story-grid{
    gap:34px 0;
  }

  .story-card,
  .story-card.wide{
    grid-column:1/-1;
  }

  .story-card-visual{
    aspect-ratio:16/11;
  }
}


/* CARD HOVER REFINEMENT — layered geometric tiles */
.story-card-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  transform:scale(.985);
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 100% 0 / 22% 34% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 48% 34% / 40% 18% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 0 56% / 34% 26% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 58% 100% / 20% 24% no-repeat;
  transition:
    opacity .28s ease,
    transform .55s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.story-card-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  opacity:0;
  transform:translateY(10px);
  background:
    linear-gradient(rgba(244,240,231,.12),rgba(244,240,231,.12)) 28% 0 / 1px 100% no-repeat,
    linear-gradient(rgba(244,240,231,.12),rgba(244,240,231,.12)) 72% 0 / 1px 100% no-repeat,
    linear-gradient(rgba(244,240,231,.12),rgba(244,240,231,.12)) 0 38% / 100% 1px no-repeat,
    linear-gradient(rgba(244,240,231,.12),rgba(244,240,231,.12)) 0 72% / 100% 1px no-repeat;
  transition:
    opacity .35s ease,
    transform .55s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.story-card:hover .story-card-visual::before,
.story-card:focus-within .story-card-visual::before{
  opacity:.94;
  transform:scale(1);
}

.story-card:hover .story-card-visual::after,
.story-card:focus-within .story-card-visual::after{
  opacity:.52;
  transform:translateY(0);
}

.story-card-mark{
  z-index:3;
}

.story-card-index{
  z-index:5;
}

/* Slightly different tile composition for alternating cards */
.story-card:nth-child(even) .story-card-visual::before{
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 0 0 / 25% 20% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 72% 24% / 28% 22% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 24% 52% / 42% 24% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 84% 100% / 16% 30% no-repeat;
}

.story-card:nth-child(3n) .story-card-visual::before{
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 0 16% / 31% 24% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 56% 0 / 22% 28% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 100% 50% / 34% 20% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 35% 100% / 24% 28% no-repeat;
}

@media (prefers-reduced-motion:reduce){
  .story-card-visual::before,
  .story-card-visual::after{
    transition:none;
    transform:none;
  }
}


/* CARD HOVER REBALANCE — keep the earlier large proportions, extend across full visual */
.story-card-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  transform:none;
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 100% 0 / 20% 34% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 50% 34% / 40% 18% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 0 58% / 34% 25% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 58% 100% / 20% 24% no-repeat;
  transition:opacity .28s ease;
  pointer-events:none;
}

.story-card-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  transform:none;
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 0 0 / 22% 18% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 76% 52% / 24% 20% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 25% 100% / 18% 20% no-repeat;
  transition:opacity .36s ease .04s;
  pointer-events:none;
}

.story-card:hover .story-card-visual::before,
.story-card:hover .story-card-visual::after,
.story-card:focus-within .story-card-visual::before,
.story-card:focus-within .story-card-visual::after{
  opacity:.94;
  transform:none;
}

/* Preserve the same large-scale rhythm on alternating cards while changing placement only */
.story-card:nth-child(even) .story-card-visual::before{
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 0 0 / 20% 34% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 50% 34% / 40% 18% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 100% 58% / 34% 25% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 42% 100% / 20% 24% no-repeat;
}

.story-card:nth-child(even) .story-card-visual::after{
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 78% 0 / 22% 18% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 0 52% / 24% 20% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 57% 100% / 18% 20% no-repeat;
}

.story-card:nth-child(3n) .story-card-visual::before{
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 100% 0 / 20% 34% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 46% 35% / 42% 18% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 0 61% / 36% 24% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 55% 100% / 21% 24% no-repeat;
}

.story-card:nth-child(3n) .story-card-visual::after{
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 0 0 / 20% 18% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 80% 54% / 20% 18% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 24% 100% / 19% 20% no-repeat;
}


/* RESTORE ORIGINAL GEOMETRIC CARD HOVER */
.story-card-visual::before,
.story-card:nth-child(even) .story-card-visual::before,
.story-card:nth-child(3n) .story-card-visual::before{
  content:"";
  position:absolute;
  z-index:2;
  left:-3%;
  top:18%;
  width:58%;
  height:30%;
  background:var(--card-accent,#D97A63);
  opacity:0;
  transform:translateX(-105%);
  transition:transform .52s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  pointer-events:none;
}

.story-card-visual::after,
.story-card:nth-child(even) .story-card-visual::after,
.story-card:nth-child(3n) .story-card-visual::after{
  content:"";
  position:absolute;
  z-index:2;
  right:-3%;
  bottom:16%;
  left:auto;
  top:auto;
  width:66%;
  height:24%;
  background:var(--card-accent,#D97A63);
  opacity:0;
  transform:translateX(105%);
  transition:transform .52s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  pointer-events:none;
}

.story-card:hover .story-card-visual::before,
.story-card:hover .story-card-visual::after,
.story-card:focus-within .story-card-visual::before,
.story-card:focus-within .story-card-visual::after{
  transform:translateX(0);
  opacity:.92;
}


/* GEOMETRIC CARD HOVER — four-block composition based on user mockup */
.story-card-visual::before,
.story-card:nth-child(even) .story-card-visual::before,
.story-card:nth-child(3n) .story-card-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  width:auto;
  height:auto;
  left:0;
  top:0;
  right:0;
  bottom:0;
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 0 0 / 29% 33% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 0 73% / 50% 24% no-repeat;
  opacity:0;
  transform:translateX(-7%);
  transition:
    transform .52s cubic-bezier(.22,1,.36,1),
    opacity .35s ease;
  pointer-events:none;
}

.story-card-visual::after,
.story-card:nth-child(even) .story-card-visual::after,
.story-card:nth-child(3n) .story-card-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  width:auto;
  height:auto;
  left:0;
  top:0;
  right:0;
  bottom:0;
  background:
    linear-gradient(var(--card-accent),var(--card-accent)) 100% 35% / 50% 17% no-repeat,
    linear-gradient(var(--card-accent),var(--card-accent)) 100% 100% / 14% 14% no-repeat;
  opacity:0;
  transform:translateX(7%);
  transition:
    transform .52s cubic-bezier(.22,1,.36,1),
    opacity .35s ease;
  pointer-events:none;
}

.story-card:hover .story-card-visual::before,
.story-card:focus-within .story-card-visual::before,
.story-card:hover .story-card-visual::after,
.story-card:focus-within .story-card-visual::after{
  opacity:.92;
  transform:translateX(0);
}

.story-card-mark{
  z-index:3;
}

.story-card-index{
  z-index:5;
}

@media (prefers-reduced-motion:reduce){
  .story-card-visual::before,
  .story-card-visual::after{
    transition:none;
  }
}


/* PROJECTS GRID RHYTHM — 2 featured / 3 standard / 1 horizontal closing card */
.editorial-page .story-card-visual{
  aspect-ratio:6/7;
}

.editorial-page .story-card.wide .story-card-visual{
  aspect-ratio:4/3;
}

.editorial-page .story-card.full-row{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:34px;
  align-items:stretch;
  margin-top:12px;
  padding-top:34px;
  border-top:1px solid rgba(244,240,231,.16);
}

.editorial-page .story-card.full-row .story-card-visual{
  aspect-ratio:auto;
  min-height:320px;
}

.editorial-page .story-card.full-row .story-card-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px 0;
}

.editorial-page .story-card.full-row h2{
  font-size:clamp(30px,3vw,46px);
}

.editorial-page .story-card.full-row .story-accent{
  max-width:520px;
  font-size:19px;
}

.editorial-page .story-card.full-row .story-copy{
  max-width:560px;
}

.editorial-page .story-card:first-child .story-card-index{
  background:#F4F0E7;
  color:#34312B;
  font-weight:700;
  letter-spacing:.1em;
  box-shadow:0 0 0 1px rgba(52,49,43,.08);
}

@media(max-width:900px){
  .editorial-page .story-card.full-row{
    grid-template-columns:1fr;
  }

  .editorial-page .story-card.full-row .story-card-visual{
    min-height:280px;
    aspect-ratio:16/10;
  }

  .editorial-page .story-card.full-row .story-card-body{
    padding:0;
  }
}

@media(max-width:650px){
  .editorial-page .story-card-visual,
  .editorial-page .story-card.wide .story-card-visual{
    aspect-ratio:16/11;
  }
}


/* RESTORE4Cs — botanical scientific artwork test */
.restore4cs-card{
  --card-accent:#7FA9A2;
}

.restore4cs-card .story-card-visual{
  background:
    linear-gradient(rgba(245,243,234,.025),rgba(245,243,234,.025)),
    url("assets/restore4cs-atlas.webp") center center / cover no-repeat;
}

.restore4cs-card .story-card-mark{
  color:rgba(47,58,54,.54);
  text-shadow:0 1px 0 rgba(255,255,255,.18);
}

.restore4cs-card .story-card-index{
  background:rgba(246,243,235,.88);
  color:#38433F;
  backdrop-filter:blur(5px);
}


/* temporary embedded fallback for RESTORE4Cs artwork */
.restore4cs-card .story-card-visual{
  background-image:url("data:image/webp;base64,UklGRnAPAABXRUJQVlA4IGQPAAAwYwCdASpAAfAAPt1qq1GopaOjppXKYRAbiWluy7o5ADCBsFZt/nHNXaHLZYZ/xGu/ac/ekk+wDmPOo78QUwODgmcD2+Q9aZEFwDmSYwntwTjJhr7aro2oTLuT/1Q2tCEA9jSrPE/kl1eEZuYrHAvQg+PWHmmO5GfK3EIRpu/tZ9fniK8af5s08+4COZ+0JgcZoxwkcWEhBL88vP4hEdbmIAHY/3x7RTyyUcAn9YZeXEpuwBycN9IBMgDTWABU9dQFZo2C+65bEcSXyOQdwPdZBK2aagyd1+GV1Vt6qxt1DtjLkpa6iyB2FQ564CwDvNZMT8OUNSH4+GAZy4leXE1keZBBhs2W1rIxDPNmgFge+rAehVnEg4jNJQIEKmSJoPJj+X8TefByjBgluaRAV5xDxFobwhstnJPE63a/UhKmU+wwtCpFHcacpn+Fv1bmrUykmIZ75jGWbo0pVZYhx0aLowz5ozCyEm+ok1SH0p0M0ts7b574OFILYQUjYRHw/BRAerIpVNfr+3bE+9SuNO+i4S4Qp2NlyFyIXJQZjnsJHo9X3wA/+nCR7dcqyPfB82XSXKgdKBN3dK5SFJGX3uoqVk2Qwza4aXXIvMAcfsx9r1/BMtpLVojbHUHz6DTvnHTwzsleAZ101JCLWOcPHDl9CNl26uki2gOwXpLq73F8zZcNX/e9Zkq2/gHI/m3imN5KrL3TROvyIxNixZoKGy76mBh2r9lqW86wQZ179by/X6tt2JsOpQSTYl3ljONl1+eY7TeUzgTSyaGeAwe/qxVGfj+hQ7037mT6hWd9v/9PiZyt+bkBi4LARo9AbZLYMRmLTgCBlrRgycuqT7uyhoxBmr1VkcRZ542DfNm38gf9vJTokD0+5zxdxHAzSXSNI9QnLv5pJXqk/f4/eN6XIYFubGhOhYKFiQ8S4j1jUDuQ8VWLGiu0wXI7JHfsiE/oUYj0wcpzVgeCfdUAysPY8JIcaYjWfooOZlGVhBCSo3vspkyuYjSXAhz8JK3QQRb3ksP7u77MPh3colrF6uNS+ZExKgTBM0cm/zxSLIsmKBE1bYgAAP7vHH0zj6H6YeBL7tJTT5Pmu3T/6KV/rRCv7Tr5Aet8pobsTJQpgT4ysm1+tAY3LyzLNweqFQAEp9L6R2smDso8XfoRXSFdfWc1+HrCpdk0myJp+6OlQTC6ud493ueWtcCB4gHaTSuplpS/Ihqr0Oobtp4QAD1mVxFsDFJOmEOSX3hRvn6DCdbDD++858VheUTbTNixvapqlNFvctGnYVg/lUpqC973VPhbohAXfIP0PbPqwG1G3uG+/cKg8yltVwLH3mbAPHNFKtumNCfLG1koqwkArivsn+9DxGULVQ/GzqN8irBJuFZc49ULCwY9nrAR7Z+/Oy+m3smDzXj84Bg4hHoz274CnP5qTRqQx1v/Q3YL8pZ2pG/KHBMmb14ndLFxKhsArlz2xeMUqrsue4uPCH+PadXRI8uwb+vW/GMB5tUs+tutiFzGXDb0mDCk5LUpL6BR8kr6QmUFcYfrgEYHeYzWg4iyo0tnDG2yyO1C/x5qfZzw1H4j2xs0fHz5pl0JSfYQJfASlUTsuLAaFqmkaezfx6p7jrI3RTmAf6UqP4LQksGsKqxITJq92JFX3Mpy4SHaYzBmohcUZmE6KKFbwteJxTRLvbifiZNXTHUcScmL+8zB8Pk7iSp5Ij5hiUgT5doABaM9AB4RaW9QL52hWsomOOLnOWIOGF530ZWZ34h2ISwnVCBn4fbRfTXZg7Ofl44hlQVVS+/sM4MkJljbS6wU3aQoTp1DsZ501c5nTwxlmsdLVViq7xY6Eho7bazQgFB7DbSSHDMKMMf4y3NXNxe618ELRk+wMm2vQdwXpiNoyXp9u9oR7zbkiDbaxC0BP8l4bzNXF4k8U7YHFE9KO/aOE9Qh1h+D1S1eIVbR1XWZyJ6LlvMeZ8q2ehSPHk8XgYxG8/E7vibf7UpZDUqf+p9Ixo9SOPUuwNW16kkRd1DL0nfMsv4RXSfGongYhnPPnBbqEAD3i+DRxrk1E2sFe24Glr2pSY5BX0x/nc68G/KSKP4wlR03ijlCBQDq16PXY7JiAw/Kib9qCSyVp9A96J7Tzy2gBWFeMJ5IneULWTYwxlnHunaHVMpkf9iLAwsHdzTFR9B7KbZpT35lNihvwohIPY2vIusf/Vph7Gmm8+lrGjYJ4fy1d4L5OE9mEgefeTkpOBuTz9scfQlKA/kpS7CYBm6FOwSACYQdo56hm4x5UoROKT3RnX478LujzF+08pw0GzQp4RH/fT7XzSZsdOFkw3ODwds2OSru6zJU7QbXnc7e2cRL+owrXzM8OpvvaMt9yQvCkSuuMceDvQRxbSKwulIT0ke0wxcNVZhAUUZaAsTFKzQcHdr4ySwcCtyxMtcNd/mcohXpzpsYZjZhUFimbRPV58eOMVPS37oVi6Dgw6Kgi6T4hNTuQjdk7uIKq2t5Hq1owhu2xjPQ7IL5UBz7CmNsncF7cDnF26LcTu6pmFR2WIRaXQpmFUIjy6sKPz2n0HJ9/kTCec8S07o+4yoB4Exs5pM1hFG/5+Di4X4kWw02j/E4r/loRKBaYR00Q/9uqUbeh1F4+Whb/IytFLpbtIklnrXVZNGN3EQZjO0/i34BCeVk4v9rgkHJm+qfNwDWS4lUi3kKMvI238z8mB1gqThAFAwZKzaBD6qNrXEJIOA892wBYkUVcoffyqNquLlDgyLkPIK6Bz+MdRIC+urPVTDgzMKQZ7Cm5xQeiQs6yqL7vdE+QCPiY5nKR5CfzAgCyjVOASabhtLEsQaBMTUDfZgAoOw4ynfopoMJGRHOto1rjDVA+M/ERgzGDDWAgPSi+7GMp9ZhhVtOKKtBzeokHCFzcK1vXdehbR3WmWPi8BPFom6wzqpWbNiQRIkM4AtpdSsF828N9Uu2zFSJzJhZqEuxdk6Z6Vv/6jPt6eWS0KKk1NJHPU3hGT2nK/Jx4gs+eTA9NIJDc4bvXv8sxorM5YYcu0L6itsJGFReqjbu2UOTalPBR15QBI+FNvEgBVvQYUrMeq1q97DRxq+4e865CYJvhsvroeYSUqRryotp+g9l3sE9L1tE5oOKmsNCyB4JpmsPdh6DEiMmg20p2DZwfoH/jK4wtILRMw/MmsmZ+oshvoyhyu7pEyNPMnV8fJ410ZYat5Za1z6tO4QL18IMTTWFt1ra/i/qy2uxVDXAoTVhp1IV/Y9W8CXTmnuNc+Ha1RkfwDjschs1XDPIJ9QVxfF88ECWAoSiuZ23R8MvBBqgoo8ntoNkCVmhvzRJZJTo/oTEBQULN+mZ+swK0dm7Vz0m+7yikqq5jHTJaFFvCOQ97HQ03IAVGBatrkw+ppPQDOWyFf1OzUaS1ZKZbY63SYBoCkbGJl55phsZt3v2AQ6dncvKlzRHfB7+KYJB46zDrBQGhGtxwpCGFsBsw6vG98bPMXvzgZdayhNNZDjLSWNFAQfE/J1r+q8XbMgS2v2k6mnET2RYEHQqnYhevN0PNmyk2Yzujh0/Ma4eY9xTZt6E58tzWeVvKMU2dMdddCzB0H23lajBuoufV4rpxCNwbEKNjkIKJ72o4tTpESS17x1W6ngcA/rNcOlxi+Imp2mIzNH14YjkJcFwh3timK0z0J9XpvngewmmppU0gikfceaxjHJuumAv5ZlE97kky4rpQih5AdYVYP6nAlPpI5VArJZPVw6U0tXOJLj1fzoHUrPm7OAcmj41vEnYwAlSPlGPFhVI+Y8LN5n2TyfIdvZzdPq0ANM8KTm750rj+785EB0rf80Rv4Byoy6KBFK8rXNubxV6c83kZw1W8oLFqFfWFObo7XK1ctn9YaiMtLoaGG3q5+/ueA2QzABkrf0AOF4blKql+7hXPBA4N6KFRknoLC0SrOHROyKw8doGP0Kl4LF5kApnforkjrBc7tT7piYul0MbdWUyvWcJFFPXNekJZtPxr+48krvWqdaeWNUknDS27Ul0q0Jj3/24hxyQauBsTS4uTN7kI9KITDxulumPpwTt9xMpAiiFSvHNXbeMRw9yu77VLrcK4LLF6J7ixg2Xa6tqbEd7qK00vd4uQVhWX4K108zyMDILjZWHGIi/MzRljlvd4fYAPxNG8n6s3gpyjal9mhmwbyNAlWmuLhV34zU1MorEX3Qffeen7/IlhbcfKhQk6L068AecZLLrpPSrRJKjee7+l7hfKBBJyz4mNuBiPnH0+Hzi3i48cdRMsBiCDwtALSGQaILjdOSG2lz4K4E3TIVoZLMXWSRI47zh9GXv4RKq6kqA4unUbxRGergaSBatWrNBrZaKbP4zMKVDLe0UbluWrfz7ptlVqUVUegk4gh82lwBaLPA9cdOd51x1wnKKbs41nGlH0/okHdizC29wGCQ9rIAG3I3nbUeaTbbycPeHEofipnweTMZbpPhJ6XFoA+5dSgBR1ZWAZadbUDPS+GLtJBsMuZir1eTL3jynFusD7r7mnOfVuM5BtDRLEU/EPEYcNsd/eJqsT0QXj8Y/beZOLBtrfSbtlrwNjUtv38f0CIMMqRrYUODHuU1uYi8Ug6ismjhTrYaUhgCdxnjJRVb/hvgDfNKrQeVUF0B9KlVsdZyx18IBxQBESsrl+LdDJWrfHUUoL93rpU+IFTfOarQYZxxOJBgKZCfLAyqSYYZ4WOSor9p6JEuRCd1C0OgYgeHTX3LKolrgQjMgxoSMrEELZJgxueosRNfRsa0EwHaRVPiLBduRqk6B3qvQYe3aWGC02q+O6q4eF8FF/Oq7NmaC3IwFHFKhNpm6A3RTCLkQjtErYqk7eKGUaeCivuL16Mzik/OfkzmXdOFxKEqyqNhrmHOkDf9W3n7fM87a1uALSS1StaQII3j98MjekNDoSL/t5vxd0GWORmiCyn4l/1L6nmpP+ZRZrkoLVWaGp+M6lxhtW3QeWQDHdyp4UMMA3/l0o6eH8tnTQFkSKV48ixva32BYAT48JQSO1/+UAAlqSg2jOe+G0SmHDGHK04i/4o9ptCNQeCGOq35iO4RFZEk5YSwhe15hgJ057OCpeCHfraIDVZM8dWxbw2nZCoB3DObVLfoSxkAwF0v5Fq0rJx+brbtVgIlI1oyAHqNoaP7MB0VYbvWKfS8QmW4tzAKxtRBwBmc9lvZ/6kcNs95tE0ElAVduEORFoakn9sJXqJlJ8iFuXykkSX+fps6jRQdjPXecjAAaqLdRp6JCi/LytIYBK5BoQgAA");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}


/* RESTORE4Cs artwork — use uploaded PNG from repository */
.restore4cs-card .story-card-visual{
  background-image:url("assets/restore4cs-atlas.png");
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}


/* RESTORE4Cs artwork — specificity fix */
.story-card.restore4cs-card.tone-sage .story-card-visual{
  background:
    url("assets/restore4cs-atlas.png") center center / cover no-repeat !important;
}


/* RESTORE4Cs artwork — cleaner editorial treatment */
.restore4cs-card:hover .story-card-visual::before,
.restore4cs-card:focus-within .story-card-visual::before,
.restore4cs-card:hover .story-card-visual::after,
.restore4cs-card:focus-within .story-card-visual::after{
  opacity:.80;
}


/* RESTORE4Cs hover identity test */
.restore4cs-card .restore4cs-wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(244,240,231,.50);
  opacity:0;
  transition:opacity .42s ease;
  pointer-events:none;
}

.restore4cs-card .restore4cs-hover-title{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  transform:translate(-50%,-44%);
  opacity:0;
  color:#34312B;
  font-family:"Manrope",sans-serif;
  font-size:clamp(32px,3.6vw,56px);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:.95;
  white-space:nowrap;
  transition:
    opacity .32s ease .10s,
    transform .52s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.restore4cs-card:hover .restore4cs-wash,
.restore4cs-card:focus-within .restore4cs-wash{
  opacity:1;
}

.restore4cs-card:hover .story-card-visual::before,
.restore4cs-card:focus-within .story-card-visual::before,
.restore4cs-card:hover .story-card-visual::after,
.restore4cs-card:focus-within .story-card-visual::after{
  opacity:1;
}

.restore4cs-card:hover .restore4cs-hover-title,
.restore4cs-card:focus-within .restore4cs-hover-title{
  opacity:1;
  transform:translate(-50%,-50%);
}

@media(max-width:650px){
  .restore4cs-card .restore4cs-hover-title{
    font-size:clamp(27px,9vw,38px);
  }
}


/* THEOSCOPE — Earth observation artwork test */
.theoscope-card{
  --card-accent:#7897AA;
}

.story-card.theoscope-card.tone-blue .story-card-visual{
  background:
    url("assets/theoscope-earth.png") center center / cover no-repeat !important;
}

.theoscope-card .story-card-index{
  background:rgba(244,240,231,.90);
  color:#34312B;
  backdrop-filter:blur(5px);
}

.theoscope-card .theoscope-wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(38,40,37,.52);
  opacity:0;
  transition:opacity .42s ease;
  pointer-events:none;
}

.theoscope-card .theoscope-hover-title{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  transform:translate(-50%,-44%);
  opacity:0;
  color:#F4F0E7;
  font-family:"Manrope",sans-serif;
  font-size:clamp(34px,4.2vw,64px);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:.95;
  white-space:nowrap;
  text-shadow:0 1px 16px rgba(20,22,21,.18);
  transition:
    opacity .32s ease .10s,
    transform .52s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.theoscope-card:hover .theoscope-wash,
.theoscope-card:focus-within .theoscope-wash{
  opacity:1;
}

.theoscope-card:hover .story-card-visual::before,
.theoscope-card:focus-within .story-card-visual::before,
.theoscope-card:hover .story-card-visual::after,
.theoscope-card:focus-within .story-card-visual::after{
  opacity:1;
}

.theoscope-card:hover .theoscope-hover-title,
.theoscope-card:focus-within .theoscope-hover-title{
  opacity:1;
  transform:translate(-50%,-50%);
}

@media(max-width:650px){
  .theoscope-card .theoscope-hover-title{
    font-size:clamp(28px,10vw,42px);
  }
}


/* A-AAGORA — coastal research artwork test */
.aagora-card{
  --card-accent:#A88E73;
}

.story-card.aagora-card.tone-blue .story-card-visual{
  background:
    url("assets/a-aagora-coast.png") center center / cover no-repeat !important;
}

.aagora-card .story-card-index{
  background:rgba(244,240,231,.90);
  color:#34312B;
  backdrop-filter:blur(5px);
}

.aagora-card .aagora-wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(43,47,46,.44);
  opacity:0;
  transition:opacity .42s ease;
  pointer-events:none;
}

.aagora-card .aagora-hover-title{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  transform:translate(-50%,-44%);
  opacity:0;
  color:#F4F0E7;
  font-family:"Manrope",sans-serif;
  font-size:clamp(30px,3.4vw,52px);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:.95;
  white-space:nowrap;
  text-shadow:0 1px 16px rgba(20,22,21,.18);
  transition:
    opacity .32s ease .10s,
    transform .52s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.aagora-card:hover .aagora-wash,
.aagora-card:focus-within .aagora-wash{
  opacity:1;
}

.aagora-card:hover .story-card-visual::before,
.aagora-card:focus-within .story-card-visual::before,
.aagora-card:hover .story-card-visual::after,
.aagora-card:focus-within .story-card-visual::after{
  opacity:1;
}

.aagora-card:hover .aagora-hover-title,
.aagora-card:focus-within .aagora-hover-title{
  opacity:1;
  transform:translate(-50%,-50%);
}

@media(max-width:650px){
  .aagora-card .aagora-hover-title{
    font-size:clamp(26px,8.5vw,38px);
  }
}


/* A-AAGORA refinement — warmer dune/olive hover */
.story-card.aagora-card{
  --card-accent:#9D9278;
}

.aagora-card .aagora-hover-title{
  font-size:clamp(29px,3.15vw,48px);
}

@media(max-width:650px){
  .aagora-card .aagora-hover-title{
    font-size:clamp(25px,8vw,36px);
  }
}


/* Image project cards — remove visual frame for edge-to-edge artwork */
.theoscope-card .story-card-visual,
.restore4cs-card .story-card-visual,
.aagora-card .story-card-visual{
  border:0;
  box-shadow:none;
}


/* LOCUST — contextual technology artwork */
.locust-card{
  --card-accent:#B47869;
}

.story-card.locust-card.tone-coral .story-card-visual{
  background:
    url("assets/locust-digital-context.png") center center / cover no-repeat !important;
  border:0;
  box-shadow:none;
}

.locust-card .story-card-index{
  background:rgba(244,240,231,.90);
  color:#34312B;
  backdrop-filter:blur(5px);
}

.locust-card .locust-wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(48,42,40,.46);
  opacity:0;
  transition:opacity .42s ease;
  pointer-events:none;
}

.locust-card .locust-hover-title{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  transform:translate(-50%,-44%);
  opacity:0;
  color:#F4F0E7;
  font-family:"Manrope",sans-serif;
  font-size:clamp(30px,3.15vw,48px);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:.95;
  white-space:nowrap;
  text-shadow:0 1px 16px rgba(20,22,21,.18);
  transition:
    opacity .32s ease .10s,
    transform .52s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.locust-card:hover .locust-wash,
.locust-card:focus-within .locust-wash{
  opacity:1;
}

.locust-card:hover .story-card-visual::before,
.locust-card:focus-within .story-card-visual::before,
.locust-card:hover .story-card-visual::after,
.locust-card:focus-within .story-card-visual::after{
  opacity:1;
}

.locust-card:hover .locust-hover-title,
.locust-card:focus-within .locust-hover-title{
  opacity:1;
  transform:translate(-50%,-50%);
}

@media(max-width:650px){
  .locust-card .locust-hover-title{
    font-size:clamp(25px,8vw,36px);
  }
}


/* Track-IN — rural pathways artwork */
.trackin-card{
  --card-accent:#A8A56A;
}

.story-card.trackin-card.tone-acid .story-card-visual{
  background:
    url("assets/trackin-rural-pathways.png") center center / cover no-repeat !important;
  border:0;
  box-shadow:none;
}

.trackin-card .story-card-index{
  background:rgba(244,240,231,.90);
  color:#34312B;
  backdrop-filter:blur(5px);
}

.trackin-card .trackin-wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(44,46,39,.42);
  opacity:0;
  transition:opacity .42s ease;
  pointer-events:none;
}

.trackin-card .trackin-hover-title{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  transform:translate(-50%,-44%);
  opacity:0;
  color:#F4F0E7;
  font-family:"Manrope",sans-serif;
  font-size:clamp(29px,3.05vw,46px);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:.95;
  white-space:nowrap;
  text-shadow:0 1px 16px rgba(20,22,21,.18);
  transition:
    opacity .32s ease .10s,
    transform .52s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.trackin-card:hover .trackin-wash,
.trackin-card:focus-within .trackin-wash{
  opacity:1;
}

.trackin-card:hover .story-card-visual::before,
.trackin-card:focus-within .story-card-visual::before,
.trackin-card:hover .story-card-visual::after,
.trackin-card:focus-within .story-card-visual::after{
  opacity:1;
}

.trackin-card:hover .trackin-hover-title,
.trackin-card:focus-within .trackin-hover-title{
  opacity:1;
  transform:translate(-50%,-50%);
}

@media(max-width:650px){
  .trackin-card .trackin-hover-title{
    font-size:clamp(24px,7.6vw,34px);
  }
}


/* ULTRATV — interactive television / HCI artwork */
.ultratv-card{
  --card-accent:#A96C52;
}

.story-card.ultratv-card.tone-rust .story-card-visual{
  background:
    url("assets/ultratv-interface.png") center center / cover no-repeat !important;
  border:0;
  box-shadow:none;
}

.ultratv-card .story-card-index{
  background:rgba(244,240,231,.90);
  color:#34312B;
  backdrop-filter:blur(5px);
}

.ultratv-card .ultratv-wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(42,38,37,.46);
  opacity:0;
  transition:opacity .42s ease;
  pointer-events:none;
}

.ultratv-card .ultratv-hover-title{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  transform:translate(-50%,-44%);
  opacity:0;
  color:#F4F0E7;
  font-family:"Manrope",sans-serif;
  font-size:clamp(34px,4.2vw,60px);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:.94;
  white-space:nowrap;
  text-shadow:0 1px 18px rgba(20,22,21,.20);
  transition:
    opacity .32s ease .10s,
    transform .52s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.ultratv-card:hover .ultratv-wash,
.ultratv-card:focus-within .ultratv-wash{
  opacity:1;
}

.ultratv-card:hover .story-card-visual::before,
.ultratv-card:focus-within .story-card-visual::before,
.ultratv-card:hover .story-card-visual::after,
.ultratv-card:focus-within .story-card-visual::after{
  opacity:1;
}

.ultratv-card:hover .ultratv-hover-title,
.ultratv-card:focus-within .ultratv-hover-title{
  opacity:1;
  transform:translate(-50%,-50%);
}

@media(max-width:900px){
  .ultratv-card .ultratv-hover-title{
    font-size:clamp(30px,8vw,46px);
  }
}

@media(max-width:650px){
  .ultratv-card .ultratv-hover-title{
    font-size:clamp(27px,9vw,40px);
  }
}


/* ABOUT ME — editorial profile page */
.about-page{
  --about-paper:#F4F0E7;
  --about-ink:#34312B;
  --about-muted:#AAA59B;
  --about-line:rgba(244,240,231,.14);
  --about-coral:#D97A63;
  --about-sage:#8FA99E;
  background:#34312B;
}

.about-page .site-footer{
  border-top:1px solid rgba(244,240,231,.14);
}

.about-hero{
  padding:92px 0 86px;
  border-bottom:1px solid var(--about-line);
}

.about-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.58fr);
  gap:80px;
  align-items:end;
}

.about-hero .label{
  color:var(--about-coral);
  margin-bottom:22px;
}

.about-hero h1{
  margin:0;
  max-width:930px;
  font-family:"Manrope",sans-serif;
  font-size:clamp(52px,6.2vw,88px);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.06em;
  color:var(--about-paper);
}

.about-lead{
  max-width:820px;
  margin:34px 0 0;
  font-size:18px;
  line-height:1.75;
  color:#B8B2A8;
}

.about-current{
  position:relative;
  padding:24px 0 4px 24px;
  border-left:1px solid rgba(244,240,231,.22);
}

.about-current::before{
  content:"";
  position:absolute;
  left:-1px;
  top:0;
  width:1px;
  height:38%;
  background:var(--about-coral);
}

.about-current-label,
.about-kicker,
.about-ecosystem-type{
  margin:0 0 20px;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--about-coral);
}

.about-current-item{
  padding:18px 0;
  border-top:1px solid rgba(244,240,231,.12);
}

.about-current-item span,
.about-current-item strong{
  display:block;
}

.about-current-item span{
  margin-bottom:6px;
  font-size:14px;
  color:var(--about-paper);
}

.about-current-item strong{
  font-size:12px;
  font-weight:400;
  line-height:1.55;
  color:#AAA59B;
}

.about-current-note{
  margin:26px 0 0;
  font-family:"Manrope",sans-serif;
  font-size:13px;
  color:#CDC7BC;
}

.about-story,
.about-methods,
.about-ecosystem{
  padding:92px 0;
  border-bottom:1px solid var(--about-line);
}

.about-story-grid,
.about-methods-grid{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:90px;
}

.about-story h2,
.about-methods h2,
.about-section-head h2{
  margin:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(36px,4.5vw,60px);
  font-weight:300;
  line-height:1.04;
  letter-spacing:-.045em;
  color:var(--about-paper);
}

.about-story-copy{
  max-width:760px;
  font-size:19px;
  line-height:1.75;
  color:#B8B2A8;
}

.about-story-copy p{
  margin:0 0 24px;
}

.about-themes,
.about-background{
  padding:92px 0;
  background:var(--about-paper);
  color:var(--about-ink);
}

.about-themes .about-kicker,
.about-background .about-kicker{
  color:#B65F4D;
}

.about-themes .about-section-head h2,
.about-background .about-section-head h2{
  color:var(--about-ink);
}

.about-section-head{
  display:grid;
  grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);
  gap:60px;
  align-items:start;
  margin-bottom:60px;
}

.about-theme-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(52,49,43,.18);
  border-bottom:1px solid rgba(52,49,43,.18);
}

.about-theme-card{
  min-height:310px;
  padding:24px 28px 30px;
  border-right:1px solid rgba(52,49,43,.18);
}

.about-theme-card:last-child{
  border-right:0;
}

.about-theme-card>span{
  display:block;
  margin-bottom:72px;
  font-size:11px;
  letter-spacing:.12em;
  color:#8A847A;
}

.about-theme-card h3{
  margin:0 0 18px;
  font-family:"Manrope",sans-serif;
  font-size:25px;
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.025em;
}

.about-theme-card p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:#676158;
}

.about-method-list{
  border-top:1px solid rgba(244,240,231,.18);
}

.about-method-list>div{
  display:grid;
  grid-template-columns:minmax(180px,.46fr) 1fr;
  gap:34px;
  padding:22px 0;
  border-bottom:1px solid rgba(244,240,231,.12);
}

.about-method-list strong{
  font-family:"Manrope",sans-serif;
  font-size:18px;
  font-weight:500;
  color:var(--about-paper);
}

.about-method-list span{
  font-size:14px;
  line-height:1.6;
  color:#AAA59B;
}

.about-degree-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(52,49,43,.2);
}

.about-degree-grid article{
  padding:28px 30px 16px 0;
  border-right:1px solid rgba(52,49,43,.18);
}

.about-degree-grid article+article{
  padding-left:30px;
}

.about-degree-grid article:last-child{
  border-right:0;
}

.about-degree-grid p{
  margin:0 0 42px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9B5E50;
}

.about-degree-grid h3{
  margin:0 0 8px;
  font-family:"Manrope",sans-serif;
  font-size:25px;
  font-weight:500;
  letter-spacing:-.025em;
}

.about-degree-grid span{
  font-size:14px;
  color:#6D675E;
}

.about-ecosystem-grid{
  display:grid;
  grid-template-columns:1.12fr 1fr .82fr;
  gap:54px;
  padding-top:4px;
}

.about-ecosystem-grid>article{
  padding-top:22px;
  border-top:1px solid rgba(244,240,231,.18);
}

.about-entry{
  margin-bottom:26px;
}

.about-entry strong,
.about-entry span{
  display:block;
}

.about-entry strong{
  margin-bottom:6px;
  font-family:"Manrope",sans-serif;
  font-size:17px;
  font-weight:500;
  color:var(--about-paper);
}

.about-entry span{
  font-size:13px;
  line-height:1.55;
  color:#9F9A90;
}

.about-next{
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:end;
  margin-top:72px;
  padding-top:30px;
  border-top:1px solid rgba(244,240,231,.18);
}

.about-next p{
  margin:0;
  max-width:420px;
  font-family:"Manrope",sans-serif;
  font-size:22px;
  line-height:1.35;
  color:var(--about-paper);
}

.about-next>div{
  display:flex;
  gap:26px;
  flex-wrap:wrap;
}

.about-next a{
  color:var(--about-paper);
  text-decoration:none;
  padding-bottom:4px;
  border-bottom:1px solid rgba(244,240,231,.48);
  font-size:13px;
}

.about-next a:hover{
  border-bottom-color:var(--about-coral);
}

@media(max-width:1000px){
  .about-hero-grid,
  .about-story-grid,
  .about-methods-grid{
    grid-template-columns:1fr;
    gap:48px;
  }

  .about-current{
    max-width:540px;
  }

  .about-theme-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .about-theme-card:nth-child(2){
    border-right:0;
  }

  .about-theme-card:nth-child(-n+2){
    border-bottom:1px solid rgba(52,49,43,.18);
  }

  .about-ecosystem-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .about-hero{
    padding:64px 0 58px;
  }

  .about-hero h1{
    font-size:clamp(44px,13vw,64px);
  }

  .about-story,
  .about-methods,
  .about-ecosystem,
  .about-themes,
  .about-background{
    padding:68px 0;
  }

  .about-section-head{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:42px;
  }

  .about-theme-grid,
  .about-degree-grid,
  .about-ecosystem-grid{
    grid-template-columns:1fr;
  }

  .about-theme-card,
  .about-theme-card:nth-child(2),
  .about-degree-grid article,
  .about-degree-grid article+article{
    min-height:auto;
    padding:24px 0 28px;
    border-right:0;
    border-bottom:1px solid rgba(52,49,43,.18);
  }

  .about-theme-card>span{
    margin-bottom:40px;
  }

  .about-degree-grid article:last-child,
  .about-theme-card:last-child{
    border-bottom:0;
  }

  .about-method-list>div{
    grid-template-columns:1fr;
    gap:7px;
  }

  .about-next{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* About me — current affiliation profile links */
.about-current-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
}

.about-current-heading>span{
  margin-bottom:6px;
}

.about-current-heading a{
  flex:0 0 auto;
  color:#C9C3B8;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:1px solid rgba(244,240,231,.28);
  padding-bottom:2px;
  transition:color .2s ease,border-color .2s ease;
}

.about-current-heading a span{
  display:inline;
  margin:0 0 0 3px;
}

.about-current-heading a:hover,
.about-current-heading a:focus-visible{
  color:#F4F0E7;
  border-bottom-color:#D97A63;
}

@media(max-width:520px){
  .about-current-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}


/* About me — visual academic trajectory */
.about-trajectory{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:8px;
  padding-top:12px;
}

.about-trajectory::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:29px;
  height:1px;
  background:rgba(52,49,43,.24);
}

.about-trajectory-step{
  position:relative;
  min-height:210px;
  padding:58px 30px 24px 0;
}

.about-trajectory-step+ .about-trajectory-step{
  padding-left:28px;
}

.about-trajectory-node{
  position:absolute;
  top:22px;
  left:0;
  width:15px;
  height:15px;
  border:2px solid #A59D8F;
  border-radius:50%;
  background:#F4F0E7;
  z-index:2;
}

.about-trajectory-step+ .about-trajectory-step .about-trajectory-node{
  left:28px;
}

.about-trajectory-step.is-current .about-trajectory-node{
  border-color:#B65F4D;
  background:#B65F4D;
  box-shadow:0 0 0 5px rgba(182,95,77,.10);
}

.about-trajectory-stage{
  margin:0 0 34px;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#A65F51;
}

.about-trajectory-step h3{
  margin:0 0 9px;
  max-width:230px;
  font-family:"Manrope",sans-serif;
  font-size:23px;
  font-weight:500;
  line-height:1.14;
  letter-spacing:-.025em;
  color:#34312B;
}

.about-trajectory-place{
  display:block;
  max-width:230px;
  font-size:13px;
  line-height:1.5;
  color:#6D675E;
}

.about-trajectory-step.is-current{
  background:none;
}

.about-trajectory-step.is-current h3{
  color:#8E4F43;
}

@media(max-width:800px){
  .about-trajectory{
    grid-template-columns:1fr;
    padding:0 0 0 28px;
  }

  .about-trajectory::before{
    left:7px;
    right:auto;
    top:0;
    bottom:0;
    width:1px;
    height:auto;
  }

  .about-trajectory-step,
  .about-trajectory-step+ .about-trajectory-step{
    min-height:auto;
    padding:18px 0 34px 28px;
  }

  .about-trajectory-node,
  .about-trajectory-step+ .about-trajectory-step .about-trajectory-node{
    top:22px;
    left:-28px;
  }

  .about-trajectory-stage{
    margin-bottom:16px;
  }

  .about-trajectory-step.is-current{
    background:none;
  }
}


/* About me — Academic Background visual test 1: Trajectory Lines */
.about-background{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.about-background::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(rgba(244,240,231,.20),rgba(244,240,231,.20)),
    url("assets/academic-architectural-v3.png") center center / cover no-repeat;
  opacity:.22;
  pointer-events:none;
}

.about-background>.wrap{
  position:relative;
  z-index:1;
}


/* About me — research ecosystem locations */
.about-entry .about-entry-location{
  margin-top:7px;
  font-size:10px;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#C97A65;
}


/* RESEARCH — editorial research page */
.research-page{
  --research-paper:#F4F0E7;
  --research-ink:#34312B;
  --research-muted:#AAA59B;
  --research-line:rgba(244,240,231,.14);
  --research-coral:#D97A63;
  background:#34312B;
}

.research-hero{
  padding:96px 0 92px;
  border-bottom:1px solid var(--research-line);
}

.research-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);
  gap:82px;
  align-items:end;
}

.research-hero .label{
  margin-bottom:22px;
  color:var(--research-coral);
}

.research-hero h1{
  margin:0;
  max-width:980px;
  font-family:"Manrope",sans-serif;
  font-size:clamp(52px,6.1vw,86px);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.058em;
  color:var(--research-paper);
}

.research-hero-lead{
  margin:0 0 7px;
  max-width:510px;
  font-size:17px;
  line-height:1.75;
  color:#B8B2A8;
}

.research-landscape{
  padding:92px 0 96px;
  background:var(--research-paper);
  color:var(--research-ink);
}

.research-section-head{
  display:grid;
  grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);
  gap:62px;
  align-items:start;
  margin-bottom:62px;
}

.research-kicker{
  margin:0;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--research-coral);
}

.research-section-head h2,
.research-approach h2{
  margin:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(38px,4.6vw,62px);
  font-weight:300;
  line-height:1.03;
  letter-spacing:-.047em;
}

.research-domain-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(52,49,43,.18);
}

.research-domain{
  padding:30px 36px 36px 0;
  border-bottom:1px solid rgba(52,49,43,.18);
}

.research-domain:nth-child(odd){
  border-right:1px solid rgba(52,49,43,.18);
}

.research-domain:nth-child(even){
  padding-left:36px;
}

.research-domain-top{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:58px;
}

.research-domain-index{
  font-size:10px;
  letter-spacing:.14em;
  color:#9A756A;
}

.research-domain-line{
  width:44px;
  height:1px;
  background:#B8AFA2;
}

.research-domain h3{
  margin:0 0 20px;
  max-width:520px;
  font-family:"Manrope",sans-serif;
  font-size:clamp(30px,3vw,42px);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.04em;
}

.research-domain-question{
  margin:0 0 22px;
  max-width:570px;
  font-size:18px;
  line-height:1.5;
  color:#6D544C;
}

.research-domain>p:not(.research-domain-question){
  margin:0;
  max-width:570px;
  font-size:14px;
  line-height:1.7;
  color:#666057;
}

.research-domain-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:30px;
}

.research-domain-tags span{
  padding:6px 9px;
  border:1px solid rgba(52,49,43,.18);
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#676158;
}

.research-crosscut{
  padding:94px 0 100px;
  border-bottom:1px solid var(--research-line);
}

.research-crosscut .research-section-head h2{
  color:var(--research-paper);
}

.research-question-list{
  border-top:1px solid rgba(244,240,231,.17);
}

.research-question-list article{
  display:grid;
  grid-template-columns:180px minmax(300px,.9fr) minmax(280px,.8fr);
  gap:36px;
  align-items:start;
  padding:30px 0 34px;
  border-bottom:1px solid rgba(244,240,231,.12);
}

.research-question-list span{
  padding-top:4px;
  font-size:10px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--research-coral);
}

.research-question-list h3{
  margin:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(24px,2.5vw,35px);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.032em;
  color:var(--research-paper);
}

.research-question-list p{
  margin:2px 0 0;
  font-size:14px;
  line-height:1.65;
  color:#AAA59B;
}

.research-approach{
  padding:92px 0;
  background:#292722;
}

.research-approach-grid{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:90px;
}

.research-approach h2{
  margin-top:14px;
  color:var(--research-paper);
}

.research-approach-copy{
  max-width:760px;
  font-size:18px;
  line-height:1.75;
  color:#B8B2A8;
}

.research-approach-copy p{
  margin:0 0 24px;
}

.research-next{
  padding:42px 0 46px;
  border-top:1px solid rgba(244,240,231,.12);
  border-bottom:1px solid rgba(244,240,231,.12);
}

.research-next-inner{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
}

.research-next p{
  margin:0;
  max-width:480px;
  font-family:"Manrope",sans-serif;
  font-size:22px;
  line-height:1.35;
  color:var(--research-paper);
}

.research-next-inner>div{
  display:flex;
  gap:26px;
  flex-wrap:wrap;
}

.research-next a{
  color:var(--research-paper);
  text-decoration:none;
  padding-bottom:4px;
  border-bottom:1px solid rgba(244,240,231,.44);
  font-size:13px;
}

.research-next a:hover{
  border-bottom-color:var(--research-coral);
}

@media(max-width:1000px){
  .research-hero-grid,
  .research-approach-grid{
    grid-template-columns:1fr;
    gap:46px;
  }

  .research-question-list article{
    grid-template-columns:130px 1fr;
  }

  .research-question-list p{
    grid-column:2;
  }
}

@media(max-width:760px){
  .research-hero{
    padding:66px 0 62px;
  }

  .research-hero h1{
    font-size:clamp(44px,13vw,64px);
  }

  .research-landscape,
  .research-crosscut,
  .research-approach{
    padding:68px 0;
  }

  .research-section-head{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:42px;
  }

  .research-domain-grid{
    grid-template-columns:1fr;
  }

  .research-domain,
  .research-domain:nth-child(even){
    padding:28px 0 32px;
    border-right:0;
  }

  .research-domain-top{
    margin-bottom:34px;
  }

  .research-question-list article{
    grid-template-columns:1fr;
    gap:12px;
  }

  .research-question-list p{
    grid-column:auto;
  }

  .research-next-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Research — visual constellation */
.research-constellation{
  padding:70px 0 88px;
  background:#2D2B26;
  border-bottom:1px solid rgba(244,240,231,.12);
  overflow:hidden;
}

.research-constellation-intro{
  display:grid;
  grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);
  gap:62px;
  align-items:start;
  margin-bottom:28px;
}

.research-constellation-intro h2{
  margin:0;
  max-width:760px;
  font-family:"Manrope",sans-serif;
  font-size:clamp(34px,4.2vw,56px);
  font-weight:300;
  line-height:1.04;
  letter-spacing:-.045em;
  color:var(--research-paper);
}

.research-constellation-map{
  position:relative;
  min-height:500px;
  margin-top:10px;
}

.research-constellation-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  color:rgba(244,240,231,.20);
  pointer-events:none;
}

.research-constellation-lines path,
.research-constellation-lines circle{
  fill:none;
  stroke:currentColor;
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}

.research-constellation-lines .research-constellation-cross{
  stroke:rgba(217,122,99,.18);
  stroke-dasharray:3 8;
}

.research-constellation-lines .research-constellation-core-dot{
  fill:#D97A63;
  stroke:none;
}

.research-constellation-core{
  position:absolute;
  left:50%;
  top:50%;
  width:250px;
  transform:translate(-50%,-50%);
  text-align:center;
  z-index:2;
}

.research-constellation-core span{
  display:block;
  margin-bottom:10px;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#D97A63;
}

.research-constellation-core strong{
  display:block;
  font-family:"Manrope",sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:1.45;
  color:#D9D3C8;
}

.research-constellation-node{
  position:absolute;
  width:255px;
  z-index:3;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}

.research-constellation-node:hover{
  transform:translateY(-4px);
}

.research-constellation-node h3{
  margin:0 0 8px;
  font-family:"Manrope",sans-serif;
  font-size:23px;
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--research-paper);
}

.research-constellation-node p{
  margin:0;
  max-width:240px;
  font-size:11px;
  line-height:1.55;
  color:#928D84;
}

.node-digital{left:7%;top:10%}
.node-hci{right:7%;top:10%;text-align:right}
.node-sustainability{left:8%;bottom:7%}
.node-ai{right:8%;bottom:7%;text-align:right}

.node-hci p,
.node-ai p{
  margin-left:auto;
}

.research-node-shape{
  position:relative;
  display:inline-block;
  width:14px;
  height:14px;
  margin-bottom:16px;
  color:#B9B2A7;
  transition:color .25s ease,transform .35s ease;
}

.research-constellation-node:hover .research-node-shape{
  color:#D97A63;
  transform:scale(1.12);
}

.shape-circle{
  border:1px solid currentColor;
  border-radius:50%;
}

.shape-square{
  border:1px solid currentColor;
}

.shape-diamond{
  border:1px solid currentColor;
  transform:rotate(45deg);
}

.research-constellation-node:hover .shape-diamond{
  transform:rotate(45deg) scale(1.12);
}

.shape-cross::before,
.shape-cross::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:currentColor;
  transform:translate(-50%,-50%);
}

.shape-cross::before{width:14px;height:1px}
.shape-cross::after{width:1px;height:14px}

/* Replace numeric markers with geometry in detailed research domains */
.research-domain-index{
  display:none;
}

.research-domain-symbol{
  position:relative;
  display:block;
  flex:0 0 auto;
  width:13px;
  height:13px;
  color:#9A756A;
}

.symbol-circle{
  border:1px solid currentColor;
  border-radius:50%;
}

.symbol-square{
  border:1px solid currentColor;
}

.symbol-diamond{
  border:1px solid currentColor;
  transform:rotate(45deg);
}

.symbol-cross::before,
.symbol-cross::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:currentColor;
  transform:translate(-50%,-50%);
}

.symbol-cross::before{width:13px;height:1px}
.symbol-cross::after{width:1px;height:13px}

@media(max-width:900px){
  .research-constellation-intro{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:38px;
  }

  .research-constellation-map{
    min-height:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:38px 28px;
    padding:34px 0 10px;
  }

  .research-constellation-lines{
    display:none;
  }

  .research-constellation-core{
    position:relative;
    left:auto;
    top:auto;
    width:auto;
    transform:none;
    text-align:left;
    grid-column:1/-1;
    padding-bottom:26px;
    border-bottom:1px solid rgba(244,240,231,.14);
  }

  .research-constellation-node{
    position:relative;
    width:auto;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    text-align:left;
  }

  .node-hci p,
  .node-ai p{
    margin-left:0;
  }
}

@media(max-width:600px){
  .research-constellation{
    padding:62px 0 68px;
  }

  .research-constellation-map{
    grid-template-columns:1fr;
  }

  .research-constellation-core{
    grid-column:auto;
  }

  .research-constellation-node{
    padding-bottom:24px;
    border-bottom:1px solid rgba(244,240,231,.10);
  }
}


/* Research constellation — refined desktop composition */
@media(min-width:901px){
  .research-constellation{
    padding:62px 0 76px;
  }

  .research-constellation-intro{
    margin-bottom:12px;
  }

  .research-constellation-map{
    width:min(1100px,100%);
    min-height:400px;
    margin:0 auto;
  }

  .research-constellation-lines{
    color:rgba(244,240,231,.26);
  }

  .research-constellation-lines .research-constellation-cross{
    stroke:rgba(217,122,99,.23);
  }

  .research-constellation-core{
    width:230px;
  }

  .research-constellation-core strong{
    font-size:19px;
    line-height:1.4;
  }

  .research-constellation-node{
    width:220px;
  }

  .research-constellation-node p{
    font-size:12px;
    line-height:1.5;
  }

  .node-digital{
    left:0;
    top:4%;
  }

  .node-hci{
    right:0;
    top:4%;
  }

  .node-sustainability{
    left:0;
    bottom:2%;
  }

  .node-ai{
    right:0;
    bottom:2%;
  }
}


/* Research constellation — endpoint refinement */
.research-constellation-lines .research-constellation-endpoint{
  fill:#B9B2A7;
  stroke:none;
  opacity:.9;
}


/* PUBLICATIONS — editorial index */
.publications-page{
  --pub-paper:#F4F0E7;
  --pub-ink:#34312B;
  --pub-muted:#AAA59B;
  --pub-coral:#D97A63;
  background:#34312B;
}

.publications-hero{
  padding:98px 0 92px;
  border-bottom:1px solid rgba(244,240,231,.14);
}

.publications-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);
  gap:84px;
  align-items:end;
}

.publications-hero .label{
  margin-bottom:20px;
  color:var(--pub-coral);
}

.publications-hero h1{
  margin:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(64px,8vw,118px);
  font-weight:300;
  line-height:.9;
  letter-spacing:-.065em;
  color:var(--pub-paper);
}

.publications-hero-side>p{
  margin:0;
  max-width:500px;
  font-size:17px;
  line-height:1.75;
  color:#B8B2A8;
}

.publications-theme-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid rgba(244,240,231,.14);
}

.publications-theme-line span{
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#888278;
}

.publications-index{
  padding:92px 0 100px;
  background:var(--pub-paper);
  color:var(--pub-ink);
}

.publications-section-head{
  display:grid;
  grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);
  gap:62px;
  align-items:start;
  margin-bottom:58px;
}

.publications-kicker{
  margin:0;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#C36C57;
}

.publications-section-head h2,
.publications-record h2{
  margin:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(38px,4.6vw,62px);
  font-weight:300;
  line-height:1.04;
  letter-spacing:-.046em;
}

.publication-list{
  border-top:1px solid rgba(52,49,43,.20);
}

.publication-entry{
  position:relative;
  border-bottom:1px solid rgba(52,49,43,.18);
  overflow:hidden;
  --pub-accent:#D97A63;
}

.publication-ux{--pub-accent:#7897AA}
.publication-climate{--pub-accent:#B76D50}
.publication-ocean{--pub-accent:#8FA99E}

.publication-entry-link{
  position:relative;
  display:grid;
  grid-template-columns:190px minmax(0,1fr) 210px;
  gap:42px;
  align-items:center;
  min-height:300px;
  padding:34px 28px 34px 0;
  color:inherit;
  text-decoration:none;
  transition:background .28s ease;
}

.publication-entry-link::before{
  content:"";
  position:absolute;
  inset:0;
  background:color-mix(in srgb,var(--pub-accent) 7%, transparent);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}

.publication-entry:hover .publication-entry-link::before,
.publication-entry:focus-within .publication-entry-link::before{
  opacity:1;
}

.publication-meta{
  position:relative;
  z-index:2;
  align-self:start;
  padding-top:7px;
}

.publication-year,
.publication-journal{
  display:block;
}

.publication-year{
  margin-bottom:34px;
  font-family:"Manrope",sans-serif;
  font-size:13px;
  letter-spacing:.12em;
  color:var(--pub-accent);
}

.publication-journal{
  max-width:150px;
  font-size:12px;
  line-height:1.5;
  color:#746E65;
}

.publication-main{
  position:relative;
  z-index:2;
  max-width:820px;
}

.publication-theme{
  margin:0 0 16px;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--pub-accent);
}

.publication-main h3{
  margin:0 0 18px;
  font-family:"Manrope",sans-serif;
  font-size:clamp(24px,2.8vw,40px);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.038em;
}

.publication-note{
  margin:0;
  max-width:690px;
  font-size:14px;
  line-height:1.7;
  color:#6D675E;
}

.publication-action{
  display:inline-block;
  margin-top:24px;
  padding-bottom:3px;
  border-bottom:1px solid rgba(52,49,43,.38);
  font-size:12px;
  color:#4C4841;
}

.publication-entry:hover .publication-action{
  border-bottom-color:var(--pub-accent);
}

.publication-visual{
  position:relative;
  z-index:2;
  width:180px;
  height:180px;
  justify-self:end;
  opacity:.82;
  transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}

.publication-entry:hover .publication-visual{
  transform:scale(1.04);
  opacity:1;
}

.publication-visual-time{
  border:1px solid color-mix(in srgb,var(--pub-accent) 35%, transparent);
  border-radius:50%;
}

.publication-visual-time::before,
.publication-visual-time::after{
  content:"";
  position:absolute;
  border:1px solid color-mix(in srgb,var(--pub-accent) 32%, transparent);
  border-radius:50%;
}

.publication-visual-time::before{inset:25px}
.publication-visual-time::after{inset:56px}
.publication-visual-time span{
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:78px;
  background:var(--pub-accent);
  transform-origin:bottom;
}
.publication-visual-time span:nth-child(1){transform:translate(-50%,-100%) rotate(0deg)}
.publication-visual-time span:nth-child(2){transform:translate(-50%,-100%) rotate(120deg)}
.publication-visual-time span:nth-child(3){transform:translate(-50%,-100%) rotate(240deg)}

.publication-visual-ux{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
}
.publication-visual-ux span{
  border:1px solid color-mix(in srgb,var(--pub-accent) 42%, transparent);
}
.publication-visual-ux span:nth-child(2),
.publication-visual-ux span:nth-child(3){
  background:color-mix(in srgb,var(--pub-accent) 12%, transparent);
}

.publication-visual-climate::before,
.publication-visual-climate::after{
  content:"";
  position:absolute;
  left:5px;
  right:5px;
  border:1px solid color-mix(in srgb,var(--pub-accent) 48%, transparent);
  border-bottom:0;
  border-radius:120px 120px 0 0;
}
.publication-visual-climate::before{top:38px;height:100px}
.publication-visual-climate::after{top:70px;height:68px}
.publication-visual-climate span{
  position:absolute;
  bottom:38px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--pub-accent);
}
.publication-visual-climate span:first-child{left:25px}
.publication-visual-climate span:last-child{right:25px}

.publication-visual-ocean{
  overflow:hidden;
}
.publication-visual-ocean span{
  position:absolute;
  left:-20px;
  width:220px;
  height:75px;
  border:1px solid color-mix(in srgb,var(--pub-accent) 48%, transparent);
  border-radius:50%;
}
.publication-visual-ocean span:nth-child(1){top:20px}
.publication-visual-ocean span:nth-child(2){top:55px}
.publication-visual-ocean span:nth-child(3){top:90px}

.publications-record{
  padding:82px 0 88px;
  background:#2B2924;
  border-bottom:1px solid rgba(244,240,231,.12);
}

.publications-record-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:70px;
  align-items:end;
}

.publications-record h2{
  max-width:720px;
  margin-top:14px;
  color:var(--pub-paper);
}

.publications-record-links{
  display:flex;
  flex-direction:column;
  min-width:260px;
  border-top:1px solid rgba(244,240,231,.18);
}

.publications-record-links a{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:16px 0;
  border-bottom:1px solid rgba(244,240,231,.12);
  color:#D5CFC5;
  text-decoration:none;
  font-size:13px;
}

.publications-record-links a:hover{
  color:var(--pub-paper);
}

@media(max-width:1000px){
  .publications-hero-grid{
    grid-template-columns:1fr;
    gap:46px;
  }

  .publication-entry-link{
    grid-template-columns:150px minmax(0,1fr);
  }

  .publication-visual{
    display:none;
  }
}

@media(max-width:720px){
  .publications-hero{
    padding:68px 0 64px;
  }

  .publications-hero h1{
    font-size:clamp(58px,17vw,82px);
  }

  .publications-index{
    padding:68px 0 74px;
  }

  .publications-section-head{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:40px;
  }

  .publication-entry-link{
    grid-template-columns:1fr;
    gap:18px;
    padding:30px 0 34px;
  }

  .publication-year{
    margin-bottom:8px;
  }

  .publication-journal{
    max-width:none;
  }

  .publications-record-inner{
    grid-template-columns:1fr;
    align-items:start;
  }

  .publications-record-links{
    min-width:0;
  }
}


/* PUBLICATIONS — featured editorial hierarchy */
.publications-index-v2{
  padding:92px 0 104px;
}

.publications-section-head-v2{
  margin-bottom:54px;
}

.publication-featured{
  position:relative;
  border-top:1px solid rgba(52,49,43,.2);
  border-bottom:1px solid rgba(52,49,43,.2);
  overflow:hidden;
}

.publication-featured-link{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  min-height:520px;
  color:inherit;
  text-decoration:none;
}

.publication-featured-copy{
  position:relative;
  z-index:2;
  padding:48px 54px 48px 0;
  align-self:center;
}

.publication-featured-meta{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:28px;
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#B96C59;
}

.publication-featured-meta span+span::before{
  content:"";
  display:inline-block;
  width:18px;
  height:1px;
  margin:0 18px 3px 0;
  background:rgba(52,49,43,.25);
}

.publication-featured h3{
  margin:0;
  max-width:900px;
  font-family:"Manrope",sans-serif;
  font-size:clamp(38px,4.4vw,66px);
  font-weight:300;
  line-height:1.01;
  letter-spacing:-.052em;
  color:#34312B;
}

.publication-featured-copy>p{
  max-width:650px;
  margin:28px 0 0;
  font-size:15px;
  line-height:1.7;
  color:#6A645B;
}

.publication-featured-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:30px;
}

.publication-featured-tags span{
  padding:7px 10px;
  border:1px solid rgba(52,49,43,.17);
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#6E675E;
}

.publication-featured-action{
  display:inline-block;
  margin-top:34px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(52,49,43,.38);
  font-size:12px;
  color:#4C4841;
}

.publication-featured-graphic{
  position:relative;
  overflow:hidden;
  min-height:520px;
  border-left:1px solid rgba(52,49,43,.14);
  background:
    radial-gradient(circle at 64% 54%,rgba(217,122,99,.08),transparent 34%),
    linear-gradient(135deg,rgba(217,122,99,.025),rgba(52,49,43,.012));
}

.publication-featured-word{
  position:absolute;
  right:-18px;
  top:50%;
  transform:translateY(-51%);
  font-family:"Manrope",sans-serif;
  font-size:clamp(100px,14vw,210px);
  font-weight:300;
  line-height:.8;
  letter-spacing:-.08em;
  color:transparent;
  -webkit-text-stroke:1px rgba(183,109,80,.32);
  white-space:nowrap;
}

.publication-time-orbit,
.publication-time-axis,
.publication-time-dot{
  position:absolute;
}

.publication-time-orbit{
  border:1px solid rgba(183,109,80,.25);
  border-radius:50%;
}

.publication-time-orbit.orbit-a{
  width:310px;
  height:310px;
  right:48px;
  top:105px;
}

.publication-time-orbit.orbit-b{
  width:190px;
  height:190px;
  right:108px;
  top:165px;
}

.publication-time-axis{
  background:rgba(183,109,80,.24);
  transform-origin:center;
}

.publication-time-axis.axis-a{
  width:1px;
  height:320px;
  right:202px;
  top:100px;
}

.publication-time-axis.axis-b{
  width:330px;
  height:1px;
  right:38px;
  top:260px;
}

.publication-time-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#B76D50;
  box-shadow:0 0 0 5px rgba(183,109,80,.08);
}

.publication-time-dot.dot-a{right:198px;top:155px}
.publication-time-dot.dot-b{right:98px;top:256px}
.publication-time-dot.dot-c{right:255px;top:325px}

.publication-featured-link:hover .publication-featured-word{
  -webkit-text-stroke-color:rgba(183,109,80,.55);
}

.publication-secondary-list{
  border-bottom:1px solid rgba(52,49,43,.2);
}

.publication-secondary{
  --secondary-accent:#7897AA;
  border-top:1px solid rgba(52,49,43,.16);
}

.publication-secondary-climate{--secondary-accent:#B76D50}
.publication-secondary-ocean{--secondary-accent:#8FA99E}

.publication-secondary>a{
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 42px;
  gap:38px;
  align-items:center;
  min-height:190px;
  padding:28px 8px 28px 0;
  color:inherit;
  text-decoration:none;
  transition:padding .28s ease,background .28s ease;
}

.publication-secondary>a:hover{
  padding-left:16px;
  background:color-mix(in srgb,var(--secondary-accent) 5%,transparent);
}

.publication-secondary-meta{
  align-self:start;
  padding-top:7px;
}

.publication-secondary-journal,
.publication-secondary-theme{
  display:block;
}

.publication-secondary-journal{
  margin-bottom:18px;
  font-size:12px;
  color:#5F5A52;
}

.publication-secondary-theme{
  max-width:190px;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--secondary-accent);
}

.publication-secondary h3{
  margin:0;
  max-width:900px;
  font-family:"Manrope",sans-serif;
  font-size:clamp(25px,3vw,42px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.04em;
}

.publication-secondary-arrow{
  justify-self:end;
  font-size:28px;
  font-weight:300;
  color:#8A8378;
  transition:transform .25s ease,color .25s ease;
}

.publication-secondary>a:hover .publication-secondary-arrow{
  transform:translate(4px,-4px);
  color:var(--secondary-accent);
}

@media(max-width:950px){
  .publication-featured-link{
    grid-template-columns:1fr;
  }

  .publication-featured-copy{
    padding-right:0;
  }

  .publication-featured-graphic{
    min-height:300px;
    border-left:0;
    border-top:1px solid rgba(52,49,43,.14);
  }

  .publication-secondary>a{
    grid-template-columns:180px minmax(0,1fr) 32px;
    gap:24px;
  }
}

@media(max-width:680px){
  .publication-featured-link{
    min-height:0;
  }

  .publication-featured-copy{
    padding:36px 0 40px;
  }

  .publication-featured h3{
    font-size:clamp(36px,11vw,52px);
  }

  .publication-featured-graphic{
    min-height:240px;
  }

  .publication-secondary>a{
    grid-template-columns:1fr 28px;
    min-height:0;
    padding:28px 0;
  }

  .publication-secondary-meta{
    grid-column:1;
  }

  .publication-secondary h3{
    grid-column:1;
  }

  .publication-secondary-arrow{
    grid-column:2;
    grid-row:1/3;
    align-self:center;
  }

  .publication-secondary-theme{
    max-width:none;
  }
}


/* PUBLICATIONS — Option B: modular visual language aligned with Project Involvement */
.publication-featured{
  --pub-module-accent:#D97A63;
}

.publication-modular-featured{
  background:
    linear-gradient(rgba(244,240,231,.72),rgba(244,240,231,.72)),
    linear-gradient(135deg,rgba(217,122,99,.09),rgba(52,49,43,.015));
}

.publication-modular-featured .publication-featured-word{
  right:-8px;
  top:50%;
  font-size:clamp(92px,12vw,180px);
  -webkit-text-stroke:1px rgba(183,109,80,.28);
  color:transparent;
  opacity:.82;
  z-index:1;
}

.pub-block,
.pub-guide{
  position:absolute;
  display:block;
}

.publication-modular-featured .pub-block{
  background:color-mix(in srgb,var(--pub-module-accent) 72%,#F4F0E7);
  opacity:.78;
  z-index:2;
  transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}

.publication-modular-featured .pub-block-a{
  width:34%;
  height:28%;
  left:5%;
  top:8%;
}

.publication-modular-featured .pub-block-b{
  width:46%;
  height:17%;
  right:0;
  top:33%;
}

.publication-modular-featured .pub-block-c{
  width:50%;
  height:24%;
  left:13%;
  bottom:8%;
}

.publication-modular-featured .pub-block-d{
  width:14%;
  height:14%;
  right:6%;
  bottom:10%;
}

.publication-modular-featured .pub-guide{
  background:rgba(52,49,43,.14);
  z-index:0;
}

.publication-modular-featured .pub-guide-h{
  left:0;
  right:0;
  top:57%;
  height:1px;
}

.publication-modular-featured .pub-guide-v{
  top:0;
  bottom:0;
  left:64%;
  width:1px;
}

.publication-featured-link:hover .publication-modular-featured .pub-block-a{
  transform:translate(8px,6px);
}

.publication-featured-link:hover .publication-modular-featured .pub-block-b{
  transform:translate(-10px,4px);
}

.publication-featured-link:hover .publication-modular-featured .pub-block-c{
  transform:translate(10px,-6px);
}

.publication-featured-link:hover .publication-modular-featured .pub-block-d{
  transform:translate(-7px,-6px);
}

.publication-secondary>a{
  grid-template-columns:220px minmax(0,1fr) 150px 34px;
  gap:34px;
}

.publication-modular-panel{
  position:relative;
  width:138px;
  height:122px;
  justify-self:end;
  overflow:hidden;
  background:rgba(52,49,43,.025);
  border:1px solid rgba(52,49,43,.10);
  --panel-accent:#7897AA;
}

.panel-ux{--panel-accent:#7897AA}
.panel-climate{--panel-accent:#B76D50}
.panel-ocean{--panel-accent:#8FB1A6}

.publication-modular-panel::before,
.publication-modular-panel::after{
  content:"";
  position:absolute;
  background:rgba(52,49,43,.09);
  z-index:0;
}

.publication-modular-panel::before{
  left:0;
  right:0;
  top:50%;
  height:1px;
}

.publication-modular-panel::after{
  top:0;
  bottom:0;
  left:50%;
  width:1px;
}

.publication-modular-panel .pub-block{
  background:color-mix(in srgb,var(--panel-accent) 72%,#F4F0E7);
  opacity:.82;
  z-index:1;
  transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s ease;
}

.publication-modular-panel .pub-block-a{
  width:38%;
  height:34%;
  left:0;
  top:0;
}

.publication-modular-panel .pub-block-b{
  width:46%;
  height:22%;
  right:0;
  top:28%;
}

.publication-modular-panel .pub-block-c{
  width:54%;
  height:28%;
  left:18%;
  bottom:0;
}

.publication-modular-panel .pub-block-d{
  width:20%;
  height:20%;
  right:6%;
  bottom:8%;
}

.publication-secondary>a:hover .publication-modular-panel .pub-block-a{
  transform:translate(5px,5px);
}

.publication-secondary>a:hover .publication-modular-panel .pub-block-b{
  transform:translate(-6px,3px);
}

.publication-secondary>a:hover .publication-modular-panel .pub-block-c{
  transform:translate(6px,-4px);
}

.publication-secondary>a:hover .publication-modular-panel .pub-block-d{
  transform:translate(-4px,-4px);
}

.publication-secondary>a:hover .publication-modular-panel{
  border-color:color-mix(in srgb,var(--panel-accent) 45%,transparent);
}

@media(max-width:1000px){
  .publication-secondary>a{
    grid-template-columns:180px minmax(0,1fr) 120px 30px;
    gap:24px;
  }

  .publication-modular-panel{
    width:110px;
    height:100px;
  }
}

@media(max-width:760px){
  .publication-secondary>a{
    grid-template-columns:1fr 30px;
  }

  .publication-modular-panel{
    display:none;
  }
}


/* PUBLICATIONS — card system aligned with Project Involvement */
.publications-cards-section{
  padding:92px 0 104px;
  background:#F4F0E7;
  color:#34312B;
}

.publication-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:42px 34px;
}

.publication-card{
  --pub-accent:#D97A63;
  min-width:0;
}

.pub-card-ux{--pub-accent:#7897AA}
.pub-card-climate{--pub-accent:#B76D50}
.pub-card-ocean{--pub-accent:#8FB1A6}

.publication-card-link{
  display:flex;
  height:100%;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
}

.publication-card-visual{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid rgba(52,49,43,.13);
  background:#EFEADF;
  isolation:isolate;
}

.publication-card-label{
  position:absolute;
  top:22px;
  left:22px;
  z-index:8;
  max-width:70%;
  padding:11px 14px;
  background:rgba(244,240,231,.92);
  font-size:10px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#34312B;
}

.publication-art{
  position:absolute;
  inset:0;
  z-index:1;
  transition:opacity .35s ease,transform .55s cubic-bezier(.22,1,.36,1),filter .35s ease;
}

.publication-card-wash{
  position:absolute;
  inset:0;
  z-index:2;
  background:rgba(244,240,231,.62);
  opacity:0;
  transition:opacity .3s ease;
}

.pub-hover-block{
  position:absolute;
  z-index:4;
  display:block;
  background:var(--pub-accent);
  opacity:0;
  transition:
    opacity .28s ease,
    transform .55s cubic-bezier(.22,1,.36,1);
}

.pub-hover-block.block-1{
  width:29%;
  height:33%;
  left:-2%;
  top:0;
  transform:translateX(-12px);
}

.pub-hover-block.block-2{
  width:50%;
  height:17%;
  right:-2%;
  top:35%;
  transform:translateX(12px);
}

.pub-hover-block.block-3{
  width:50%;
  height:24%;
  left:-2%;
  top:73%;
  transform:translateX(-12px);
}

.pub-hover-block.block-4{
  width:14%;
  height:14%;
  right:-1%;
  bottom:0;
  transform:translateX(12px);
}

.publication-hover-title{
  position:absolute;
  left:50%;
  top:53%;
  z-index:6;
  width:84%;
  transform:translate(-50%,-50%);
  opacity:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(34px,4vw,58px);
  font-weight:400;
  line-height:.92;
  letter-spacing:-.055em;
  text-align:center;
  color:#34312B;
  transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1);
}

.publication-card:hover .publication-card-wash,
.publication-card:focus-within .publication-card-wash{
  opacity:1;
}

.publication-card:hover .pub-hover-block,
.publication-card:focus-within .pub-hover-block{
  opacity:.94;
  transform:translateX(0);
}

.publication-card:hover .publication-hover-title,
.publication-card:focus-within .publication-hover-title{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}

.publication-card:hover .publication-art,
.publication-card:focus-within .publication-art{
  opacity:.42;
  transform:scale(1.015);
  filter:saturate(.8);
}

.publication-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:26px 2px 0;
}

.publication-card-meta{
  margin:0 0 15px;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--pub-accent);
}

.publication-card-body h3{
  margin:0;
  font-family:"Manrope",sans-serif;
  font-size:clamp(25px,2.4vw,37px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.04em;
}

.publication-card-body>p:not(.publication-card-meta){
  margin:18px 0 0;
  max-width:620px;
  font-size:13px;
  line-height:1.65;
  color:#6C665D;
}

.publication-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:22px;
}

.publication-card-tags span{
  padding:6px 8px;
  border:1px solid rgba(52,49,43,.17);
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6C665D;
}

.publication-card-action{
  align-self:flex-start;
  margin-top:24px;
  padding-bottom:3px;
  border-bottom:1px solid rgba(52,49,43,.34);
  font-size:11px;
}

.publication-card:hover .publication-card-action{
  border-bottom-color:var(--pub-accent);
}

/* Publication visual 01 — time */
.publication-art-time{
  background:
    linear-gradient(rgba(183,109,80,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(183,109,80,.055) 1px,transparent 1px),
    radial-gradient(circle at 58% 48%,rgba(217,122,99,.15),transparent 18%),
    #F1ECE2;
  background-size:54px 54px,54px 54px,auto,auto;
}

.time-ring{
  position:absolute;
  border:1px solid rgba(183,109,80,.42);
  border-radius:50%;
}

.time-ring.ring-1{width:48%;aspect-ratio:1;left:28%;top:15%}
.time-ring.ring-2{width:35%;aspect-ratio:1;left:36%;top:38%}
.time-axis{position:absolute;background:rgba(183,109,80,.34)}
.time-axis.axis-v{width:1px;height:76%;left:52%;top:9%}
.time-axis.axis-h{height:1px;width:72%;left:14%;top:52%}
.time-grain{
  position:absolute;
  width:31%;
  height:42%;
  border-radius:48% 52% 46% 54%;
  background:
    radial-gradient(circle,rgba(183,109,80,.32) 0 1px,transparent 1.3px);
  background-size:5px 5px;
  opacity:.46;
}
.time-grain.grain-a{left:34%;top:25%;transform:rotate(13deg)}
.time-grain.grain-b{left:45%;top:46%;transform:rotate(-18deg)}
.time-point{position:absolute;width:7px;height:7px;border-radius:50%;background:#B76D50}
.time-point.point-a{left:51.4%;top:24%}
.time-point.point-b{left:65%;top:51%}
.time-point.point-c{left:40%;top:66%}

/* Publication visual 02 — HCI */
.publication-art-ux{
  background:
    linear-gradient(rgba(120,151,170,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,151,170,.055) 1px,transparent 1px),
    #F0ECE2;
  background-size:48px 48px;
}
.publication-art-ux span{
  position:absolute;
  border:1px solid rgba(120,151,170,.42);
  background:rgba(120,151,170,.07);
}
.publication-art-ux span:nth-child(1){width:28%;height:24%;left:18%;top:23%}
.publication-art-ux span:nth-child(2){width:31%;height:19%;right:17%;top:18%}
.publication-art-ux span:nth-child(3){width:35%;height:28%;left:27%;bottom:18%}
.publication-art-ux span:nth-child(4){width:18%;height:18%;right:14%;bottom:14%}
.publication-art-ux i{
  position:absolute;
  background:rgba(120,151,170,.32);
}
.publication-art-ux i:nth-of-type(1){width:1px;height:72%;left:50%;top:14%}
.publication-art-ux i:nth-of-type(2){height:1px;width:72%;left:14%;top:50%}

/* Publication visual 03 — climate */
.publication-art-climate{
  background:
    radial-gradient(circle at 50% 76%,rgba(183,109,80,.11),transparent 30%),
    linear-gradient(rgba(183,109,80,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(183,109,80,.045) 1px,transparent 1px),
    #F1ECE2;
  background-size:auto,58px 58px,58px 58px,auto;
}
.bridge{
  position:absolute;
  left:16%;
  right:16%;
  border:1px solid rgba(183,109,80,.48);
  border-bottom:0;
  border-radius:999px 999px 0 0;
}
.bridge.bridge-a{top:28%;height:40%}
.bridge.bridge-b{top:40%;height:28%}
.climate-dot{position:absolute;bottom:29%;width:9px;height:9px;border-radius:50%;background:#B76D50}
.climate-dot.dot-left{left:22%}
.climate-dot.dot-right{right:22%}
.climate-line{position:absolute;width:1px;height:66%;left:50%;top:17%;background:rgba(183,109,80,.28)}

/* Publication visual 04 — ocean */
.publication-art-ocean{
  background:
    linear-gradient(rgba(143,177,166,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(143,177,166,.05) 1px,transparent 1px),
    #F0ECE2;
  background-size:54px 54px;
}
.wave{
  position:absolute;
  left:12%;
  width:76%;
  height:26%;
  border:1px solid rgba(143,177,166,.48);
  border-radius:50%;
}
.wave.wave-1{top:25%}
.wave.wave-2{top:37%}
.wave.wave-3{top:49%}
.ocean-guide{position:absolute;background:rgba(143,177,166,.28)}
.ocean-guide.guide-v{width:1px;height:70%;left:50%;top:15%}
.ocean-guide.guide-h{height:1px;width:74%;left:13%;top:62%}

@media(max-width:900px){
  .publication-card-grid{
    grid-template-columns:1fr;
  }

  .publication-card-visual{
    aspect-ratio:16/10;
  }
}

@media(max-width:620px){
  .publications-cards-section{
    padding:68px 0 76px;
  }

  .publication-card-grid{
    gap:48px;
  }

  .publication-card-visual{
    aspect-ratio:4/3;
  }

  .publication-card-label{
    top:16px;
    left:16px;
    font-size:9px;
  }

  .publication-hover-title{
    font-size:clamp(30px,9vw,42px);
  }

  .publication-card-body h3{
    font-size:clamp(26px,8vw,36px);
  }
}


/* Publications — final card refinements */
@media(min-width:901px){
  .publication-card-visual{
    aspect-ratio:16/11;
  }
}

/* Keep the first card's hover slightly calmer than the other publication cards */
.pub-card-time:hover .pub-hover-block,
.pub-card-time:focus-within .pub-hover-block{
  opacity:.86;
}

.pub-card-time:hover .publication-card-wash,
.pub-card-time:focus-within .publication-card-wash{
  opacity:.52;
}

.pub-card-time .publication-hover-title{
  width:80%;
  font-size:clamp(32px,3.7vw,54px);
}


/* Publications — refine normal-state illustrations */
.publication-art-ux::before{
  content:"";
  position:absolute;
  width:54%;
  aspect-ratio:1;
  left:23%;
  top:18%;
  border:1px dashed rgba(120,151,170,.20);
  border-radius:50%;
  pointer-events:none;
}

.publication-art-ux::after{
  content:"";
  position:absolute;
  right:10%;
  top:13%;
  width:42px;
  height:42px;
  border:1px solid rgba(120,151,170,.24);
  border-radius:50%;
  background:
    linear-gradient(rgba(120,151,170,.28),rgba(120,151,170,.28)) center/1px 56px no-repeat,
    linear-gradient(90deg,rgba(120,151,170,.28),rgba(120,151,170,.28)) center/56px 1px no-repeat;
  pointer-events:none;
}

.publication-art-ux span::before,
.publication-art-ux span::after{
  content:"";
  position:absolute;
  background:rgba(120,151,170,.26);
}

.publication-art-ux span::before{
  width:13px;
  height:1px;
  left:10px;
  bottom:11px;
  box-shadow:0 -5px 0 rgba(120,151,170,.17);
}

.publication-art-ux span::after{
  width:5px;
  height:5px;
  right:-3px;
  top:-3px;
  background:#7897AA;
}

.publication-art-climate::before{
  content:"";
  position:absolute;
  width:64%;
  height:30%;
  left:18%;
  bottom:20%;
  border-top:1px dashed rgba(183,109,80,.34);
  border-radius:50%;
  transform:scaleY(.7);
  pointer-events:none;
}

.publication-art-climate::after{
  content:"";
  position:absolute;
  width:54%;
  aspect-ratio:1;
  left:23%;
  top:10%;
  border:1px dashed rgba(183,109,80,.14);
  border-radius:50%;
  pointer-events:none;
}

.pub-card-climate .climate-dot{
  box-shadow:0 0 0 6px rgba(183,109,80,.08);
}

.pub-card-climate .climate-line{
  box-shadow:
    -1px 0 0 rgba(183,109,80,.05),
    1px 0 0 rgba(183,109,80,.05);
}

.publication-art-ocean::before{
  content:"";
  position:absolute;
  width:66%;
  aspect-ratio:1;
  left:17%;
  top:5%;
  border:1px dashed rgba(143,177,166,.16);
  border-radius:50%;
  pointer-events:none;
}

.publication-art-ocean::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  top:31%;
  height:38%;
  background:
    radial-gradient(circle at 8% 62%,rgba(143,177,166,.34) 0 2px,transparent 2.5px),
    radial-gradient(circle at 32% 45%,rgba(143,177,166,.25) 0 1.5px,transparent 2px),
    radial-gradient(circle at 64% 57%,rgba(143,177,166,.28) 0 1.5px,transparent 2px),
    radial-gradient(circle at 88% 38%,rgba(143,177,166,.34) 0 2px,transparent 2.5px);
  pointer-events:none;
}

.publication-art-ocean .wave{
  box-shadow:
    0 12px 0 -11px rgba(143,177,166,.14),
    0 -12px 0 -11px rgba(143,177,166,.10);
}


/* IMPACT — research-to-practice editorial page */
.impact-page{
  --impact-paper:#F4F0E7;
  --impact-ink:#34312B;
  --impact-muted:#AAA59B;
  --impact-coral:#D97A63;
  --impact-blue:#7897AA;
  --impact-sage:#8FB1A6;
  --impact-sand:#B8A98B;
  background:#34312B;
}

.impact-hero{
  padding:96px 0 92px;
  border-bottom:1px solid rgba(244,240,231,.14);
}

.impact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);
  gap:84px;
  align-items:end;
}

.impact-hero .label{
  margin-bottom:20px;
  color:var(--impact-coral);
}

.impact-hero h1{
  margin:0;
  max-width:900px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(64px,8vw,118px);
  font-weight:300;
  line-height:.9;
  letter-spacing:-.065em;
  color:var(--impact-paper);
}

.impact-hero-side>p{
  margin:0;
  max-width:500px;
  font-size:17px;
  line-height:1.75;
  color:#B8B2A8;
}

.impact-hero-note{
  margin-top:28px!important;
  padding-top:18px;
  border-top:1px solid rgba(244,240,231,.14);
  font-size:12px!important;
  line-height:1.65!important;
  color:#817C73!important;
}

.impact-pathways{
  padding:92px 0 100px;
  background:var(--impact-paper);
  color:var(--impact-ink);
}

.impact-section-head,
.impact-practice-head{
  display:grid;
  grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);
  gap:62px;
  align-items:start;
  margin-bottom:64px;
}

.impact-kicker{
  margin:0;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#C36C57;
}

.impact-section-head h2,
.impact-practice-head h2{
  margin:0;
  max-width:780px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(38px,4.6vw,62px);
  font-weight:300;
  line-height:1.04;
  letter-spacing:-.046em;
}

.impact-pathway-rail{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(52,49,43,.20);
}

.impact-pathway-rail::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,var(--impact-coral),var(--impact-blue),var(--impact-sage),var(--impact-sand));
  opacity:.42;
}

.impact-pathway{
  position:relative;
  min-height:300px;
  padding:48px 30px 26px 0;
  border-right:1px solid rgba(52,49,43,.14);
}

.impact-pathway+.impact-pathway{
  padding-left:30px;
}

.impact-pathway:last-child{
  border-right:0;
}

.impact-pathway-marker{
  position:absolute;
  top:-8px;
  left:0;
  width:15px;
  height:15px;
  background:var(--pathway-accent);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--pathway-accent) 13%,transparent);
}

.impact-pathway+.impact-pathway .impact-pathway-marker{
  left:30px;
}

.pathway-people{--pathway-accent:var(--impact-coral)}
.pathway-use{--pathway-accent:var(--impact-blue)}
.pathway-uptake{--pathway-accent:var(--impact-sage)}
.pathway-links{--pathway-accent:var(--impact-sand)}

.pathway-people .impact-pathway-marker{border-radius:50%}
.pathway-use .impact-pathway-marker{border-radius:0}
.pathway-uptake .impact-pathway-marker{
  background:transparent;
  box-shadow:none;
}
.pathway-uptake .impact-pathway-marker::before,
.pathway-uptake .impact-pathway-marker::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:var(--pathway-accent);
  transform:translate(-50%,-50%);
}
.pathway-uptake .impact-pathway-marker::before{width:15px;height:1px}
.pathway-uptake .impact-pathway-marker::after{width:1px;height:15px}
.pathway-links .impact-pathway-marker{
  transform:rotate(45deg);
}

.impact-pathway-label{
  margin:0 0 40px;
  font-size:10px;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--pathway-accent);
}

.impact-pathway h3{
  margin:0 0 18px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(30px,3vw,42px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.04em;
}

.impact-pathway>p:last-child{
  margin:0;
  max-width:250px;
  font-size:13px;
  line-height:1.7;
  color:#6D675E;
}

.impact-practice{
  padding:94px 0 102px;
  background:#2D2A25;
  color:var(--impact-paper);
  border-bottom:1px solid rgba(244,240,231,.12);
}

.impact-practice-head{
  margin-bottom:40px;
}

.impact-practice-head h2{
  color:var(--impact-paper);
}

.impact-practice-list{
  border-top:1px solid rgba(244,240,231,.16);
}

.impact-practice-row{
  --row-accent:#D97A63;
  position:relative;
  display:grid;
  grid-template-columns:190px minmax(0,1fr) minmax(300px,.82fr);
  gap:44px;
  align-items:start;
  padding:42px 0 46px;
  border-bottom:1px solid rgba(244,240,231,.14);
  overflow:hidden;
}

.impact-tone-coral{--row-accent:var(--impact-coral)}
.impact-tone-blue{--row-accent:var(--impact-blue)}
.impact-tone-sage{--row-accent:var(--impact-sage)}
.impact-tone-sand{--row-accent:var(--impact-sand)}

.impact-practice-row::before{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:18%;
  height:100%;
  opacity:0;
  transform:translateX(26%);
  background:
    linear-gradient(var(--row-accent),var(--row-accent)) 100% 8% / 46% 20% no-repeat,
    linear-gradient(var(--row-accent),var(--row-accent)) 12% 42% / 58% 15% no-repeat,
    linear-gradient(var(--row-accent),var(--row-accent)) 82% 79% / 24% 16% no-repeat;
  transition:opacity .3s ease,transform .5s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.impact-practice-row:hover::before{
  opacity:.72;
  transform:translateX(0);
}

.impact-practice-side,
.impact-practice-main,
.impact-practice-detail{
  position:relative;
  z-index:2;
}

.impact-practice-type{
  display:block;
  margin-bottom:24px;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--row-accent);
}

.impact-practice-word{
  display:block;
  font-family:"Manrope",Arial,sans-serif;
  font-size:17px;
  font-weight:500;
  color:#8E887F;
}

.impact-practice-main h3{
  margin:0 0 17px;
  max-width:650px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(28px,3vw,44px);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.042em;
}

.impact-practice-accent{
  margin:0;
  max-width:650px;
  font-size:16px;
  line-height:1.6;
  color:#CFC8BC;
}

.impact-practice-detail{
  padding-right:18px;
}

.impact-practice-detail>p:first-child{
  margin:0;
  font-size:13px;
  line-height:1.72;
  color:#9F9A91;
}

.impact-practice-examples{
  margin:24px 0 0;
  padding-top:16px;
  border-top:1px solid rgba(244,240,231,.10);
  font-size:9px;
  line-height:1.6;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--row-accent);
}

.impact-next{
  padding:54px 0 58px;
  background:#34312B;
  border-bottom:1px solid rgba(244,240,231,.12);
}

.impact-next-inner{
  display:flex;
  justify-content:space-between;
  gap:50px;
  align-items:center;
}

.impact-next p{
  margin:0;
  max-width:480px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:21px;
  line-height:1.35;
  color:var(--impact-paper);
}

.impact-next-inner>div{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
}

.impact-next a{
  padding-bottom:4px;
  border-bottom:1px solid rgba(244,240,231,.45);
  color:var(--impact-paper);
  text-decoration:none;
  font-size:12px;
}

.impact-next a:hover{
  border-bottom-color:var(--impact-coral);
}

@media(max-width:1000px){
  .impact-hero-grid{
    grid-template-columns:1fr;
    gap:42px;
  }

  .impact-pathway-rail{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .impact-pathway:nth-child(2){
    border-right:0;
  }

  .impact-pathway:nth-child(3),
  .impact-pathway:nth-child(4){
    border-top:1px solid rgba(52,49,43,.14);
  }

  .impact-practice-row{
    grid-template-columns:150px minmax(0,1fr);
  }

  .impact-practice-detail{
    grid-column:2;
  }
}

@media(max-width:700px){
  .impact-hero{
    padding:68px 0 64px;
  }

  .impact-section-head,
  .impact-practice-head{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:42px;
  }

  .impact-pathways,
  .impact-practice{
    padding:68px 0 74px;
  }

  .impact-pathway-rail{
    grid-template-columns:1fr;
  }

  .impact-pathway{
    min-height:0;
    padding:38px 0 34px!important;
    border-right:0;
    border-top:1px solid rgba(52,49,43,.14);
  }

  .impact-pathway:first-child{
    border-top:0;
  }

  .impact-pathway-marker,
  .impact-pathway+.impact-pathway .impact-pathway-marker{
    left:0;
  }

  .impact-pathway-label{
    margin-bottom:20px;
  }

  .impact-practice-row{
    grid-template-columns:1fr;
    gap:18px;
    padding:34px 0 38px;
  }

  .impact-practice-detail{
    grid-column:auto;
  }

  .impact-practice-word{
    display:none;
  }

  .impact-next-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* IMPACT — human-centred pathway carousel */
.impact-pathway-carousel{
  --impact-active-accent:var(--impact-coral);
  --impact-stage-position:50% 50%;
}

.impact-pathway-tabs{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:6px;
  border-top:1px solid rgba(52,49,43,.22);
}

.impact-pathway-tab{
  --pathway-accent:#D97A63;
  position:relative;
  appearance:none;
  border:0;
  background:transparent;
  padding:30px 24px 24px 0;
  min-height:92px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:19px;
  font-weight:400;
  letter-spacing:-.025em;
  text-align:left;
  color:#8A847A;
  cursor:pointer;
  transition:color .25s ease;
}

.impact-pathway-tab+.impact-pathway-tab{
  padding-left:28px;
}

.impact-pathway-tab::after{
  content:"";
  position:absolute;
  left:0;
  bottom:14px;
  width:52px;
  height:2px;
  background:var(--pathway-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s ease;
}

.impact-pathway-tab+.impact-pathway-tab::after{
  left:28px;
}

.impact-pathway-tab.is-active{
  color:var(--impact-ink);
}

.impact-pathway-tab.is-active::after{
  transform:scaleX(1);
}

.impact-pathway-tab .impact-pathway-marker{
  top:-8px;
  left:0;
}

.impact-pathway-tab+.impact-pathway-tab .impact-pathway-marker{
  left:28px;
}

.impact-pathway-stage{
  position:relative;
  min-height:470px;
  margin-top:16px;
  overflow:hidden;
  border:1px solid rgba(52,49,43,.11);
  background-image:
    linear-gradient(90deg,rgba(39,35,30,.88) 0%,rgba(39,35,30,.73) 24%,rgba(39,35,30,.42) 48%,rgba(39,35,30,.12) 78%,rgba(39,35,30,.08) 100%),
    var(--impact-stage-image);
  background-size:cover;
  background-position:var(--impact-stage-position);
  color:var(--impact-paper);
  transition:background-position .55s cubic-bezier(.22,1,.36,1);
}

.impact-pathway-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(52,49,43,.02),rgba(52,49,43,.25)),
    radial-gradient(circle at 18% 36%,color-mix(in srgb,var(--impact-active-accent) 16%,transparent),transparent 30%);
  pointer-events:none;
}

.impact-pathway-stage-copy{
  position:relative;
  z-index:2;
  width:min(470px,52%);
  padding:72px 0 118px 64px;
}

.impact-pathway-stage-label{
  margin:0 0 20px;
  color:var(--impact-active-accent);
  font-size:11px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.impact-pathway-stage h3{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(58px,7vw,92px);
  font-weight:300;
  line-height:.92;
  letter-spacing:-.06em;
}

.impact-pathway-stage-text{
  margin:28px 0 0;
  max-width:430px;
  font-size:17px;
  line-height:1.62;
  color:#E1DAD0;
}

.impact-pathway-stage-footer{
  position:absolute;
  z-index:3;
  left:64px;
  right:46px;
  bottom:36px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
}

.impact-pathway-progress{
  display:flex;
  align-items:center;
  gap:28px;
}

.impact-pathway-count{
  font-size:12px;
  letter-spacing:.08em;
  color:#D3CBC0;
}

.impact-pathway-progress-bars{
  display:flex;
  gap:8px;
}

.impact-pathway-progress-bars span{
  width:48px;
  height:2px;
  background:rgba(244,240,231,.34);
  transition:background .25s ease;
}

.impact-pathway-progress-bars span.is-active{
  background:var(--impact-active-accent);
}

.impact-pathway-controls{
  display:flex;
  gap:10px;
}

.impact-pathway-control{
  width:50px;
  height:50px;
  border:1px solid rgba(244,240,231,.72);
  border-radius:50%;
  background:rgba(52,49,43,.18);
  color:var(--impact-paper);
  font-family:"Manrope",Arial,sans-serif;
  font-size:20px;
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}

.impact-pathway-control:hover,
.impact-pathway-control:focus-visible{
  border-color:var(--impact-active-accent);
  background:color-mix(in srgb,var(--impact-active-accent) 22%,rgba(52,49,43,.52));
  transform:translateY(-2px);
}

.impact-pathway-stage.is-switching .impact-pathway-stage-copy{
  animation:impactPathwayIn .42s cubic-bezier(.22,1,.36,1);
}

@keyframes impactPathwayIn{
  from{opacity:.25;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:900px){
  .impact-pathway-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:0;
    gap:0;
  }

  .impact-pathway-tab,
  .impact-pathway-tab+.impact-pathway-tab{
    padding:26px 18px 22px 0;
    border-top:1px solid rgba(52,49,43,.18);
  }

  .impact-pathway-tab:nth-child(even){
    padding-left:22px;
  }

  .impact-pathway-tab:nth-child(even) .impact-pathway-marker,
  .impact-pathway-tab:nth-child(even)::after{
    left:22px;
  }

  .impact-pathway-stage{
    min-height:520px;
  }

  .impact-pathway-stage-copy{
    width:min(520px,72%);
    padding-left:42px;
  }

  .impact-pathway-stage-footer{
    left:42px;
    right:32px;
  }
}

@media(max-width:620px){
  .impact-pathway-tabs{
    grid-template-columns:1fr 1fr;
  }

  .impact-pathway-tab{
    font-size:16px;
  }

  .impact-pathway-stage{
    min-height:530px;
    background-image:
      linear-gradient(180deg,rgba(39,35,30,.44) 0%,rgba(39,35,30,.32) 32%,rgba(39,35,30,.78) 67%,rgba(39,35,30,.92) 100%),
      var(--impact-stage-image);
    background-position:62% center;
  }

  .impact-pathway-stage-copy{
    position:absolute;
    left:0;
    right:0;
    bottom:104px;
    width:auto;
    padding:0 24px;
  }

  .impact-pathway-stage h3{
    font-size:clamp(46px,15vw,70px);
  }

  .impact-pathway-stage-text{
    margin-top:16px;
    font-size:15px;
  }

  .impact-pathway-stage-footer{
    left:24px;
    right:20px;
    bottom:22px;
  }

  .impact-pathway-progress{
    gap:14px;
  }

  .impact-pathway-progress-bars span{
    width:24px;
  }

  .impact-pathway-control{
    width:42px;
    height:42px;
  }
}


/* IMPACT — final single-photo carousel test */
.impact-pathway-stage{
  min-height:500px;
  border:0;
  border-radius:20px;
  background-image:var(--impact-stage-image);
  background-size:cover;
  background-position:50% 50%;
  box-shadow:
    inset 26px 0 34px -30px rgba(29,26,22,.58),
    inset -26px 0 34px -30px rgba(29,26,22,.48);
}

/* Lateral cinematic shadows: strong enough for copy, soft enough to keep the photo visible. */
.impact-pathway-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      90deg,
      rgba(31,28,24,.90) 0%,
      rgba(31,28,24,.76) 13%,
      rgba(31,28,24,.48) 27%,
      rgba(31,28,24,.18) 40%,
      rgba(31,28,24,0) 57%,
      rgba(31,28,24,.04) 72%,
      rgba(31,28,24,.18) 88%,
      rgba(31,28,24,.42) 100%
    ),
    linear-gradient(
      180deg,
      rgba(31,28,24,.04) 0%,
      rgba(31,28,24,0) 56%,
      rgba(31,28,24,.20) 100%
    );
  pointer-events:none;
}

.impact-pathway-stage-copy,
.impact-pathway-stage-footer{
  z-index:2;
}

.impact-pathway-stage-copy{
  width:min(440px,44%);
  padding:74px 0 120px 58px;
}

.impact-pathway-stage-text{
  max-width:360px;
}

.impact-pathway-stage-footer{
  left:58px;
  right:34px;
  bottom:32px;
}

@media(max-width:900px){
  .impact-pathway-stage{
    min-height:500px;
    background-position:54% 50%;
  }

  .impact-pathway-stage-copy{
    width:min(500px,66%);
    padding-left:40px;
  }

  .impact-pathway-stage-footer{
    left:40px;
    right:28px;
  }
}

@media(max-width:620px){
  .impact-pathway-stage{
    min-height:520px;
    background-image:var(--impact-stage-image);
    background-position:55% center;
  }

  .impact-pathway-stage::before{
    background:
      linear-gradient(
        180deg,
        rgba(31,28,24,.10) 0%,
        rgba(31,28,24,.05) 32%,
        rgba(31,28,24,.58) 63%,
        rgba(31,28,24,.88) 100%
      ),
      linear-gradient(
        90deg,
        rgba(31,28,24,.22) 0%,
        rgba(31,28,24,0) 50%,
        rgba(31,28,24,.20) 100%
      );
  }

  .impact-pathway-stage-copy{
    width:auto;
    padding:0 24px;
  }

  .impact-pathway-stage-footer{
    left:24px;
    right:20px;
  }
}


/* IMPACT — image framing v2: preserve source photos, prioritise subject visibility */
.impact-pathway-stage{
  --impact-photo-size:cover;
  --impact-stage-position:50% 50%;
  --impact-overlay-stop:58%;
  position:relative;
  isolation:isolate;
  min-height:clamp(500px,38vw,620px);
  background:#25221e;
}

/* Soft full-bleed atmosphere only; the original photo remains unmodified in the layer above. */
.impact-pathway-stage::after{
  content:"";
  position:absolute;
  inset:-4%;
  z-index:0;
  background-image:var(--impact-stage-image);
  background-size:cover;
  background-position:var(--impact-stage-position);
  filter:blur(24px) saturate(.78) brightness(.64);
  transform:scale(1.06);
  opacity:.72;
  pointer-events:none;
}

.impact-pathway-photo{
  position:absolute;
  inset:0;
  z-index:1;
  background-image:var(--impact-stage-image);
  background-repeat:no-repeat;
  background-size:var(--impact-photo-size);
  background-position:var(--impact-stage-position);
  transition:
    background-position .55s cubic-bezier(.22,1,.36,1),
    background-size .55s cubic-bezier(.22,1,.36,1),
    opacity .25s ease;
}

/* Cinematic mask only — it does not alter the underlying file. */
.impact-pathway-stage::before{
  z-index:2;
  background:
    linear-gradient(
      90deg,
      rgba(24,22,19,.94) 0%,
      rgba(24,22,19,.84) 12%,
      rgba(24,22,19,.63) 26%,
      rgba(24,22,19,.30) 38%,
      rgba(24,22,19,.08) var(--impact-overlay-stop),
      rgba(24,22,19,0) 66%,
      rgba(24,22,19,.06) 82%,
      rgba(24,22,19,.28) 100%
    ),
    linear-gradient(
      180deg,
      rgba(20,18,16,.14) 0%,
      rgba(20,18,16,0) 46%,
      rgba(20,18,16,.28) 100%
    );
  box-shadow:
    inset 34px 0 46px -34px rgba(12,11,10,.68),
    inset -34px 0 46px -34px rgba(12,11,10,.52);
}

.impact-pathway-stage-copy,
.impact-pathway-stage-footer{
  position:relative;
  z-index:3;
}

/* Keep copy slightly narrower so the photographed subject remains visually dominant. */
.impact-pathway-stage-copy{
  width:min(430px,38%);
}

@media(max-width:1100px){
  .impact-pathway-stage{
    min-height:520px;
  }
  .impact-pathway-stage-copy{
    width:min(430px,45%);
  }
}

@media(max-width:900px){
  .impact-pathway-stage{
    min-height:520px;
  }
  .impact-pathway-photo{
    background-size:cover;
    background-position:center;
  }
  .impact-pathway-stage::after{
    background-position:center;
  }
  .impact-pathway-stage::before{
    background:
      linear-gradient(180deg,rgba(24,22,19,.12) 0%,rgba(24,22,19,.10) 36%,rgba(24,22,19,.72) 70%,rgba(24,22,19,.93) 100%);
  }
}

@media(max-width:620px){
  .impact-pathway-stage{
    min-height:540px;
  }
}


/* IMPACT — subject visibility tuning for documentary group photographs */
.impact-pathway-stage{
  --impact-mask-opacity:1;
}
.impact-pathway-stage::before{
  opacity:var(--impact-mask-opacity);
  transition:opacity .35s ease;
}


/* IMPACT — robust two-button carousel navigation */
.impact-pathway-controls{
  display:grid;
  grid-template-columns:repeat(2,50px);
  gap:12px;
  width:max-content;
  flex:0 0 auto;
  overflow:visible;
}

.impact-pathway-control{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  padding:0;
  flex:0 0 50px;
  line-height:1;
  overflow:visible;
}

.impact-pathway-control svg{
  display:block;
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

@media(max-width:620px){
  .impact-pathway-controls{
    grid-template-columns:repeat(2,42px);
    gap:8px;
  }
  .impact-pathway-control{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
  .impact-pathway-control svg{
    width:18px;
    height:18px;
  }
}


/* IMPACT — final nav positioning fix */
.impact-pathway-stage-footer{
  position:absolute !important;
  left:58px !important;
  right:34px !important;
  bottom:32px !important;
  z-index:6 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  pointer-events:none;
}

.impact-pathway-progress,
.impact-pathway-controls{
  pointer-events:auto;
}

.impact-pathway-controls{
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  display:flex !important;
  flex-direction:row !important;
  gap:12px !important;
  width:auto !important;
  visibility:visible !important;
  opacity:1 !important;
}

.impact-pathway-control{
  appearance:none;
  -webkit-appearance:none;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 !important;
  border:1.5px solid rgba(244,240,231,.82) !important;
  border-radius:50% !important;
  background:rgba(36,33,29,.22) !important;
  color:#F4F0E7 !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:7 !important;
}

.impact-pathway-control svg{
  display:block !important;
  width:22px !important;
  height:22px !important;
  stroke:#F4F0E7 !important;
  fill:none !important;
  visibility:visible !important;
  opacity:1 !important;
}

@media(max-width:620px){
  .impact-pathway-stage-footer{
    left:24px !important;
    right:20px !important;
    bottom:22px !important;
  }
  .impact-pathway-controls{
    gap:8px !important;
  }
  .impact-pathway-control{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
  }
}


/* IMPACT — final editorial text hierarchy */
.impact-pathway-stage[data-pathway="connections"] h3{
  font-size:clamp(52px,6.15vw,82px);
  letter-spacing:-.055em;
}

@media(max-width:900px){
  .impact-pathway-stage[data-pathway="connections"] h3{
    font-size:clamp(46px,11vw,68px);
  }
}


/* HOME — align hero title scale with internal page titles */
.homepage .hero-statement{
  font-size:clamp(52px,6vw,86px);
}

@media(max-width:900px){
  .homepage .hero-statement{
    font-size:clamp(44px,13vw,64px);
  }
}


/* GLOBAL HEADER CONSISTENCY — Home matches internal pages */
.homepage .site-header .wrap{
  width:min(1200px,80%);
  max-width:none;
  padding-left:0;
  padding-right:0;
}

.homepage .nav{
  min-height:70px;
}

.homepage .brand{
  font-size:21px;
  font-weight:500;
  letter-spacing:-.02em;
}

.homepage .nav-links{
  gap:20px;
}

.homepage .nav-links a{
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:none;
}


/* =========================================================
   HOME FINAL ALIGNMENT — mirrors the visual language of the
   About, Research, Projects, Publications and Impact pages.
   ========================================================= */

.homepage{
  --home-dark:#34312B;
  --home-paper:#F4F0E7;
  --home-coral:#D97A63;
  --home-sage:#8FB1A6;
  --home-blue:#7897AA;
  --home-sand:#B8A98B;
  --home-ink:#34312B;
  --home-muted:#8F8A80;
  --home-line-dark:rgba(244,240,231,.15);
  --home-line-light:rgba(52,49,43,.17);
}

/* Shared editorial heading rhythm */
.homepage .home-territories-section,
.homepage .home-publications-section,
.homepage .home-ecosystem-section{
  background:var(--home-paper);
  color:var(--home-ink);
}

.homepage .home-projects-section,
.homepage .home-practice-section{
  background:var(--home-dark);
  color:var(--home-paper);
}

.homepage .home-territories-section,
.homepage .home-projects-section,
.homepage .home-publications-section,
.homepage .home-practice-section,
.homepage .home-ecosystem-section{
  padding:96px 0 104px;
}

.homepage .premium-heading{
  grid-template-columns:minmax(240px,.56fr) minmax(0,1fr);
  gap:80px;
  align-items:end;
  margin-bottom:58px;
}

.homepage .premium-heading .label{
  margin-bottom:18px;
  color:var(--home-coral);
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
}

.homepage .premium-heading .title{
  max-width:720px;
  font-size:clamp(46px,5vw,66px);
  font-weight:300;
  line-height:1.01;
  letter-spacing:-.052em;
}

.homepage .premium-heading .section-note{
  max-width:520px;
  margin:0 0 5px auto;
  font-size:15px;
  line-height:1.7;
  color:#777269;
}

.homepage .home-projects-section .premium-heading .section-note{
  color:#AAA59B;
}

/* 1. Research territories — constellation-like editorial cards */
.homepage .research-territories{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--home-line-light);
  border-left:1px solid var(--home-line-light);
}

.homepage .research-territory{
  position:relative;
  min-height:290px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:0;
  padding:38px 42px 36px;
  border-right:1px solid var(--home-line-light);
  border-bottom:1px solid var(--home-line-light);
  background:transparent;
  overflow:hidden;
  text-decoration:none;
  transition:background .25s ease;
}

.homepage .research-territory:hover{
  padding-left:42px;
  padding-right:42px;
  background:rgba(217,122,99,.045);
}

.homepage .research-territory::before{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  border:1px solid rgba(52,49,43,.13);
  border-radius:50%;
  top:34px;
  right:42px;
  transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .25s ease;
}

.homepage .research-territory::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  top:56px;
  left:42px;
  border:1px solid var(--home-coral);
  border-radius:50%;
}

.homepage .research-territory:nth-child(2)::after{
  border-radius:0;
  border-color:var(--home-blue);
}

.homepage .research-territory:nth-child(3)::after{
  width:12px;
  height:12px;
  border:0;
  background:
    linear-gradient(var(--home-sage),var(--home-sage)) center/1px 12px no-repeat,
    linear-gradient(90deg,var(--home-sage),var(--home-sage)) center/12px 1px no-repeat;
}

.homepage .research-territory:nth-child(4)::after{
  transform:rotate(45deg);
  border-radius:0;
  border-color:var(--home-sand);
}

.homepage .research-territory:hover::before{
  transform:scale(1.08) translate(-7px,6px);
  border-color:rgba(217,122,99,.27);
}

.homepage .research-territory h3{
  position:relative;
  z-index:1;
  max-width:420px;
  margin:0 0 15px;
  font-size:clamp(29px,2.6vw,38px);
  font-weight:400;
  line-height:1.04;
  letter-spacing:-.045em;
}

.homepage .research-territory p{
  position:relative;
  z-index:1;
  max-width:520px;
  margin:0 0 26px;
  font-size:14px;
  line-height:1.6;
  color:#6F6A62;
}

.homepage .research-territory .territory-tags{
  position:relative;
  z-index:1;
  margin-top:auto;
  font-size:9px;
  letter-spacing:.12em;
  color:var(--home-coral);
}

/* 2. Featured work — real project visuals and dark editorial context */
.homepage .home-projects-section .premium-heading .title{
  color:var(--home-paper);
}

.homepage .home-projects-section .project-carousel-frame{
  border:1px solid var(--home-line-dark);
  background:#2D2A25;
  box-shadow:none;
}

.homepage .home-projects-section .project-slide{
  grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
  min-height:540px;
}

.homepage .home-projects-section .project-slide-visual{
  min-height:540px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:none;
}

.homepage .project-slide.theoscope .project-slide-visual{
  background-image:url('assets/theoscope-earth.png') !important;
  background-position:center 48%;
}

.homepage .project-slide.restore .project-slide-visual{
  background-image:url('assets/restore4cs-atlas.png') !important;
  background-position:center;
}

.homepage .project-slide.aagora .project-slide-visual{
  background-image:url('assets/a-aagora-coast.png') !important;
  background-position:center;
}

.homepage .project-slide.locust .project-slide-visual{
  background-image:url('assets/locust-digital-context.png') !important;
  background-position:center;
}

.homepage .project-slide.trackin .project-slide-visual{
  background-image:url('assets/trackin-rural-pathways.png') !important;
  background-position:center;
}

.homepage .home-projects-section .project-slide-visual::before{
  width:auto;
  height:auto;
  inset:0;
  border:0;
  border-radius:0;
  background:
    linear-gradient(90deg,rgba(31,29,25,.05),rgba(31,29,25,0) 52%,rgba(31,29,25,.18)),
    linear-gradient(180deg,rgba(31,29,25,.05),rgba(31,29,25,.42));
  transform:none;
}

.homepage .home-projects-section .project-slide-visual::after{
  width:100%;
  height:100%;
  inset:0;
  transform:none;
  background:
    linear-gradient(var(--card-accent,#7897AA),var(--card-accent,#7897AA)) 0 0/29% 33% no-repeat,
    linear-gradient(var(--card-accent,#7897AA),var(--card-accent,#7897AA)) 0 73%/50% 24% no-repeat,
    linear-gradient(var(--card-accent,#7897AA),var(--card-accent,#7897AA)) 100% 35%/50% 17% no-repeat,
    linear-gradient(var(--card-accent,#7897AA),var(--card-accent,#7897AA)) 100% 100%/14% 14% no-repeat;
  opacity:0;
  transition:opacity .32s ease;
}

.homepage .home-projects-section .project-slide:hover .project-slide-visual::after{
  opacity:.84;
}

.homepage .project-slide.theoscope{--card-accent:#6F858E;}
.homepage .project-slide.restore{--card-accent:#8FB1A6;}
.homepage .project-slide.aagora{--card-accent:#739D9B;}
.homepage .project-slide.locust{--card-accent:#C9B894;}
.homepage .project-slide.trackin{--card-accent:#B76D50;}

.homepage .home-projects-section .project-visual-label{
  z-index:3;
  left:28px;
  bottom:26px;
  max-width:420px;
  padding:9px 11px;
  background:rgba(36,33,29,.46);
  backdrop-filter:blur(7px);
  border:1px solid rgba(244,240,231,.22);
  color:var(--home-paper);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.homepage .home-projects-section .project-slide-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px 48px;
  background:var(--home-paper);
  color:var(--home-ink);
}

.homepage .home-projects-section .project-slide-copy h3{
  margin:13px 0 21px;
  font-size:clamp(42px,4.3vw,66px);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.055em;
}

.homepage .home-projects-section .project-slide-copy p:not(.project-kicker){
  max-width:470px;
  font-size:14px;
  line-height:1.68;
  color:#6D6860;
}

.homepage .home-projects-section .project-kicker{
  color:var(--home-coral);
  font-size:9px;
  line-height:1.5;
}

.homepage .home-projects-section .project-carousel-nav,
.homepage .home-projects-section .project-carousel-status{
  color:#BDB7AC;
}

.homepage .home-projects-section .project-tab{
  color:#AFA99E;
}

.homepage .home-projects-section .project-tab[aria-selected="true"]{
  color:var(--home-paper);
  border-bottom-color:var(--home-coral);
}

.homepage .home-projects-section .carousel-arrow{
  color:var(--home-paper);
  border-color:rgba(244,240,231,.26);
}

.homepage .home-projects-section > .wrap > .text-link{
  color:var(--home-paper);
  border-bottom-color:rgba(244,240,231,.55);
}

/* 3. Publications — condensed version of the Publications page */
.homepage .home-publications-section .premium-publications{
  border-top:1px solid var(--home-line-light);
}

.homepage .home-publications-section .premium-publication-row{
  position:relative;
  grid-template-columns:150px minmax(0,1fr) 46px;
  gap:34px;
  min-height:128px;
  padding:26px 0;
  border-bottom:1px solid var(--home-line-light);
  background:transparent;
}

.homepage .home-publications-section .premium-publication-row::before{
  content:"";
  position:absolute;
  left:150px;
  top:50%;
  width:42px;
  height:42px;
  border:1px solid rgba(217,122,99,.22);
  border-radius:50%;
  transform:translate(-68px,-50%);
  opacity:.7;
}

.homepage .home-publications-section .premium-publication-row:nth-child(2)::before{
  border-radius:0;
  border-color:rgba(120,151,170,.26);
}

.homepage .home-publications-section .premium-publication-row:nth-child(3)::before{
  width:46px;
  height:22px;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  border-color:rgba(217,122,99,.26);
  border-bottom:0;
}

.homepage .home-publications-section .pub-meta{
  color:#7F796F;
  font-size:8px;
  line-height:1.6;
}

.homepage .home-publications-section .premium-publication-row h3{
  max-width:830px;
  font-size:clamp(20px,2vw,28px);
  line-height:1.13;
  letter-spacing:-.035em;
}

.homepage .home-publications-section .arrow{
  align-self:center;
  color:var(--home-coral);
  font-size:21px;
}

/* 4. Research in practice — dark photographic bridge into Impact */
.homepage .home-practice-section{
  border-top:1px solid var(--home-line-dark);
  border-bottom:1px solid var(--home-line-dark);
}

.homepage .home-practice-section .practice-feature{
  position:relative;
  min-height:560px;
  display:block;
  overflow:hidden;
  border:1px solid var(--home-line-dark);
  background:#25221E;
}

.homepage .home-practice-section .practice-visual{
  position:absolute;
  inset:0;
  min-height:0;
  background:
    linear-gradient(90deg,rgba(27,25,22,.93) 0%,rgba(27,25,22,.78) 25%,rgba(27,25,22,.32) 49%,rgba(27,25,22,.04) 72%),
    linear-gradient(180deg,rgba(27,25,22,.05),rgba(27,25,22,.32)),
    url('assets/impact-people.png') 70% 50%/cover no-repeat !important;
}

.homepage .home-practice-section .practice-visual::before,
.homepage .home-practice-section .practice-visual::after{
  display:none;
}

.homepage .home-practice-section .practice-copy{
  position:relative;
  z-index:2;
  width:min(520px,43%);
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:60px 0 60px 54px;
  background:transparent;
  color:var(--home-paper);
}

.homepage .home-practice-section .practice-copy .label{
  margin-bottom:21px;
  color:var(--home-coral);
}

.homepage .home-practice-section .practice-copy h2{
  margin:0 0 24px;
  font-size:clamp(42px,4.5vw,62px);
  font-weight:300;
  line-height:1.01;
  letter-spacing:-.052em;
  color:var(--home-paper);
}

.homepage .home-practice-section .practice-copy p{
  margin:0 0 30px;
  max-width:470px;
  color:#C1BBB0;
  font-size:14px;
  line-height:1.67;
}

.homepage .home-practice-section .practice-copy .text-link{
  color:var(--home-paper);
  border-bottom-color:rgba(244,240,231,.55);
}

/* 5. Ecosystem — condensed version of About's research ecosystem */
.homepage .home-ecosystem-section{
  position:relative;
  overflow:hidden;
}

.homepage .home-ecosystem-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 0 23%,rgba(52,49,43,.035) 23.05%,transparent 23.1%),
    linear-gradient(90deg,transparent 0 66%,rgba(52,49,43,.025) 66.05%,transparent 66.1%);
  pointer-events:none;
}

.homepage .home-ecosystem-section > .wrap{
  position:relative;
  z-index:1;
}

.homepage .home-ecosystem-grid{
  display:grid;
  grid-template-columns:1.08fr 1.08fr .84fr;
  gap:0;
  border-top:1px solid var(--home-line-light);
  border-bottom:1px solid var(--home-line-light);
}

.homepage .home-ecosystem-column{
  min-height:320px;
  padding:30px 34px 38px 0;
  border-right:1px solid var(--home-line-light);
}

.homepage .home-ecosystem-column + .home-ecosystem-column{
  padding-left:34px;
}

.homepage .home-ecosystem-column:last-child{
  border-right:0;
}

.homepage .home-ecosystem-type{
  margin:0 0 26px;
  font-size:10px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--home-coral);
}

.homepage .home-ecosystem-entry{
  padding:18px 0;
  border-top:1px solid rgba(52,49,43,.10);
}

.homepage .home-ecosystem-entry:first-of-type{
  padding-top:0;
  border-top:0;
}

.homepage .home-ecosystem-entry h3{
  margin:0 0 7px;
  font-size:20px;
  font-weight:400;
  line-height:1.22;
  letter-spacing:-.035em;
}

.homepage .home-ecosystem-entry p{
  margin:0;
  max-width:360px;
  font-size:13px;
  line-height:1.55;
  color:#777269;
}

.homepage .home-ecosystem-section > .wrap > .text-link{
  display:inline-block;
  margin-top:28px;
}

/* Responsive alignment */
@media(max-width:1000px){
  .homepage .premium-heading{
    grid-template-columns:1fr;
    gap:18px;
  }

  .homepage .premium-heading .section-note{
    margin:0;
  }

  .homepage .home-projects-section .project-slide{
    grid-template-columns:1fr;
  }

  .homepage .home-projects-section .project-slide-visual{
    min-height:420px;
  }

  .homepage .home-projects-section .project-slide-copy{
    padding:40px;
  }

  .homepage .home-practice-section .practice-copy{
    width:54%;
  }

  .homepage .home-ecosystem-grid{
    grid-template-columns:1fr 1fr;
  }

  .homepage .home-ecosystem-column:nth-child(2){
    border-right:0;
  }

  .homepage .home-ecosystem-column:last-child{
    grid-column:1/-1;
    border-top:1px solid var(--home-line-light);
    padding-left:0;
  }
}

@media(max-width:720px){
  .homepage .home-territories-section,
  .homepage .home-projects-section,
  .homepage .home-publications-section,
  .homepage .home-practice-section,
  .homepage .home-ecosystem-section{
    padding:70px 0 76px;
  }

  .homepage .research-territories{
    grid-template-columns:1fr;
  }

  .homepage .research-territory{
    min-height:245px;
    padding:32px 28px 30px;
  }

  .homepage .research-territory:hover{
    padding-left:28px;
    padding-right:28px;
  }

  .homepage .research-territory::after{
    left:28px;
    top:42px;
  }

  .homepage .research-territory::before{
    width:130px;
    height:130px;
    right:28px;
    top:28px;
  }

  .homepage .home-projects-section .project-slide-visual{
    min-height:330px;
  }

  .homepage .home-projects-section .project-slide-copy{
    padding:32px 28px 36px;
  }

  .homepage .home-publications-section .premium-publication-row{
    grid-template-columns:1fr 30px;
    gap:12px;
    padding:24px 0;
  }

  .homepage .home-publications-section .premium-publication-row::before{
    display:none;
  }

  .homepage .home-publications-section .pub-meta{
    grid-column:1/-1;
  }

  .homepage .home-practice-section .practice-feature{
    min-height:620px;
  }

  .homepage .home-practice-section .practice-visual{
    background:
      linear-gradient(180deg,rgba(27,25,22,.06) 0%,rgba(27,25,22,.16) 42%,rgba(27,25,22,.93) 73%,rgba(27,25,22,.98) 100%),
      url('assets/impact-people.png') 66% 20%/cover no-repeat !important;
  }

  .homepage .home-practice-section .practice-copy{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    width:auto;
    min-height:0;
    padding:34px 28px 36px;
    justify-content:flex-end;
  }

  .homepage .home-ecosystem-grid{
    grid-template-columns:1fr;
  }

  .homepage .home-ecosystem-column,
  .homepage .home-ecosystem-column + .home-ecosystem-column,
  .homepage .home-ecosystem-column:last-child{
    min-height:0;
    grid-column:auto;
    padding:28px 0;
    border-right:0;
    border-top:1px solid var(--home-line-light);
  }

  .homepage .home-ecosystem-column:first-child{
    border-top:0;
  }
}


/* HOME COHESION PASS — 2026-09-28 */
.homepage .atalanta-hero{
  background:#34312B;
  color:#F4F0E7;
}

.homepage .hero-frame{
  width:min(1200px,80%);
  max-width:none;
  margin:0 auto;
  grid-template-columns:1fr;
  border-left:0;
  border-right:0;
}

.homepage .hero-side-rail{
  display:none;
}

.homepage .hero-kicker-row{
  padding:30px 0 24px;
}

.homepage .hero-statement{
  max-width:1040px;
  padding:64px 0 58px;
  font-size:clamp(52px,6vw,86px);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.058em;
}

.homepage .hero-media-row{
  grid-template-columns:minmax(270px,.36fr) minmax(0,.64fr);
  min-height:390px;
  border-bottom:1px solid rgba(244,240,231,.12);
}

.homepage .hero-summary{
  padding:30px 34px 32px 0;
}

.homepage .hero-summary p{
  max-width:330px;
  font-size:15px;
  line-height:1.65;
  font-weight:400;
}

.homepage .hero-video-panel{
  min-height:390px;
}

.homepage .atalanta-hero .premium-strip{
  margin-top:0;
}

.homepage .premium-heading{
  grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);
  gap:62px;
  align-items:start;
  margin-bottom:62px;
}

.homepage .premium-heading .title{
  max-width:760px;
  font-size:clamp(38px,4.6vw,62px);
  font-weight:300;
  line-height:1.03;
  letter-spacing:-.047em;
}

.homepage .premium-heading .label{
  margin:0;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#D97A63;
}

.homepage .premium-heading .section-note{
  max-width:510px;
  margin:0;
  font-size:15px;
  line-height:1.7;
}

.homepage .home-territories-section,
.homepage .home-projects-section,
.homepage .home-publications-section,
.homepage .home-practice-section,
.homepage .home-ecosystem-section{
  padding:92px 0 96px;
}

@media(max-width:1000px){
  .homepage .premium-heading{
    grid-template-columns:1fr;
    gap:18px;
  }

  .homepage .hero-media-row{
    grid-template-columns:1fr;
  }

  .homepage .hero-summary{
    padding:28px 0 30px;
    border-right:0;
    border-bottom:1px solid rgba(244,240,231,.14);
  }

  .homepage .hero-summary p{
    max-width:640px;
  }
}

@media(max-width:800px){
  .homepage .hero-frame{
    width:86%;
  }

  .homepage .hero-kicker-row{
    padding:24px 0 20px;
  }

  .homepage .hero-statement{
    padding:48px 0 44px;
    font-size:clamp(44px,13vw,64px);
  }

  .homepage .home-territories-section,
  .homepage .home-projects-section,
  .homepage .home-publications-section,
  .homepage .home-practice-section,
  .homepage .home-ecosystem-section{
    padding:72px 0 78px;
  }
}


/* HOME GRID FIX — 2026-09-28 */
/* The Home hero now sits on exactly the same content axis as the internal pages. */
.homepage .hero-frame{
  width:min(1200px,80%);
  max-width:none;
  margin:0 auto;
  display:block;
  border:0;
}

.homepage .hero-core{
  width:100%;
  min-width:0;
}

.homepage .hero-side-rail{
  display:none !important;
}

/* Reduce the segmented feel of the old experimental hero. */
.homepage .hero-kicker-row{
  border-bottom:1px solid rgba(244,240,231,.10);
}

.homepage .hero-statement{
  border-bottom:1px solid rgba(244,240,231,.10);
}

.homepage .hero-media-row{
  border-bottom:0;
}

.homepage .hero-summary{
  border-right:1px solid rgba(244,240,231,.10);
}

.homepage .atalanta-hero .premium-strip{
  border-top:1px solid rgba(244,240,231,.12);
  border-bottom:0;
}

/* Give the final Home heading enough measure to avoid the cramped four-line break. */
.homepage .home-ecosystem-section .premium-heading{
  grid-template-columns:minmax(340px,.56fr) minmax(0,1fr);
  gap:72px;
}

.homepage .home-ecosystem-section .premium-heading .title{
  max-width:410px;
}

@media(max-width:1000px){
  .homepage .home-ecosystem-section .premium-heading{
    grid-template-columns:1fr;
    gap:18px;
  }

  .homepage .home-ecosystem-section .premium-heading .title{
    max-width:720px;
  }

  .homepage .hero-summary{
    border-right:0;
  }
}

@media(max-width:800px){
  .homepage .hero-frame{
    width:86%;
  }
}


/* HOME REFINEMENT — 2026-09-29 */

/* 1. Make the landing page read immediately as a researcher profile. */
.homepage .hero-kicker-row span:first-child{
  color:#F4F0E7;
  font-weight:600;
  letter-spacing:.035em;
}

.homepage .hero-kicker-row span:last-child{
  color:#918D84;
}

/* 3. Research territories: replace circular ornaments with architectural rectangles. */
.homepage .research-territory::before{
  width:154px;
  height:104px;
  top:34px;
  right:38px;
  border:1px solid rgba(52,49,43,.14);
  border-radius:0;
  background:
    linear-gradient(rgba(52,49,43,.08),rgba(52,49,43,.08)) 50% 0/1px 100% no-repeat,
    linear-gradient(90deg,rgba(52,49,43,.08),rgba(52,49,43,.08)) 0 50%/100% 1px no-repeat;
  transform:none;
}

.homepage .research-territory::after,
.homepage .research-territory:nth-child(2)::after,
.homepage .research-territory:nth-child(3)::after,
.homepage .research-territory:nth-child(4)::after{
  width:9px;
  height:9px;
  top:52px;
  left:42px;
  border:1px solid var(--home-coral);
  border-radius:0;
  background:none;
  transform:none;
}

.homepage .research-territory:nth-child(2)::after{border-color:var(--home-blue);}
.homepage .research-territory:nth-child(3)::after{border-color:var(--home-sage);}
.homepage .research-territory:nth-child(4)::after{border-color:var(--home-sand);}

.homepage .research-territory:hover::before{
  transform:translate(-7px,7px);
  border-color:rgba(217,122,99,.30);
}

/* 4. Publications: stronger editorial interaction than a simple colour change. */
.homepage .home-publications-section .premium-publication-row{
  overflow:hidden;
  transition:
    background .26s ease,
    box-shadow .26s ease,
    color .26s ease;
}

.homepage .home-publications-section .premium-publication-row h3,
.homepage .home-publications-section .premium-publication-row .arrow,
.homepage .home-publications-section .premium-publication-row .pub-meta{
  transition:transform .28s cubic-bezier(.22,1,.36,1),color .24s ease,opacity .24s ease;
}

.homepage .home-publications-section .premium-publication-row:hover,
.homepage .home-publications-section .premium-publication-row:focus-visible{
  padding-left:0;
  background:rgba(217,122,99,.055);
  box-shadow:inset 3px 0 0 var(--home-coral);
  color:var(--home-ink);
}

.homepage .home-publications-section .premium-publication-row:hover h3,
.homepage .home-publications-section .premium-publication-row:focus-visible h3{
  transform:translateX(10px);
}

.homepage .home-publications-section .premium-publication-row:hover .arrow,
.homepage .home-publications-section .premium-publication-row:focus-visible .arrow{
  transform:translate(5px,-5px);
}

.homepage .home-publications-section .premium-publication-row:hover .pub-meta,
.homepage .home-publications-section .premium-publication-row:focus-visible .pub-meta{
  color:#5F5A52;
}

/* Keep publication ornaments rectilinear too. */
.homepage .home-publications-section .premium-publication-row::before,
.homepage .home-publications-section .premium-publication-row:nth-child(2)::before,
.homepage .home-publications-section .premium-publication-row:nth-child(3)::before{
  width:38px;
  height:26px;
  border-radius:0;
  border:1px solid rgba(217,122,99,.24);
  border-bottom:1px solid rgba(217,122,99,.24);
}

/* 5. Research in practice: restore a real carousel using existing project/impact imagery. */
.homepage .home-practice-section .practice-feature{
  position:relative;
}

.homepage .home-practice-section .practice-visual-stack{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.homepage .home-practice-section .practice-visual{
  position:absolute;
  inset:0;
  min-height:0;
  opacity:0;
  transform:scale(1.025);
  transition:opacity .65s ease,transform 1.1s cubic-bezier(.22,1,.36,1);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.homepage .home-practice-section .practice-visual.is-active{
  opacity:1;
  transform:scale(1);
}

.homepage .home-practice-section .practice-visual-people{
  background:
    linear-gradient(90deg,rgba(27,25,22,.93) 0%,rgba(27,25,22,.78) 25%,rgba(27,25,22,.32) 49%,rgba(27,25,22,.04) 72%),
    linear-gradient(180deg,rgba(27,25,22,.05),rgba(27,25,22,.32)),
    url('assets/impact-people.png') 70% 50%/cover no-repeat !important;
}

.homepage .home-practice-section .practice-visual-uptake{
  background:
    linear-gradient(90deg,rgba(27,25,22,.93) 0%,rgba(27,25,22,.76) 27%,rgba(27,25,22,.28) 51%,rgba(27,25,22,.05) 75%),
    linear-gradient(180deg,rgba(27,25,22,.04),rgba(27,25,22,.28)),
    url('assets/impact-uptake.jpg') 76% 50%/cover no-repeat !important;
}

.homepage .home-practice-section .practice-visual-evaluation{
  background:
    linear-gradient(90deg,rgba(27,25,22,.94) 0%,rgba(27,25,22,.78) 28%,rgba(27,25,22,.30) 52%,rgba(27,25,22,.04) 76%),
    linear-gradient(180deg,rgba(27,25,22,.04),rgba(27,25,22,.30)),
    url('assets/impact-photo-a.jpg') 70% 44%/cover no-repeat !important;
}

.homepage .home-practice-section .practice-visual-connections{
  background:
    linear-gradient(90deg,rgba(27,25,22,.94) 0%,rgba(27,25,22,.77) 26%,rgba(27,25,22,.30) 52%,rgba(27,25,22,.04) 76%),
    linear-gradient(180deg,rgba(27,25,22,.04),rgba(27,25,22,.30)),
    url('assets/impact-connections.jpg') 74% 50%/cover no-repeat !important;
}

.homepage .home-practice-section .practice-carousel-nav{
  position:absolute;
  z-index:4;
  right:20px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:8px;
}

.homepage .home-practice-section .practice-carousel-count{
  margin-right:5px;
  font-size:9px;
  letter-spacing:.13em;
  color:rgba(244,240,231,.75);
}

.homepage .home-practice-section .practice-carousel-nav button{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(244,240,231,.42);
  background:rgba(34,31,27,.36);
  color:#F4F0E7;
  font:inherit;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}

.homepage .home-practice-section .practice-carousel-nav button:hover,
.homepage .home-practice-section .practice-carousel-nav button:focus-visible{
  background:rgba(217,122,99,.82);
  border-color:#D97A63;
  outline:none;
}

/* 6. Restore the subtle architectural background in Research Ecosystem. */
.homepage .home-ecosystem-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(244,240,231,.55),rgba(244,240,231,.55)),
    url("assets/academic-architectural-v3.png") center center / cover no-repeat;
  opacity:.18;
  pointer-events:none;
}

@media(max-width:720px){
  .homepage .research-territory::before{
    width:118px;
    height:82px;
    right:28px;
    top:28px;
  }

  .homepage .research-territory::after,
  .homepage .research-territory:nth-child(2)::after,
  .homepage .research-territory:nth-child(3)::after,
  .homepage .research-territory:nth-child(4)::after{
    left:28px;
    top:42px;
  }

  .homepage .home-practice-section .practice-carousel-nav{
    right:14px;
    bottom:14px;
  }
}

@media(prefers-reduced-motion:reduce){
  .homepage .home-practice-section .practice-visual,
  .homepage .home-publications-section .premium-publication-row h3,
  .homepage .home-publications-section .premium-publication-row .arrow{
    transition:none;
  }
}


/* HOME TERRITORY ORNAMENT FIX — 2026-09-29 */
/* Keep the architectural motif, but move it away from headings and body copy. */
.homepage .research-territory::before{
  width:122px;
  height:78px;
  top:auto;
  right:30px;
  bottom:28px;
  opacity:.78;
  pointer-events:none;
}

/* Remove the small square markers that were colliding with the first letters. */
.homepage .research-territory::after,
.homepage .research-territory:nth-child(2)::after,
.homepage .research-territory:nth-child(3)::after,
.homepage .research-territory:nth-child(4)::after{
  display:none;
}

@media(max-width:720px){
  .homepage .research-territory::before{
    width:96px;
    height:62px;
    right:22px;
    bottom:22px;
  }
}


/* HOME STATIC EARTH TEST — 2026-09-29 */
.homepage .hero-video-panel{
  isolation:isolate;
}

.homepage .hero-earth-still{
  position:absolute;
  inset:-4%;
  z-index:0;
  width:108%;
  height:108%;
  object-fit:cover;
  object-position:58% 49%;
  transform:scale(1.05);
  animation:homeEarthDrift 18s ease-in-out infinite alternate;
}

.homepage .hero-video-shade{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(18,20,19,.18) 0%,rgba(18,20,19,.04) 45%,rgba(18,20,19,.18) 100%),
    linear-gradient(180deg,rgba(18,20,19,.04) 0%,rgba(18,20,19,.14) 100%);
}

.homepage .hero-video-label,
.homepage .hero-video-tags,
.homepage .hero-video-credit{
  z-index:2;
}

@keyframes homeEarthDrift{
  0%{
    transform:scale(1.05) translate3d(0,0,0);
  }
  100%{
    transform:scale(1.11) translate3d(-2.2%,1.2%,0);
  }
}

@media(prefers-reduced-motion:reduce){
  .homepage .hero-earth-still{
    animation:none;
    transform:scale(1.06);
  }
}

@media(max-width:900px){
  .homepage .hero-earth-still{
    object-position:58% 50%;
  }
}


/* CONTACT PAGE — 2026-09-29 */
.contact-page{
  background:#34312B;
  color:#F4F0E7;
}

.contact-hero{
  padding:96px 0 90px;
  border-bottom:1px solid rgba(244,240,231,.14);
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
  gap:84px;
  align-items:end;
}

.contact-hero .label{
  margin-bottom:22px;
  color:#D97A63;
}

.contact-hero h1{
  margin:0;
  max-width:900px;
  font-size:clamp(52px,6.1vw,86px);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.058em;
  color:#F4F0E7;
}

.contact-hero-side{
  padding-bottom:7px;
}

.contact-hero-side p{
  margin:0;
  max-width:470px;
  font-size:17px;
  line-height:1.72;
  color:#B7B1A7;
}

.contact-details{
  position:relative;
  overflow:hidden;
  padding:92px 0 110px;
  background:#F4F0E7;
  color:#34312B;
}

.contact-details::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(244,240,231,.64),rgba(244,240,231,.64)),
    url("assets/academic-architectural-v3.png") center center / cover no-repeat;
  opacity:.13;
  pointer-events:none;
}

.contact-details>.wrap{
  position:relative;
  z-index:1;
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:0;
  border-top:1px solid rgba(52,49,43,.18);
  border-bottom:1px solid rgba(52,49,43,.18);
}

.contact-primary,
.contact-profiles{
  min-height:430px;
  padding:42px 46px 46px 0;
}

.contact-primary{
  border-right:1px solid rgba(52,49,43,.18);
}

.contact-profiles{
  padding-left:46px;
}

.contact-kicker{
  margin:0 0 34px;
  font-size:10px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#D97A63;
}

.contact-primary h2,
.contact-profiles h2{
  margin:0 0 24px;
  font-size:clamp(36px,4vw,56px);
  font-weight:300;
  line-height:1;
  letter-spacing:-.05em;
}

.contact-email{
  display:inline-block;
  margin-top:4px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(52,49,43,.55);
  color:#34312B;
  text-decoration:none;
  font-size:clamp(20px,2.4vw,30px);
  line-height:1.25;
  letter-spacing:-.035em;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}

.contact-email:hover,
.contact-email:focus-visible{
  color:#D97A63;
  border-bottom-color:#D97A63;
  transform:translateX(4px);
}

.contact-affiliation{
  margin:48px 0 0;
  max-width:430px;
  font-size:14px;
  line-height:1.65;
  color:#777168;
}

.contact-profile-list{
  margin-top:30px;
  border-top:1px solid rgba(52,49,43,.16);
}

.contact-profile-link{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  min-height:72px;
  padding:16px 0;
  border-bottom:1px solid rgba(52,49,43,.16);
  color:#34312B;
  text-decoration:none;
  transition:padding .22s ease,color .22s ease,background .22s ease;
}

.contact-profile-link span:first-child{
  font-size:18px;
  letter-spacing:-.025em;
}

.contact-profile-link span:last-child{
  color:#D97A63;
  font-size:18px;
  transition:transform .22s ease;
}

.contact-profile-link:hover,
.contact-profile-link:focus-visible{
  padding-left:12px;
  padding-right:8px;
  color:#D97A63;
  background:rgba(217,122,99,.045);
}

.contact-profile-link:hover span:last-child,
.contact-profile-link:focus-visible span:last-child{
  transform:translate(4px,-4px);
}

@media(max-width:900px){
  .contact-hero-grid,
  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-hero-grid{
    gap:34px;
  }

  .contact-primary{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(52,49,43,.18);
    padding-right:0;
  }

  .contact-profiles{
    min-height:0;
    padding-left:0;
  }
}

@media(max-width:720px){
  .contact-hero{
    padding:72px 0 68px;
  }

  .contact-details{
    padding:72px 0 84px;
  }

  .contact-primary,
  .contact-profiles{
    padding-top:34px;
    padding-bottom:38px;
  }
}


/* CONTACT REFINEMENT — 2026-09-29 */
.contact-location{
  margin:12px 0 0;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9A9388;
}


/* ACTIVE NAV STATE — 2026-09-29 */
.site-header .nav-links a{
  position:relative;
}

.site-header .nav-links a[aria-current="page"]{
  opacity:1;
}

.site-header .nav-links a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:100%;
  height:1px;
  background:#D97A63;
  opacity:1;
}

@media(max-width:800px){
  .site-header .nav-links a[aria-current="page"]::after{
    bottom:-5px;
  }
}


/* RESPONSIVE QA PASS — 2026-09-29 */

/* Tablet header: preserve every destination without cramped wrapping. */
@media(max-width:1050px){
  .wrap,
  .homepage .site-header .wrap,
  .homepage .hero-frame{
    width:88%;
  }

  .site-header .nav,
  .homepage .nav{
    min-height:0;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    padding:15px 0 13px;
  }

  .site-header .brand{
    align-self:flex-start;
  }

  .site-header .nav-links{
    width:100%;
    flex-wrap:nowrap;
    gap:20px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 0 7px;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .site-header .nav-links::-webkit-scrollbar{
    display:none;
  }

  .site-header .nav-links a{
    flex:0 0 auto;
  }

  .story-card,
  .story-card.wide{
    grid-column:span 6;
  }

  .story-card.full-row{
    grid-column:1/-1;
  }
}

/* Mobile header and global horizontal rhythm. */
@media(max-width:800px){
  .wrap,
  .homepage .site-header .wrap,
  .homepage .hero-frame{
    width:88%;
  }

  .site-header .nav,
  .homepage .nav{
    padding:13px 0 11px;
    gap:10px;
  }

  .site-header .brand,
  .homepage .brand{
    font-size:19px;
    line-height:1.2;
  }

  .site-header .nav-links,
  .homepage .nav-links{
    gap:17px;
    padding-bottom:7px;
  }

  .site-header .nav-links a,
  .homepage .nav-links a{
    font-size:12.5px;
    line-height:1.35;
  }

  .site-header .nav-links a[aria-current="page"]::after{
    bottom:-5px;
  }

  .footer-grid{
    gap:22px;
  }

  .footer-links{
    gap:12px 16px;
  }

  .footer-name{
    font-size:22px;
  }
}

/* Hero consistency on phones. */
@media(max-width:720px){
  .homepage .hero-kicker-row{
    padding:22px 0 18px;
    gap:6px;
  }

  .homepage .hero-statement{
    padding:42px 0 38px;
    font-size:clamp(40px,11.5vw,58px);
    letter-spacing:-.052em;
  }

  .homepage .hero-summary{
    padding:24px 0 28px;
  }

  .homepage .hero-video-panel{
    min-height:290px;
  }

  .homepage .hero-video-label{
    left:18px;
    top:18px;
  }

  .homepage .hero-video-credit{
    right:18px;
    top:18px;
  }

  .homepage .hero-video-tags{
    left:18px;
    right:18px;
    bottom:18px;
  }

  .editorial-page .page-hero h1,
  .contact-hero h1,
  .publications-hero h1,
  .impact-hero h1{
    font-size:clamp(44px,12.5vw,64px);
    line-height:.94;
    letter-spacing:-.055em;
  }

  .contact-hero-grid,
  .publications-hero-grid,
  .impact-hero-grid{
    gap:30px;
  }

  .contact-hero-side p,
  .publications-hero-side>p,
  .impact-hero-side>p,
  .research-hero-lead,
  .about-lead{
    font-size:15px;
    line-height:1.68;
  }

  .contact-email{
    max-width:100%;
    font-size:clamp(20px,6.2vw,26px);
    overflow-wrap:anywhere;
  }
}

/* Cards and carousels on small screens. */
@media(max-width:650px){
  .story-card,
  .story-card.wide,
  .story-card.full-row{
    grid-column:1/-1;
  }

  .homepage .home-projects-section .project-slide-copy{
    padding:30px 24px 34px;
  }

  .homepage .project-tabs{
    scroll-snap-type:x proximity;
  }

  .homepage .project-tab{
    scroll-snap-align:start;
  }

  .homepage .project-carousel-nav{
    grid-template-columns:44px minmax(0,1fr) 44px;
  }

  .homepage .carousel-arrow,
  .homepage .home-practice-section .practice-carousel-nav button{
    min-width:44px;
    width:44px;
    min-height:44px;
    height:44px;
  }

  .homepage .home-practice-section .practice-copy{
    padding:32px 24px 78px;
  }

  .homepage .home-practice-section .practice-carousel-nav{
    right:16px;
    bottom:16px;
  }

  .publication-card-grid{
    gap:42px;
  }

  .impact-pathway-tab,
  .impact-pathway-tab+.impact-pathway-tab{
    min-height:76px;
    padding-top:22px;
    padding-bottom:20px;
  }

  .contact-profile-link{
    min-height:64px;
  }
}

/* Very narrow phones: prevent long labels and headings from forcing overflow. */
@media(max-width:480px){
  .wrap,
  .homepage .site-header .wrap,
  .homepage .hero-frame{
    width:90%;
  }

  .homepage .hero-statement{
    font-size:clamp(38px,11.5vw,50px);
  }

  .homepage .premium-heading .title,
  .about-section-head h2,
  .research-section-head h2,
  .publications-section-head h2,
  .impact-section-head h2,
  .impact-practice-head h2,
  .contact-primary h2,
  .contact-profiles h2{
    font-size:clamp(34px,10vw,48px);
  }

  .homepage .research-territory h3{
    font-size:clamp(27px,8.5vw,34px);
  }

  .homepage .home-projects-section .project-slide-copy h3{
    font-size:clamp(38px,12vw,52px);
  }

  .contact-profile-link span:first-child{
    font-size:16px;
  }

  .site-header .nav-links,
  .homepage .nav-links{
    gap:15px;
  }
}


/* 404 PAGE — 2026-09-29 */
.not-found-main{
  min-height:calc(100vh - 70px);
  display:flex;
  flex-direction:column;
}

.not-found-main .page-hero{
  flex:1;
  display:flex;
  align-items:center;
}

.not-found-code{
  margin:0 0 18px;
  color:#D97A63;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.not-found-main .page-hero h1{
  max-width:820px;
}

.not-found-actions{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin-top:34px;
}

.not-found-actions a{
  color:#F4F0E7;
  text-decoration:none;
  padding-bottom:4px;
  border-bottom:1px solid rgba(244,240,231,.42);
  font-size:13px;
}

.not-found-actions a:hover,
.not-found-actions a:focus-visible{
  border-bottom-color:#D97A63;
}


/* MOBILE POLISH — arrows, impact framing */
.link-arrow,
.arrow,
.hero-quick-links span,
.impact-next a span,
.about-next a span,
.research-next a span,
.contact-profile-link span:last-child,
.contact-email span{
  font-family:"Manrope",Arial,sans-serif;
  font-variant-emoji:text;
}

@media(max-width:900px){
  .impact-pathway-photo{
    background-size:var(--impact-photo-size-mobile, var(--impact-photo-size));
    background-position:var(--impact-stage-position-mobile, var(--impact-stage-position));
  }

  .impact-pathway-stage::after{
    background-position:var(--impact-stage-position-mobile, var(--impact-stage-position));
  }
}


/* MOBILE NAV AFFORDANCE — 2026-09-29 */
@media(max-width:1050px){
  .site-header .nav-links,
  .homepage .nav-links{
    scroll-snap-type:x proximity;
    scroll-padding-inline:18px;
    overscroll-behavior-inline:contain;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 34px),transparent 100%);
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 34px),transparent 100%);
  }

  .site-header .nav-links a,
  .homepage .nav-links a{
    scroll-snap-align:center;
  }
}
