:root {
  --ink: #071019;
  --ink-soft: #0d1b27;
  --paper: #f5f7f8;
  --white: #ffffff;
  --muted: #5d6872;
  --line: #dce2e6;
  --gold: #d8ad4a;
  --gold-bright: #f2c65d;
  --cyan: #20bad0;
  --green: #57b883;
  --danger: #c34c5b;
  --content: 1200px;
  --pad: clamp(24px, 5vw, 72px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  color: var(--white);
  background: var(--ink);
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

.offline-bar {
  position: relative;
  z-index: 80;
  min-height: 30px;
  padding: 6px 20px;
  color: #18202a;
  background: var(--gold-bright);
  text-align: center;
  font-size: 12px;
  font-weight: 650;
}

.site-header {
  position: sticky;
  z-index: 70;
  top: 0;
  min-height: 58px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: var(--white);
  background: rgba(7,16,25,.78);
  backdrop-filter: saturate(160%) blur(18px);
  -webkit-backdrop-filter: saturate(160%) blur(18px);
}
.nav-shell {
  width: min(calc(100% - 32px), var(--content));
  min-height: 58px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-size: 16px;
  font-weight: 680;
  white-space: nowrap;
}
.brand-mark {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(216,173,74,.7);
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 800;
}
.nav-links { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); }
.nav-links a, .nav-login {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 13px;
  transition: color 160ms ease;
}
.nav-links a:hover, .nav-login:hover { color: var(--white); }
.nav-actions { display: flex; align-items: center; gap: 18px; }

.button {
  min-height: 46px;
  padding: 11px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--gold);
  border-radius: 6px;
  color: #17150f;
  background: var(--gold-bright);
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.button:hover { background: #ffdb7d; border-color: #ffdb7d; transform: translateY(-1px); }
.button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, button:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 3px;
}
.button:disabled { cursor: wait; opacity: .68; transform: none; }
.button-small { min-height: 34px; padding: 7px 14px; font-size: 12px; }
.button-wide { width: 100%; margin-top: 10px; }

.hero {
  position: relative;
  min-height: min(760px, calc(100svh - 88px));
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  color: var(--white);
  background: var(--ink);
}
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,10,15,.94) 0%, rgba(4,10,15,.78) 35%, rgba(4,10,15,.16) 70%),
    linear-gradient(0deg, rgba(4,10,15,.88) 0%, transparent 45%);
}
.hero-content {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 2 * var(--pad)), var(--content));
  margin: 0 auto;
  padding: clamp(82px, 10vh, 110px) 0 185px;
}
.eyebrow {
  margin: 0 0 16px;
  color: var(--gold-bright);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.eyebrow-dark { color: #82651e; }
.hero h1 {
  max-width: 1120px;
  margin: 0;
  font-size: 88px;
  font-weight: 720;
  line-height: .94;
  letter-spacing: 0;
}
.hero-lead { max-width: 670px; margin: 30px 0 0; color: rgba(255,255,255,.86); font-size: 26px; line-height: 1.4; }
.hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 26px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: #007a91; text-decoration: none; font-weight: 650; }
.text-link:hover { text-decoration: underline; }
.text-link-light { color: #6ee6f5; }
.hero-proof {
  position: absolute;
  z-index: 3;
  right: max(var(--pad), calc((100% - var(--content)) / 2));
  bottom: 46px;
  left: max(var(--pad), calc((100% - var(--content)) / 2));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.3);
}
.hero-proof div { padding: 22px 24px 0 0; display: grid; gap: 2px; }
.hero-proof strong { font-size: 19px; }
.hero-proof span { color: rgba(255,255,255,.66); font-size: 13px; }

.section-pad { padding: clamp(90px, 12vw, 170px) var(--pad); }
.narrow { max-width: 850px; margin: 0 auto; }
.center { text-align: center; }
h2 { margin: 0; font-size: 76px; line-height: 1.02; font-weight: 720; }
.section-lead { margin: 26px auto 0; color: var(--muted); font-size: 25px; line-height: 1.48; }

.intro { background: var(--white); }
.principles {
  width: min(100%, var(--content));
  margin: clamp(60px, 8vw, 100px) auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.principles a { min-height: 190px; padding: 30px 26px; display: flex; flex-direction: column; text-decoration: none; border-right: 1px solid var(--line); }
.principles a:last-child { border-right: 0; }
.principles span { color: #8b949c; font-size: 12px; font-weight: 700; }
.principles strong { margin-top: auto; font-size: 24px; }
.principles small { margin-top: 5px; color: var(--muted); font-size: 14px; }
.principles a:hover strong { color: #087c8c; }

.feature { min-height: 840px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); align-items: center; overflow: hidden; }
.feature-light { padding: clamp(85px, 10vw, 150px) 0 clamp(85px, 10vw, 150px) max(var(--pad), calc((100% - var(--content)) / 2)); background: #eef2f4; }
.feature-copy { max-width: 560px; padding: var(--pad); }
.feature-copy h2 { font-size: 70px; }
.feature-copy > p:not(.eyebrow) { margin: 26px 0 0; color: var(--muted); font-size: 20px; }
.clean-list { margin: 42px 0 0; padding: 0; list-style: none; border-top: 1px solid #cfd7dc; }
.clean-list li { padding: 20px 0; display: grid; gap: 3px; border-bottom: 1px solid #cfd7dc; }
.clean-list strong { font-size: 16px; }
.clean-list span { color: var(--muted); font-size: 14px; }

.academy-stage { width: min(780px, 94%); margin-left: auto; overflow: hidden; border: 1px solid #b9c2c8; border-right: 0; border-radius: 8px 0 0 8px; background: var(--white); box-shadow: 0 30px 80px rgba(20,36,48,.18); }
.device-top, .terminal-toolbar { height: 38px; padding: 0 14px; display: flex; align-items: center; gap: 7px; color: #65717a; background: #e3e8eb; font-size: 11px; }
.device-top span, .terminal-toolbar span { width: 8px; height: 8px; border-radius: 50%; background: #aab3b9; }
.device-top b, .terminal-toolbar b { margin-left: 8px; font-weight: 620; }
.academy-body { min-height: 560px; display: grid; grid-template-columns: 72px 1fr; }
.academy-body aside { padding: 28px 0; display: flex; flex-direction: column; align-items: center; gap: 22px; background: var(--ink); }
.academy-logo { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--gold); color: var(--gold-bright); font-size: 12px; font-style: normal; }
.academy-body aside i { width: 24px; height: 4px; background: #41505d; }
.academy-body aside i.active { background: var(--cyan); }
.academy-content { padding: 54px clamp(30px, 6vw, 70px); }
.academy-content small { color: #77838c; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.academy-content h3 { margin: 8px 0 24px; font-size: 48px; line-height: 1.05; }
.progress { height: 5px; overflow: hidden; background: #e1e6e9; }
.progress span { display: block; width: 50%; height: 100%; background: var(--cyan); }
.academy-content > p { margin: 8px 0 28px; color: var(--muted); font-size: 13px; }
.lesson-list { border-top: 1px solid var(--line); }
.lesson-list div { min-height: 64px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.lesson-list span { color: #89949c; font-size: 11px; }
.lesson-list b { font-size: 14px; }
.lesson-list em { color: var(--muted); font-size: 11px; font-style: normal; }
.lesson-list .current { margin: 0 -18px; padding: 0 18px; border-left: 3px solid var(--gold); background: #f6f1e4; }

.feature-dark { color: var(--white); background: var(--ink); }
.feature-dark .feature-copy > p:not(.eyebrow) { color: #aebbc5; }
.research-visual { min-height: 840px; padding: clamp(70px, 9vw, 130px) clamp(28px, 6vw, 90px); display: grid; place-items: center; background: #111f2b; }
.summary-window { width: min(100%, 580px); padding: clamp(28px, 4vw, 50px); color: var(--ink); background: #fbfbf8; box-shadow: 0 28px 80px rgba(0,0,0,.3); }
.summary-head { padding-bottom: 15px; display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #d9dedf; color: #66717a; font-size: 10px; }
.summary-head b { color: #7a5b10; }
.summary-window h3 { margin: 30px 0 10px; font-size: 48px; line-height: 1.03; }
.summary-intro { margin: 0 0 28px; color: var(--muted); }
.summary-item { padding: 20px 0; display: grid; grid-template-columns: 34px 1fr; gap: 14px; border-top: 1px solid #d9dedf; }
.summary-item > span { color: #9b7a28; font-size: 11px; font-weight: 760; }
.summary-item strong { font-size: 15px; }
.summary-item p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.claim-line { margin-top: 42px; padding-top: 22px; display: grid; gap: 4px; border-top: 1px solid rgba(255,255,255,.18); }
.claim-line strong { color: var(--gold-bright); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.claim-line span { color: #d9e1e7; font-size: 16px; }

.sessions { background: var(--white); }
.section-heading { max-width: 870px; margin: 0 auto 70px; text-align: center; }
.section-heading > p:not(.eyebrow) { margin: 25px auto 0; color: var(--muted); font-size: 21px; }
.session-board { width: min(100%, 1100px); min-height: 430px; margin: 0 auto; display: grid; grid-template-columns: .8fr 1.4fr; grid-template-rows: 1fr auto; border: 1px solid #ced6db; background: #f2f5f6; }
.session-time { padding: 50px; color: var(--white); background: var(--ink-soft); }
.session-time small { color: #aebac3; font-size: 11px; letter-spacing: .13em; }
.live-dot { width: 8px; height: 8px; margin-right: 8px; display: inline-block; border-radius: 50%; background: #46d399; box-shadow: 0 0 0 5px rgba(70,211,153,.12); }
.session-time strong { margin-top: 58px; display: block; font-size: 94px; line-height: 1; }
.session-time p { margin: 8px 0 0; color: var(--gold-bright); font-size: 18px; }
.session-agenda { padding: 30px 45px; }
.session-agenda > div { min-height: 90px; display: grid; grid-template-columns: 80px 1fr; align-items: center; border-bottom: 1px solid #ced6db; }
.session-agenda span { color: #7f8b94; font-size: 13px; }
.session-agenda p { margin: 0; display: grid; color: var(--muted); font-size: 14px; }
.session-agenda b { color: var(--ink); font-size: 16px; }
.session-people { grid-column: 1 / -1; min-height: 82px; padding: 12px 20px; display: flex; align-items: center; gap: 16px; border-top: 1px solid #ced6db; background: var(--white); }
.session-people img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.session-people div { display: grid; }
.session-people strong { font-size: 14px; }
.session-people span { color: var(--muted); font-size: 12px; }

.terminal { min-height: 940px; padding: clamp(100px, 12vw, 160px) 0 0 max(var(--pad), calc((100% - var(--content)) / 2)); overflow: hidden; color: var(--white); background: #050a0e; }
.terminal-copy { max-width: 780px; padding-right: var(--pad); }
.terminal-copy h2 { max-width: 760px; }
.terminal-copy > p:not(.eyebrow) { max-width: 670px; margin: 24px 0; color: #a9b6bf; font-size: 20px; }
.terminal-points { margin: 35px 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 30px; list-style: none; }
.terminal-points li { padding-left: 18px; position: relative; color: #d6dde2; font-size: 14px; }
.terminal-points li::before { content: ""; position: absolute; top: .7em; left: 0; width: 6px; height: 6px; background: var(--cyan); }
.terminal-stage { width: min(1280px, 96%); margin: 80px 0 0 auto; padding: 0 0 0 25px; }
.terminal-frame { overflow: hidden; border: 1px solid #33424e; border-right: 0; border-radius: 8px 0 0 0; background: #101b25; box-shadow: 0 -10px 90px rgba(32,186,208,.13); }
.terminal-toolbar { color: #a4b1bb; background: #14222e; }
.terminal-frame img { width: 100%; aspect-ratio: 1920 / 929; object-fit: cover; object-position: top left; }

.meetings { padding: clamp(90px, 12vw, 160px) var(--pad); background: #edf1f2; }
.meeting-copy { max-width: 900px; margin: 0 auto 70px; text-align: center; }
.meeting-copy h2 { font-size: 68px; }
.meeting-copy > p:not(.eyebrow) { max-width: 760px; margin: 24px auto; color: var(--muted); font-size: 19px; }
.meeting-copy .privacy-note { width: fit-content; max-width: 720px; margin: 24px auto 0; padding: 10px 14px; display: flex; align-items: center; gap: 10px; color: #31434d; border: 1px solid #c3d2d8; background: rgba(255,255,255,.58); font-size: 13px; font-weight: 620; }
.privacy-note span { width: 9px; height: 9px; flex: 0 0 9px; background: var(--green); }
.meeting-copy blockquote { max-width: 690px; margin: 38px auto 0; padding: 22px 0 0; border-top: 1px solid #cbd3d7; color: #755a19; font-size: 23px; font-weight: 650; }
.meeting-gallery { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.meeting-media { margin: 0; overflow: hidden; color: var(--white); background: var(--ink); }
.meeting-media-wide { grid-column: 1 / -1; }
.meeting-media img, .meeting-media video { width: 100%; height: 390px; display: block; object-fit: cover; background: #050a0e; }
.meeting-media-wide img, .meeting-media-wide video { height: 580px; }
.meeting-media figcaption { min-height: 78px; padding: 18px 22px; display: grid; grid-template-columns: 155px 1fr; align-items: center; gap: 20px; }
.meeting-media figcaption span { color: var(--gold-bright); font-size: 11px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.meeting-media figcaption strong { font-size: 15px; font-weight: 600; }

.journey { color: var(--white); background: var(--ink); }
.journey .eyebrow-dark { color: var(--gold-bright); }
.journey .section-lead { color: #aebbc5; }
.journey-row { width: min(100%, var(--content)); margin: 75px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.journey-row article { min-height: 290px; padding: 34px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.18); }
.journey-row article:last-child { border-right: 0; }
.journey-row > article > span { color: var(--gold-bright); font-size: 12px; font-weight: 760; letter-spacing: .12em; }
.journey-row h3 { margin: auto 0 8px; font-size: 27px; }
.journey-row p { margin: 0; color: #aebbc5; font-size: 15px; }
.journey-row small { margin-top: 25px; color: #6ee6f5; }

.faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px, 8vw, 110px); background: var(--white); }
.faq-intro { max-width: 470px; }
.faq-intro h2 { font-size: 64px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-size: 18px; font-weight: 650; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { position: relative; width: 22px; height: 22px; flex: 0 0 22px; }
.faq-list summary span::before, .faq-list summary span::after { content: ""; position: absolute; top: 10px; left: 3px; width: 16px; height: 1px; background: var(--ink); }
.faq-list summary span::after { transform: rotate(90deg); transition: transform 160ms ease; }
.faq-list details[open] summary span::after { transform: rotate(0); }
.faq-list details p { max-width: 700px; margin: -6px 0 30px; color: var(--muted); }

.signup { min-height: 850px; padding: clamp(85px, 11vw, 155px) max(var(--pad), calc((100% - var(--content)) / 2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 8vw, 110px); color: var(--white); background: #0b1823; }
.signup-copy { max-width: 520px; }
.signup-copy h2 { font-size: 78px; }
.signup-copy > p:not(.eyebrow) { margin: 24px 0; color: #aab7c1; font-size: 20px; }
.signup-flow { margin-top: 45px; border-top: 1px solid rgba(255,255,255,.18); }
.signup-flow > div { padding: 18px 0; display: grid; grid-template-columns: 36px 1fr; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.18); }
.signup-flow span { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid #667683; border-radius: 50%; color: var(--gold-bright); font-size: 11px; }
.signup-flow p { margin: 0; display: grid; color: #9cabb6; font-size: 13px; }
.signup-flow strong { color: var(--white); font-size: 15px; }
.signup-form-wrap { align-self: center; padding: clamp(28px, 5vw, 56px); color: var(--ink); background: var(--white); }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.signup-form-wrap label:not(.check-row) { margin-bottom: 20px; display: grid; gap: 8px; color: #424d55; font-size: 13px; font-weight: 650; }
.signup-form-wrap label small { color: #79848c; font-weight: 500; }
.signup-form-wrap input[type="text"], .signup-form-wrap input[type="email"], .signup-form-wrap input[type="tel"] { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #cbd3d8; border-radius: 4px; color: var(--ink); background: #fafbfb; }
.signup-form-wrap input::placeholder { color: #919aa1; }
.privacy-copy { margin: 10px 0 18px; color: #69757d; font-size: 12px; }
.privacy-copy a { color: #087a8c; }
.check-row { margin: 13px 0; display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: #56626a; font-size: 12px; cursor: pointer; }
.check-row input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: #087f93; }
.check-row a { color: #087a8c; }
.form-note { margin: 14px 0 0; color: #7a858c; text-align: center; font-size: 11px; }
.form-status { min-height: 0; margin-top: 14px; color: #236647; font-size: 13px; font-weight: 650; }
.form-status.is-error { color: var(--danger); }

footer { padding: 48px max(var(--pad), calc((100% - var(--content)) / 2)) 30px; color: #9ba8b1; background: #05090d; }
.footer-main { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; }
.brand-footer { color: var(--white); }
.footer-main > p { grid-column: 1; margin: 4px 0 0; font-size: 13px; }
.footer-main nav { grid-row: 1 / 3; grid-column: 2; display: flex; flex-wrap: wrap; gap: 24px; }
.footer-main nav a { color: #c3ccd2; text-decoration: none; font-size: 12px; }
.footer-risk { margin: 35px 0 0; padding-top: 22px; border-top: 1px solid #1d2932; font-size: 10px; }

[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 650ms ease, transform 650ms ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .hero h1 { font-size: 72px; }
  .hero-lead { font-size: 22px; }
  h2 { font-size: 62px; }
  .feature-copy h2, .meeting-copy h2, .faq-intro h2 { font-size: 58px; }
  .signup-copy h2 { font-size: 64px; }
  .nav-links { display: none; }
  .feature { grid-template-columns: 1fr; }
  .feature-light { padding-left: var(--pad); }
  .feature-copy { max-width: 740px; padding: 80px 0 55px; }
  .academy-stage { margin-left: var(--pad); width: calc(100% - var(--pad)); }
  .feature-dark .research-visual { order: 2; min-height: 700px; }
  .feature-dark .feature-copy { order: 1; padding: 90px var(--pad) 50px; }
  .meeting-copy { max-width: 800px; }
  .faq, .signup { grid-template-columns: 1fr; }
  .faq-intro, .signup-copy { max-width: 760px; }
}

@media (max-width: 720px) {
  body { font-size: 16px; }
  .offline-bar { font-size: 10px; }
  .nav-shell { width: calc(100% - 24px); }
  .nav-login { display: none; }
  .hero { min-height: 760px; }
  .hero-image { object-position: 57% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(4,10,15,.96) 0%, rgba(4,10,15,.75) 62%, rgba(4,10,15,.2) 100%); }
  .hero-content { width: calc(100% - 40px); padding: 82px 0 230px; }
  .hero h1 { font-size: 52px; }
  .hero-lead { font-size: 18px; }
  h2 { font-size: 44px; }
  .section-lead { font-size: 19px; }
  .feature-copy h2, .meeting-copy h2, .faq-intro h2 { font-size: 42px; }
  .academy-content h3, .summary-window h3 { font-size: 32px; }
  .session-time strong { font-size: 62px; }
  .signup-copy h2 { font-size: 48px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero-proof { right: 20px; bottom: 28px; left: 20px; grid-template-columns: 1fr; }
  .hero-proof div { min-height: 51px; padding: 10px 0; grid-template-columns: 110px 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.16); }
  .hero-proof div:last-child { border-bottom: 0; }
  .hero-proof strong { font-size: 15px; }
  .principles, .journey-row { grid-template-columns: 1fr; }
  .principles a, .journey-row article { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--line); }
  .principles a:last-child, .journey-row article:last-child { border-bottom: 0; }
  .journey-row article { border-bottom-color: rgba(255,255,255,.18); }
  .feature-copy { padding-top: 70px; }
  .academy-stage { margin-left: 0; width: 100%; border-radius: 0; }
  .academy-body { grid-template-columns: 46px 1fr; min-height: 500px; }
  .academy-body aside i { width: 18px; }
  .academy-logo { width: 28px; height: 28px; }
  .academy-content { padding: 38px 20px; }
  .lesson-list div { grid-template-columns: 30px 1fr; }
  .lesson-list em { display: none; }
  .research-visual { padding: 42px 18px; min-height: 640px; }
  .summary-window { padding: 28px 22px; }
  .summary-head { align-items: flex-start; flex-direction: column; }
  .session-board { grid-template-columns: 1fr; }
  .session-time { padding: 34px; }
  .session-time strong { margin-top: 30px; }
  .session-agenda { padding: 18px 25px; }
  .session-agenda > div { grid-template-columns: 62px 1fr; }
  .session-people { grid-column: 1; }
  .terminal { min-height: auto; padding-top: 90px; }
  .terminal-points { grid-template-columns: 1fr; }
  .terminal-stage { width: 100%; margin-top: 60px; padding-left: 16px; }
  .terminal-frame img { min-height: 270px; object-fit: cover; object-position: top left; }
  .meetings { padding-right: 18px; padding-left: 18px; }
  .meeting-copy { margin-bottom: 44px; }
  .meeting-gallery { grid-template-columns: 1fr; gap: 12px; }
  .meeting-media-wide { grid-column: 1; }
  .meeting-media img, .meeting-media video, .meeting-media-wide img, .meeting-media-wide video { height: 270px; }
  .meeting-media figcaption { min-height: 92px; grid-template-columns: 1fr; gap: 4px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-main nav { grid-row: auto; grid-column: 1; margin-top: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
