/* UNIPG Racing Team — authoritative stylesheet.
 * Preserved source order is intentional: layout, interaction, people, scenes,
 * typography and final component refinements. Responsive and motion variants
 * remain next to their original cascade positions to preserve current output.
 * Edit this file only; obsolete stylesheet layers have been retired.
 */
@font-face {font-family:Race;src:url('assets/display.woff') format('woff');font-weight:700;font-display:swap}
@font-face {font-family:Text;src:url('assets/body.woff') format('woff');font-weight:400;font-display:swap}
:root {
  --bg: #080a0e;
  --panel: #11151d;
  --text: #f7f8fb;
  --muted: #a4adbd;
  --blue: #000aed;
  --electric: #000aed;
  --red: #e30613;
  --line: rgba(255,255,255,.18);
  --pad: clamp(24px,5.7vw,110px);
  --header: 86px;
  color-scheme: dark;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Text,Arial,sans-serif;
  font-size: 18px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
button, a, input, summary {
  -webkit-tap-highlight-color: transparent;
}
button, input {
  font: inherit;
}
button, a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  color: inherit;
}
img, video {
  display: block;
  max-width: 100%;
  height: auto;
}
figure, p, h1, h2, h3 {
  margin: 0;
}
p+p {
  margin-top: 18px;
}
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 6px;
}
::selection {
  background: #000aed;
  color: white;
}
[hidden] {
  display: none!important;
}
em {
  font-style: normal;
  color: var(--blue);
}
h1, h2 {
  font-family: Race,'Arial Narrow',Arial,sans-serif;
  font-weight: 700;
  line-height: .96;
  letter-spacing: -.015em;
}
h3 {
  font-weight: 400;
  line-height: 1.16;
}
p {
  max-width: 60ch;
}
.eyebrow {
  display: inline-block;
  line-height: 1.5;
}
.muted {
  color: var(--muted);
}
.accent {
  color: var(--blue);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.skip {
  position: fixed;
  top: 0;
  left: 12px;
  padding: 16px;
  background: white;
  color: black;
  transform: translateY(-120%);
  z-index: 100;
}
.skip:focus {
  transform: translateY(0);
}
/* Global navigation */
.header {
  position: fixed;
  z-index: 40;
  left: 0;
  right: 0;
  top: 0;
  height: var(--header);
  padding: 0 var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: rgba(8,10,14,.9);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
}
.brand {
  display: block;
  flex-shrink: 0;
}
.logo-crop {
  display: block;
  position: relative;
  width: 172px;
  height: 56px;
  overflow: hidden;
}
.logo-crop img {
  content: url("assets/logo-header-white.png");
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
  mix-blend-mode: normal;
}
.header-label {
  font-size: 12px;
  letter-spacing: .14em;
  color: #b8c0ce;
}
.header-label span {
  color: var(--blue);
  margin: 0 16px;
}
.header-actions {
  display: flex;
  align-items: center;
}
#motion-toggle {
  background: none;
  border: 0;
  font-size: 12px;
  color: #b5bdcb;
  padding: 12px 0;
}
.menu-button {
  display: flex;
  align-items: center;
  gap: 18px;
  border: 0;
  background: transparent;
  font-size: 15px;
  padding: 12px 0;
}
.menu-icon {
  display: flex;
  flex-direction: column;
  width: 27px;
  gap: 7px;
}
.menu-icon i {
  height: 1px;
  background: #fff;
  transition: transform .25s;
}
.menu-open .menu-icon i:first-child {
  transform: translateY(4px) rotate(45deg);
}
.menu-open .menu-icon i:last-child {
  transform: translateY(-4px) rotate(-45deg);
}
.chapter-menu {
  position: fixed;
  z-index: 35;
  inset: var(--header) 0 0;
  background: rgba(8,10,14,.985);
  padding: clamp(24px,4vh,55px) var(--pad);
  overflow: auto;
}
.chapter-menu>.eyebrow {
  color: var(--blue);
  margin-bottom: 16px;
}
.chapter-menu a {
  display: flex;
  gap: 28px;
  align-items: center;
  font-family: Race,Arial,sans-serif;
  font-size: clamp(23px,4.2vh,45px);
  line-height: 1.2;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  transition: color .2s,padding .2s;
}
.chapter-menu a:hover, .chapter-menu a[aria-current] {
  color: var(--blue);
  padding-left: 12px;
}
.chapter-menu a span {
  font-family: Text,Arial,sans-serif;
  font-size: 14px;
  color: var(--muted);
  letter-spacing: .1em;
}
.chapter {
  position: relative;
  min-height: 100svh;
  scroll-margin-top: 0;
  overflow: clip;
}
.section-pad {
  padding: 120px var(--pad) 110px;
}
.section-top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 70px;
}
.section-top .eyebrow:last-child {
  text-align: right;
}
.hero {
  min-height: max(840px,100svh);
  isolation: isolate;
  background: #07090c;
}
.hero-image {
  position: absolute;
  z-index: -3;
  inset: 10% -2% 50px -2%;
  background: url('assets/hero.webp') right center/cover no-repeat;
  animation: hero-drift 18s ease-in-out infinite alternate;
  transform-origin: right center;
}
.hero-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg,rgba(5,7,10,.83) 0%,rgba(5,7,10,.48) 30%,transparent 63%),linear-gradient(0deg,#080a0e 0%,transparent 25%,transparent 70%,#080a0e 100%);
}
.hero-top {
  position: absolute;
  top: 118px;
  left: var(--pad);
  right: var(--pad);
  display: flex;
  justify-content: space-between;
  color: #aeb8c9;
  gap: 24px;
}
.hero-top span:last-child {
  color: white;
}
.hero-copy {
  padding: 190px var(--pad) 185px;
  position: relative;
  animation: hero-enter 1.2s both;
}
.hero-copy>.eyebrow {
  margin-bottom: 24px;
  max-width: 500px;
}
.hero h1 em {
  color: #7998ff;
}
.hero-lead {
  font-size: 18px;
  color: #d0d5df;
  line-height: 1.5;
  margin: 25px 0 25px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 17px 22px;
  font-size: 16px;
  min-height: 58px;
  transition: background .2s,transform .2s;
}
.button:hover {
  transform: translateY(-3px);
}
.button span {
  font-size: 25px;
  line-height: 1;
}
.primary {
  background: #000aed;
  color: white;
}
.primary:hover {
  background: #000aed;
}
.hero-bottom {
  position: absolute;
  left: var(--pad);
  right: var(--pad);
  bottom: 92px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}
.hero-bottom p {
  font-size: 12px;
  letter-spacing: .08em;
}
.hero-bottom p span {
  padding: 0 14px;
  color: var(--blue);
}
.image-note {
  font-size: 12px;
  color: #b7c0d0;
}
.scroll-cue {
  position: absolute;
  right: var(--pad);
  bottom: 157px;
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 11px;
  letter-spacing: .16em;
}
.scroll-cue span {
  width: 42px;
  height: 1px;
  background: #aebce6;
  transform-origin: right;
  animation: scroll-line 2s infinite;
}
.team-section {
  background: #0e1118;
}
.team-intro {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 10%;
  align-items: end;
  margin-bottom: 55px;
}
.team-description {
  max-width: 380px;
}
.big-number {
  font-family: Race,Arial,sans-serif;
  font-size: 150px;
  line-height: .85;
  margin-bottom: 20px;
  color: white;
}
.big-number span {
  font-family: Text,Arial,sans-serif;
  font-size: 14px;
  color: var(--muted);
  margin-left: 16px;
  letter-spacing: .06em;
}
.team-description p {
  color: #b9c0cd;
}
.team-photo {
  position: relative;
}
.team-photo img {
  object-position: center 60%;
}
.team-photo figcaption {
  display: flex;
  justify-content: space-between;
  letter-spacing: .09em;
  padding: 15px 0;
  color: #b5bece;
  border-bottom: 1px solid var(--line);
  gap: 20px;
}
.departments {
  display: grid;
  grid-template-columns: 1fr 1.45fr;
  gap: 10%;
  margin-top: 90px;
}
.department-heading>.eyebrow {
  color: var(--blue);
  margin-bottom: 20px;
}
.department-heading h3 {
  font-size: clamp(30px,3vw,45px);
  margin-bottom: 24px;
}
.department-heading p {
  font-size: 16px;
  color: var(--muted);
}
.department-list details {
  border-top: 1px solid var(--line);
}
.department-list details:last-child {
  border-bottom: 1px solid var(--line);
}
summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 22px;
  font-size: 23px;
  padding: 22px 0;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}
