/* Sajinth & Partner palette only — the Academy distinction comes from typography and image direction. */
:root {
  --ink: #0a1015;
  --paper: #f6f6f7;
  --acid: #4f7cfb;
  --navy: #283545;
  --shade: #0b121a;
  --mist: #e7e8eb;
  --line: rgba(10, 16, 21, .2);
  --serif: "Newsreader", Georgia, serif;
  --sans: "Work Sans", Helvetica, sans-serif;
  --mono: "Work Sans", Helvetica, sans-serif;
}

.academy-wordmark {
  gap: 8px;
  align-items: center;
}

.brand-source {
  display: inline-block;
  width: 25px;
  height: 25px;
  overflow: hidden;
  flex: 0 0 25px;
}

.brand-source img {
  display: block;
  width: auto;
  height: 25px;
  max-width: none;
  filter: invert(1);
}

.academy-mark {
  width: 23px;
  height: 23px;
  display: inline-grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 4px;
  padding: 3px;
}

.academy-mark svg {
  width: 100%;
  height: 100%;
}

.academy-wordmark .wordmark-sajinth {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -.045em;
}

.academy-wordmark em {
  align-self: baseline;
  margin-left: -4px;
  font-size: 21px;
  letter-spacing: -.065em;
}

.footer-brand .brand-source { width: 22px; height: 22px; flex-basis: 22px; }
.footer-brand .brand-source img { height: 22px; }

.footer-brand .academy-mark { width: 20px; height: 20px; }

.button:hover { background: var(--acid); color: #fff; }
.grain { opacity: .055; }
.hero-visual {
  bottom: 28px;
  background: linear-gradient(145deg, var(--shade), var(--navy) 58%, var(--ink));
}
.hero-visual::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--acid); }
.principle:hover { background: rgba(79, 124, 251, .12); }
.editorial-break { background: var(--navy); color: #f6f6f7; }

.portrait { background: #516174; }
.portrait img, .glimpse-image img, .hero-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.72) contrast(1.04);
}
.portrait-sajinth img { object-position: center top; }
.portrait-silas img { object-position: center 20%; }
.portrait-simon img, .portrait-marius img { object-position: center 18%; }
.portrait-gowry img { object-position: center top; }
.hero-photo { filter: saturate(.55) brightness(.58) contrast(1.1); }
.glimpse-image img { filter: saturate(.5) brightness(.68) contrast(1.08); }

