/* ═══════════════════════════════════════════════
   RMIT Finance & Frontier Innovation Cluster
   Scientific / Discovery theme — v2
   ═══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Figtree:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#000054; --navy-mid:#00007a; --navy-deep:#00002e;
  --red:#E60028; --red-dk:#c2001f;
  --gold:#C5A065; --gold-lt:#d4b47e;
  --cyan:#00C8E8; --cyan-lt:#5DDFF5;
  --cyan-dim:rgba(0,200,232,.12); --cyan-trace:rgba(0,200,232,.22); --cyan-glow:rgba(0,200,232,.5);
  --cream:#F7F5F1; --charcoal:#2A2D34; --muted:#6b7280; --body:#4a4a55;
  --border:rgba(0,0,84,.10);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Figtree',system-ui,sans-serif;
  --ease:cubic-bezier(.25,.46,.45,.94);
  --hex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50V18L28 2l28 16v32L28 66zM28 100L0 84V52l28-16 28 16v32L28 100z' fill='none' stroke='rgba(0%2C200%2C232%2C0.07)' stroke-width='1'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:#fff;color:var(--charcoal);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--navy)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.container{width:min(1180px,100% - 3rem);margin-inline:auto}
.container--sm{width:min(780px,100% - 3rem);margin-inline:auto}

/* ── Reveal ── */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  .hero-scan,.circuit-node::after,.hero-circuit-tl::after,.hero-circuit-br::after{animation:none!important}
  *{transition-duration:.01ms!important}
}

/* ── Animations ── */
@keyframes scanline{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(2000%);opacity:0}}
@keyframes node-pulse{0%,100%{box-shadow:0 0 4px 1px rgba(0,200,232,.3)}50%{box-shadow:0 0 12px 4px rgba(0,200,232,.7)}}

/* ══════════════ NAVIGATION ══════════════ */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:.9rem 0;background:rgba(0,0,46,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,200,232,.08);transition:background .4s var(--ease),padding .4s var(--ease)}
.nav--transparent{background:transparent;border-bottom:none}
.nav--transparent.scrolled{background:rgba(0,0,46,.97);border-bottom:1px solid rgba(0,200,232,.08)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-logo{display:flex;align-items:center;gap:.9rem;text-decoration:none;flex-shrink:0}
.nav-logo img{height:52px;width:auto;display:block;background:#fff;padding:3px 8px}
.nav-logo .wordmark{display:none;font-family:var(--serif);color:#fff;font-size:1.25rem;font-weight:500;letter-spacing:.02em}
.nav-logo .cluster-name{color:rgba(255,255,255,.8);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1.35;border-left:1px solid rgba(0,200,232,.3);padding-left:.9rem}
.nav-links{display:flex;gap:0;list-style:none}
.nav-links>li{position:relative}
.nav-links a{color:rgba(255,255,255,.65);text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.5rem 1.1rem;transition:color .2s;position:relative;display:block}
.nav-links>li>a::after{content:'';position:absolute;bottom:-2px;left:1.1rem;right:1.1rem;height:1px;background:var(--cyan);transform:scaleX(0);transition:transform .3s var(--ease);box-shadow:0 0 6px var(--cyan-glow)}
.nav-links>li>a:hover,.nav-links>li>a.active{color:#fff}
.nav-links>li>a:hover::after,.nav-links>li>a.active::after{transform:scaleX(1)}
.sub{list-style:none;position:absolute;top:calc(100% + 10px);left:.6rem;min-width:280px;background:rgba(0,0,46,.98);border:1px solid rgba(0,200,232,.15);padding:.5rem 0;display:none;box-shadow:0 20px 50px rgba(0,0,30,.5)}
.sub::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--red),var(--cyan))}
.nav-links>li:hover>.sub,.nav-links>li:focus-within>.sub{display:block}
.sub a{text-transform:none;letter-spacing:0;font-size:.88rem;padding:.6rem 1.2rem;color:rgba(255,255,255,.8)}
.sub a small{display:block;font-size:.72rem;color:rgba(255,255,255,.4);margin-top:.1rem}
.sub a:hover{color:var(--cyan);background:rgba(0,200,232,.05)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff}
@media (max-width:900px){
  .nav-toggle{display:flex}
  .nav-logo .cluster-name{display:none}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(0,0,46,.99);flex-direction:column;padding:1rem 1.5rem 1.5rem;border-bottom:1px solid rgba(0,200,232,.1)}
  .nav-links.open{display:flex}
  .nav-links a{padding:.75rem 0}
  .nav-links>li>a::after{left:0;right:0}
  .sub{position:static;display:block;background:none;border:0;box-shadow:none;padding:0 0 .5rem 1rem;min-width:0}
  .sub::before{display:none}
  .sub a{padding:.45rem 0}
}