.dept-no {
  font-size: 13px;
  color: var(--blue);
}
.plus {
  position: relative;
  width: 18px;
  height: 18px;
  margin-left: auto;
  flex-shrink: 0;
}
.plus:before, .plus:after {
  content: '';
  position: absolute;
  top: 8px;
  left: 1px;
  width: 16px;
  height: 1px;
  background: #aebbd0;
}
.plus:after {
  transform: rotate(90deg);
  transition: transform .2s;
}
details[open] .plus:after {
  transform: rotate(0);
}
.department-list p {
  font-size: 17px;
  color: #b5bece;
  padding: 0 40px 24px 40px;
}
.making-section {
  background: #080a0e;
}
.making-layout {
  display: grid;
  grid-template-columns: .94fr 1.2fr;
  gap: 6%;
  align-items: center;
}
.making-copy h2 {
  font-size: clamp(46px,4.2vw,68px);
  margin-bottom: 22px;
}
.making-copy>p {
  color: #b9c1ce;
  max-width: 420px;
}
.making-copy>p:first-of-type {
  color: white;
  font-size: 22px;
  line-height: 1.45;
}
.process-line {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 35px;
  max-width: 520px;
}
.process-line span {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  min-height: 88px;
  border-top: 3px solid #000aed;
  background: #111725;
  padding: 12px 14px 14px;
}
.process-line b {
  color: #8297ff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
}
.process-line strong {
  font-size: 14px;
  letter-spacing: .06em;
  line-height: 1.1;
}
.making-transition {
  display: inline-block;
  margin-top: 30px;
}
.team-headquarters {
  display: grid;
  gap: 5px;
  margin-top: 22px;
  padding: 18px 0 4px;
  border-top: 1px solid var(--line);
  color: #dce4f2;
  font-style: normal;
}
.team-headquarters .eyebrow { color: #91a4ff; }
.team-headquarters strong { font-size: 19px; }
.team-headquarters>span:last-child { color: #aeb9ca; font-size: 14px; }
.workshop-mosaic {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
  min-width: 0;
  align-items: stretch;
}
.workshop-mosaic figure {
  position: relative;
  overflow: hidden;
  background: #1b212a;
  min-width: 0;
}
.workshop-mosaic figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 26px 12px 12px;
  background: linear-gradient(transparent,rgba(0,0,0,.8));
  font-size: 10px;
  letter-spacing: .07em;
  pointer-events: none;
}
.workshop-video {
  grid-row: span 2;
}
.workshop-video video {
  height: 100%;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 9/16;
}
.workshop-video figcaption {
  top: 0;
  bottom: auto;
  background: linear-gradient(rgba(0,0,0,.65),transparent);
  padding: 14px;
}
.workshop-detail img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.light-section {
  --line: rgba(10,15,25,.18);
  --muted: #525d6e;
  background: #edf0f6;
  color: #111827;
  color-scheme: light;
}
.light-section em {
  color: #000aed;
}
.results-intro {
  display: grid;
  grid-template-columns: 1.25fr .8fr;
  gap: 12%;
  align-items: end;
  margin-bottom: 65px;
}
.results-intro h2 {
  font-size: clamp(52px,5.9vw,94px);
}
.results-intro>p {
  color: #525d6e;
  font-size: 20px;
  max-width: 360px;
}
.results-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10%;
  padding: 25px 0 60px;
  border-top: 1px solid var(--line);
}
.overall>.eyebrow {
  font-size: 11px;
}
.place {
  font-family: Race,Arial,sans-serif;
  line-height: .85;
  letter-spacing: -.03em;
  color: #000aed;
  margin-top: 35px;
}
.place span {
  font-size: .34em;
  vertical-align: top;
  display: inline-block;
  margin-top: 10px;
}
.overall-label {
  font-size: 17px;
  letter-spacing: .32em;
  display: block;
  margin: 20px 0 28px;
}
.overall p {
  font-size: 16px;
  color: #525d6e;
}
.result-rows {
  padding-top: 0;
}
.result-row {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 25px 0;
  border-bottom: 1px solid var(--line);
}
.rank {
  font-family: Race,Arial,sans-serif;
  font-size: 86px;
  line-height: 1;
  min-width: 110px;
}
.rank sup {
  font-size: 30px;
  vertical-align: top;
}
.result-row h3 {
  font-size: 24px;
  margin-bottom: 7px;
}
.result-row p {
  font-size: 16px;
  color: #535e6f;
}
.results-source {
  display: block;
  font-size: 12px;
  color: #556071;
  margin-top: 17px;
}
.judges-photo {
  position: relative;
  overflow: hidden;
}
.judges-photo img {
  width: 100%;
  object-position: center 45%;
}
.judges-photo figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent,rgba(0,0,0,.7));
  padding: 45px 26px 22px;
  color: white;
  font-size: 12px;
  letter-spacing: .1em;
}
.limit-section {
  background: #080a0e;
}
.development-section {
  background: #10151e;
}
.development-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 55px;
}
.development-heading h2 {
  font-size: clamp(46px,5.4vw,85px);
}
.development-heading>p {
  max-width: 280px;
  color: #aebacc;
  font-size: 18px;
}
.text-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 15px;
  border-bottom: 1px solid #000aed;
  padding: 10px 0 12px;
  line-height: 1.5;
}
.text-link:hover {
  color: var(--blue);
}
.text-link span {
  font-size: 24px;
}
.value-section {
  background: #090c11;
}
.value-section h2 {
  font-size: clamp(52px,6.1vw,98px);
}
.value-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 5%;
  margin-top: 75px;
}
.value-item {
  border-top: 1px solid var(--line);
  padding-top: 24px;
}
.value-number {
  color: var(--blue);
  font-size: 14px;
  letter-spacing: .1em;
}
.value-item h3 {
  font-size: clamp(26px,2.3vw,36px);
  margin: 28px 0 22px;
}
.value-item p {
  font-size: 17px;
  color: #aeb9c9;
}
.partner-section {
  background: #000aed;
  color: white;
  --line: rgba(255,255,255,.3);
  padding-bottom: 150px;
}
.partner-section em {
  color: #b9cdff;
}
.partner-section .section-top {
  margin-bottom: 80px;
}
.partner-layout {
  display: grid;
}
.partner-copy h2 {
  font-size: clamp(52px,5.8vw,95px);
  margin-bottom: 32px;
}
.partner-copy>p {
  font-size: 18px;
  max-width: 480px;
  color: #e1e9ff;
}
.partner-copy .partner-invitation {
  color: white;
  font-size: 21px;
  margin-top: 25px;
}
.partner-contact {
  background: #0c142f;
  border: 1px solid #000aed;
  box-shadow: 0 30px 90px rgba(1,11,44,.25);
}
.partner-contact>.eyebrow {
  font-size: 12px;
  color: #adbfed;
}
.partner-contact fieldset {
  padding: 0;
  border: 0;
}
.partner-contact label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  cursor: pointer;
  line-height: 1.4;
}
.partner-contact input {
  width: 17px;
  height: 17px;
  accent-color: #8aa6ff;
  flex-shrink: 0;
  margin: 0;
}
.partner-contact label span:last-child {
  margin-left: auto;
  font-size: 23px;
  color: #7b9eff;
}
.partner-contact label:has(input:checked) {
  color: #b1c5ff;
}
.partner-contact .contact-detail {
  color: #acbddf;
  line-height: 1.5;
}
.contact-button {
  display: flex;
  background: #edf2ff;
  color: #12224b;
  margin: 25px 0 20px;
  font-size: 16px;
}
.contact-button:hover {
  background: white;
}
.email {
  display: block;
  text-align: center;
  color: #e3ebff;
}
.contact-note {
  font-size: 13px;
  color: #a8b8da;
  line-height: 1.5;
  margin-top: 26px!important;
}
.partner-section footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--line);
  margin-top: 90px;
  padding-top: 26px;
  font-size: 11px;
  letter-spacing: .05em;
  color: #d2defe;
}
.footer-separator {
  margin: 0 12px;
}
.chapter-control {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 45;
  height: 64px;
  background: rgba(7,10,15,.96);
  border-top: 1px solid var(--line);
  display: none;
  align-items: center;
  gap: 30px;
  padding: 0 var(--pad);
  backdrop-filter: blur(15px);
}
.chapter-status {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  min-width: 280px;
}
#chapter-number {
  color: #97afff;
}
.chapter-divider {
  color: #62708a;
  font-size: 12px;
}
#chapter-name {
  margin-left: 12px;
  color: #c9d3e5;
  font-size: 13px;
}
.chapter-progress {
  height: 2px;
  background: #263049;
  flex: 1;
  overflow: hidden;
}
.chapter-progress>span {
  display: block;
  height: 100%;
  background: #000aed;
  width: 12.5%;
  transition: width .25s;
}
.chapter-buttons {
  display: flex;
  align-items: center;
  gap: 12px;
}
.chapter-buttons button {
  background: none;
  border: 1px solid #34415d;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  font-size: 20px;
  line-height: 1;
}
.chapter-buttons button:hover {
  border-color: #879de0;
  background: #1a2643;
}
.chapter-buttons button:disabled {
  opacity: .25;
  cursor: default;
}
.chapter-buttons #fullscreen {
  margin-left: 12px;
  font-size: 25px;
}
.motion-paused *, .motion-paused *:before, .motion-paused *:after {
  animation: none!important;
  transition: none!important;
}
.motion-paused {
  scroll-behavior: auto;
}
.motion-paused .reveal {
  opacity: 1;
  transform: none;
}
@keyframes hero-drift {from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes hero-enter {from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes scroll-line {0%,100%{transform:scaleX(.5);opacity:.4}50%{transform:scaleX(1);opacity:1}}
@media(min-width:1800px) {
  .hero-copy {
    padding-top: 230px;
  }
  .hero h1 {
    font-size: 160px;
  }
  .hero {
    min-height: 980px;
  }
  .hero-image {
    background-size: cover;
  }
  .hero-lead {
    font-size: 22px;
  }
  .hero-bottom {
    bottom: 100px;
  }
}
@media(max-width:1100px) {
  .header-label {
    display: none;
  }
  .hero-copy {
    width: 70%;
    padding-top: 180px;
  }
  .hero h1 {
    font-size: clamp(78px,10vw,102px);
  }
  .hero-image {
    inset: 120px -14% 60px -2%;
    background-position: 60% center;
  }
  .hero-shade {
    background: linear-gradient(90deg,rgba(5,7,10,.92),rgba(5,7,10,.3) 52%,transparent 80%),linear-gradient(0deg,#080a0e,transparent 32%,transparent 80%,#080a0e);
  }
  .hero-bottom p {
    font-size: 11px;
  }
  .hero-bottom p span {
    padding: 0 8px;
  }
  .team-intro {
    gap: 5%;
  }
  .making-layout {
    gap: 4%;
  }
  .making-copy h2 {
    font-size: 56px;
  }
  .making-copy>p {
    font-size: 17px;
  }
  .making-copy>p:first-of-type {
    font-size: 20px;
  }
  .results-grid {
    gap: 5%;
  }
  .result-row {
    gap: 14px;
  }
  .rank {
    min-width: 93px;
    font-size: 76px;
  }
  .result-row h3 {
    font-size: 21px;
  }
  .development-heading {
    display: block;
  }
  .development-heading>p {
    margin-top: 26px;
    max-width: 100%;
  }
  .partner-layout {
    gap: 5%;
    grid-template-columns: 1fr 1fr;
  }
  .partner-copy h2 {
    font-size: 60px;
  }
  .partner-contact {
    padding: 25px;
  }
  .partner-contact label {
    font-size: 15px;
  }
  .partner-contact .contact-detail {
    min-height: 130px;
  }
}
@media(max-width:760px) {
  :root {
    --pad: 24px;
  }
  html {
    scroll-padding-top: 72px;
  }
  body {
    font-size: 17px;
  }
  #motion-toggle {
    line-height: 1.3;
  }
  .menu-icon {
    width: 23px;
  }
  .section-pad {
    padding: 98px var(--pad) 85px;
  }
  .section-top {
    margin-bottom: 42px;
    padding-bottom: 20px;
    align-items: start;
  }
  .section-top .eyebrow {
    font-size: 11px;
  }
  .section-top .eyebrow:last-child {
    max-width: 47%;
  }
  .hero {
    min-height: max(980px,100svh);
  }
  .hero-top {
    font-size: 10px;
    gap: 15px;
  }
  .hero-top span:first-child {
    max-width: 210px;
  }
  .hero-copy {
    padding: 162px var(--pad) 460px;
  }
  .hero-copy>.eyebrow {
    font-size: 10px;
    letter-spacing: .1em;
    margin-bottom: 22px;
  }
  .hero h1 {
    line-height: .9;
  }
  .hero-lead {
    margin: 24px 0;
  }
  .hero .button {
    font-size: 15px;
    padding: 14px 18px;
    min-height: 53px;
  }
  .hero-image {
    inset: auto -4% 138px -32%;
    height: 350px;
    background-position: right bottom;
    background-size: contain;
  }
  .hero-shade {
    background: linear-gradient(0deg,#080a0e 3%,transparent 19%,transparent 32%,#080a0e 48%);
  }
  .hero-bottom {
    bottom: 88px;
    display: block;
  }
  .hero-bottom p {
    font-size: 10px;
    letter-spacing: .03em;
  }
  .hero-bottom p span {
    padding: 0 5px;
  }
  .hero-bottom .image-note {
    display: block;
    font-size: 11px;
    margin-top: 8px;
  }
  .scroll-cue {
    display: none;
  }
  .team-intro {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-bottom: 35px;
  }
  h2 {
    font-size: clamp(48px,11vw,74px);
  }
  .team-description {
    display: grid;
    grid-template-columns: .5fr 1fr;
    gap: 25px;
    max-width: none;
    align-items: start;
  }
  .big-number {
    font-size: 96px;
    line-height: .8;
    margin-top: 6px;
  }
  .big-number span {
    display: block;
    font-size: 12px;
    margin: 18px 0 0 4px;
  }
  .team-description p {
    font-size: 16px;
  }
  .team-photo img {
    height: auto;
    aspect-ratio: 3/2;
    object-fit: contain;
  }
  .team-photo figcaption {
    font-size: 10px;
  }
  .departments {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 55px;
  }
  .department-heading h3 {
    font-size: 34px;
    margin-bottom: 12px;
  }
  .department-heading p {
    max-width: 100%;
    font-size: 15px;
  }
  .department-heading>.eyebrow {
    font-size: 11px;
    margin-bottom: 14px;
  }
  summary {
    font-size: 22px;
    padding: 20px 0;
  }
  .department-list p {
    font-size: 16px;
    padding-left: 35px;
    padding-right: 18px;
  }
  .making-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .making-copy h2 {
    font-size: clamp(48px,11vw,74px);
  }
  .making-copy>p {
    max-width: 100%;
  }
  .workshop-mosaic {
    gap: 10px;
    grid-template-columns: 1.45fr 1fr;
  }
  .workshop-mosaic figcaption {
    font-size: 9px;
    letter-spacing: .02em;
    padding-left: 8px;
  }
  .results-intro {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 36px;
  }
  .results-intro h2 {
    font-size: clamp(47px,10.9vw,72px);
  }
  .results-intro>p {
    max-width: 100%;
    font-size: 18px;
  }
  .results-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .overall {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
  .overall>.eyebrow {
    grid-column: span 2;
  }
  .place {
    font-size: 170px;
    margin-top: 24px;
    grid-row: span 2;
  }
  .place span {
    font-size: .3em;
  }
  .overall-label {
    font-size: 14px;
    letter-spacing: .18em;
    margin: 28px 0 10px 6px;
    align-self: end;
  }
  .overall p {
    font-size: 14px;
    line-height: 1.4;
    align-self: start;
    margin-left: 6px;
  }
  .result-row {
    gap: 22px;
    padding: 22px 0;
  }
  .rank {
    font-size: 75px;
    min-width: 90px;
  }
  .result-row h3 {
    font-size: 21px;
  }
  .result-row p {
    font-size: 15px;
  }
  .results-source {
    font-size: 11px;
  }
  .judges-photo img {
    height: auto;
    aspect-ratio: 4/3;
  }
  .judges-photo figcaption {
    font-size: 10px;
    padding: 40px 16px 16px;
  }
  .development-heading h2 {
    font-size: clamp(43px,9.2vw,64px);
  }
  .development-heading {
    margin-bottom: 35px;
  }
  .development-heading>p {
    font-size: 17px;
  }
  .value-section h2 {
    font-size: clamp(43px,9.8vw,68px);
  }
  .value-grid {
    grid-template-columns: 1fr;
    gap: 38px;
    margin-top: 45px;
  }
  .value-item {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 0 18px;
  }
  .value-number {
    grid-row: span 3;
    padding-top: 5px;
  }
  .value-item h3 {
    margin: 0 0 18px;
    font-size: 29px;
  }
  .value-item p {
    font-size: 17px;
  }
  .partner-section {
    padding-bottom: 125px;
  }
  .partner-section .section-top {
    margin-bottom: 45px;
  }
  .partner-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .partner-copy h2 {
    font-size: clamp(50px,11.3vw,76px);
  }
  .partner-copy>p {
    font-size: 17px;
  }
  .partner-copy .partner-invitation {
    font-size: 20px;
  }
  .partner-contact {
    padding: 26px 22px;
  }
  .partner-contact>.eyebrow {
    font-size: 11px;
  }
  .partner-contact label {
    font-size: 16px;
  }
  .partner-contact .contact-detail {
    min-height: 90px;
    font-size: 16px;
  }
  .email {
    font-size: 16px;
  }
  .partner-section footer {
    display: block;
    font-size: 10px;
    line-height: 1.7;
    margin-top: 55px;
  }
  .partner-section footer>span {
    display: block;
  }
  .partner-section footer>span+span {
    margin-top: 12px;
  }
  .footer-separator {
    margin: 0 5px;
  }
  .chapter-control {
    padding: 0 18px;
    gap: 12px;
    height: 62px;
  }
  .chapter-status {
    min-width: 0;
    flex: 1;
    gap: 6px;
    font-size: 13px;
  }
  #chapter-name {
    font-size: 11px;
    margin-left: 6px;
    max-width: 125px;
    line-height: 1.3;
  }
  .chapter-divider {
    font-size: 11px;
  }
  .chapter-progress {
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    height: 2px;
  }
  .chapter-buttons {
    gap: 7px;
  }
  .chapter-buttons button {
    width: 33px;
    height: 33px;
  }
  .chapter-buttons #fullscreen {
    margin-left: 1px;
  }
  .chapter-menu {
    bottom: 0;
  }
  .chapter-menu a {
    font-size: 27px;
    gap: 18px;
    padding: 14px 0;
  }
  .chapter-menu>.eyebrow {
    font-size: 11px;
  }
  .js .reveal {
    transform: translateY(22px);
  }
}
@media(max-width:370px) {
  :root {
    --pad: 18px;
  }
  .hero h1 {
    font-size: 16.4vw;
  }
  .hero-top {
    font-size: 9px;
  }
  .header-actions {
    gap: 12px;
  }
  .logo-crop {
    width: 120px;
    height: 40px;
  }
  .logo-crop img {
    width: 100%;
  }
  .menu-button {
    font-size: 13px;
  }
  .menu-icon {
    width: 20px;
  }
  .hero-bottom p {
    font-size: 9px;
  }
  .chapter-status #chapter-name {
    max-width: 98px;
  }
  .rank {
    min-width: 80px;
    font-size: 68px;
  }
  .result-row {
    gap: 12px;
  }
  .result-row h3 {
    font-size: 19px;
  }
  .team-description {
    gap: 15px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *:before, *:after {
    animation: none!important;
    transition: none!important;
  }
  .js .reveal {
    opacity: 1;
    transform: none;
  }
}
@media print {
  .header, .chapter-control, .chapter-menu, .scroll-cue, #motion-toggle, .button, #project-cta {
    display: none!important;
  }
  .chapter {
    min-height: 0;
    break-inside: avoid;
  }
  .section-pad {
    padding: 30px;
  }
  .hero {
    min-height: 650px;
  }
  .hero-copy {
    padding: 60px 30px;
  }
  .hero-top {
    top: 20px;
  }
  .hero-bottom {
    bottom: 30px;
  }
  .hero-image {
    inset: 0;
  }
  .reveal {
    opacity: 1!important;
    transform: none!important;
  }
  details {
    display: block;
  }
  details>p {
    display: block;
  }
  .partner-section {
    padding-bottom: 30px;
  }
}
.mobile-break {
  display: none;
}
@media(max-width:760px) {
  .mobile-break {
    display: block;
  }
}
.language-switcher {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  letter-spacing: .12em;
  color: #8392ac;
  white-space: nowrap;
}
.language-switcher button {
  border: 0;
  background: none;
  color: #8392ac;
  letter-spacing: .12em;
}
.language-switcher button[aria-pressed=true] {
  color: #fff;
}
.language-switcher button:hover {
  color: var(--blue);
}
.chapter-menu a .menu-title {
  font-family: Race,Arial,sans-serif;
  font-size: inherit;
  letter-spacing: normal;
  color: inherit;
}
.button>span:not([aria-hidden="true"]), .text-link>span:not([aria-hidden="true"]) {
  font-size: inherit;
  line-height: inherit;
}
.text-link>span[aria-hidden="true"] {
  font-size: 24px;
  line-height: 1;
}
.territory-note {
  max-width: 440px;
  color: #abb7ca;
  font-size: 16px;
  line-height: 1.55;
  margin-top: 26px;
}
@media(max-width:760px) {
  .language-switcher {
    font-size: 10px;
  }
  .language-switcher button {
    font-size: 10px;
  }
}
@keyframes content-arrive {from{transform:translateY(20px);opacity:.7}to{transform:none;opacity:1}}
.department-list details {
  scroll-margin-top: 110px;
}
.instagram-link {
  font-size: .8rem;
  color: #9ebaff;
}
.instagram-link:hover {
  color: white;
  text-decoration: underline;
}
#render-dialog {
  width: min(1300px,94vw);
  max-width: 94vw;
  padding: 24px;
  background: #080e18;
  border: 1px solid #4f6890;
  color: #ecf3ff;
  max-height: 92svh;
  overflow: auto;
}
#render-dialog::backdrop {
  background: rgba(0,4,12,.9);
  backdrop-filter: blur(10px);
}
.render-dialog-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}
.render-dialog-top h2 {
  font-size: 1.8rem;
  font-family: Text,Arial,sans-serif;
  line-height: 1.2;
}
.render-dialog-top button {
  border: 1px solid #5c7397;
  background: none;
  font-size: 1rem;
  padding: 10px 14px;
  white-space: nowrap;
}
#dialog-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 70svh;
  object-fit: contain;
}
#dialog-caption {
  font-size: .8rem;
  color: #acbfdf;
  margin-top: 18px;
}
.partner-layout {
  grid-template-columns: 1fr 1.1fr;
  align-items: start;
  gap: 7%;
}
.partner-copy {
  position: sticky;
  top: 125px;
}
.partner-contact {
  padding: 35px;
}
.partner-contact label {
  font-size: 1rem;
}
.partner-contact fieldset {
  margin: 20px 0;
}
.partner-contact fieldset label {
  padding: 15px 0;
}
.partner-contact .contact-detail {
  min-height: 0;
  font-size: 1rem;
  margin-bottom: 25px;
}
.partner-contact #contact-form>label, .contact-fields>label {
  display: block;
  border: 0;
  padding: 0;
  font-size: .875rem;
  color: #c8d6ef;
  margin-bottom: 18px;
  line-height: 1.4;
}
.contact-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.partner-contact #contact-form input, .partner-contact textarea {
  display: block;
  width: 100%;
  height: auto;
  min-height: 46px;
  margin: 8px 0 0;
  border: 1px solid #4a6087;
  background: #131f39;
  color: white;
  padding: 12px;
  font-size: 1rem;
  font-family: Text,Arial,sans-serif;
  border-radius: 0;
  resize: vertical;
}
.partner-contact textarea {
  min-height: 112px;
}
.partner-contact #contact-form input::placeholder, .partner-contact textarea::placeholder {
  color: #8ea1c2;
}
.partner-contact .contact-button {
  border: 0;
  width: 100%;
  text-align: left;
  font-size: 1rem;
  margin: 8px 0 0;
}
.partner-contact .email {
  font-size: .93rem;
  margin-top: 28px;
  line-height: 1.6;
}
.partner-contact .contact-note {
  font-size: .8rem;
  margin-top: 14px!important;
}
.contact-alternatives {
  display: flex;
  justify-content: center;
  gap: 26px;
  margin-top: 16px;
}
.contact-alternatives button, .contact-alternatives a {
  background: none;
  border: 0;
  padding: 8px 0;
  font-size: .875rem;
  color: #b8ccee;
}
.contact-alternatives button:hover, .contact-alternatives a:hover {
  color: white;
  text-decoration: underline;
}
#contact-status {
  font-size: .875rem;
  line-height: 1.5;
  color: #c4d9ff;
  margin-top: 16px;
}
#contact-status:empty {
  display: none;
}
@media(max-width:1150px) {
  .partner-layout {
    gap: 5%;
  }
  .partner-contact {
    padding: 26px;
  }
  .partner-copy h2 {
    font-size: clamp(3.2rem,5vw,4.8rem);
  }
}
@media(max-width:800px) {
  .partner-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .partner-copy {
    position: static;
  }
  .partner-copy h2 {
    font-size: clamp(3.4rem,9.3vw,5rem);
  }
  .partner-copy>p {
    max-width: 100%;
  }
}
@media(max-width:520px) {
  .render-dialog-top h2 {
    font-size: 1.1rem;
  }
  .render-dialog-top button {
    font-size: .875rem;
    padding: 8px 10px;
  }
  #render-dialog {
    padding: 18px;
  }
  #dialog-caption {
    font-size: .75rem;
  }
  .partner-contact {
    padding: 24px 20px;
  }
  .partner-contact fieldset label {
    font-size: .95rem;
    line-height: 1.4;
  }
  .contact-fields {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .partner-contact .contact-button {
    font-size: .95rem;
    gap: 10px;
  }
  .partner-contact .email {
    font-size: .875rem;
    overflow-wrap: anywhere;
  }
  .partner-copy h2 {
    font-size: clamp(2.9rem,10.4vw,3.6rem);
  }
}
@media(prefers-reduced-motion:reduce) {
  .js h2.reveal.visible {
    animation: none;
  }
}
@media print {
  .partner-copy {
    position: static;
  }
}
.team-creed>h3 {
  font-family: Race,Arial,sans-serif;
  line-height: 1.05;
  margin: 24px 0;
}
.team-creed>p:not(.eyebrow) {
  font-size: clamp(18px,1.6vw,23px);
  color: #c2ccdc;
  max-width: 850px;
  line-height: 1.65;
}
.team-creed>.creed-copy {
  max-width: 850px;
}
.team-creed>.creed-copy p {
  font-size: clamp(18px,1.6vw,23px);
  color: #c2ccdc;
  line-height: 1.65;
}
.team-creed>.creed-copy p+p {
  margin-top: 16px;
}
.coordination-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 32px;
}
.coordination-steps article {
  border-top: 1px solid #5274bf;
  padding-top: 24px;
}
.coordination-steps article>span {
  color: #7fa0ff;
  font-size: 14px;
}
.coordination-steps h4 {
  font-size: 27px;
  font-weight: 400;
  margin: 18px 0 12px;
}
.coordination-steps p {
  font-size: 17px;
  color: #aebbd0;
}
.coordination-steps-compact h4 {
  margin-bottom: 0;
}
.leadership-intro {
  max-width: 850px;
  margin-bottom: 38px;
}
.leadership-intro h3 {
  font-size: clamp(32px,3.6vw,56px);
  margin: 20px 0;
  line-height: 1.15;
}
.leadership-intro>p:last-child {
  color: #b7c4d8;
  font-size: 18px;
}
.leaders-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 28px;
}
.leader-card {
  background: linear-gradient(145deg,#162239,#10151f 65%);
  border: 1px solid #344668;
  overflow: hidden;
}
.portrait-slot {
  aspect-ratio: 4/3;
  position: relative;
  display: grid;
  place-items: center;
  background: radial-gradient(ellipse at 65% 20%,#24467b77,transparent 70%),#0b111c;
  border-bottom: 1px solid #334566;
}
.portrait-initials {
  font-family: Race,Arial,sans-serif;
  font-size: clamp(85px,12vw,190px);
  line-height: 1;
  color: #38557d;
  letter-spacing: -.04em;
}
.portrait-note {
  position: absolute;
  bottom: 22px;
  left: 28px;
  font-size: 12px;
  letter-spacing: .14em;
  color: #b6c9e6;
}
.portrait-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.leader-copy {
  padding: clamp(24px,3vw,44px);
}
.leader-copy>.eyebrow {
  font-size: 13px;
  letter-spacing: .08em;
  min-height: 40px;
}
.leader-copy h4 {
  font-family: Race,Arial,sans-serif;
  font-size: clamp(34px,3.5vw,55px);
  line-height: 1.05;
  margin: 16px 0 24px;
  overflow-wrap: anywhere;
}
.leader-copy p {
  font-size: 17px;
  color: #bcc9dd;
  line-height: 1.65;
}
.advisor-card {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  align-items: center;
  gap: 45px;
  border: 1px solid #415985;
  border-left: 3px solid #7698ff;
  background: linear-gradient(110deg,#162440,#101620);
  padding: clamp(26px,4vw,55px);
  margin-top: 28px;
}
.advisor-card h4 {
  font-size: clamp(28px,3vw,42px);
  font-weight: 400;
  line-height: 1.2;
  margin: 18px 0 0;
}
.advisor-card p {
  font-size: 18px;
  color: #bfcce0;
  line-height: 1.65;
}
.js .reveal {
  opacity: 0;
  transform: translate3d(0,44px,0);
  transition: opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1);
  transition-delay: var(--reveal-delay,0ms);
}
.js .reveal.visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}
.js .leader-card.reveal, .js .advisor-card.reveal {
  clip-path: inset(0 0 10% 0);
  transition: opacity .85s ease,transform 1s cubic-bezier(.16,1,.3,1),clip-path 1s cubic-bezier(.16,1,.3,1);
  transition-delay: var(--reveal-delay,0ms);
}
.js .leader-card.reveal.visible, .js .advisor-card.reveal.visible {
  clip-path: inset(0);
}
.js h2.reveal.visible {
  animation: none;
}
.chapter.section-pad:before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--pad);
  right: var(--pad);
  height: 1px;
  background: linear-gradient(90deg,transparent,#7899ff,transparent);
  transform: scaleX(.15);
  opacity: 0;
  transition: transform 1.2s ease,opacity 1s;
}
.chapter.is-current:before {
  transform: scaleX(1);
  opacity: .8;
}
.scroll-cue span[data-it] {
  width: auto;
  height: auto;
  background: none;
  animation: none;
  transform: none;
}
.header-actions {
  gap: 20px;
}
.language-switcher {
  order: 3;
}
.language-switcher button {
  font-size: 14px;
  padding: 10px 4px;
}
.hero-copy {
  width: min(75%,1100px);
}
.team-photo {
  overflow: hidden;
}
.team-photo img {
  transition: transform 1.5s cubic-bezier(.16,1,.3,1);
}
.team-photo:not(.visible) img {
  transform: scale(1.04);
}
@media(max-width:900px) {
  .coordination-steps {
    gap: 20px;
  }
  .leaders-grid {
    gap: 18px;
  }
  .advisor-card {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .hero-copy {
    width: 85%;
  }
}
@media(max-width:760px) {
  .coordination-steps, .leaders-grid {
    grid-template-columns: 1fr;
  }
  .portrait-slot {
    aspect-ratio: 5/3;
  }
  .portrait-initials {
    font-size: 120px;
  }
  .leader-copy>.eyebrow {
    min-height: 0;
  }
  .leader-copy h4 {
    font-size: 40px;
  }
  .menu-button {
    gap: 8px;
  }
  .language-switcher {
    gap: 2px;
  }
  .language-switcher button {
    padding: 10px 3px;
  }
  .leader-card {
    --reveal-delay: 0ms!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .js .reveal, .js .leader-card.reveal, .js .advisor-card.reveal {
    opacity: 1;
    transform: none;
    clip-path: none;
    transition: none;
  }
  .team-photo img {
    transform: none!important;
  }
}
.motion-paused .reveal, .motion-paused .leader-card.reveal, .motion-paused .advisor-card.reveal {
  opacity: 1;
  transform: none;
  clip-path: none;
}
@media print {
  .js .reveal, .js .leader-card.reveal, .js .advisor-card.reveal {
    opacity: 1!important;
    transform: none!important;
    clip-path: none!important;
  }
  .leaders-grid {
    display: block;
  }
  .leader-card {
    break-inside: avoid;
    margin-bottom: 24px;
  }
}
/* Scroll scenes */
.has-scenes .leaders-grid, .has-scenes .departments {
  display: block;
}
.has-scenes .department-list {
  margin-top: 40px;
}
.has-scenes .department-heading p {
  max-width: 560px;
}
.scroll-scene {
  position: relative;
  margin: 36px calc(-1 * var(--pad)) 0;
  background: #080d16;
  color: #f7f8fb;
  --scene-title-opacity: 1;
  --scene-copy-opacity: 0;
  --scene-title-y: 0px;
  --scene-copy-y: 65px;
  --scene-scale: 1.035;
  --scene-shade: .24;
}
.scene-stage {
  position: sticky;
  top: var(--header);
  height: calc(100svh - var(--header) - 64px);
  overflow: hidden;
  isolation: isolate;
}
.scene-visual, .scene-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.scene-visual {
  transform: scale(var(--scene-scale));
  transform-origin: center;
}
.scene-visual>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.scene-shade {
  z-index: -1;
}
.scene-shade:after {
  content: "";
  position: absolute;
  inset: 0;
  background: #050a14;
  opacity: var(--scene-shade);
}
.scene-heading, .scene-description {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px,5vw,80px) var(--pad) 72px;
}
.scene-heading {
  opacity: var(--scene-title-opacity);
  transform: translateY(var(--scene-title-y));
  pointer-events: none;
}
.scene-heading .eyebrow {
  margin-bottom: 24px;
  font-size: 14px;
}
.scene-heading .scene-title {
  margin: 0;
}
.scene-description {
  opacity: var(--scene-copy-opacity);
  pointer-events: none;
}
.scene-description>p, .scene-description>div {
  font-size: clamp(20px,2.5vw,36px);
  line-height: 1.5;
  max-width: 1000px;
  color: #e2eafb;
}
.department-list .scene-description p {
  padding: 0;
  font-size: clamp(20px,2.5vw,36px);
  line-height: 1.5;
  color: #e2eafb;
}
.scene-description .scene-image-note {
  font-size: 13px!important;
  color: #aabbd4!important;
  margin-top: 24px;
}
.scene-marker {
  position: absolute;
  bottom: 24px;
  left: var(--pad);
  display: flex;
  align-items: center;
  gap: 25px;
  color: #b8c9e5;
}
.scene-bar {
  height: 2px;
  background: #86a6ff;
  flex: 1;
  transform-origin: left;
  transform: scaleX(0);
}
.scene-reading .scene-marker>span:first-child {
  opacity: 0;
}
.portrait-scene .portrait-slot {
  height: 100%;
  width: 100%;
  aspect-ratio: auto;
  border: 0;
  background: radial-gradient(ellipse at 80% 50%,#244a7a,#0a1323 70%);
}
.portrait-scene .portrait-initials {
  position: absolute;
  right: 8%;
}
.portrait-scene .portrait-note {
  left: auto;
  right: var(--pad);
  bottom: 60px;
}
.scroll-scene.scene-flow, .scroll-scene.scene-stopped, .motion-paused .scroll-scene {
  height: auto;
}
.scene-flow .scene-stage, .scene-stopped .scene-stage, .motion-paused .scene-stage {
  position: relative;
  height: auto;
}
.scene-flow .scene-heading, .scene-flow .scene-description, .scene-stopped .scene-heading, .scene-stopped .scene-description, .motion-paused .scene-heading, .motion-paused .scene-description {
  position: relative;
  opacity: 1;
  transform: none;
  padding-bottom: 35px;
}
.scene-flow .scene-marker, .scene-stopped .scene-marker, .motion-paused .scene-marker {
  display: none;
}
@media(max-width:760px) {
  .scroll-scene {
    height: 155svh;
  }
  .scene-heading, .scene-description {
    padding-top: 35px;
    padding-bottom: 85px;
  }
  .portrait-scene .portrait-initials {
    right: 4%;
    top: 12%;
    font-size: 60vw;
  }
  .scene-marker {
    font-size: 12px;
    gap: 16px;
  }
  .scene-shade {
    background: linear-gradient(0deg,#050b18cc,#050b1866);
  }
  .scene-stage {
    min-height: 0;
  }
}
@media(prefers-reduced-motion:reduce) {
  .scroll-scene {
    height: auto;
  }
  .scene-stage {
    position: relative;
    height: auto;
  }
  .scene-heading, .scene-description {
    position: relative;
    opacity: 1;
    transform: none;
    padding-bottom: 35px;
  }
  .scene-marker {
    display: none;
  }
}
@media print {
  .scroll-scene {
    height: auto;
    break-inside: avoid;
  }
  .scene-stage {
    position: relative;
    height: auto;
  }
  .scene-heading, .scene-description {
    position: relative;
    opacity: 1;
    transform: none;
    padding: 28px;
  }
  .scene-marker {
    display: none;
  }
}
h1, h2, .chapter-menu a .menu-title {
  font-family: var(--heading-font);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.02;
}
.hero h1 {
  font-style: italic;
  line-height: .98;
}
h2 {
  font-size: clamp(44px,5.3vw,84px);
}
.eyebrow {
  font-family: Arial,Helvetica,sans-serif;
  font-size: 12px;
  letter-spacing: .16em;
  font-weight: 600;
}
.section-top {
  border-top: 2px solid var(--blue);
  padding-top: 18px;
}
.scene-heading .scene-title {
  font-family: var(--heading-font);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.02;
  max-width: 950px;
  text-transform: none;
  text-shadow: 0 2px 35px #0009;
}
.scene-heading {
  justify-content: flex-end;
  padding-bottom: 100px;
}
.scene-heading .eyebrow {
  border-left: 3px solid var(--blue);
  padding-left: 15px;
}
.scene-shade {
  background: linear-gradient(0deg,#040911bd,transparent 70%),linear-gradient(90deg,#04091166,transparent 65%);
}
.scene-description {
  inset: 0 auto 0 0;
  background: linear-gradient(90deg,#070d18f5 85%,#070d18d9);
  padding: 38px 38px 76px var(--pad);
  clip-path: inset(0 calc(100% - var(--scene-curtain,0%)) 0 0);
  transform: none;
}
.scene-description>p, .scene-description>div, .department-list .scene-description p {
  max-width: 48ch;
}
.scene-visual {
  will-change: transform;
}
.scene-marker {
  letter-spacing: .16em;
}
.scene-flow .scene-shade:after, .scene-stopped .scene-shade:after, .motion-paused .scene-shade:after {
  opacity: .12;
}
#project-image {
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: contain;
  background: #080d14;
  max-height: none;
}
@media(max-width:760px) {
  .scene-heading .scene-title {
    font-size: clamp(38px,10vw,68px);
  }
  .scene-heading {
    padding-bottom: 85px;
  }
  .scene-description {
    inset: auto 0 0;
    width: 100%;
    padding: 140px var(--pad) 74px;
    background: linear-gradient(0deg,#070d18fa 88%,#070d18da);
  }
  .scene-heading {
    transition: opacity .18s ease;
  }
  .scene-reading .scene-heading {
    visibility: hidden;
  }
  .scene-reading-label {
    top: 22px;
    right: calc(var(--pad) + 42px);
  }
  .scene-description>p, .scene-description>div, .department-list .scene-description p {
    font-size: 18px;
    line-height: 1.5;
  }
  .scene-visual>img {
    object-position: 60% center;
  }
}
@media(prefers-reduced-motion:reduce) {
  .scene-description {
    clip-path: none;
    width: min(760px,100%);
  }
  .scene-shade:after {
    opacity: .12;
  }
  .scene-visual {
    will-change: auto;
  }
}
@media print {
  .scene-description {
    clip-path: none;
    width: 100%;
  }
}
:root {
  --heading-font: Arial,Helvetica,sans-serif;
}
h1, h2, h3, h4, .team-creed>h3, .leader-copy h4, .portrait-initials, .chapter-menu a .menu-title {
  font-family: var(--heading-font);
  letter-spacing: -.035em;
}
h1, h2, h3, h4 {
  text-wrap: balance;
}
h2 {
  line-height: 1.06;
}
.hero-lead {
  max-width: 40ch;
}
.hero-copy {
  padding-bottom: 140px;
}
.hero h1 {
  font-size: clamp(64px,8vw,124px);
}
.hero h1 {
  font-family: Race,Arial,sans-serif;
  font-weight: 700;
  letter-spacing: -.025em;
}
.hero-extras {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 28px;
  align-items: start;
  margin-top: 42px;
  max-width: 820px;
}
.quick-path {
  margin: 0;
}
.quick-path>span {
  display: block;
  font-size: 10px;
  color: #aebbd0;
  margin-bottom: 11px;
}
.quick-path>div {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.quick-path a {
  font-size: 12px;
  padding: 0 0 4px;
  border-bottom: 1px solid #52627d;
  color: #e8edf7;
  transition: color .2s,border-color .2s;
}
.quick-path a:hover, .quick-path a:focus-visible {
  color: #fff;
  border-color: #8da6f4;
}
.results-teaser {
  display: block;
  margin: 0;
  padding: 0 0 0 26px;
  border-left: 1px solid #344560;
  min-width: 232px;
}
.results-teaser strong {
  display: block;
  font-family: Race,Arial,sans-serif;
  font-size: clamp(24px,2.5vw,38px);
  line-height: .95;
  color: #eaf0ff;
  margin-top: 7px;
  white-space: nowrap;
}
.results-teaser-detail {
  display: block;
  font-size: 11px;
  color: #aebbd0;
  margin-top: 8px;
  letter-spacing: .03em;
  white-space: nowrap;
}
.results-teaser>a {
  display: inline-block;
  font-size: 12px;
  margin-top: 12px;
  white-space: nowrap;
  color: #dbe5ff;
  border-bottom: 1px solid #6c85c2;
  padding-bottom: 4px;
}
.header-contact {
  font-size: 14px;
  border-bottom: 1px solid var(--blue);
  padding: 7px 0;
}
.team-shortcuts, .department-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 34px;
}
.team-shortcuts a, .department-nav a {
  font-size: 14px;
  padding: 11px 15px;
  border: 1px solid #53627b;
  transition: background .2s,color .2s;
}
.team-shortcuts a:hover, .department-nav a:hover {
  background: #20365e;
  color: white;
}
.department-nav {
  margin: 24px 0 0;
}
.department-heading p {
  max-width: 55ch;
}
.department-project-intro {
  margin: 24px 0;
}
.department-heading .department-project-intro p {
  color: #c2ccdc;
  line-height: 1.6;
}
.department-heading .department-project-intro p+p {
  margin-top: 14px;
}
.team-photo img {
  width: 100%;
  height: auto!important;
  aspect-ratio: auto!important;
  object-fit: contain!important;
  transform: none!important;
}
.team-photo figcaption {
  font-size: 13px;
}
.judges-photo img {
  height: auto;
  max-height: 620px;
  object-fit: contain;
  background: #111827;
}
.growth-invitation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  border-block: 1px solid var(--line);
  margin-top: 42px;
  padding: 30px 0;
}
.growth-invitation p {
  font-size: 18px;
  margin-top: 14px;
  max-width: 62ch;
}
.growth-invitation>a {
  flex-shrink: 0;
}
/* People and coordination */
.team-creed, .leadership {
  margin-top: 70px;
}
.coordination-steps {
  margin-top: 32px;
}
.team-creed>h3 {
  font-size: clamp(34px,4.5vw,64px);
}
.scroll-scene {
  height: 115svh;
  margin-top: 24px;
  scroll-margin-top: var(--header);
}
.scene-stage {
  min-height: 0;
}
.scene-heading .scene-title {
  font-size: clamp(38px,6vw,84px);
  overflow-wrap: normal;
  hyphens: auto;
}
.scene-description {
  padding-top: 145px;
  padding-bottom: 85px;
  width: min(52%,760px);
}
.scene-description>p, .scene-description>div, .department-list .scene-description p {
  font-size: clamp(18px,1.45vw,22px);
  line-height: 1.55;
}
.scene-reading-label {
  position: absolute;
  top: 28px;
  left: var(--pad);
  right: var(--pad);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s;
  max-width: 650px;
}
.scene-reading .scene-reading-label {
  opacity: 1;
}
.scene-reading-label .eyebrow {
  font-size: 12px;
  margin-bottom: 8px;
}
.scene-small-title {
  font-size: clamp(22px,2.6vw,38px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
}
.scene-small-title br {
  display: none;
}
.scene-next {
  position: absolute;
  right: var(--pad);
  bottom: 23px;
  z-index: 3;
  font-size: 14px;
  padding: 8px 12px;
  background: #0b1427;
  border: 1px solid #6f88b7;
}
.scene-marker {
  right: calc(var(--pad) + 155px);
  font-size: 12px;
}
.scene-flow, .scene-stopped, .motion-paused .scroll-scene {
  height: auto;
}
.scene-flow .scene-stage, .scene-stopped .scene-stage, .motion-paused .scene-stage {
  min-height: 0;
  padding-bottom: 52px;
}
.scene-flow .scene-heading, .scene-stopped .scene-heading, .motion-paused .scene-heading {
  padding-top: 60px;
  padding-bottom: 30px;
}
.scene-flow .scene-description, .scene-stopped .scene-description, .motion-paused .scene-description {
  padding-top: 24px;
  padding-bottom: 30px;
  width: min(790px,100%);
  clip-path: none;
}
.scene-flow .scene-reading-label, .scene-stopped .scene-reading-label, .motion-paused .scene-reading-label {
  display: none;
}
.portrait-scene .portrait-initials {
  font-weight: 700;
  color: #7899cf;
  opacity: .45;
  font-size: clamp(150px,30vw,450px);
}
.advisor-card {
  margin: 30px 0 0;
  scroll-margin-top: calc(var(--header) + 20px);
}
.result-row:first-child {
  border-top: 3px solid #000aed;
}
.result-row:first-child .rank {
  color: #000aed;
}
.place {
  font-size: clamp(100px,13vw,190px);
}
/* Result reels: a fixed viewport keeps the final value stable. */
.place .result-reels, .place .result-reels span, .rank .result-reels, .rank .result-reels span {
  margin: 0;
  padding: 0;
}
.place .result-reels, .rank .result-reels {
  display: inline-flex;
  font-size: inherit;
  font-family: inherit;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: baseline;
  font-variant-numeric: tabular-nums;
}
.place .result-window, .rank .result-window {
  display: block;
  width: .58em;
  height: 1em;
  overflow: hidden;
  font-size: inherit;
  line-height: 1;
}
.place .result-track, .rank .result-track {
  display: block;
  font-size: inherit;
  line-height: 1;
}
.place .result-digit, .rank .result-digit {
  display: block;
  height: 1em;
  font-size: inherit;
  line-height: 1;
  text-align: center;
}
.results-intro h2, .overall-label, .result-row h3 {
  font-family: Race,Arial,sans-serif;
  letter-spacing: -.025em;
}
.overall p {
  max-width: 32ch;
}
.direct-contact {
  width: 100%;
  margin-top: 22px;
  justify-content: center;
}
.contact-next {
  font-size: 16px;
  margin: 20px 0;
  color: #c2cee0;
}
.contact-composer {
  border-top: 1px solid var(--line);
  margin-top: 24px;
}
.contact-composer>summary {
  font-size: 18px;
  padding: 20px 0;
}
.contact-composer>form {
  padding-bottom: 20px;
}
.contact-scope-note {
  font-size: 14px;
  line-height: 1.45;
  color: #aebbd0;
  margin: 14px 0 18px;
  max-width: 48ch;
}
.email {
  overflow-wrap: anywhere;
  font-size: 16px;
}
.contact-detail {
  min-height: 0!important;
  font-size: 16px;
}
.contact-note, #contact-status {
  font-size: 14px;
}
#copy-message {
  margin-top: 14px;
  font-size: 14px;
  background: none;
  border: 0;
  padding: 10px 0;
}
#message-fallback {
  display: block;
  width: 100%;
  min-height: 180px;
  margin-top: 15px;
  background: #0b1321;
  color: #fff;
  font: inherit;
}
.value-section h2, .partner-copy h2 {
  font-size: clamp(42px,5.2vw,78px);
  max-width: 17ch;
}
#reparti, #responsabili {
  scroll-margin-top: calc(var(--header) + 24px);
}
@media(max-width:1000px) {
  .header-label {
    display: none;
  }
  .growth-invitation {
    align-items: flex-start;
  }
  .hero-copy {
    width: 90%;
  }
}
@media(max-width:760px) {
  :root {
    --header: 112px;
  }
  .header {
    height: var(--header);
    padding: 8px var(--pad);
    flex-wrap: wrap;
    gap: 0;
    align-content: space-between;
  }
  .logo-crop {
    width: 120px;
    height: 36px;
  }
  .logo-crop img {
    width: 100%;
  }
  .header-actions {
    width: 100%;
    justify-content: space-between;
    gap: 10px;
    height: 44px;
  }
  .header-contact {
    font-size: 14px;
  }
  #motion-toggle {
    display: block;
    font-size: 0;
    width: 36px;
    height: 36px;
    max-width: none;
    text-align: center;
    border: 1px solid #53627b;
  }
  #motion-toggle:before {
    content: 'Ⅱ';
    font-size: 16px;
  }
  #motion-toggle[aria-pressed=true]:before {
    content: '▶';
  }
  .language-switcher button {
    min-width: 32px;
    min-height: 38px;
  }
  .menu-button {
    font-size: 14px;
  }
  .hero h1 {
    font-size: clamp(52px,14vw,86px);
  }
  .hero-copy {
    width: 100%;
    padding-top: 190px;
    padding-bottom: 420px;
  }
  .hero-lead {
    font-size: 18px;
  }
  .hero-top {
    top: 132px;
  }
  .growth-invitation {
    display: block;
  }
  .growth-invitation>a {
    display: inline-flex;
    margin-top: 24px;
  }
  .scene-flow .scene-visual {
    position: relative;
    inset: auto;
    height: 250px;
    transform: none;
    z-index: 0;
  }
  .scene-flow .scene-visual img {
    height: 100%;
    object-fit: contain;
    background: #080d16;
  }
  .scene-flow .scene-shade {
    display: none;
  }
  .scene-flow .scene-heading {
    padding: 25px var(--pad) 20px;
  }
  .scene-flow .scene-heading .scene-title {
    font-size: 36px;
  }
  .scene-flow .scene-description {
    padding: 8px var(--pad) 25px;
    background: none;
  }
  .scene-flow .scene-description p {
    font-size: 18px;
  }
  .scene-flow .portrait-slot {
    background: linear-gradient(120deg,#122038,#233e66);
  }
  .scene-flow .portrait-initials {
    font-size: 160px;
    right: var(--pad);
    top: 25px;
  }
  .scene-heading .eyebrow {
    font-size: 12px;
  }
  .scene-next {
    bottom: 16px;
  }
  .value-section h2, .partner-copy h2 {
    font-size: 44px;
  }
  .team-shortcuts {
    gap: 8px;
  }
  .chapter-status #chapter-name {
    max-width: 105px;
  }
  .advisor-card {
    padding: 26px;
  }
  .team-creed>h3 {
    font-size: 36px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .scene-reading-label {
    display: none;
  }
  .scene-stage {
    min-height: 0;
  }
  .scene-description {
    padding-top: 24px;
  }
  .scene-visual {
    transform: none;
  }
  .scene-next {
    position: relative;
    display: inline-block;
    margin: 15px var(--pad);
    right: auto;
    bottom: auto;
  }
}
@media print {
  .scene-next, .team-shortcuts, .department-nav, .contact-composer, .header-contact {
    display: none;
  }
  .scene-reading-label {
    display: none;
  }
  .scene-description {
    padding: 20px;
  }
  .scene-stage {
    padding-bottom: 0;
  }
  .scene-shade {
    display: none;
  }
}
@media(max-width:760px) {
  .hero-secondary {
    font-size: 16px;
    color: #b9c8df;
    margin-top: 16px;
  }
}
@media(max-width:760px) {
  .hero-extras {
    display: block;
    margin-top: 34px;
  }
  .results-teaser {
    margin-top: 26px;
    padding: 18px 0 0;
    border-left: 0;
    border-top: 1px solid #344560;
    min-width: 0;
  }
  .results-teaser strong {
    font-size: 36px;
  }
  .results-teaser-detail {
    white-space: normal;
    line-height: 1.45;
  }
  .results-teaser>a {
    margin-top: 12px;
  }
}
/* Evolution and partnerships */
.reuse-visual {
  position: relative;
  margin: 0;
  background: #080d16;
  isolation: isolate;
}
.reuse-visual>img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1600/905;
  object-fit: contain;
}
.reuse-visual figcaption {
  position: absolute;
  top: 5%;
  left: var(--pad);
  max-width: 60%;
  padding: 20px 24px;
  background: linear-gradient(110deg,#060c18e6,#060c1890);
  color: #fff;
}
.reuse-visual h2 {
  font-family: Race,Arial,sans-serif;
  font-size: clamp(36px,5.8vw,88px);
  line-height: 1;
  margin-top: 15px;
  letter-spacing: -.02em;
}
.reuse-visual h2 em {
  color: #a8c0ff;
}
.reuse-marker {
  position: absolute;
  left: 76%;
  top: 24%;
  padding: 8px 12px;
  background: #0c1931;
  color: white;
  border: 1px solid #a8c0ff;
  font-size: 14px;
  letter-spacing: .06em;
}
.reuse-marker:after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  height: 9vw;
  max-height: 100px;
  width: 1px;
  background: #d7e3ff;
}
.reuse-story {
  padding-top: 64px;
  padding-bottom: 70px;
  max-width: 1100px;
}
.reuse-story h3 {
  font-size: clamp(32px,4vw,58px);
  margin: 22px 0;
}
.reuse-story>p:not(.eyebrow) {
  font-size: 20px;
  line-height: 1.6;
  max-width: 66ch;
  margin: 0 0 20px;
}
.reuse-story>.text-link {
  display: inline-block;
  margin-top: 12px;
}
.reuse-decisions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
  margin: 42px 0 56px;
}
.reuse-decisions article {
  padding: 25px 26px 28px;
  border-top: 2px solid #000aed;
  background: #0b1423;
}
.reuse-decisions h4 {
  margin: 16px 0 10px;
  font-size: 24px;
}
.reuse-decisions p {
  margin: 0;
  color: #c4d0e3;
  font-size: 16px;
  line-height: 1.55;
}
.aero-validation {
  margin: 0 calc(var(--pad) * -1) 46px;
  padding: 58px var(--pad) 54px;
  background: #eef2f7;
  color: #0a1020;
}
.aero-validation-intro {
  display: grid;
  grid-template-columns: .78fr 1.2fr;
  column-gap: 46px;
  align-items: end;
  margin-bottom: 30px;
}
.aero-validation-intro .eyebrow {
  grid-column: 1/-1;
  margin-bottom: 18px;
}
.aero-validation-intro h4 {
  margin: 0;
  font-size: clamp(34px,4vw,54px);
  line-height: 1;
}
.aero-validation-intro p {
  margin: 0;
  color: #36445a;
  font-size: 17px;
  line-height: 1.6;
}
.wind-tunnel-figure {
  margin: 0 0 18px;
  background: #08101c;
  overflow: hidden;
}
.wind-tunnel-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 679/314;
  object-fit: cover;
}
.wind-tunnel-figure figcaption {
  padding: 12px 15px;
  color: #d9e4f7;
  font: 600 11px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.aero-chart-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}