.team-ribbon { margin: 80px 0 0; padding: 18px 0; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.team-ribbon p { margin: 0; font: 500 23px/1.05 var(--serif); letter-spacing: -.04em; }
.team-faces { display: flex; align-items: center; }
.team-faces img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: center top; border: 2px solid var(--paper); margin-left: -8px; filter: saturate(.72); transition: transform .2s ease; }
.team-faces img:first-child { margin-left: 0; }
.team-faces img:hover { transform: translateY(-5px); z-index: 2; }
.portrait-sajinth { background: linear-gradient(145deg, #5b718d, var(--navy) 55%, var(--ink)); }
.portrait-silas { background: linear-gradient(140deg, #76889c, var(--navy)); }
.portrait-simon { background: linear-gradient(140deg, var(--mist), #536273); }
.portrait-marius { background: linear-gradient(140deg, #566a80, var(--shade)); }
.portrait-gowry { background: linear-gradient(140deg, #82909c, var(--navy)); }

.people-context { margin-top: 55px; padding-top: 24px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 7vw, 110px); align-items: start; }
.people-context p { margin: 0; max-width: 500px; font-size: 14px; line-height: 1.55; }
.people-context p:first-child { font: 500 clamp(22px, 2.4vw, 34px)/1.08 var(--serif); letter-spacing: -.04em; }
.people-context strong { font-weight: 600; }

.glimpses { background: var(--mist); }

/* Academy logo: independent construction, with the parent-brand relationship stated in copy. */
.academy-wordmark { gap: 10px; color: var(--paper); text-decoration: none; }
.academy-symbol { width: 47px; height: 47px; flex: 0 0 47px; display: block; }
.academy-symbol { object-fit: contain; filter: invert(1); }
.academy-lockup { display: inline-flex; align-items: baseline; gap: 7px; white-space: nowrap; }
.academy-lockup > span { font: 600 16px/1 var(--sans); letter-spacing: -.055em; }
.academy-lockup em { margin: 0; font: 500 italic 36px/.8 var(--serif); letter-spacing: -.075em; }
.site-header .academy-wordmark, .site-header .academy-lockup, .site-header .academy-lockup > span, .site-header .academy-lockup em { color: #fff; }
.site-header #main-navigation a { color: #fff; }
.footer-brand .academy-symbol { width: 50px; height: 50px; flex-basis: 50px; }
.footer-brand .academy-lockup > span { font-size: 16px; }
.footer-brand .academy-lockup em { font-size: 38px; }

.practice { background: var(--paper); border-top: 1px solid var(--line); }
.practice-intro { margin-top: clamp(55px, 9vw, 128px); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(250px, .48fr); align-items: end; column-gap: 7vw; }
.practice-intro h2 { margin: 0; font: 500 clamp(48px, 6.4vw, 98px)/.91 var(--serif); letter-spacing: -.07em; }
.practice-intro p { margin: 0 0 8px; max-width: 390px; color: rgba(10,16,21,.76); font-size: 16px; line-height: 1.55; }
.practice-grid { margin-top: clamp(45px, 6vw, 82px); display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.practice-card { min-height: 270px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; transition: background .25s ease, color .25s ease; }
.practice-card:hover { background: var(--navy); color: var(--paper); }
.practice-card > span { font: 500 10px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .08em; opacity: .68; }
.practice-card h3 { margin: auto 0 14px; font: 500 clamp(33px, 3.6vw, 57px)/.94 var(--serif); letter-spacing: -.06em; }
.practice-card p { margin: 0; max-width: 335px; font-size: 14px; line-height: 1.4; opacity: .75; }
.practice-card-wide { grid-column: 1 / -1; min-height: 195px; flex-direction: row; gap: 40px; align-items: flex-start; }
.practice-card-wide > span { min-width: 160px; }
.practice-card-wide h3 { margin: 0 0 20px; }
.practice-card-wide p { max-width: none; font-family: var(--mono); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.practice-note { margin: 18px 0 0 auto; max-width: 520px; color: rgba(10,16,21,.58); font: 400 11px/1.5 var(--mono); }

.partner-stories { margin-top: clamp(50px, 7vw, 100px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 3vw, 44px); align-items: start; }
.partner-story { min-height: 310px; display: grid; grid-template-columns: minmax(170px, .85fr) 1fr; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.partner-story:nth-child(2) { margin-top: 72px; }
.partner-story > img { width: 100%; height: 100%; min-height: 310px; object-fit: cover; object-position: center top; filter: saturate(.72) contrast(1.02); }
.partner-story > div { padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; justify-content: flex-end; }
.partner-story span { margin-bottom: auto; font: 500 10px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .08em; opacity: .54; }
.partner-story h3 { margin: 45px 0 10px; font: 500 clamp(29px, 3vw, 47px)/.95 var(--serif); letter-spacing: -.055em; }
.partner-story p { margin: 0; font-size: 13px; line-height: 1.45; color: rgba(10,16,21,.62); }
.partner-marquee { position: relative; left: 50%; width: 100vw; margin: clamp(72px, 9vw, 128px) 0 0 -50vw; overflow: hidden; padding: 40px 0; background: var(--navy); color: #fff; }
.partner-marquee::before, .partner-marquee::after { content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; width: 11vw; pointer-events: none; }
.partner-marquee::before { left: 0; background: linear-gradient(90deg,var(--navy),transparent); }
.partner-marquee::after { right: 0; background: linear-gradient(-90deg,var(--navy),transparent); }
.partner-marquee-track { display: flex; width: max-content; animation: partner-roll 38s linear infinite; }
.partner-logo-set { display: flex; align-items: center; gap: clamp(55px, 7vw, 105px); padding-right: clamp(55px, 7vw, 105px); }
.partner-logo-set img { display: block; width: auto; height: 38px; max-width: 155px; object-fit: contain; filter: brightness(0) invert(1); opacity: .68; transition: opacity .2s ease; }
.partner-logo-set img:nth-child(1), .partner-logo-set img:nth-child(5) { height: 48px; max-width: 110px; }
.partner-logo-set img:hover { opacity: 1; }
@keyframes partner-roll { to { transform: translateX(-50%); } }

.hero-photo { object-position: center 48%; filter: saturate(.8) brightness(.86) contrast(1.04); }
.glimpse-image img { filter: saturate(.78) brightness(.9) contrast(1.03); }

@media (max-width: 720px) {
  .hero-visual { right: 0; bottom: 18px; width: 52vw; height: 42vh; }
  .hero-photo { object-position: center 46%; }
  .hero h1 { font-size: 15vw; line-height: .9; }
  .academy-symbol { width: 30px; height: 30px; flex-basis: 30px; }
  .academy-lockup { gap: 5px; }
  .academy-lockup > span { font-size: 11px; }
  .academy-lockup em { font-size: 24px; }
  .footer-brand .academy-symbol { width: 36px; height: 36px; flex-basis: 36px; }
  .footer-brand .academy-lockup em { font-size: 29px; }
  .practice-intro { display: block; }
  .practice-intro p { margin-top: 25px; }
  .practice-grid { grid-template-columns: 1fr; }
  .practice-card { min-height: 205px; }
  .practice-card-wide { grid-column: auto; display: block; min-height: 235px; }
  .practice-card-wide > span { display: block; margin-bottom: 48px; }
  .practice-note { margin-left: 0; }
  .partner-stories { grid-template-columns: 1fr; }
  .partner-story, .partner-story:nth-child(2) { margin-top: 0; grid-template-columns: .78fr 1fr; min-height: 240px; }
  .partner-story > img { min-height: 240px; }
  .partner-story h3 { margin-top: 30px; }
  .partner-marquee { padding: 30px 0; }
  .partner-logo-set { gap: 54px; padding-right: 54px; }
  .partner-logo-set img { height: 30px; max-width: 125px; }
  .people-context { margin-top: 38px; grid-template-columns: 1fr; gap: 22px; }
  .brand-source { width: 22px; height: 22px; flex-basis: 22px; }
  .brand-source img { height: 22px; }
  .team-ribbon { display: block; margin-top: 45px; }
  .team-ribbon p { margin-bottom: 18px; font-size: 20px; }
  .team-faces img { width: 39px; height: 39px; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-marquee-track { animation-play-state: paused; }
}

/* Quieter editorial language: fewer interface-like labels and no numbered system. */
body { font-family: var(--sans); font-size: 15px; line-height: 1.55; }
.grain { opacity: .028; }

nav a, .nav-cta, footer a {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

.hero-top, .section-kicker {
  display: block;
  border: 0;
  padding: 0;
  font: 500 13px/1.3 var(--sans);
  text-transform: none;
  letter-spacing: 0;
  opacity: .7;
}

.section-kicker::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 1px;
  margin: 0 10px 4px 0;
  background: currentColor;
  opacity: .45;
}

.hero h1,
.premise-intro .serif,
.practice-intro h2,
.people-head h2,
.glimpse-copy h2,
.event h2,
.editorial-break p {
  letter-spacing: -.045em;
}

.hero h1 i,
.people h2 i,
.glimpse-copy h2 i,
.event h2 i,
.premise-intro i,
.practice-intro i {
  font-style: normal;
  font-weight: inherit;
}

.eyebrow {
  font: 500 13px/1.3 var(--sans);
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 18px;
  opacity: .65;
}

.button {
  font: 500 12px/1 var(--sans);
  text-transform: none;
  letter-spacing: 0;
}

.scroll-cue {
  font: 500 12px/1 var(--sans);
  text-transform: none;
  letter-spacing: 0;
  opacity: .7;
}

.visual-note, .glimpse-image span {
  font: 500 12px/1.3 var(--sans);
  text-transform: none;
  letter-spacing: 0;
}

.principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 58px 6vw;
  border-top: 0;
}

.principle {
  display: block;
  padding: 0;
  border: 0;
}

.principle:hover {
  padding-left: 0;
  background: transparent;
}

.principle h2 {
  font: 500 clamp(30px, 3vw, 46px)/1 var(--serif);
  letter-spacing: -.035em;
}

.principle p {
  margin-top: 17px;
  max-width: 310px;
  color: rgba(10,16,21,.7);
}

.person-meta {
  display: block;
  padding-top: 13px;
}

.person-meta h3 { letter-spacing: -.025em; }
.person-meta p { margin-top: 4px; }
.editorial-break span { text-transform: none; letter-spacing: 0; font-family: var(--sans); }
.partner-story span { text-transform: none; letter-spacing: 0; font: 500 12px/1.3 var(--sans); }

@media (max-width: 720px) {
  .hero h1 { font-size: 14.5vw; line-height: .92; letter-spacing: -.05em; }
  .section-kicker::before { width: 20px; }
  .principles { grid-template-columns: 1fr; gap: 42px; }
  .principle { display: block; padding: 0; }
  .principle p { margin-top: 12px; }
  .person-meta { display: block; }
  .person-meta p { margin-left: 0; }
}

/* People as an editorial career ledger — grounded in the Sajinth & Partner environment. */
.people-ledger {
  background: var(--paper);
  border-top: 1px solid var(--line);
}

.people-ledger .people-head {
  margin-bottom: clamp(70px, 10vw, 145px);
}

.profile-ledger {
  border-bottom: 1px solid var(--line);
}

.profile-entry {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
  padding: clamp(48px, 7vw, 94px) 0;
  border-top: 1px solid var(--line);
}

.profile-entry:nth-child(even) {
  grid-template-columns: minmax(0, 1.28fr) minmax(280px, .72fr);
}

.profile-entry:nth-child(even) .profile-portrait {
  grid-column: 2;
  grid-row: 1;
}

.profile-entry:nth-child(even) .profile-story {
  grid-column: 1;
  grid-row: 1;
}

.profile-portrait {
  position: relative;
  height: clamp(430px, 47vw, 650px);
  overflow: hidden;
  background: var(--navy);
}

.profile-portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(10, 16, 21, .16);
  pointer-events: none;
}

.profile-portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.74) contrast(1.02);
}

.profile-portrait-gowry img { object-position: center 12%; }

.profile-label {
  display: block;
  margin-bottom: clamp(26px, 4vw, 56px);
  color: rgba(10, 16, 21, .58);
  font-size: 12px;
  font-weight: 500;
}

.profile-story h3 {
  max-width: 820px;
  margin: 0;
  font: 500 clamp(43px, 5.4vw, 82px)/.92 var(--serif);
  letter-spacing: -.052em;
}

.profile-role {
  margin: 14px 0 0;
  color: var(--acid);
  font-size: 13px;
  font-weight: 600;
}

.profile-story > p:not(.profile-role):not(.experience-caption) {
  max-width: 720px;
  margin: clamp(26px, 3vw, 42px) 0 0;
  color: rgba(10, 16, 21, .75);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.62;
}

.company-marks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: clamp(34px, 5vw, 64px);
}

.experience-caption {
  margin: clamp(30px, 4vw, 48px) 0 10px;
  color: rgba(10, 16, 21, .5);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.company-marks-six { margin-top: 0; }

.company-mark {
  min-height: 118px;
  padding: 19px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .58);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

.company-mark img {
  display: block;
  width: auto;
  height: 34px;
  max-width: 145px;
  object-fit: contain;
  object-position: left center;
}

.company-mark img[src*="brandaktuell"] { filter: invert(1); }
.company-mark img[src*="palcor"] { height: 30px; }
.company-mark img[src*="sysfive"] { height: 27px; filter: invert(1); }
.company-mark img[src*="ews"] { height: 38px; }

.company-mark-wide img { height: 31px; }
.company-mark-square img { width: 54px; height: 54px; object-fit: cover; object-position: top; }
.company-mark small { color: rgba(10, 16, 21, .58); font-size: 10px; line-height: 1.3; }
.company-wordmark b { font: 600 31px/1 var(--sans); letter-spacing: -.065em; }
.company-name-only {
  max-width: 155px;
  color: var(--ink);
  font: 650 18px/1.05 var(--sans);
  letter-spacing: -.045em;
}
.company-name-lowercase { font-size: 24px; font-weight: 700; }

.client-caption { margin-top: clamp(28px, 4vw, 46px); }

.client-marks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.client-mark {
  min-height: 68px;
  padding: 14px 10px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .48);
  display: grid;
  place-items: center;
  color: #111;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.025em;
  text-align: center;
}

.client-mark img {
  display: block;
  width: auto;
  height: 27px;
  max-width: 84%;
  max-height: 34px;
  object-fit: contain;
}

.client-mark img[src*="redbull"] { height: 34px; }
.client-mark img[src*="fifa"] { height: 31px; }
.client-mark img[src*="prosiebensat1"] { height: 30px; }
.client-mark img[src*="vogue"] { height: 25px; }
.client-mark img[src*="gq"] { height: 31px; }
.client-mark img[src*="sport1"] { height: 22px; }
.client-mark img[src*="ebay"] { height: 29px; }

.academy-team-head {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 7vw;
  align-items: start;
  margin: clamp(100px, 13vw, 190px) 0 clamp(40px, 6vw, 80px);
  padding-top: 18px;
  border-top: 1px solid var(--ink);
}

.academy-team-head > span {
  font: 500 clamp(29px, 3.5vw, 50px)/1 var(--serif);
  letter-spacing: -.04em;
}

.academy-team-head p {
  max-width: 680px;
  margin: 0;
  color: rgba(10, 16, 21, .7);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.6;
}

.academy-team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 28px);
}

.academy-team-card {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .52);
}

.academy-team-card > img {
  display: block;
  width: 100%;
  height: clamp(280px, 30vw, 430px);
  object-fit: cover;
  object-position: center top;
  filter: saturate(.75) contrast(1.02);
}

.academy-team-card > div { padding: clamp(22px, 2.6vw, 36px); }
.academy-team-card h3 { margin: 0; font: 500 clamp(27px, 3vw, 42px)/1 var(--serif); letter-spacing: -.035em; }
.academy-team-card div > p:not(.profile-role) { min-height: 122px; margin: 24px 0 30px; color: rgba(10, 16, 21, .68); font-size: 13px; line-height: 1.5; }
.mini-companies { display: flex; flex-wrap: wrap; gap: 6px; }
.mini-company { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 11px; border: 1px solid var(--line); background: #fff; }
.mini-company img { display: block; width: auto; height: 21px; max-width: 120px; object-fit: contain; }
.mini-company-square { min-width: 48px; justify-content: center; padding: 6px 9px; }
.mini-company-square img { width: 30px; height: 30px; object-fit: contain; }
.mini-company-text { color: rgba(10, 16, 21, .72); font-size: 10px; font-weight: 600; }

/* Image-free event interlude: atmosphere through typography, not staged photography. */
.glimpses-textual {
  min-height: 0;
  padding: clamp(105px, 11vw, 165px) 3.2vw;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
  grid-template-rows: auto;
  gap: clamp(70px, 10vw, 155px);
  align-items: center;
  background:
    linear-gradient(90deg, transparent 0, transparent calc(50% - .5px), rgba(10, 16, 21, .08) 50%, transparent calc(50% + .5px)),
    var(--mist);
}

.glimpses-textual .glimpse-copy {
  grid-row: auto;
  padding: 0;
  align-self: center;
}

.glimpses-textual .glimpse-copy h2 { max-width: 760px; }
.glimpses-textual .glimpse-copy p { max-width: 430px; margin-top: 34px; color: rgba(10, 16, 21, .7); font-size: 15px; line-height: 1.62; }

.glimpse-statement {
  min-width: 0;
  padding-left: clamp(34px, 5vw, 78px);
  border-left: 1px solid rgba(10, 16, 21, .36);
}

.glimpse-statement blockquote {
  max-width: 720px;
  margin: 0 0 clamp(58px, 7vw, 92px);
  font: 500 clamp(39px, 4.8vw, 72px)/.98 var(--serif);
  letter-spacing: -.055em;
}

.glimpse-facts {
  display: grid;
  grid-template-columns: 1fr 1fr .72fr;
  border-top: 1px solid rgba(10, 16, 21, .48);
  border-bottom: 1px solid rgba(10, 16, 21, .48);
}

.glimpse-facts > div { min-height: 118px; padding: 17px 18px 20px 0; }
.glimpse-facts > div + div { padding-left: 18px; border-left: 1px solid rgba(10, 16, 21, .2); }
.glimpse-facts span { color: rgba(10, 16, 21, .52); font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.glimpse-facts p { max-width: 180px; margin: 27px 0 0; font: 500 18px/1.18 var(--serif); letter-spacing: -.025em; }

.glimpse-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: gap .25s ease, color .25s ease;
}

.glimpse-link:hover { gap: 27px; color: var(--accent); }
.glimpse-link span { font-size: 18px; line-height: 1; }

.event-facts {
  margin: clamp(38px, 5vw, 64px) 0 0;
  border-top: 1px solid var(--ink);
}

.event-facts > div {
  display: grid;
  grid-template-columns: 105px 1fr;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.event-facts dt { color: rgba(10, 16, 21, .55); font-size: 11px; }
.event-facts dd { margin: 0; font-size: 13px; font-weight: 500; }

@media (max-width: 900px) {
  .company-marks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-team-grid { grid-template-columns: 1fr; }
  .academy-team-card { display: grid; grid-template-columns: minmax(180px, .7fr) 1fr; }
  .academy-team-card > img { height: 100%; min-height: 340px; }
}

@media (max-width: 720px) {
  .profile-entry,
  .profile-entry:nth-child(even) { min-width: 0; grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .profile-entry:nth-child(even) .profile-portrait,
  .profile-entry:nth-child(even) .profile-story { grid-column: auto; grid-row: auto; }
  .profile-story { min-width: 0; }
  .profile-story h3 { overflow-wrap: anywhere; }
  .profile-portrait-gowry + .profile-story h3 { font-size: clamp(32px, 8.7vw, 44px); }
  .profile-portrait { height: 116vw; max-height: 520px; }
  .profile-story h3 { font-size: clamp(39px, 12vw, 58px); }
  .company-marks { grid-template-columns: 1fr 1fr; }
  .client-marks { grid-template-columns: 1fr 1fr; }
  .company-mark { min-height: 105px; padding: 15px; }
  .company-mark img { max-width: 118px; height: 29px; }
  .company-mark-square img { width: 48px; height: 48px; }
  .academy-team-head { grid-template-columns: 1fr; gap: 22px; }
  .academy-team-card { display: block; }
  .academy-team-card > img { min-height: 0; height: min(106vw, 470px); }
  .academy-team-card > div { padding: 20px; }
  .academy-team-card div > p:not(.profile-role) { min-height: 0; margin: 18px 0 24px; }
  .mini-company img { max-width: 92px; height: 18px; }
  .glimpses-textual { padding: 86px 18px; display: block; background: var(--mist); }
  .glimpses-textual .glimpse-copy { padding: 0 0 58px; }
  .glimpses-textual .glimpse-copy h2 { font-size: clamp(40px, 12vw, 58px); }
  .glimpse-statement { padding: 46px 0 0; border-left: 0; border-top: 1px solid rgba(10, 16, 21, .36); }
  .glimpse-statement blockquote { margin-bottom: 52px; font-size: clamp(36px, 10vw, 48px); }
  .glimpse-facts { grid-template-columns: 1fr; }
  .glimpse-facts > div { min-height: 0; padding: 16px 0 18px; }
  .glimpse-facts > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(10, 16, 21, .15); }
  .glimpse-facts p { max-width: none; margin-top: 8px; }
  footer { grid-template-columns: 1fr; align-items: start; }
  footer .footer-brand { grid-column: 1; min-width: 0; }
  footer p { grid-row: auto; }
  footer div { grid-row: auto; grid-column: 1; flex-wrap: wrap; justify-content: flex-start; }
}

/* October refinement — image-free hero, compact people ledger, softer UI. */
.menu-toggle { display: none; }

.hero {
  min-height: min(940px, 100svh);
  background:
    radial-gradient(circle at 80% 64%, rgba(79, 124, 251, .11), transparent 24%),
    linear-gradient(118deg, #0a1015 0%, #0a1015 64%, #0d1721 100%);
}

.hero-copy { max-width: min(1040px, 72vw); }
.hero h1 { font-size: clamp(64px, 9vw, 136px); }

.hero-aside {
  position: absolute;
  right: 5.5vw;
  bottom: 8vh;
  width: min(24vw, 300px);
  color: rgba(246, 246, 247, .92);
}

.hero-aside-date {
  display: block;
  margin-bottom: 28px;
  color: var(--acid);
  font: 500 13px/1 var(--sans);
  letter-spacing: .04em;
}

.hero-aside p {
  margin: 0;
  font: 400 clamp(27px, 2.7vw, 42px)/1.04 var(--serif);
  letter-spacing: -.035em;
}

.hero-aside-line {
  display: block;
  width: 100%;
  height: 1px;
  margin: 38px 0 13px;
  background: linear-gradient(90deg, var(--acid) 0 24%, rgba(246,246,247,.24) 24% 100%);
}

.hero-aside small { color: rgba(246, 246, 247, .55); font-size: 11px; }

.people-ledger .people-head { margin-bottom: clamp(58px, 7vw, 92px); }
.profile-entry,
.profile-entry:nth-child(even) {
  grid-template-columns: minmax(230px, .48fr) minmax(0, 1.52fr);
  gap: clamp(38px, 6vw, 86px);
  padding: clamp(38px, 5vw, 68px) 0;
}

.profile-entry:nth-child(even) .profile-portrait { grid-column: 1; }
.profile-entry:nth-child(even) .profile-story { grid-column: 2; }

.profile-portrait {
  height: clamp(300px, 31vw, 430px);
  border-radius: 3px;
}

.profile-portrait::after { border: 0; box-shadow: inset 0 0 0 1px rgba(10, 16, 21, .1); }
.profile-story h3 { max-width: 900px; font-size: clamp(39px, 4.5vw, 68px); }
.profile-label { margin-bottom: clamp(18px, 2.5vw, 34px); }

.profile-details { margin-top: clamp(28px, 3.5vw, 44px); border-top: 1px solid var(--line); }
.profile-details summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 16px 2px;
  list-style: none;
  cursor: pointer;
  color: rgba(10,16,21,.74);
  font-size: 13px;
  font-weight: 600;
  transition: color .2s ease;
}
.profile-details summary::-webkit-details-marker { display: none; }
.profile-details summary:hover { color: var(--acid); }
.profile-details summary span { color: var(--acid); font: 400 25px/1 var(--serif); transition: transform .25s ease; }
.profile-details[open] summary span { transform: rotate(45deg); }
.profile-detail-content { padding: 4px 0 18px; }
.profile-detail-content > p:first-child {
  max-width: 720px;
  margin: 0;
  color: rgba(10, 16, 21, .72);
  font-size: 15px;
  line-height: 1.62;
}

.company-mark,
.client-mark,
.mini-company { border-radius: 6px; }

.academy-team-head { margin-top: clamp(78px, 10vw, 126px); }
.academy-team-grid { gap: clamp(22px, 3vw, 44px); }
.academy-team-card { border: 0; background: transparent; }
.academy-team-card > img { height: clamp(235px, 25vw, 340px); border-radius: 3px; }
.academy-team-card > div { padding: 22px 2px 0; }
.academy-team-card h3 { font-size: clamp(27px, 2.7vw, 38px); }
.academy-team-card div > p:not(.profile-role) { min-height: 105px; margin: 18px 0 24px; }

.event-form { border-radius: 3px; }
.form-honey { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-status[data-state="success"] { color: #286640; }
.form-status[data-state="error"] { color: #a12d2d; }

@media (max-width: 720px) {
  .site-header { position: absolute; display: grid; grid-template-columns: 1fr auto auto; gap: 14px; }
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 0;
    border: 0;
    background: none;
    color: inherit;
    font: 500 10px/1 var(--sans);
  }
  .menu-toggle i,
  .menu-toggle i::after { display: block; width: 13px; height: 1px; background: currentColor; transition: transform .2s ease; }
  .menu-toggle i { position: relative; }
  .menu-toggle i::after { content: ""; position: absolute; top: 4px; }
  .menu-toggle[aria-expanded="true"] i { transform: translateY(2px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i::after { top: 0; transform: rotate(90deg); }
  .site-header nav {
    display: none;
    position: absolute;
    top: 67px;
    left: 0;
    width: 100%;
    padding: 24px 18px 27px;
    border-top: 1px solid rgba(246,246,247,.14);
    background: rgba(10,16,21,.98);
    box-shadow: 0 18px 35px rgba(0,0,0,.18);
  }
  .site-header nav.is-open { display: flex; }
  .site-header nav a { font-size: 14px; }
  .hero { min-height: 820px; padding-bottom: 30px; }
  .hero-copy { max-width: none; padding-top: 8vh; }
  .hero h1 { font-size: clamp(51px, 14.4vw, 72px); }
  .hero-bottom { max-width: 320px; }
  .hero-aside { right: 18px; bottom: 74px; width: 46vw; }
  .hero-aside-date { margin-bottom: 16px; font-size: 10px; }
  .hero-aside p { font-size: clamp(22px, 6.5vw, 29px); }
  .hero-aside-line { margin: 22px 0 10px; }
  .hero-aside small { font-size: 9px; }
  .profile-entry,
  .profile-entry:nth-child(even) { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 38px 0; }
  .profile-entry:nth-child(even) .profile-portrait,
  .profile-entry:nth-child(even) .profile-story { grid-column: auto; }
  .profile-portrait { height: min(92vw, 430px); }
  .profile-story h3 { font-size: clamp(38px, 11vw, 54px); }
  .profile-details { margin-top: 26px; }
  .company-marks { grid-template-columns: 1fr 1fr; }
  .academy-team-grid { gap: 48px; }
  .academy-team-card > img { height: min(94vw, 420px); }
  .academy-team-card > div { padding-top: 18px; }
  .academy-team-card div > p:not(.profile-role) { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* Copy and portrait cleanup — less staged, more direct. */
.people-ledger { border-top: 0; }
.profile-entry,
.profile-entry:nth-child(even) {
  grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
  padding: clamp(34px, 4vw, 54px) 0;
}

.profile-portrait { height: 280px; }
.profile-story { padding-top: 8px; }
.profile-story h3 { font-size: clamp(36px, 4vw, 60px); }
.profile-details { margin-top: 24px; }

.company-marks {
  gap: 0 22px;
  border-top: 1px solid var(--line);
}

.company-mark {
  min-height: 86px;
  padding: 16px 0 13px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.client-marks {
  border: 0;
  border-top: 1px solid var(--line);
}

.client-mark {
  min-height: 60px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.academy-team-head { margin-bottom: 38px; }
.academy-team-card > img { width: min(100%, 280px); height: 330px; }
.academy-team-card > div { padding-top: 15px; }
.academy-team-card .profile-role { margin-top: 7px; color: rgba(10,16,21,.56); font-weight: 500; }

.event-intro {
  max-width: 690px;
  margin: 0 0 clamp(50px, 6vw, 76px);
  font: 500 clamp(32px, 4vw, 58px)/1.02 var(--serif);
  letter-spacing: -.045em;
}

@media (max-width: 720px) {
  .profile-entry,
  .profile-entry:nth-child(even) { grid-template-columns: minmax(0, 1fr); }
  .profile-portrait { width: min(62vw, 240px); height: min(74vw, 290px); }
  .profile-story { padding-top: 0; }
  .company-marks { gap: 0 14px; }
  .company-mark { min-height: 78px; }
  .academy-team-card > img { width: min(62vw, 240px); height: min(76vw, 295px); }
  .event-intro { margin-bottom: 44px; font-size: clamp(31px, 9vw, 44px); }
}

/* People composition — varied editorial portraits instead of a vertical CV list. */
.profile-ledger {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(42px, 6vw, 96px);
  align-items: start;
  border: 0;
}

.profile-entry,
.profile-entry:nth-child(even) {
  display: block;
  padding: 0;
  border: 0;
}

.profile-entry:nth-child(2) { margin-top: 86px; }
.profile-entry:nth-child(3) { margin-top: 28px; }

.profile-entry:nth-child(even) .profile-portrait,
.profile-entry:nth-child(even) .profile-story { grid-column: auto; grid-row: auto; }

.profile-portrait {
  width: 190px;
  height: 235px;
  margin: 0 0 32px 5%;
  border-radius: 50% 50% 18px 18px / 40% 40% 18px 18px;
}

.profile-entry:nth-child(2) .profile-portrait {
  width: 205px;
  height: 205px;
  margin-left: auto;
  margin-right: 8%;
  border-radius: 50%;
}

.profile-entry:nth-child(3) .profile-portrait {
  width: 178px;
  height: 230px;
  margin-left: 16%;
  border-radius: 90px;
}

.profile-story { padding: 0; }
.profile-label { margin-bottom: 15px; font-size: 11px; }
.profile-story h3 { font-size: clamp(34px, 3.4vw, 51px); line-height: .96; }
.profile-portrait-gowry + .profile-story h3 { font-size: clamp(30px, 2.9vw, 44px); }
.profile-role { max-width: 340px; line-height: 1.35; }
.profile-details { margin-top: 23px; }
.profile-details summary { padding: 13px 2px; }
.profile-detail-content > p:first-child { font-size: 14px; }
.company-marks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.company-mark { min-width: 0; }
.company-mark img { max-width: 112px; }
.client-marks { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.academy-team-head {
  grid-template-columns: .55fr 1.45fr;
  margin-top: clamp(105px, 12vw, 165px);
  margin-bottom: 52px;
}

.academy-team-grid {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(54px, 9vw, 145px);
  min-height: 265px;
}

.academy-team-card {
  width: 160px;
  text-align: center;
}

.academy-team-card:nth-child(2) { margin-top: 58px; }
.academy-team-card:nth-child(3) { margin-top: 16px; }

.academy-team-card > img {
  width: 148px;
  height: 176px;
  margin: 0 auto;
  border-radius: 50%;
  object-position: center 16%;
}

.academy-team-card > div { padding: 13px 0 0; }
.academy-team-card h3 {
  font: 500 21px/1.05 var(--serif);
  letter-spacing: -.025em;
}

.glimpse-facts { grid-template-columns: 1fr 1fr; }

@media (max-width: 720px) {
  .profile-ledger { grid-template-columns: 1fr; gap: 72px; }
  .profile-entry,
  .profile-entry:nth-child(even) { width: 88%; }
  .profile-entry:nth-child(2) { margin: 0 0 0 auto; }
  .profile-entry:nth-child(3) { margin: 0 auto 0 4%; }
  .profile-portrait { width: 154px; height: 194px; margin: 0 0 25px 7%; }
  .profile-entry:nth-child(2) .profile-portrait { width: 164px; height: 164px; margin-right: 4%; }
  .profile-entry:nth-child(3) .profile-portrait { width: 148px; height: 192px; }
  .profile-story h3 { font-size: clamp(34px, 10.5vw, 48px); }
  .profile-portrait-gowry + .profile-story h3 { font-size: clamp(29px, 8.7vw, 39px); }
  .academy-team-head { grid-template-columns: 1fr; margin-top: 96px; margin-bottom: 44px; }
  .academy-team-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 18px;
    min-height: 0;
  }
  .academy-team-card { width: auto; text-align: left; }
  .academy-team-card:nth-child(2) { margin-top: 46px; }
  .academy-team-card:nth-child(3) { margin: -8px 0 0 32%; }
  .academy-team-card > img { width: 118px; height: 142px; margin: 0; }
  .academy-team-card h3 { font-size: 19px; }
  .glimpse-facts { grid-template-columns: 1fr; }
}

/* Final people grid — consistent, larger and orderly. */
.profile-ledger {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 64px);
}

.profile-entry,
.profile-entry:nth-child(2),
.profile-entry:nth-child(3) {
  width: auto;
  margin: 0;
}

.profile-portrait,
.profile-entry:nth-child(2) .profile-portrait,
.profile-entry:nth-child(3) .profile-portrait {
  width: min(100%, 285px);
  height: 345px;
  margin: 0 0 30px;
  border-radius: 22px;
}

.profile-portrait img,
.profile-portrait-gowry img { object-position: center top; }
.profile-story h3,
.profile-portrait-gowry + .profile-story h3 { font-size: clamp(33px, 3.1vw, 47px); }

.academy-team-head {
  grid-template-columns: .65fr 1.35fr;
  margin-bottom: 48px;
}

.academy-team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 64px);
  min-height: 0;
}

.academy-team-card,
.academy-team-card:nth-child(2),
.academy-team-card:nth-child(3) {
  width: auto;
  margin: 0;
  text-align: left;
}

.academy-team-card > img {
  width: min(100%, 285px);
  height: 345px;
  margin: 0;
  border-radius: 22px;
  object-position: center top;
}

.academy-team-card > div { padding-top: 16px; }
.academy-team-card h3 { font-size: clamp(24px, 2.4vw, 34px); }

/* Event poster and the people building the Academy. */
.hero { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, .85fr); column-gap: clamp(32px, 5vw, 88px); align-content: center; min-height: 850px; padding-top: 150px; padding-bottom: 100px; }
.hero-top { grid-column: 1; align-self: end; }
.hero-copy { grid-column: 1; max-width: none; padding-top: 40px; }
.hero h1 { font-size: clamp(60px, 7.7vw, 120px); }
.hero-bottom { flex-wrap: wrap; gap: 28px; margin-top: 48px; }
.hero-bottom p { width: min(100%, 290px); }
.hero-flyer { grid-column: 2; grid-row: 1 / 3; align-self: center; justify-self: center; width: min(100%, 370px); color: inherit; text-decoration: none; }
.hero-flyer img { display: block; width: 100%; height: auto; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; box-shadow: 0 22px 60px rgba(0,0,0,.28); }
.hero-flyer > span { display: flex; justify-content: space-between; gap: 16px; margin-top: 15px; color: rgba(246,246,247,.65); font-size: 12px; }
.hero-flyer:hover > span { color: #fff; }
.hero-flyer:focus-visible { outline: 2px solid #4f7cfb; outline-offset: 8px; }
.hero-zug-scene { position: absolute; inset: 0; background-color: #080d12; background-image: linear-gradient(90deg, rgba(8,13,18,.93), rgba(8,13,18,.47) 48%, rgba(8,13,18,.32) 75%, rgba(8,13,18,.49)), linear-gradient(0deg, #080d12 0%, rgba(8,13,18,.16) 40%, rgba(8,13,18,.26) 65%, #080d12 100%), url('assets/zug-city.jpg'); background-position: center, center, center; background-size: auto, auto, 100% auto; background-repeat: no-repeat; pointer-events: none; }
.hero-transition { height: clamp(110px, 12vw, 170px); background: linear-gradient(180deg, #080d12 0%, #20262b 18%, #555a60 40%, #a0a3a7 64%, #dddde0 84%, var(--paper) 100%); }
.hero-transition + .premise { padding-top: 40px; }
.hero-top, .hero-flyer, .scroll-cue { position: relative; z-index: 1; }
.hero .scroll-cue { position: absolute; }
.hero-northstar { position: absolute; top: 94px; right: 5%; width: 112px; height: 146px; background: radial-gradient(ellipse at center, rgba(255,255,248,.95) 0%, rgba(232,242,255,.55) 2%, rgba(198,218,244,.15) 10%, rgba(178,203,236,.055) 27%, transparent 65%); }
.hero-northstar::before, .hero-northstar::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 50%; }
.hero-northstar::before { width: 2px; height: 118px; background: linear-gradient(transparent, rgba(229,241,255,.28) 20%, #fffef7 50%, rgba(229,241,255,.28) 80%, transparent); filter: blur(.65px); box-shadow: 0 0 9px rgba(205,226,255,.18); }
.hero-northstar::after { width: 71px; height: 1.5px; background: linear-gradient(90deg, transparent, rgba(229,241,255,.3) 20%, #fffef7 50%, rgba(229,241,255,.3) 80%, transparent); filter: blur(.55px); }
.hero-zug-label { position: absolute; bottom: 29px; right: 4%; color: rgba(255,255,255,.85); font: italic 400 28px/1 var(--serif); }
.journey-light-active .hero-northstar { visibility: hidden; }
.journey-light { position: fixed; top: 0; left: 0; width: 130px; height: 160px; z-index: 4; pointer-events: none; will-change: transform; transition: opacity .25s ease; background: radial-gradient(ellipse, rgba(235,245,255,.24), rgba(182,209,244,.07) 28%, transparent 66%); }
.journey-light[hidden] { display: none; }
.journey-light::before, .journey-light::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 50%; filter: blur(.6px); }
.journey-light::before { width: 2px; height: 122px; background: linear-gradient(transparent, rgba(202,225,255,.35) 28%, #fffef6 50%, rgba(202,225,255,.35) 72%, transparent); }
.journey-light::after { width: 76px; height: 1.5px; background: linear-gradient(90deg, transparent, rgba(202,225,255,.35) 28%, #fffef6 50%, rgba(202,225,255,.35) 72%, transparent); }
.journey-light-core { position: absolute; inset: 0; background: radial-gradient(ellipse, #fffef8 0%, rgba(230,241,255,.8) 1.5%, rgba(206,227,255,.15) 7%, transparent 24%); }
.journey-light.on-paper { background: radial-gradient(ellipse, rgba(79,124,251,.22), rgba(79,124,251,.075) 28%, transparent 66%); }
.journey-light.on-paper::before { background: linear-gradient(transparent, rgba(63,102,190,.28) 28%, #fafcff 50%, rgba(63,102,190,.28) 72%, transparent); }
.journey-light.on-paper::after { background: linear-gradient(90deg, transparent, rgba(63,102,190,.28) 28%, #fafcff 50%, rgba(63,102,190,.28) 72%, transparent); }
@media (prefers-reduced-motion: reduce) { .journey-light { display: none; } .journey-light-active .hero-northstar { visibility: visible; } }

/* Experimental night edition. Original files are archived in backups/. */
body.spotlight-edition { --paper: #0b1017; --ink: #f1f3f7; --line: rgba(214,226,246,.22); background: #080b10; color: #eef1f5; }
.spotlight-edition .hero h1, .spotlight-edition .hero h1 i { color: #fff !important; }
.spotlight-edition.journey-light-active .light-chapter { opacity: 0 !important; pointer-events: none; transition: opacity .5s ease !important; }
.spotlight-edition.journey-light-active .light-chapter.chapter-open { opacity: 1 !important; pointer-events: auto; }
.spotlight-edition.journey-light-active .light-chapter:focus-within { opacity: 1 !important; pointer-events: auto; }
.spotlight-edition .premise, .spotlight-edition .people, .spotlight-edition .event, .spotlight-edition .glimpses-textual { background: #0b1017 !important; color: #eef1f5; }
.spotlight-edition .hero-transition { background: linear-gradient(#080d12, #0b1017); height: 80px; }
.spotlight-edition main :is(p, h2, h3, dt, dd, label, summary, .section-kicker, .profile-label, .academy-team-head, .academy-team-topics, .experience-caption) { color: #d3dae5 !important; }
.spotlight-edition main :is(h2, h3) { color: #f4f5f7 !important; }
.spotlight-edition .profile-role { color: #94b4ff !important; }
.spotlight-edition .academy-team-caption p { color: #b0bed2 !important; }
.spotlight-edition .principles, .spotlight-edition .principle, .spotlight-edition .profile-details, .spotlight-edition .event-facts > div { border-color: rgba(211,224,246,.2); }
.spotlight-edition .profile-detail-content { background: #101a28; padding: 22px 16px; border-radius: 12px; border: 1px solid #293a51; }
.spotlight-edition .profile-ledger { overflow-anchor: none; align-items: start; }
.spotlight-edition .profile-detail-content { transition: background .35s ease, box-shadow .35s ease, border-color .35s ease; }
.spotlight-edition .is-illuminated .profile-detail-content {
  background: #18283e;
  border-color: #789bc8;
  box-shadow: 0 0 48px rgba(128,181,255,.23), inset 0 0 65px rgba(151,198,255,.08);
}
.spotlight-edition .company-marks, .spotlight-edition .client-marks { gap: 8px; border: 0; }
.spotlight-edition .company-mark, .spotlight-edition .client-mark { background: #192536; border: 1px solid #2b3b50; border-radius: 8px; padding: 12px; }
.spotlight-edition .company-mark small, .spotlight-edition .company-name-only { color: #d3ddeb; }
.spotlight-edition :is(.company-mark, .client-mark) img { filter: grayscale(1) invert(1) brightness(1.25); mix-blend-mode: screen; }
.spotlight-edition .company-mark img[src*="brandaktuell"], .spotlight-edition .company-mark img[src*="sysfive"] { filter: grayscale(1) brightness(1.25); }
.spotlight-edition .event-form { background: #111c2b; border: 1px solid #344b6c; border-radius: 18px; padding: clamp(22px, 3vw, 44px); transition: box-shadow 1s, border-color 1s; }
.spotlight-edition .event-form input { color: #fff; border-color: #65748a; }
.spotlight-edition .event-form input::placeholder { color: #9facbf; }
.spotlight-edition .button-light, .spotlight-edition .button-dark { background: #eef3ff; color: #0a1015; border-color: #eef3ff; }
.spotlight-edition .glimpse-link { color: #e5edff; }
.spotlight-veil { position: fixed; inset: 0; z-index: 21; pointer-events: none; background: radial-gradient(ellipse var(--light-radius, 590px) calc(var(--light-radius, 590px) * .85) at var(--light-x, 80%) var(--light-y, 30%), rgba(145,190,255,.12) 0%, rgba(116,170,255,.055) 25%, transparent 46%, rgba(2,4,8,.17) 75%, rgba(2,4,8,.34) 100%); }
.spotlight-veil[hidden] { display: none; }
.spotlight-edition .journey-light { z-index: 22; opacity: 1; filter: drop-shadow(0 0 14px rgba(111,174,255,.8)); transition: filter .4s; }
.spotlight-edition .journey-light.is-resting { filter: drop-shadow(0 0 9px #bddcff) drop-shadow(0 0 28px rgba(87,155,255,.85)); }
.spotlight-finale .event-form { background: radial-gradient(ellipse at 50% 0%, #253f61, #142238 58%, #111c2b); border-color: #a8ceff; box-shadow: 0 0 0 1px rgba(174,210,255,.25), 0 0 65px rgba(88,146,242,.34), 0 0 160px rgba(63,114,224,.2), inset 0 1px 24px rgba(153,198,255,.09); }
.spotlight-finale .event-form button { background: #fff; box-shadow: 0 0 28px rgba(160,200,255,.3); }
.spotlight-edition :is(.principle, .profile-entry, .academy-team-feature, .glimpses-textual) { transition: filter .5s ease, background-color .5s ease; }
.spotlight-edition .principle.is-illuminated { background: transparent; }
.spotlight-edition :is(.profile-entry, .academy-team-feature) { position: relative; isolation: isolate; }
.spotlight-edition :is(.profile-entry, .academy-team-feature)::before { content: ''; position: absolute; inset: -22px; z-index: -1; pointer-events: none; border-radius: 24px; opacity: 0; background: radial-gradient(ellipse at var(--station-light-x, 50%) var(--station-light-y, 30%), rgba(103,159,244,.2), rgba(77,128,214,.09) 48%, transparent 80%); transition: opacity .4s ease; }
.spotlight-edition :is(.profile-entry, .academy-team-feature).is-illuminated::before { opacity: 1; }
.spotlight-edition .profile-portrait, .spotlight-edition .academy-group-photo { transition: box-shadow .4s ease, filter .4s ease; }
.spotlight-edition .is-illuminated :is(.profile-portrait, .academy-group-photo) { filter: brightness(1.14); box-shadow: 0 0 32px rgba(136,187,255,.3), 0 0 80px rgba(71,129,231,.15); }
.spotlight-edition .is-illuminated :is(h2, h3) { text-shadow: 0 0 26px rgba(132,178,255,.24); }
.spotlight-edition .glimpses-textual.is-illuminated { box-shadow: inset 0 0 110px rgba(95,147,235,.06); }
.spotlight-finale .journey-light-core { animation: beacon-breathe 3.5s ease-in-out infinite; }
.spotlight-edition:has(:focus-visible) .spotlight-veil, .spotlight-edition:has(.event-form:focus-within) .spotlight-veil { opacity: 0 !important; }
.spotlight-edition:has(#main-navigation.is-open) .spotlight-veil { opacity: 0 !important; }
.spotlight-edition footer { background: #080b10 !important; color: #d3dae5; }
.spotlight-edition footer :is(a, p, .brand) { color: #d3dae5 !important; }
@keyframes beacon-breathe { 50% { opacity: .65; transform: scale(1.35); } }
html:has(body.spotlight-edition) { overflow-x: clip; }
body.spotlight-edition { overflow-x: clip; }
.scroll-supernova { position: fixed; left: 0; top: 0; width: 400px; height: 400px; z-index: 23; pointer-events: none; will-change: transform; }
.scroll-supernova[hidden] { display: none; }
.nova-aura, .nova-flash, .nova-ring, .nova-rays { position: absolute; inset: 0; border-radius: 50%; }
.nova-aura { inset: 20% -30% -100%; background: radial-gradient(ellipse at 50% 20%, rgba(194,224,255,.4), rgba(72,135,242,.16) 28%, transparent 68%); opacity: var(--nova-aura, 0); }
.nova-flash { background: radial-gradient(ellipse, #fff 0%, #edf7ff 1%, rgba(170,215,255,.5) 5%, transparent 42%); opacity: var(--nova-flash, 0); transform: translateY(calc(var(--nova-burst, 0) * 120px)) scale(.55, 1.2); }
.nova-ring { border: 1px solid rgba(196,228,255,.9); box-shadow: 0 0 18px rgba(104,174,255,.7), inset 0 0 18px rgba(104,174,255,.35); opacity: var(--nova-ring-alpha, 0); transform: scale(calc(.03 + var(--nova-burst, 0) * 2.6)); }
.nova-ring-second { transform: scale(calc(.02 + var(--nova-burst, 0) * 1.65)); border-width: 2px; filter: blur(2px); }
.nova-rays { opacity: var(--nova-ring-alpha, 0); }
.nova-rays i { position: absolute; top: 50%; left: 50%; width: 2px; height: var(--reach); transform: translate(calc(var(--nova-burst, 0) * var(--drift)), calc(var(--nova-burst, 0) * var(--fall))); background: linear-gradient(transparent, rgba(154,202,255,.3) 40%, #edf7ff 94%, transparent); filter: drop-shadow(0 0 4px rgba(144,200,255,.8)); }
.event-arrival-mark { width: 112px; height: 144px; margin: 0 auto 48px; opacity: var(--mark-opacity, 1); }
.event-arrival-mark img { display: block; width: 100%; height: 100%; filter: brightness(0) invert(1); }
.meteor-storm { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 23; contain: strict; }
.meteor-storm[hidden] { display: none; }
.meteor-storm i { position: absolute; left: 0; top: 0; transform-origin: 50% 100%; border-radius: 50%; background: linear-gradient(transparent, rgba(240,247,255,.3) 18%, rgba(255,255,255,.9) 75%, #fff 98%, transparent); box-shadow: 0 3px 17px rgba(245,250,255,.65); will-change: transform; }
.meteor-storm i::after { content: ''; position: absolute; bottom: 1%; left: 50%; width: 7px; height: 10px; transform: translateX(-50%); border-radius: 50%; background: #fff; box-shadow: 0 0 13px #fff, 0 0 30px #e7f2ff; }
.spotlight-finale .event-form button { position: relative; z-index: 1; outline: 1px solid rgba(225,240,255,.9); outline-offset: 5px; }
.spotlight-edition .event-form button::after { content: ''; position: absolute; inset: -14px; border-radius: 10px; pointer-events: none; opacity: var(--meteor-sweep, 0); box-shadow: 0 0 65px rgba(154,204,255,.9), inset 0 0 22px rgba(216,237,255,.8); }
.spotlight-finale .event-form button { box-shadow: 0 0 22px rgba(215,234,255,.65), 0 0 65px rgba(104,170,255,.65), 0 0 120px rgba(83,148,255,.32); }
.nova-emblem { position: absolute; top: 50%; left: 50%; width: 38px; height: 49px; object-fit: contain; filter: brightness(0) invert(1) drop-shadow(0 0 16px #93c8ff); opacity: var(--nova-emblem, 0); transform: translate(-50%,-50%) scale(calc(.65 + var(--nova-emblem, 0) * .35)); }
.spotlight-finale .event-form { box-shadow: 0 0 0 1px rgba(174,210,255,.35), 0 0 70px rgba(88,146,242,.4), 0 0 170px rgba(63,114,224,.24), inset 0 0 80px rgba(123,183,255,calc(var(--arrival-glow, 0) * .16)); }
@media (prefers-reduced-motion: reduce) { .spotlight-veil { display: none; } .spotlight-finale .journey-light-core { animation: none; } }
.academy-group-photo { margin: 0; overflow: hidden; border-radius: 20px; }
.academy-group-photo img { display: block; width: 100%; height: auto; }
.academy-team-feature { width: min(100%, 860px); margin: 0 auto; }
.academy-team-caption { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; text-align: center; padding: 0 12px; }
.academy-team-caption > div::before { content: ""; display: block; width: 1px; height: 28px; margin: 0 auto 16px; background: rgba(10,16,21,.25); }
.academy-team-caption h3 { margin: 0; font: 500 clamp(21px, 2.2vw, 30px)/1.15 var(--serif); letter-spacing: -.025em; }
.academy-team-caption p { max-width: 210px; margin: 10px auto 0; color: rgba(10,16,21,.55); font: 400 11px/1.7 var(--sans); }
.academy-team-topics { display: block; margin: 0 0 12px; color: rgba(10,16,21,.55); font: 400 11px/1.6 var(--sans); }

/* Mobile reading mode. Desktop chapter choreography remains unchanged. */
@media (max-width: 720px) {
  .spotlight-edition.journey-light-active .light-chapter {
    opacity: 1 !important;
    pointer-events: auto;
  }
  .spotlight-veil {
    background: radial-gradient(circle 190px at var(--light-x, 90%) var(--light-y, 30%), rgba(145,190,255,.08), transparent 80%);
  }
  .spotlight-edition .journey-light,
  .spotlight-edition .journey-light.is-resting { filter: drop-shadow(0 0 9px rgba(111,174,255,.45)); }
  .profile-details summary { min-height: 48px; }
  .event-form input:not([type="checkbox"]) { font-size: 16px; min-height: 48px; }
  .event-form button { min-height: 48px; width: 100%; justify-content: space-between; }
  .site-header .menu-toggle { color: #fff; min-height: 44px; }
  .site-header nav a { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (max-width: 720px) {
  .hero { display: block; min-height: 0; padding: 135px 18px 85px; }
  .hero-copy { padding-top: 30px; }
  .hero h1 { font-size: clamp(51px, 14.4vw, 72px); }
  .hero-bottom { margin-top: 34px; }
  .hero-flyer { display: block; width: min(78%, 330px); margin: 50px auto 12px; }
  .hero-zug-scene { background-size: auto, auto, auto 540px; background-position: center, center, center 90px; }
  .hero-northstar { top: 85px; right: 1%; width: 82px; height: 110px; }
  .hero-northstar::before { height: 88px; }
  .hero-northstar::after { width: 52px; }
  .academy-group-photo { margin-bottom: 0; border-radius: 14px; }
  .academy-team-caption { gap: 12px; padding: 0; }
  .academy-team-caption > div::before { height: 20px; margin-bottom: 12px; }
  .academy-team-caption h3 { font-size: clamp(18px, 4.8vw, 25px); }
  .academy-team-caption h3 span { display: block; font-size: .76em; margin-top: 3px; }
  .academy-team-caption p { font-size: 10px; line-height: 1.65; }
  .academy-team-topics { font-size: 11px; }
}

@media (max-width: 720px) {
  .profile-ledger { grid-template-columns: 1fr; gap: 64px; }
  .profile-entry,
  .profile-entry:nth-child(2),
  .profile-entry:nth-child(3) { width: 100%; margin: 0; }
  .profile-portrait,
  .profile-entry:nth-child(2) .profile-portrait,
  .profile-entry:nth-child(3) .profile-portrait {
    width: min(78vw, 300px);
    height: min(94vw, 360px);
    margin: 0 0 26px;
    border-radius: 18px;
  }
  .profile-story h3,
  .profile-portrait-gowry + .profile-story h3 { font-size: clamp(34px, 10vw, 46px); }
  .academy-team-head { grid-template-columns: 1fr; }
  .academy-team-grid { grid-template-columns: 1fr; gap: 46px; }
  .academy-team-card,
  .academy-team-card:nth-child(2),
  .academy-team-card:nth-child(3) { width: 100%; margin: 0; }
  .academy-team-card > img {
    width: min(78vw, 300px);
    height: min(94vw, 360px);
    border-radius: 18px;
  }
}