/* ══════════════ HERO (landing) ══════════════ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--navy-deep);overflow:hidden}
#particleCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero-glow{position:absolute;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(230,0,40,.10) 0%,transparent 60%);top:-250px;right:-200px;pointer-events:none}
.hero-glow2{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(0,200,232,.07) 0%,transparent 65%);bottom:-100px;left:-80px;pointer-events:none}
.hero-scan{position:absolute;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(0,200,232,.15),transparent);animation:scanline 9s linear infinite;z-index:1;pointer-events:none}
.hero-circuit-tl,.hero-circuit-br{position:absolute;width:120px;height:120px;pointer-events:none;z-index:1}
.hero-circuit-tl{top:100px;left:24px;border-top:1px solid var(--cyan-trace);border-left:1px solid var(--cyan-trace)}
.hero-circuit-br{bottom:110px;right:0;border-bottom:1px solid var(--cyan-trace);border-right:1px solid var(--cyan-trace)}
.hero-circuit-tl::after,.hero-circuit-br::after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px 2px var(--cyan-glow);animation:node-pulse 2.5s ease-in-out infinite}
.hero-circuit-tl::after{bottom:-3px;right:-3px}.hero-circuit-br::after{top:-3px;left:-3px}
.hero-slice{position:absolute;bottom:0;left:0;right:0;height:80px;background:#fff;clip-path:polygon(0 100%,100% 0,100% 100%);z-index:2}
.hero-content{position:relative;z-index:3;padding:8rem 0 7rem;max-width:820px}
.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:1.75rem;display:flex;align-items:center;gap:.75rem}
.eyebrow::before{content:'';width:36px;height:1px;background:var(--cyan);box-shadow:0 0 6px rgba(0,200,232,.4);flex-shrink:0}
.hero-title{font-family:var(--serif);font-size:clamp(2.4rem,5.2vw,4.4rem);font-weight:300;line-height:1.08;color:#fff;margin-bottom:.5rem}
.hero-title strong{font-weight:600}
.hero-rule{width:60px;height:2px;background:linear-gradient(to right,var(--red),var(--cyan));margin:2rem 0}
.hero-sub{font-size:1.05rem;color:rgba(255,255,255,.7);max-width:560px;line-height:1.7;margin-bottom:2.75rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
@media (max-width:768px){.hero-circuit-tl,.hero-circuit-br{display:none}.hero-content{padding:7rem 0 6rem}}

/* ══════════════ PAGE HERO (inner) ══════════════ */
.page-hero{background:var(--navy-deep);padding:8.5rem 0 4rem;position:relative;overflow:hidden;color:#fff}
.page-hero::before{content:'';position:absolute;inset:0;background-image:var(--hex);background-size:56px 100px;pointer-events:none}
.page-hero-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(0,200,232,.07) 0%,rgba(230,0,40,.05) 40%,transparent 65%);top:-200px;right:-100px;pointer-events:none}
.page-hero-circuit{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.page-hero-circuit::before{content:'';position:absolute;bottom:60px;left:0;right:40%;height:1px;background:linear-gradient(to right,var(--cyan-trace),transparent)}
.page-hero-circuit::after{content:'';position:absolute;top:80px;right:0;left:55%;height:1px;background:linear-gradient(to left,var(--cyan-trace),transparent)}
.page-hero .container{position:relative;z-index:1}
.page-hero .eyebrow{margin-bottom:.9rem;font-size:.65rem}
.page-hero .eyebrow a{color:inherit;text-decoration:none}.page-hero .eyebrow a:hover{color:#fff}
.page-hero-title{font-family:var(--serif);font-size:clamp(2.1rem,4.2vw,3.4rem);font-weight:400;line-height:1.1;max-width:20ch}
.page-hero-rule{width:48px;height:2px;background:linear-gradient(to right,var(--red),var(--cyan));margin:1.25rem 0}
.page-hero-sub{font-size:.95rem;color:rgba(255,255,255,.6);max-width:520px}
.page-hero--image{min-height:520px;display:flex;align-items:flex-end;padding-bottom:4.5rem}
.page-hero--image .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;mix-blend-mode:luminosity}
.page-hero--image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,46,.2),var(--navy-deep) 88%)}
.page-hero--image .page-hero-glow{z-index:1}

/* ══════════════ SECTIONS ══════════════ */
.section{padding:6rem 0;position:relative}
.section--cream{background:var(--cream)}
.section--hex::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--hex);background-size:56px 100px}
.section--dark{background:var(--navy-deep);color:rgba(255,255,255,.75)}
.section--dark::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--hex);background-size:56px 100px}
.section>.container{position:relative;z-index:1}
.section-label{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:1.1rem;display:flex;align-items:center;gap:.55rem}
.section-label::after{content:'';width:32px;height:1px;background:rgba(230,0,40,.25)}
.section--dark .section-label{color:var(--cyan)}.section--dark .section-label::after{background:var(--cyan-trace)}
.section-title{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:400;color:var(--navy);margin-bottom:.4rem;line-height:1.15}
.section--dark .section-title{color:#fff}
.section-subtitle{font-size:.9rem;color:var(--muted);max-width:56ch}
.section--dark .section-subtitle{color:rgba(255,255,255,.55)}
.section-head{margin-bottom:2.75rem}
.section-head--split{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:1rem 4rem;align-items:end}
.section-head--split .section-subtitle{padding-bottom:.4rem}
@media (max-width:760px){.section-head--split{grid-template-columns:1fr}}

.waveform-divider{background:#fff;overflow:hidden;position:relative;height:80px}
.waveform-divider svg{position:absolute;bottom:0;left:0;width:100%;height:80px}
.waveform-divider--cream{background:var(--cream)}

/* ── Long-form text ── */
.prose{max-width:720px}
.prose p{font-size:.98rem;color:var(--body);margin-bottom:1.3rem;line-height:1.8}
.prose p.lead{font-family:var(--serif);font-size:1.45rem;line-height:1.45;color:var(--navy);font-weight:400;margin-bottom:1.75rem}
.about-quote{border-left:3px solid var(--cyan);padding-left:1.5rem;margin:2rem 0;position:relative}
.about-quote::before{content:'';position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--cyan);box-shadow:0 0 8px rgba(0,200,232,.4)}
.about-quote p{font-family:var(--serif);font-size:1.25rem;font-style:italic;color:var(--navy);line-height:1.5}

/* Reading layout with side rail */
.reading{display:grid;grid-template-columns:minmax(0,720px) minmax(240px,1fr);gap:3rem clamp(3rem,8vw,7rem);align-items:start}
.rail{position:sticky;top:110px}
.rail-label{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}
.rail ul{list-style:none;border-left:1px solid var(--border)}
.rail li a{display:block;padding:.45rem 0 .45rem 1.1rem;font-size:.85rem;color:var(--muted);text-decoration:none;border-left:2px solid transparent;margin-left:-1px;transition:color .2s,border-color .2s}
.rail li a:hover{color:var(--navy)}
.rail li a.active{color:var(--navy);border-left-color:var(--cyan);font-weight:500}
.rail-note{font-size:.82rem;color:var(--muted);line-height:1.65;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--border)}
@media (max-width:900px){.reading{grid-template-columns:1fr}.rail{position:static}}