.aero-chart {
  min-width: 0;
  padding: 0;
  border: 1px solid #c4ccd8;
  background: #fff;
  color: #101827;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}
.aero-chart img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 882/290;
  object-fit: contain;
  transition: transform .45s ease;
}
.aero-chart:hover img {
  transform: scale(1.025);
}
.aero-chart:focus-visible {
  outline: 3px solid #000aed;
  outline-offset: 3px;
}
.aero-chart>span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-top: 1px solid #d9dee6;
}
.aero-chart strong {
  font-size: 14px;
}
.aero-chart small {
  color: #41526d;
  font-size: 11px;
}
.aero-source {
  margin: 14px 0 0;
  color: #58677c;
  font: 600 11px/1.5 Arial,Helvetica,sans-serif;
  letter-spacing: .05em;
}
.reuse-partner-message {
  display: grid;
  grid-template-columns: .35fr 1fr;
  gap: 30px;
  margin: 42px 0 12px;
  padding: 28px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.reuse-partner-message p {
  margin: 0;
  color: #d1dced;
  font-size: 18px;
  line-height: 1.6;
}
.partnership-value h2, .concept-section>h2 {
  font-size: clamp(40px,5.3vw,78px);
  max-width: 23ch;
}
.partnership-lead {
  font-size: 20px;
  line-height: 1.6;
  max-width: 70ch;
  margin: 28px 0 40px;
  color: #c8d3e6;
}
.partnership-value .value-grid {
  gap: 36px;
}
.partnership-value .value-item h3 {
  font-size: 28px;
}
.partnership-value .value-item p {
  font-size: 18px;
  line-height: 1.6;
}
.partnership-foot {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 40px;
}
.partnership-foot p {
  max-width: 70ch;
  font-size: 16px;
  line-height: 1.6;
  color: #bccae1;
}
.partnership-foot a {
  flex-shrink: 0;
}
.concept-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.concept-example {
  min-width: 0;
}
.concept-example h3 {
  font-size: 28px;
  margin: 0 0 18px;
}
.concept-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.concept-enlarge {
  display: block;
  min-width: 0;
  padding: 0;
  border: 1px solid #34435e;
  background: #0a111e;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}
.concept-enlarge img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: contain;
  transition: transform .5s ease;
}
.concept-enlarge:hover img {
  transform: scale(1.035);
}
.concept-enlarge:focus-visible {
  outline: 2px solid #a8c0ff;
  outline-offset: 4px;
}
.concept-enlarge span {
  display: block;
  padding: 10px 12px;
  font-size: 14px;
}
.concept-example>p {
  font-size: 17px;
  line-height: 1.5;
  margin-top: 18px;
  color: #bdcbe0;
}
.concept-feature {
  grid-column: 1 / -1;
}
.concept-feature .concept-pair {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 18px;
}
.concept-feature .concept-enlarge img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.concept-proof {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(22px, 3.5vw, 48px);
  border: 1px solid #34435e;
  background: linear-gradient(145deg, #0d1728, #121f35);
}
.concept-proof p {
  margin: 0;
  color: #d3dced;
  font-size: 18px;
  line-height: 1.65;
}
.concept-proof p + p {
  margin-top: 18px;
  color: #aebdd4;
}
.prototype-example {
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
  padding-top: 34px;
}
.prototype-example .concept-pair {
  gap: 18px;
}
.prototype-example .concept-enlarge {
  background: #eef1f6;
}
.prototype-example .concept-enlarge img {
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: 12px;
}
.prototype-example .concept-enlarge span {
  background: #0a111e;
  color: #f7f8fb;
}
.concept-open {
  border-top: 1px solid var(--line);
  margin-top: 44px;
  padding-top: 32px;
}
.concept-open h3 {
  font-size: 30px;
}
.concept-open p {
  max-width: 78ch;
  font-size: 18px;
  line-height: 1.6;
  margin: 20px 0 24px;
}
@media(max-width:900px) {
  .aero-validation-intro {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .aero-chart-grid {
    grid-template-columns: 1fr;
  }
  .aero-chart img {
    aspect-ratio: auto;
  }
  .concept-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .concept-feature,
  .prototype-example {
    grid-column: auto;
  }
  .concept-feature .concept-pair {
    grid-template-columns: 1fr;
  }
  .partnership-foot {
    display: block;
  }
  .partnership-foot a {
    display: inline-block;
    margin-top: 24px;
  }
}
@media(max-width:760px) {
  .reuse-visual figcaption {
    top: 0;
    left: 0;
    max-width: 72%;
    padding: 12px 16px;
  }
  .reuse-visual .eyebrow {
    font-size: 12px;
  }
  .reuse-visual h2 {
    font-size: clamp(25px,6.5vw,42px);
    margin-top: 8px;
  }
  .reuse-marker {
    top: 26%;
    left: 77%;
    font-size: 12px;
    padding: 4px 5px;
  }
  .reuse-story {
    padding-top: 38px;
  }
  .reuse-story>p:not(.eyebrow), .partnership-lead {
    font-size: 18px;
  }
  .reuse-decisions {
    grid-template-columns: 1fr;
    margin: 34px 0 42px;
  }
  .reuse-decisions article {
    padding: 22px 20px 24px;
  }
  .aero-validation {
    margin-bottom: 38px;
    padding-top: 42px;
    padding-bottom: 40px;
  }
  .aero-validation-intro h4 {
    font-size: 36px;
  }
  .wind-tunnel-figure figcaption {
    font-size: 9px;
  }
  .aero-chart>span {
    padding: 11px 12px;
  }
  .reuse-partner-message {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .reuse-partner-message p {
    font-size: 17px;
  }
  .partnership-value .value-item h3 {
    font-size: 26px;
  }
  .concept-example h3 {
    font-size: 26px;
  }
  .concept-open h3 {
    font-size: 28px;
  }
}
@media print {
  .reuse-visual figcaption {
    position: relative;
    background: #111827;
  }
  .reuse-marker {
    display: none;
  }
  .concept-enlarge span {
    display: none;
  }
}
/* Events and Instagram */
.visibility-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 28px;
  margin: 44px 0;
}
.visibility-card {
  border-top: 2px solid var(--red,#e30613);
  padding: 24px 0 8px;
}
.visibility-card h3 {
  font-size: clamp(24px,2.2vw,32px);
  line-height: 1.12;
  margin: 20px 0 16px;
}
.visibility-card p, .visibility-note {
  font-size: 17px;
  line-height: 1.65;
  color: #b6bdc8;
}
.instagram-feature {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  overflow: hidden;
  background: #101925;
  color: inherit;
  text-decoration: none;
  margin: 48px 0 64px;
  border: 1px solid #ffffff20;
}
.instagram-feature img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  transition: transform .8s ease;
}
.instagram-feature-copy {
  padding: clamp(24px,4vw,56px);
  align-self: center;
}
.instagram-feature-copy h3 {
  font-size: clamp(28px,3.4vw,48px);
  line-height: 1.08;
  margin: 22px 0;
}
.instagram-feature-copy p {
  font-size: 18px;
  line-height: 1.6;
  color: #c0c6d0;
  margin-bottom: 28px;
}
.instagram-action {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  border-bottom: 1px solid currentColor;
  padding-bottom: 6px;
}
.instagram-feature:hover .instagram-action, .instagram-strip:hover .instagram-action {
  color: #ff655f;
}
.instagram-feature:focus-visible, .instagram-strip:focus-visible {
  outline: 3px solid #ff655f;
  outline-offset: 5px;
}
.partnership-value .career-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 48px;
}
.visibility-note {
  max-width: 78ch;
  margin: 36px 0 0;
}
.instagram-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  border-top: 1px solid #ffffff30;
  border-bottom: 1px solid #ffffff30;
  padding: 28px 0;
  margin-top: 48px;
  color: inherit;
  text-decoration: none;
}
.instagram-strip h3 {
  font-size: clamp(22px,2.4vw,30px);
  margin: 10px 0 0;
  line-height: 1.2;
}
.instagram-strip .instagram-action {
  flex-shrink: 0;
}
@media(max-width:900px) {
  .visibility-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .visibility-card {
    padding-top: 20px;
  }
  .visibility-card h3 {
    margin: 12px 0;
  }
  .instagram-feature {
    grid-template-columns: 1fr;
  }
  .instagram-feature img {
    min-height: 0;
    height: auto;
    max-height: 520px;
    object-fit: cover;
  }
  .partnership-value .career-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .instagram-strip {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media(prefers-reduced-motion:no-preference) {
  .instagram-feature:hover img {
    transform: scale(1.025);
  }
}
/* Opening composition: fluid spacing, distinct results and quick links. */
#inizio {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
}
#inizio .hero-copy {
  width: min(78%,1060px);
  padding-top: calc(var(--header) + clamp(64px,9svh,104px));
  padding-bottom: clamp(32px,5svh,64px);
  flex: 1;
}
#inizio h1 {
  font-family: Race,'Arial Narrow',Arial,sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(4rem,min(9.4vw,14svh),9rem);
  line-height: .96;
  letter-spacing: -.025em;
  text-shadow: 0 4px 30px #0005;
}
#inizio h1 em {
  font-style: italic;
  display: inline-block;
  color: #8ba6ff;
}
#inizio .hero-copy>.eyebrow {
  font-size: 14px;
  letter-spacing: .12em;
  line-height: 1.5;
  margin-bottom: 22px;
}
#inizio .hero-lead {
  font-size: clamp(18px,1.45vw,22px);
  max-width: 43ch;
  line-height: 1.5;
  margin: 26px 0 16px;
}
#inizio .hero-secondary {
  font-size: 16px;
  line-height: 1.5;
  color: #aebbd0;
  max-width: 44ch;
  margin-bottom: 26px;
}
#inizio .hero-bottom {
  position: relative;
  inset: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0 var(--pad);
  padding: 24px 0 104px;
  border-top: 1px solid #ffffff26;
}
#inizio .hero-bottom>.image-note {
  display: block;
  order: -1;
  margin: 0 0 20px;
  text-align: right;
  font-size: 12px;
}
#inizio .hero-extras {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: none;
  width: 100%;
  margin: 0;
  gap: clamp(36px,5vw,56px);
}
#inizio .results-teaser {
  align-self: flex-end;
  text-align: right;
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  max-width: 100%;
}
#inizio .results-teaser strong {
  font-size: 28px;
  line-height: 1.1;
  white-space: normal;
}
#inizio .results-teaser-detail {
  font-size: 12px;
  white-space: normal;
  line-height: 1.5;
}
#inizio .results-teaser>a {
  font-size: 14px;
  margin-top: 12px;
}
#inizio .quick-path {
  align-self: flex-start;
  width: 100%;
  margin: 0;
}
#inizio .quick-path>span {
  font-size: 12px;
  margin-bottom: 18px;
}
#inizio .quick-path>div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 16px;
}
#inizio .quick-path a {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  max-width: 100%;
  font-size: 14px;
  padding: 15px 20px;
  border: 1px solid #72829e75;
  background: #111b2bc9;
  line-height: 1.4;
  min-height: 50px;
  text-decoration: none;
}
#inizio .quick-path a:hover, #inizio .quick-path a:focus-visible {
  background: #253d70;
  border-color: #9db4ff;
}
#inizio .scroll-cue {
  bottom: 76px;
}
@media(max-width:760px) {
  #inizio .hero-copy {
    order: 1;
    width: 100%;
    flex: none;
    padding-top: calc(var(--header) + 76px);
    padding-bottom: 24px;
  }
  #inizio h1 {
    font-size: clamp(3rem,15.5vw,7rem);
  }
  #inizio .hero-copy>.eyebrow {
    font-size: 12px;
    max-width: 32ch;
  }
  #inizio .hero-image {
    position: relative;
    order: 2;
    inset: auto;
    z-index: 0;
    flex: none;
    width: 100%;
    height: auto;
    aspect-ratio: 16/10;
    background-position: center;
    background-size: contain;
    animation: none;
    transform: none;
    margin: 0 0 28px;
  }
  #inizio .hero-shade {
    display: none;
  }
  #inizio .hero-bottom {
    order: 3;
    padding-top: 24px;
    padding-bottom: 100px;
  }
  #inizio .hero-extras {
    gap: 40px;
  }
  #inizio .results-teaser strong {
    font-size: 25px;
  }
  #inizio .quick-path>div {
    gap: 16px;
  }
  #inizio .quick-path a {
    padding: 15px 18px;
  }
}
@media print {
  #inizio { min-height: 0; }
  #inizio .hero-copy { padding: 60px 30px; }
  #inizio .hero-bottom { padding-bottom: 30px; }
}

/* Contact hierarchy: direct email first, optional detail second. */
.partner-contact .contact-intro{display:block;font-size:18px;line-height:1.45;color:#e1e9f8;margin:14px 0 24px;max-width:32ch}
.partner-contact fieldset legend{font-size:14px;color:#aebbd0;margin-bottom:6px}
.partner-contact .direct-contact{margin-top:18px;min-height:58px;justify-content:space-between;background:#000aed}
.partner-contact .contact-next{max-width:52ch;line-height:1.55}
.partner-contact .direct-contact-block{margin:18px 0 24px}
.partner-contact .direct-contact-block .direct-contact{margin-top:0}
.partner-contact .direct-contact-block .email{display:inline-block;margin-top:14px}
.partner-contact .direct-contact-block .contact-alternatives{margin-top:10px}
.partner-contact fieldset{margin-top:30px}
@media(max-width:760px){.partner-contact .contact-intro{font-size:17px}.partner-contact .direct-contact{width:100%}}

/* Mobile scenes keep the reveal narrative unless the viewport is genuinely cramped. */
@media (min-width:390px) and (max-width:760px) and (min-height:540px) {
  .scroll-scene:not(.scene-flow):not(.scene-stopped) .scene-stage { position: sticky; }
  .scroll-scene:not(.scene-flow):not(.scene-stopped) .scene-description { padding-bottom: 105px; }
}
/* Typography hierarchy: display type for headings, readable type for copy. */
:root{--heading-font:Race,'Arial Narrow',Arial,sans-serif}
h1,h2,h3,h4,.team-creed>h3,.leader-copy h4,.portrait-initials,.chapter-menu a .menu-title{font-family:var(--heading-font)}
.scene-description,.hero-lead,.hero-secondary,.value-item p,.visibility-card p,.partnership-lead,.partnership-foot p,.partner-copy>p,.partner-invitation,.partner-contact,.contact-next,.contact-note{font-family:Text,Arial,sans-serif}

/* Keep both leadership portraits fully visible inside their cinematic scenes. */
#edoardo .portrait-slot img,
#alessandro .portrait-slot img {
  object-fit: contain;
  object-position: center bottom;
  background: #091321;
}

/* Event visibility: real team imagery supports the narrative without inventing coverage. */
.visibility-media{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;margin:42px 0 18px}
.visibility-media figure{margin:0;background:#0e1726;overflow:hidden;border:1px solid #ffffff20}
.visibility-media img{display:block;width:100%;height:clamp(190px,24vw,330px);object-fit:cover}
.visibility-media figure:first-child img{object-position:center 42%}
.visibility-media figure:last-child img{object-position:center center}
.visibility-media figcaption{padding:13px 16px;font-size:13px;line-height:1.4;color:#c9d5e8;letter-spacing:.02em}
@media(max-width:760px){.visibility-media{grid-template-columns:1fr;gap:14px;margin-top:32px}.visibility-media img{height:220px}}

/* Student application follows the six department scenes without changing their narrative. */
.student-application {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
  min-height: calc(100svh - var(--header));
  margin: 0 calc(-1 * var(--pad));
  background: #07101e;
  border-top: 1px solid #526fa6;
  scroll-margin-top: var(--header);
  overflow: hidden;
}
.application-visual {
  position: relative;
  display: flex;
  min-height: 720px;
  padding: clamp(44px,6vw,96px) var(--pad);
  align-items: flex-end;
  isolation: isolate;
  background: #08111f url('assets/team.webp') center/cover no-repeat;
}
.application-visual:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg,rgba(4,9,17,.22),rgba(4,9,17,.96) 83%),linear-gradient(90deg,rgba(6,12,23,.24),rgba(6,12,23,.75));
}
.application-heading { max-width: 700px; }
.application-heading .eyebrow { color: #b8c9e5; }
.application-heading h3 {
  margin: 22px 0 28px;
  font-size: clamp(58px,7vw,108px);
  line-height: .9;
  letter-spacing: -.035em;
}
.application-heading h3 em { color: var(--blue); font-style: italic; }
.application-heading>p {
  max-width: 46ch;
  margin: 0;
  color: #e1e9f7;
  font-size: clamp(17px,1.5vw,22px);
  line-height: 1.55;
}
.application-university-callout {
  display: grid;
  gap: 7px;
  max-width: 580px;
  margin-top: 28px;
  padding: 17px 0 0 18px;
  border-top: 1px solid rgba(157,181,235,.52);
  border-left: 3px solid var(--blue);
}
.application-university-callout strong {
  color: #fff;
  font: 700 13px/1.15 Text,Arial,sans-serif;
  letter-spacing: .12em;
}
.application-university-callout span { color: #b8c7df; font-size: 14px; line-height: 1.5; }
.application-marker {
  position: absolute;
  top: 32px;
  right: 32px;
  color: #91aaff;
  font-family: var(--heading-font);
  font-size: clamp(24px,3vw,44px);
  letter-spacing: .08em;
}
.application-panel {
  position: relative;
  align-self: stretch;
  padding: clamp(40px,5vw,76px) clamp(28px,4.5vw,64px) 80px;
  background: linear-gradient(145deg,#111e38,#0a1224 72%);
  border-left: 1px solid #40577e;
}
.application-panel>.eyebrow { margin: 0 0 28px; }
#application-form { display: grid; gap: 20px; }
.application-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.application-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
#application-form label {
  display: block;
  color: #d4dff1;
  font-size: 14px;
  line-height: 1.45;
}
#application-form label small { color: #91a4c3; font-size: 11px; font-weight: 400; }
#application-form input,
#application-form select,
#application-form textarea {
  display: block;
  width: 100%;
  min-height: 52px;
  margin-top: 9px;
  padding: 13px 14px;
  border: 1px solid #50688f;
  border-radius: 0;
  background: #101c33;
  color: #fff;
  font: 16px/1.4 Text,Arial,sans-serif;
}
#application-form select {
  appearance: none;
  padding-right: 42px;
  background-image: linear-gradient(45deg,transparent 50%,#9eb4dc 50%),linear-gradient(135deg,#9eb4dc 50%,transparent 50%);
  background-position: calc(100% - 19px) 22px,calc(100% - 13px) 22px;
  background-size: 6px 6px,6px 6px;
  background-repeat: no-repeat;
}
#application-form textarea { min-height: 180px; resize: vertical; }
.department-choice-group {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid #50688f;
  background: #101c33;
}
.department-choice-group legend {
  padding: 0 6px;
  color: #d4dff1;
  font-size: 14px;
  line-height: 1.45;
}
.department-choice-group legend small { color: #91a4c3; font-size: 11px; font-weight: 400; }
.department-choice-help { margin: 0 0 12px; color: #91a4c3; font-size: 12px; }
.department-choice-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
#application-form .department-choice-options label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #40577e;
  cursor: pointer;
}
#application-form .department-choice-options label:has(input:checked) { border-color: #7798ff; background: #17294b; }
#application-form .department-choice-options input[type="checkbox"] {
  appearance: none;
  flex: 0 0 20px;
  width: 20px;
  min-height: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  border: 1px solid #8da7ff;
  background: transparent;
}
#application-form .department-choice-options input[type="checkbox"]:checked {
  background: #000aed;
  box-shadow: inset 0 0 0 4px #101c33;
}
#application-form .department-choice-options input[type="checkbox"]:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
#application-form .department-choice-options span { min-width: 0; }
#application-form input:focus,
#application-form select:focus,
#application-form textarea:focus { outline: 2px solid #8da7ff; outline-offset: 2px; border-color: transparent; }
#application-form input::placeholder,
#application-form textarea::placeholder { color: #8ea1c2; }
.application-submit {
  width: 100%;
  min-height: 60px;
  justify-content: space-between;
  border: 0;
  font-size: 17px;
}
.application-submit:disabled { cursor: wait; opacity: .68; }
.application-note,
#application-status {
  margin: -4px 0 0;
  color: #aebdd5;
  font-size: 13px;
  line-height: 1.55;
}
#application-status:not(:empty) { color: #dce6ff; padding-left: 14px; border-left: 2px solid #7798ff; }
#copy-application {
  justify-self: start;
  padding: 4px 0;
  border: 0;
  background: none;
  color: #c8d8f4;
  font-size: 14px;
}
.application-email {
  display: inline-block;
  margin-top: 28px;
  color: #b8caf0;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.location-contact {
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(420px,1.18fr);
  gap: clamp(28px,5vw,72px);
  align-items: stretch;
  margin-top: clamp(70px,9vw,130px);
  padding-top: clamp(36px,5vw,64px);
  border-top: 1px solid rgba(255,255,255,.35);
}
.location-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.location-copy h3 {
  margin: 18px 0 22px;
  font-size: clamp(34px,3.6vw,58px);
  line-height: 1.02;
}
.location-copy>p {
  max-width: 48ch;
  margin: 0 0 26px;
  color: #e1e9ff;
  font-size: 17px;
  line-height: 1.6;
}
.location-copy address {
  display: grid;
  gap: 4px;
  padding-left: 18px;
  border-left: 3px solid #b9cdff;
  color: #dce6ff;
  font-style: normal;
  line-height: 1.45;
}
.location-copy address strong { margin-bottom: 4px; color: #fff; font-size: 19px; }
.location-actions { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 28px; }
.location-actions a { color: #fff; text-underline-offset: 5px; }
.location-map {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.42);
  background: #111a33;
}
.location-map iframe { display: block; width: 100%; height: 100%; min-height: 390px; border: 0; filter: saturate(.82) contrast(1.04); }
.map-overlay {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 10px 13px;
  background: rgba(9,18,40,.9);
  border: 1px solid rgba(255,255,255,.42);
  color: #fff;
  font-size: 13px;
  text-decoration: none;
  backdrop-filter: blur(8px);
}
@media(max-width:900px) {
  .location-contact { grid-template-columns: 1fr; }
  .location-map,.location-map iframe { min-height: 340px; }
}
@media(max-width:560px) {
  .location-contact { margin-top: 64px; gap: 30px; }
  .location-map,.location-map iframe { min-height: 280px; }
}
#application-fallback { min-height: 180px; }
@media(max-width:980px) {
  .student-application { grid-template-columns: 1fr; }
  .application-visual { min-height: 66svh; }
  .application-panel { border-left: 0; border-top: 1px solid #40577e; }
}
@media(max-width:760px) {
  .student-application { margin-inline: calc(-1 * var(--pad)); }
  .application-visual { min-height: 72svh; padding: 52px var(--pad); background-position: 54% center; }
  .application-heading h3 { font-size: clamp(52px,16vw,76px); }
  .application-heading>p { font-size: 17px; }
  .application-marker { top: 22px; right: var(--pad); font-size: 24px; }
  .application-panel { padding: 42px var(--pad) 78px; }
  .application-row { grid-template-columns: 1fr; gap: 20px; }
  .department-choice-options { grid-template-columns: 1fr; }
  #application-form textarea { min-height: 210px; }
}
@media print {
  .student-application { display: block; margin: 0; min-height: 0; }
  .application-visual { min-height: 0; background: #08111f; }
}

/* Version 51: expandable project navigation and dedicated site sections. */
.chapter-menu {
  padding-top: clamp(28px,5vh,68px);
}
.menu-shell {
  display: grid;
  grid-template-columns: minmax(340px,.85fr) minmax(420px,1.15fr);
  gap: clamp(42px,7vw,110px);
  width: min(1380px,100%);
  margin: 0 auto;
  align-items: start;
}
.menu-project-group {
  border-top: 2px solid #000aed;
}
.menu-project-group>summary {
  display: grid;
  grid-template-columns: 42px 1fr auto 26px;
  gap: 18px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  color: #fff;
  cursor: pointer;
  list-style: none;
}
.menu-project-group>summary::-webkit-details-marker { display: none; }
.menu-project-group>summary:focus-visible { outline: 2px solid #8da7ff; outline-offset: 8px; }
.menu-index,
.menu-summary-note {
  color: #8290a8;
  font: 600 11px/1.2 Text,Arial,sans-serif;
  letter-spacing: .12em;
}
.menu-heading {
  font-family: var(--heading-font);
  font-size: clamp(30px,3.6vw,55px);
  font-weight: 700;
  line-height: 1;
}
.menu-toggle-mark {
  position: relative;
  width: 20px;
  height: 20px;
}
.menu-toggle-mark:before,
.menu-toggle-mark:after {
  content: '';
  position: absolute;
  top: 9px;
  left: 1px;
  width: 18px;
  height: 1px;
  background: #fff;
  transition: transform .25s ease;
}
.menu-toggle-mark:after { transform: rotate(90deg); }
.menu-project-group[open] .menu-toggle-mark:after { transform: rotate(0); }
.project-submenu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 28px;
  padding: 9px 0 22px;
}
.chapter-menu .project-submenu a {
  gap: 14px;
  padding: 13px 0;
  font-size: clamp(17px,1.5vw,23px);
}
.chapter-menu .project-submenu a:hover,
.chapter-menu .project-submenu a[aria-current] { padding-left: 8px; }
.chapter-menu .project-submenu a>span:first-child {
  width: 23px;
  font-size: 10px;
}
.menu-destinations {
  border-top: 2px solid #26334b;
}
.chapter-menu .menu-destinations>a {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 18px;
  padding: 15px 0;
  font-size: clamp(28px,3.7vw,56px);
}
.chapter-menu .menu-destinations>a:hover,
.chapter-menu .menu-destinations>a[aria-current] { padding-left: 10px; }
.menu-destinations a i {
  align-self: center;
  color: #7e92bb;
  font: normal 18px/1 Text,Arial,sans-serif;
}
.secondary-page .chapter-menu { bottom: 0; }
@media(max-width:920px) {
  .menu-shell { grid-template-columns: 1fr; gap: 34px; }
  .menu-project-group>summary { grid-template-columns: 32px 1fr auto 22px; }
  .chapter-menu .menu-destinations>a { grid-template-columns: 32px 1fr auto; }
}
@media(max-width:560px) {
  .chapter-menu { padding-top: 22px; }
  .menu-project-group>summary { gap: 10px; padding: 17px 0; }
  .menu-summary-note { display: none; }
  .project-submenu { grid-template-columns: 1fr; padding-bottom: 12px; }
  .chapter-menu .project-submenu a { padding: 10px 0; font-size: 18px; }
  .chapter-menu .menu-destinations>a { gap: 10px; padding: 12px 0; font-size: 29px; }
}

/* Press bridge: project results become a story shared across the region. */
.press-bridge {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
  gap: clamp(40px,7vw,110px);
  align-content: center;
  min-height: 86svh;
  color: #f7f8fb;
  background:
    linear-gradient(120deg,rgba(0,10,237,.16),transparent 48%),
    radial-gradient(circle at 90% 18%,rgba(227,6,19,.19),transparent 32%),
    #090d16;
  border-top: 1px solid #ffffff24;
  border-bottom: 1px solid #ffffff24;
}
.press-bridge:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .18;
  background-image: repeating-linear-gradient(115deg,transparent 0 70px,#ffffff0c 70px 71px);
}
.press-watermark {
  position: absolute;
  z-index: -1;
  top: 8%;
  left: -2vw;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1px #ffffff13;
  font: 700 clamp(78px,13vw,210px)/.8 Race,'Arial Narrow',Arial,sans-serif;
  letter-spacing: -.035em;
  transform: rotate(-4deg);
}
.press-heading,
.press-copy,
.press-keywords,
.press-banner { position: relative; }
.press-heading .eyebrow { color: #9bb2ff; }
.press-heading h2 {
  margin: 24px 0 0;
  max-width: 780px;
  font: 700 clamp(54px,7.8vw,118px)/.88 Race,'Arial Narrow',Arial,sans-serif;
  letter-spacing: -.025em;
}
.press-heading h2 em { color: #ff554f; }
.press-copy {
  align-self: end;
  padding-top: clamp(90px,15vh,190px);
}
.press-copy p {
  margin: 0;
  max-width: 62ch;
  color: #c2cada;
  font-size: clamp(17px,1.35vw,21px);
  line-height: 1.65;
}
.press-copy p+p {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #ffffff24;
}
.press-keywords {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: clamp(8px,2vw,22px);
}
.press-keywords span {
  padding: 7px 11px;
  border: 1px solid #ffffff2b;
  color: #aeb9cc;
  font-size: 10px;
  letter-spacing: .15em;
}
.press-banner {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: clamp(18px,3vw,38px);
  padding: clamp(25px,3.4vw,46px) clamp(22px,4vw,58px);
  color: #fff;
  text-decoration: none;
  background: #e30613;
  border: 1px solid #ff7772;
  box-shadow: 0 24px 70px #00000055;
  transition: transform .35s ease,background-color .35s ease,box-shadow .35s ease;
}
.press-banner span { display: grid; gap: 8px; }
.press-banner small {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .17em;
}
.press-banner strong {
  font: 700 clamp(29px,4.5vw,66px)/.95 Race,'Arial Narrow',Arial,sans-serif;
  letter-spacing: -.015em;
}
.press-banner i {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: clamp(58px,7vw,92px);
  aspect-ratio: 1;
  border: 1px solid #ffffff9c;
  border-radius: 50%;
  font: normal clamp(26px,3vw,42px)/1 Text,Arial,sans-serif;
  transition: transform .35s ease,background-color .35s ease,color .35s ease;
}
.press-banner:hover,
.press-banner:focus-visible {
  transform: translateY(-5px);
  background: #e30613;
  box-shadow: 0 32px 85px #00000070;
}
.press-banner:hover i,
.press-banner:focus-visible i {
  transform: rotate(45deg);
  color: #e30613;
  background: #fff;
}
.press-banner:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
@media(max-width:900px) {
  .press-bridge {
    grid-template-columns: 1fr;
    gap: 30px;
    min-height: 0;
    padding-top: clamp(90px,18vw,130px);
    padding-bottom: clamp(80px,15vw,120px);
  }
  .press-copy { padding-top: 0; }
  .press-keywords,
  .press-banner { grid-column: 1; }
}
@media(max-width:560px) {
  .press-heading h2 { font-size: clamp(49px,15vw,72px); }
  .press-copy p { font-size: 17px; }
  .press-keywords { gap: 7px; }
  .press-keywords span { font-size: 9px; }
  .press-banner { align-items: flex-end; }
  .press-banner strong { font-size: clamp(28px,9vw,43px); }
  .press-banner i { width: 54px; }
}
@media(prefers-reduced-motion:reduce) {
  .press-banner,
  .press-banner i { transition: none; }
}