/* ── Dark panel ── */
.panel{background:var(--navy-deep);padding:3rem;position:relative;overflow:hidden;border:1px solid rgba(0,200,232,.1);color:rgba(255,255,255,.65)}
.panel::before{content:'';position:absolute;top:0;right:0;width:80px;height:80px;border-top:1px solid var(--cyan-trace);border-right:1px solid var(--cyan-trace);pointer-events:none}
.panel::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:60px;border-bottom:1px solid var(--cyan-trace);border-left:1px solid var(--cyan-trace);pointer-events:none}
.panel-label{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:1.5rem;display:block}
.panel-items{list-style:none}
.panel-item{padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.87rem;line-height:1.55}
.panel-item:last-child{border-bottom:none}
.panel-item strong{color:#fff;font-weight:600;display:block;margin-bottom:.2rem}
.panel-item a{color:var(--cyan-lt);text-decoration:none;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.panel-item a:hover{color:#fff}

/* ── Explore strip (landing: three pages) ── */
.explore{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.explore a{display:block;background:#fff;padding:2.25rem 2rem 2.5rem;text-decoration:none;position:relative;overflow:hidden;transition:box-shadow .3s var(--ease)}
.explore a::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--cyan),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.explore a:hover::before{transform:scaleX(1)}
.explore a:hover{box-shadow:0 8px 40px rgba(0,200,232,.1),0 2px 12px rgba(0,0,84,.08)}
.explore h3{font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--navy);margin-bottom:.7rem;line-height:1.15}
.explore p{font-size:.88rem;color:var(--body);line-height:1.65;margin-bottom:1.4rem}
.explore .more{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid rgba(0,0,84,.3);padding-bottom:2px}
.explore a:hover .more{color:var(--cyan);border-color:var(--cyan)}
@media (max-width:820px){.explore{grid-template-columns:1fr}}

/* ── Forum feature rows ── */
.forum-row{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding:3.5rem 0}
.forum-row+.forum-row{border-top:1px solid rgba(255,255,255,.08)}
.forum-row .media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--navy);border:1px solid rgba(0,200,232,.12)}
.forum-row .media img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%);transition:filter .4s}
.forum-row:hover .media img{filter:none}
.forum-row .media::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:60px;border-bottom:1px solid var(--cyan-trace);border-left:1px solid var(--cyan-trace)}
.forum-tag{position:absolute;top:14px;left:14px;font-size:.62rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:.35rem .8rem;background:var(--red);color:#fff;z-index:1}
.forum-tag--past{background:var(--gold);color:var(--navy-deep)}
.forum-when{font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.forum-when::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--cyan-glow)}
.forum-row h3{font-family:var(--serif);font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:400;color:#fff;line-height:1.15;margin-bottom:1rem}
.forum-row p{font-size:.92rem;color:rgba(255,255,255,.65);line-height:1.7;max-width:52ch;margin-bottom:1.6rem}
.forum-row .actions{display:flex;gap:.8rem;flex-wrap:wrap}
.forum-row--flip .media{order:2}
@media (max-width:820px){.forum-row{grid-template-columns:1fr}.forum-row--flip .media{order:0}}

/* ── Buttons ── */
.btn-primary{background:var(--red);color:#fff;padding:.85rem 2.25rem;font-family:var(--sans);font-size:.77rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;display:inline-block;border:none;cursor:pointer;transition:background .25s,transform .2s,box-shadow .25s}
.btn-primary:hover{background:var(--red-dk);transform:translateY(-2px);color:#fff;box-shadow:0 6px 20px rgba(230,0,40,.25)}
.btn-ghost{border:1px solid rgba(0,200,232,.3);color:rgba(255,255,255,.8);padding:.85rem 2.25rem;font-family:var(--sans);font-size:.77rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:border-color .25s,color .25s,box-shadow .25s}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 16px rgba(0,200,232,.12)}
.btn-ghost--dark{border-color:rgba(0,0,84,.3);color:var(--navy)}
.btn-ghost--dark:hover{border-color:var(--navy);color:var(--navy);box-shadow:0 0 16px rgba(0,0,84,.1)}
.btn-navy{background:var(--navy);color:#fff;padding:.85rem 2.25rem;font-size:.77rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background .25s,transform .2s}
.btn-navy:hover{background:var(--navy-mid);transform:translateY(-2px);color:#fff}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}

/* ── Team (cards + full bios) ── */
.team-grid{display:grid;gap:2px}
.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.g4{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.g3{grid-template-columns:1fr 1fr}}
@media (max-width:580px){.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;position:relative;overflow:hidden;text-decoration:none;display:block;transition:box-shadow .3s var(--ease)}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--cyan),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);z-index:1}
.card:hover::before{transform:scaleX(1)}
.card:hover{box-shadow:0 8px 40px rgba(0,200,232,.1),0 2px 12px rgba(0,0,84,.08)}
.card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top center;filter:grayscale(25%);transition:filter .4s}
.card:hover img{filter:none}
.card-info{padding:1.4rem 1.65rem 1.75rem}
.card-name{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--navy);margin-bottom:.25rem;line-height:1.2}
.card-role{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);line-height:1.5}
.card-more{margin-top:.9rem;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid rgba(0,0,84,.3);padding-bottom:2px;display:inline-block}
.card:hover .card-more{color:var(--cyan);border-color:var(--cyan)}

.bios{display:grid;gap:2px}
.bio{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;align-items:start;background:#fff;padding:2.5rem;position:relative}
.bio::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--cyan),var(--gold));opacity:.7}
.bio img{width:260px;aspect-ratio:1/1;object-fit:cover;object-position:top center}
.bio-name{font-family:var(--serif);font-size:1.8rem;font-weight:600;color:var(--navy);line-height:1.15}
.bio-role{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:.4rem 0 1.2rem;line-height:1.6}
.bio p{font-size:.93rem;color:var(--body);line-height:1.8}
@media (max-width:700px){.bio{grid-template-columns:1fr;padding:1.75rem}.bio img{width:100%;max-width:300px}}

/* ── Carousel ── */
.carousel{position:relative;background:var(--navy-deep);overflow:hidden;border:1px solid rgba(0,200,232,.12)}
.carousel .track{display:flex;transition:transform .5s var(--ease)}
.carousel figure{flex:0 0 100%;aspect-ratio:16/9;position:relative}
.carousel figure img{width:100%;height:100%;object-fit:cover}
.carousel figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.5rem 2.4rem;background:linear-gradient(0deg,rgba(0,0,46,.9),transparent);color:rgba(255,255,255,.85);font-size:.82rem;letter-spacing:.04em}
.carousel .ctl{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(0,200,232,.35);background:rgba(0,0,46,.7);color:#fff;font-size:1.3rem;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);transition:border-color .2s,color .2s}
.carousel .ctl:hover{border-color:var(--cyan);color:var(--cyan)}
.carousel .prev{left:16px}.carousel .next{right:16px}
.carousel .dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.carousel .dots button{width:22px;height:2px;border:0;background:rgba(255,255,255,.3);padding:0;cursor:pointer}
.carousel .dots button[aria-current="true"]{background:var(--cyan);box-shadow:0 0 6px var(--cyan-glow)}

/* ── Brochure ── */
.brochure{display:grid;grid-template-columns:220px 1fr;gap:2.5rem;align-items:center;background:#fff;padding:2.5rem;border-top:3px solid transparent;border-image:linear-gradient(to right,var(--red),var(--cyan)) 1;box-shadow:0 4px 40px rgba(0,0,84,.06)}
.brochure img{box-shadow:0 12px 30px rgba(0,0,46,.25)}
.brochure h3{font-family:var(--serif);font-size:1.7rem;font-weight:500;color:var(--navy);margin-bottom:.4rem}
.brochure p{font-size:.9rem;color:var(--body);margin-bottom:1.4rem}
@media (max-width:640px){.brochure{grid-template-columns:1fr}.brochure img{max-width:200px}}

/* ── Pager ── */
.pager{display:flex;justify-content:space-between;gap:2rem;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.pager a{text-decoration:none;color:var(--navy);font-family:var(--serif);font-size:1.15rem}
.pager small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}
.pager .next{margin-left:auto;text-align:right}
.pager a:hover{color:var(--red)}

/* ── Footer ── */
footer{background:var(--navy-deep);color:rgba(255,255,255,.55);padding:3.5rem 0 2rem;position:relative;overflow:hidden}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--cyan-trace),var(--gold-lt) 40%,var(--cyan-trace),transparent)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:1.5rem;align-items:start}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;gap:1.75rem}}
.footer-logo-img{height:52px;width:auto;display:block;background:#fff;padding:4px 10px;margin-bottom:.85rem;opacity:.95}
.footer-sub{font-size:.82rem;line-height:1.6}
.footer-address{font-size:.78rem;margin-top:.4rem}
.footer-address a{color:rgba(255,255,255,.55);text-decoration:none}.footer-address a:hover{color:var(--cyan)}
.footer-h{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:.9rem}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.footer-links a{color:rgba(255,255,255,.45);text-decoration:none;font-size:.8rem;transition:color .2s}
.footer-links a:hover{color:var(--cyan)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.footer-copy{font-size:.73rem;color:rgba(255,255,255,.3)}

/* ═══════════════════════════════════════════════
   Bold editorial research-lab direction — v3
   ═══════════════════════════════════════════════ */
:root{
  --navy:#000054;
  --navy-mid:#171777;
  --navy-deep:#07072f;
  --red:#E60028;
  --red-dk:#bd001f;
  --cream:#f3f1ec;
  --charcoal:#171923;
  --body:#3f4350;
  --border:rgba(0,0,84,.16);
}

body{font-size:1rem;line-height:1.7;background:#fff}
.container{width:min(1320px,100% - 5rem)}
.container--sm{width:min(900px,100% - 5rem)}

/* Navigation: institutional, but integrated into the composition. */
.nav{padding:.7rem 0;background:rgba(7,7,47,.98);border-bottom:4px solid var(--red);box-shadow:0 10px 40px rgba(0,0,30,.12)}
.nav--transparent{background:linear-gradient(180deg,rgba(7,7,47,.92),rgba(7,7,47,0));border-bottom-color:transparent;box-shadow:none}
.nav--transparent.scrolled{background:rgba(7,7,47,.98);border-bottom:4px solid var(--red)}
.nav-logo{gap:1rem}
.nav-logo img{height:52px;padding:0;background:transparent}
.nav-logo .cluster-name{font-size:.78rem;line-height:1.28;letter-spacing:.1em;font-weight:700;color:#fff;border-left:3px solid var(--red);padding-left:1rem}
.nav-links a{font-size:.86rem;font-weight:700;letter-spacing:.075em;padding:.7rem 1rem;color:rgba(255,255,255,.8)}
.nav-links>li>a::after{height:4px;bottom:-.7rem;left:1rem;right:1rem;background:var(--red);box-shadow:none}
.sub{top:calc(100% + 18px);background:#fff;border:0;border-top:6px solid var(--red);box-shadow:0 24px 60px rgba(7,7,47,.22)}
.sub{z-index:2}
@media (min-width:901px){
  .nav-links>li:has(>.sub)::before{content:'';position:absolute;z-index:1;top:100%;left:0;width:100%;min-width:280px;height:22px}
}
.sub::before{display:none}
.sub a{font-size:.95rem;color:var(--navy);padding:.75rem 1.25rem}
.sub a small{font-size:.78rem;color:#666b78}
.sub a:hover{color:var(--red);background:#f5f5f8}

/* Home hero: one strong typographic gesture instead of layered sci-fi effects. */
.hero{min-height:96svh;background:var(--navy-deep);align-items:flex-end;isolation:isolate}
.hero::before{content:'';position:absolute;z-index:0;right:-9vw;top:0;width:min(38vw,580px);height:100%;background:var(--red);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}
.hero::after{content:'';position:absolute;z-index:0;right:8vw;top:23%;width:18vw;max-width:260px;aspect-ratio:1;border:2px solid rgba(255,255,255,.3);transform:rotate(45deg)}
#particleCanvas,.hero-glow,.hero-glow2,.hero-scan,.hero-circuit-tl,.hero-circuit-br{display:none}
.hero-slice{display:none}
.hero-content{padding:11rem 0 6.5rem;max-width:1100px}
.eyebrow{font-size:.82rem;line-height:1.3;font-weight:800;letter-spacing:.17em;color:#fff;margin-bottom:2rem}
.eyebrow::before{width:52px;height:5px;background:var(--red);box-shadow:none}
.hero-title{font-family:var(--sans);font-size:clamp(4.2rem,8.4vw,8.4rem);font-weight:800;line-height:.82;letter-spacing:-.065em;text-transform:uppercase;margin:0;max-width:9ch}
.hero-title span{display:block}
.hero-title .hero-key{background:var(--red);color:#fff;width:max-content;padding:.075em .13em .11em;transform:translateX(-.13em);margin:.11em 0}
.hero-title .hero-cluster{font-size:.18em;line-height:1;letter-spacing:.32em;margin-top:1.5rem;color:rgba(255,255,255,.82)}
.hero-rule{display:none}
.hero-sub{font-size:clamp(1.05rem,1.5vw,1.28rem);font-weight:500;color:rgba(255,255,255,.84);max-width:680px;line-height:1.55;margin:2.5rem 0 2.25rem}
.hero-actions{gap:.75rem}

/* Buttons use weight and edges, not glow. */
.btn-primary,.btn-navy,.btn-ghost{font-size:.84rem;font-weight:800;letter-spacing:.08em;padding:1rem 1.4rem;border-radius:0}
.btn-primary,.btn-navy{box-shadow:none}
.btn-primary::after,.btn-navy::after,.btn-ghost::after{content:' →';padding-left:.5rem}
.btn-primary:hover,.btn-navy:hover{transform:translateY(-3px);box-shadow:6px 6px 0 #fff}
.btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{border-color:#fff;color:#fff;box-shadow:6px 6px 0 var(--red)}
.btn-ghost--dark{border-color:var(--navy);color:var(--navy)}
.btn-ghost--dark:hover{border-color:var(--navy);color:var(--navy);box-shadow:6px 6px 0 var(--red)}

/* Section hierarchy. */
.section{padding:7.5rem 0}
.section--hex::before,.section--dark::before{display:none}
.section-label{font-size:.8rem;font-weight:800;letter-spacing:.16em;margin-bottom:1.3rem}
.section-label::after{width:54px;height:4px;background:var(--red)}
.section-title{font-family:var(--sans);font-size:clamp(2.5rem,5vw,5.1rem);font-weight:800;letter-spacing:-.055em;line-height:.94;text-transform:uppercase;margin-bottom:.75rem;max-width:15ch}
.section-subtitle{font-size:1.08rem;line-height:1.55;max-width:60ch}
.section-head{margin-bottom:4rem}
.section-head--split{grid-template-columns:minmax(0,640px) 1fr;gap:2rem 5rem}
.waveform-divider{display:none}

/* Editorial reading layouts. */
.reading{grid-template-columns:minmax(0,800px) minmax(300px,1fr);gap:4rem clamp(4rem,8vw,8rem)}
.prose{max-width:800px}
.prose p{font-size:1.08rem;line-height:1.85;margin-bottom:1.6rem}
.prose p.lead{font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.34;letter-spacing:-.018em;margin-bottom:2rem}
.about-quote{border-left:10px solid var(--red);padding:2rem 0 2rem 2.25rem;margin:0 0 3rem}
.about-quote::before{display:none}
.about-quote p{font-size:clamp(1.75rem,3vw,2.7rem);font-weight:500;line-height:1.28;font-style:normal;letter-spacing:-.02em}
.rail{top:120px;border-top:8px solid var(--red);padding-top:1.5rem}
.rail-label{font-size:.78rem;color:var(--navy);font-weight:800}
.rail li a{font-size:.95rem;padding:.65rem 0 .65rem 1.2rem}
.rail li a.active{border-left-color:var(--red);font-weight:800}
.rail-note{font-size:.92rem}

/* The overview panel becomes a graphic anchor. */
.home-page .hero + .section{padding-top:6rem}
.home-page .hero + .section .reading{grid-template-columns:1.15fr .85fr;align-items:center}
.panel{background:var(--navy);padding:4rem 3.2rem;border:0;border-top:12px solid var(--red);box-shadow:18px 18px 0 var(--cream)}
.panel::before,.panel::after{display:none}
.panel-label{font-size:.82rem;font-weight:800;color:#fff;letter-spacing:.16em}
.panel-item{padding:1.5rem 0;font-size:1rem;line-height:1.65;border-bottom:1px solid rgba(255,255,255,.16)}
.panel-item strong{font-family:var(--sans);font-size:1.35rem;line-height:1.05;text-transform:uppercase;letter-spacing:-.025em;margin-bottom:.55rem}
.panel-item a{font-size:.82rem;color:#fff;border-bottom:3px solid var(--red)}

/* Red editorial interruption and proposition cards. */
.section--red-editorial{background:var(--red);color:#fff}
.section--red-editorial .section-label,.section--red-editorial .section-title,.section--red-editorial .section-subtitle{color:#fff}
.section--red-editorial .section-label::after{background:#fff}
.explore{gap:1px;background:rgba(255,255,255,.25)}
.explore a{min-height:410px;background:var(--navy-deep);padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:flex-end;border-top:0;isolation:isolate}
.explore a::before{content:'';inset:0 auto 0 0;width:10px;height:auto;background:var(--red);transform:scaleY(0);transform-origin:bottom}
.explore a::after{position:absolute;top:1rem;right:1.7rem;font-size:8rem;line-height:1;font-weight:800;letter-spacing:-.08em;color:rgba(255,255,255,.08);z-index:-1}
.explore a:nth-child(1)::after{content:'01'}
.explore a:nth-child(2)::after{content:'02'}
.explore a:nth-child(3)::after{content:'03'}
.explore a:hover::before{transform:scaleY(1)}
.explore a:hover{box-shadow:none;background:var(--navy)}
.explore h3{font-family:var(--sans);font-size:clamp(2rem,3vw,2.8rem);font-weight:800;letter-spacing:-.045em;line-height:.98;color:#fff;margin-bottom:1rem;text-transform:uppercase}
.explore p{font-size:1rem;color:rgba(255,255,255,.72);line-height:1.6;margin-bottom:2rem}
.explore .more{font-size:.84rem;color:#fff;border-bottom:3px solid var(--red);width:max-content}
.explore a:hover .more{color:#fff;border-color:#fff}
.explore .more::after{content:' →'}

/* Event features: image-led, asymmetric, with the year as a visual object. */
.home-forums{padding-top:8rem}
.home-forums .section-head{max-width:900px}
.forum-row{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(3rem,7vw,7rem);padding:5rem 0;position:relative}
.forum-row[data-year]::before{content:attr(data-year);position:absolute;right:0;top:.15rem;font-size:clamp(5rem,10vw,10rem);line-height:1;font-weight:800;letter-spacing:-.08em;color:rgba(255,255,255,.045);pointer-events:none}
.forum-row .media{aspect-ratio:16/10;border:0;border-left:12px solid var(--red);overflow:hidden}
.forum-row .media img{filter:none;transition:transform .6s var(--ease)}
.forum-row:hover .media img{transform:scale(1.025)}
.forum-row .media::after{display:none}
.forum-tag{top:0;left:0;font-size:.75rem;font-weight:800;padding:.65rem 1.15rem}
.forum-when{font-size:.82rem;font-weight:800;letter-spacing:.12em;margin-bottom:1.2rem}
.forum-when::before{width:28px;height:4px;border-radius:0;background:var(--red);box-shadow:none}
.forum-row h3{font-family:var(--sans);font-size:clamp(2.25rem,4vw,4.4rem);font-weight:800;letter-spacing:-.055em;line-height:.95;text-transform:uppercase;margin-bottom:1.4rem}
.forum-row p{font-size:1.06rem;line-height:1.7}

/* Inner-page mastheads. */
.page-hero{padding:11rem 0 6rem;min-height:540px;display:flex;align-items:flex-end;background:var(--navy-deep);isolation:isolate}
.page-hero::before{display:none}
.page-hero::after{content:'';position:absolute;z-index:0;right:-7vw;top:0;width:min(38vw,540px);height:100%;background:var(--red);clip-path:polygon(38% 0,100% 0,100% 100%,0 100%)}
.page-hero-glow,.page-hero-circuit{display:none}
.page-hero .container{z-index:2}
.page-hero .eyebrow{font-size:.8rem;margin-bottom:1.3rem}
.page-hero-title{font-family:var(--sans);font-size:clamp(3.5rem,7vw,7rem);font-weight:800;letter-spacing:-.065em;line-height:.88;text-transform:uppercase;max-width:11ch}
.page-hero-rule{width:110px;height:10px;background:var(--red);margin:1.8rem 0}
.page-hero-sub{font-size:1.18rem;line-height:1.55;color:rgba(255,255,255,.82);max-width:680px}
.page-hero--image{min-height:720px;padding-bottom:5.5rem}
.page-hero--image .bg{opacity:.64;mix-blend-mode:normal;filter:saturate(.8) contrast(1.05)}
.page-hero--image::after{inset:0;width:auto;height:auto;background:linear-gradient(90deg,rgba(7,7,47,.97) 0%,rgba(7,7,47,.78) 46%,rgba(230,0,40,.28) 100%);clip-path:none}

/* Team, gallery and document surfaces. */
.team-grid{gap:1rem}
.card{border-bottom:8px solid var(--red)}
.card::before{display:none}
.card:hover{box-shadow:12px 12px 0 var(--red)}
.card img{filter:grayscale(15%);aspect-ratio:4/5}
.card-info{padding:1.7rem 1.6rem 2rem}
.card-name{font-family:var(--sans);font-size:1.35rem;font-weight:800;letter-spacing:-.025em}
.card-role{font-size:.78rem;color:#6a542f;font-weight:800}
.card-more{font-size:.78rem;font-weight:800;border-bottom:3px solid var(--red)}
.bio{grid-template-columns:320px 1fr;gap:3.5rem;padding:3rem;border-left:10px solid var(--red);margin-bottom:1.25rem}
.bio::before{display:none}
.bio img{width:320px;aspect-ratio:4/5}
.bio-name{font-family:var(--sans);font-size:2.2rem;font-weight:800;letter-spacing:-.045em;text-transform:uppercase}
.bio-role{font-size:.82rem;color:#6a542f;font-weight:800}
.bio p{font-size:1.03rem;line-height:1.82}
.carousel{border:0;border-left:12px solid var(--red);box-shadow:18px 18px 0 var(--navy)}
.carousel figure{aspect-ratio:16/8.7}
.carousel figcaption{font-size:.92rem;font-weight:700;padding:4rem 2rem 2.6rem}
.carousel .ctl{width:54px;height:54px;border:0;background:var(--red);font-size:1.8rem}
.carousel .ctl:hover{background:#fff;color:var(--red)}
.carousel .dots button{height:5px}
.carousel--single .ctl,.carousel--single .dots{display:none}
.curated-carousel{margin-bottom:8rem}
.gallery-head{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin:0 0 2.25rem;padding-top:1.75rem;border-top:8px solid var(--red)}
.gallery-head>div{min-width:0}
.gallery-head .section-label{margin-bottom:.8rem}
.gallery-title{font-family:var(--sans);font-size:clamp(2.2rem,4vw,4.2rem);font-weight:800;letter-spacing:-.055em;line-height:.95;text-transform:uppercase;color:var(--navy)}
.gallery-head p{max-width:34ch;font-size:1rem;color:var(--body);margin-bottom:.35rem}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:170px;grid-auto-flow:dense;gap:.7rem}
.photo-tile{position:relative;width:100%;height:100%;padding:0;border:0;background:var(--navy-deep);overflow:hidden;cursor:zoom-in}
.photo-tile:nth-child(1),.photo-tile:nth-child(14){grid-column:span 2;grid-row:span 2}
.photo-tile:nth-child(6),.photo-tile:nth-child(22){grid-row:span 2}
.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease),filter .45s var(--ease)}
.photo-tile span{position:absolute;left:.65rem;bottom:.55rem;z-index:1;font-size:.76rem;font-weight:800;letter-spacing:.1em;color:#fff;background:var(--red);padding:.28rem .48rem;transform:translateY(calc(100% + .6rem));transition:transform .28s var(--ease)}
.photo-tile::after{content:'';position:absolute;inset:0;border:0 solid var(--red);transition:border-width .25s var(--ease);pointer-events:none}
.photo-tile:hover img,.photo-tile:focus-visible img{transform:scale(1.045);filter:saturate(1.08)}
.photo-tile:hover span,.photo-tile:focus-visible span{transform:none}
.photo-tile:hover::after,.photo-tile:focus-visible::after{border-width:6px}
.photo-tile:focus-visible{outline:4px solid var(--navy);outline-offset:3px}

.photo-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(1rem,4vw,4rem);border:0;background:rgba(7,7,47,.98);color:#fff;overflow:hidden}
.photo-lightbox[open]{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:1.25rem}
.photo-lightbox::backdrop{background:rgba(7,7,47,.8);backdrop-filter:blur(8px)}
.photo-lightbox figure{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}
.photo-lightbox figure img{display:block;max-width:100%;max-height:calc(100dvh - 10rem);width:auto;height:auto;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.photo-lightbox figcaption{font-size:.84rem;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.68);text-align:center}
.lightbox-close,.lightbox-nav{border:0;color:#fff;background:var(--red);cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s,transform .2s}
.lightbox-close:hover,.lightbox-nav:hover{background:#fff;color:var(--red)}
.lightbox-close{position:absolute;right:1.5rem;top:1.5rem;width:52px;height:52px;font-size:2rem;line-height:1}
.lightbox-nav{width:60px;height:60px;font-size:2.2rem}
.lightbox-nav:hover{transform:scale(1.06)}
.brochure{grid-template-columns:260px 1fr;gap:3.5rem;padding:3rem;border-top:0;border-left:10px solid var(--red);box-shadow:16px 16px 0 var(--cream)}
.brochure h3{font-family:var(--sans);font-size:2.1rem;font-weight:800;letter-spacing:-.04em;text-transform:uppercase}
.brochure p{font-size:1.02rem}
.pager{border-top:5px solid var(--navy);padding-top:1.6rem}
.pager a{font-family:var(--sans);font-size:1.2rem;font-weight:800}
.pager small{font-size:.76rem;font-weight:800;color:var(--red)}

footer{padding:5rem 0 2rem;border-top:12px solid var(--red)}
.footer-grid{gap:4rem}
.footer-logo-img{height:58px;padding:0;background:transparent;opacity:1}
.card--static{cursor:default}
.card--static:hover{box-shadow:none;transform:none}
.card--static:hover img{filter:grayscale(15%)}
.footer-sub{font-size:.95rem;color:rgba(255,255,255,.72)}
.footer-address,.footer-links a{font-size:.9rem}
.footer-h{font-size:.78rem;font-weight:800;color:#fff}
.footer-copy{font-size:.8rem}

@media (max-width:1000px){
  .container,.container--sm{width:min(100% - 3rem,1320px)}
  .hero::before{width:34vw;opacity:.75}
  .hero-title{font-size:clamp(3.7rem,11vw,7rem)}
  .home-page .hero + .section .reading,.reading{grid-template-columns:1fr;gap:3rem}
  .panel{box-shadow:12px 12px 0 var(--cream)}
  .forum-row{grid-template-columns:1fr;gap:2.5rem}
  .forum-row--flip .media{order:0}
  .forum-row[data-year]::before{top:2rem}
  .bio{grid-template-columns:260px 1fr}.bio img{width:260px}
  .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:160px}
}

@media (max-width:900px){
  .nav{border-bottom-width:4px}
  .nav--transparent{background:rgba(7,7,47,.94)}
  .nav-links{border-bottom:6px solid var(--red);padding:1rem 1.5rem 1.5rem}
  .nav-links a{font-size:.96rem}
  .sub{border-top:0;box-shadow:none}
  .sub a{color:rgba(255,255,255,.76);background:transparent}
  .sub a small{color:rgba(255,255,255,.48)}
  .page-hero::after{opacity:.6}
}

@media (max-width:700px){
  .container,.container--sm{width:min(100% - 2rem,1320px)}
  .nav-logo img{height:46px}
  .hero{min-height:auto}
  .hero::before{right:-28vw;width:70vw;opacity:.45}
  .hero::after{display:none}
  .hero-content{padding:9rem 0 4.5rem}
  .hero-title{font-size:clamp(3.25rem,16vw,5.6rem);line-height:.86}
  .hero-title .hero-cluster{font-size:.22em;letter-spacing:.22em;margin-top:1.1rem}
  .hero-sub{font-size:1.05rem;margin-top:2rem}
  .section{padding:5rem 0}
  .section-title{font-size:clamp(2.35rem,12vw,4.2rem)}
  .section-head--split{grid-template-columns:1fr}
  .panel{padding:3rem 2rem;box-shadow:8px 8px 0 var(--cream)}
  .explore{grid-template-columns:1fr}
  .explore a{min-height:340px;padding:2.4rem 2rem}
  .forum-row{padding:3.5rem 0}
  .forum-row .media{border-left-width:8px}
  .page-hero{min-height:460px;padding:9rem 0 4rem}
  .page-hero--image{min-height:600px}
  .page-hero::after{right:-42vw;width:82vw}
  .page-hero-title{font-size:clamp(3rem,15vw,5.2rem)}
  .page-hero-sub{font-size:1.05rem}
  .bio{grid-template-columns:1fr;padding:2rem;border-left-width:8px}
  .bio img{width:100%;max-width:none;aspect-ratio:4/5}
  .carousel{border-left-width:8px;box-shadow:8px 8px 0 var(--navy)}
  .carousel figure{aspect-ratio:4/3}
  .carousel figcaption{font-size:.78rem;padding:3rem 1rem 2.4rem}
  .curated-carousel{margin-bottom:6rem}
  .gallery-head{display:block;margin-bottom:1.5rem}
  .gallery-head p{margin-top:1rem}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:135px;gap:.5rem}
  .photo-tile:nth-child(1),.photo-tile:nth-child(14){grid-column:span 2;grid-row:span 2}
  .photo-tile:nth-child(6),.photo-tile:nth-child(22){grid-row:span 1}
  .photo-lightbox[open]{grid-template-columns:1fr;grid-template-rows:1fr 58px;padding:4.5rem 1rem 1rem}
  .photo-lightbox figure{grid-column:1;grid-row:1}
  .photo-lightbox figure img{max-height:calc(100dvh - 11rem)}
  .lightbox-nav{position:absolute;bottom:1rem;width:58px;height:52px}
  .lightbox-prev{left:calc(50% - 66px)}
  .lightbox-next{right:calc(50% - 66px)}
  .lightbox-close{top:1rem;right:1rem;width:46px;height:46px}
  .brochure{grid-template-columns:1fr;padding:2rem;gap:2rem;box-shadow:8px 8px 0 var(--cream)}
  .footer-grid{gap:2.5rem}
}

/* ═══════════════════════════════════════════════
   Independent cluster identity — v4
   Deep ink, ultraviolet, mint and warm amber.
   Legacy token names are retained to avoid changing component markup.
   ═══════════════════════════════════════════════ */
:root{
  --navy:#11172d;
  --navy-mid:#20284a;
  --navy-deep:#090d1a;
  --red:#6c5ce7;
  --red-dk:#5142bd;
  --gold:#f6b652;
  --gold-lt:#ffd58a;
  --cyan:#42d9b7;
  --cyan-lt:#8af1db;
  --cyan-dim:rgba(66,217,183,.12);
  --cyan-trace:rgba(66,217,183,.25);
  --cyan-glow:rgba(66,217,183,.42);
  --cream:#f4f3ee;
  --charcoal:#171a23;
  --body:#454a59;
  --border:rgba(17,23,45,.16);
  --on-accent:#fff;
  --hex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50V18L28 2l28 16v32L28 66zM28 100L0 84V52l28-16 28 16v32L28 100z' fill='none' stroke='rgba(66%2C217%2C183%2C0.08)' stroke-width='1'/%3E%3C/svg%3E");
}

body{background:#fff;color:var(--charcoal)}
a{color:#4938b7}
:focus-visible{outline-color:var(--cyan)}

/* A compact cluster wordmark replaces formal institutional branding. */
.brand-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:.38rem .55rem .42rem .68rem;border:2px solid rgba(255,255,255,.8);color:#fff;font-size:1.18rem;font-weight:800;line-height:1;letter-spacing:.13em}
.brand-mark::after{content:'';position:absolute;left:-2px;right:22px;bottom:-2px;height:5px;background:var(--cyan)}
.nav{background:color-mix(in srgb,var(--navy-deep) 98%,transparent);border-bottom-color:var(--red);box-shadow:0 10px 40px rgba(0,0,0,.18)}
.nav--transparent{background:linear-gradient(180deg,color-mix(in srgb,var(--navy-deep) 94%,transparent),transparent);border-bottom-color:transparent}
.nav--transparent.scrolled{background:color-mix(in srgb,var(--navy-deep) 98%,transparent);border-bottom-color:var(--red)}
.nav-logo .cluster-name{border-left-color:var(--red)}
.nav-links>li>a::after{background:var(--cyan)}
.sub{border-top-color:var(--red);box-shadow:0 24px 60px rgba(9,13,26,.22)}
.sub a:hover{color:var(--red);background:#f4f3fa}

/* New graphic palette: violet carries authority; mint signals discovery. */
.hero{background:var(--navy-deep)}
.hero::before{background:linear-gradient(155deg,var(--red) 0 72%,var(--cyan) 72% 76%,var(--navy-mid) 76% 100%)}
.hero::after{border-color:rgba(255,255,255,.42)}
.eyebrow::before{background:var(--cyan)}
.hero-title .hero-key{background:var(--red);color:var(--on-accent)}
.btn-primary,.btn-primary:hover,.forum-tag:not(.forum-tag--past){color:var(--on-accent)}
.btn-primary:hover,.btn-navy:hover{box-shadow:6px 6px 0 var(--cyan)}
.btn-ghost:hover,.btn-ghost--dark:hover{box-shadow:6px 6px 0 var(--cyan)}
.section-label::after{background:var(--cyan)}
.about-quote,.rail,.panel,.forum-row .media,.bio,.carousel,.brochure{border-color:var(--red)}
.panel{background:var(--navy);box-shadow:18px 18px 0 color-mix(in srgb,var(--red) 12%,transparent)}
.panel-item a,.explore .more,.card-more{border-color:var(--cyan)}
.section--red-editorial{background:var(--red);color:var(--on-accent)}
.section--red-editorial .section-label,.section--red-editorial .section-title,.section--red-editorial .section-subtitle{color:var(--on-accent)}
.section--red-editorial .section-label::after{background:var(--on-accent)}
.explore a::before{background:var(--cyan)}
.forum-when::before{background:var(--cyan)}
.page-hero{background:var(--navy-deep)}
.page-hero::after{background:linear-gradient(160deg,var(--red) 0 72%,var(--cyan) 72% 76%,var(--navy-mid) 76% 100%)}
.page-hero-rule{background:var(--cyan)}
.page-hero--image::after{background:linear-gradient(90deg,color-mix(in srgb,var(--navy-deep) 98%,transparent) 0%,color-mix(in srgb,var(--navy-deep) 82%,transparent) 48%,color-mix(in srgb,var(--red) 40%,transparent) 100%)}
.card{border-bottom-color:var(--red)}
.card:hover{box-shadow:12px 12px 0 var(--cyan)}
.card-role,.bio-role{color:#514f70}
.gallery-head{border-top-color:var(--red)}
.photo-tile span{background:var(--red);color:var(--on-accent)}
.photo-tile::after{border-color:var(--cyan)}
.photo-lightbox{background:color-mix(in srgb,var(--navy-deep) 98.5%,transparent)}
.photo-lightbox::backdrop{background:color-mix(in srgb,var(--navy-deep) 84%,transparent)}
.lightbox-close,.lightbox-nav,.carousel .ctl{background:var(--red);color:var(--on-accent)}
.lightbox-close:hover,.lightbox-nav:hover,.carousel .ctl:hover{color:var(--red)}
.pager{border-top-color:var(--navy)}
.pager small{color:var(--red)}

footer{background:var(--navy-deep);border-top-color:var(--red)}
.footer-wordmark{display:flex;align-items:center;gap:1rem;margin-bottom:1.15rem}
.footer-wordmark>span{position:relative;display:inline-flex;align-items:center;min-height:54px;padding:.55rem .7rem .58rem .82rem;border:2px solid rgba(255,255,255,.72);color:#fff;font-size:1.4rem;font-weight:800;line-height:1;letter-spacing:.13em}
.footer-wordmark>span::after{content:'';position:absolute;left:-2px;right:26px;bottom:-2px;height:6px;background:var(--cyan)}
.footer-wordmark small{color:#fff;font-size:.76rem;font-weight:800;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.footer-h{color:var(--cyan)}

@media (max-width:900px){
  .nav--transparent{background:color-mix(in srgb,var(--navy-deep) 96%,transparent)}
  .nav-links{background:color-mix(in srgb,var(--navy-deep) 99.5%,transparent);border-bottom-color:var(--red)}
}

@media (max-width:700px){
  .brand-mark{min-width:70px;font-size:1.06rem}
  .footer-wordmark small{font-size:.7rem}
}
