:root {
  --red: #e4231f;
  --dark-red: #cc0000;
  --ink: #19272a;
  --ink-soft: #223035;
  --gray: #656565;
  --paper: #efefef;
  --white: #fff;
  --black: #000;
  --tile-learning: rgba(25, 39, 42, .10);
  --tile-editorial: rgba(228, 35, 31, .18);
  --tile-editorial-hover: var(--red);
  --tile-company-hover: #10191b;
  --header-h: 76px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; overflow-x: hidden; overflow-wrap:break-word; -webkit-hyphens:auto; hyphens:auto; }
body.menu-open, body.contact-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
.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-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 12px 18px; background: white; transform: translateY(-140%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 40; inset: 0 0 auto; height: var(--header-h); display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(20px, 4vw, 64px); color: white; pointer-events: none; }
.site-header a, .site-header button { pointer-events: auto; }
.wordmark { position: relative; z-index: 3; display: block; width: clamp(175px, 17vw, 230px); }
.wordmark img { display: block; width: 100%; height: auto; }
.contact-toggle { position:absolute; z-index:3; left:50%; width:48px; height:48px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; color:white; background:transparent; transform:translateX(-50%); cursor:pointer; }
.contact-toggle:focus-visible { outline:2px solid white; outline-offset:4px; }
.contact-toggle-symbol { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 1px 2px rgba(0,0,0,.35)); transition:opacity .25s ease,transform .35s ease; }
.contact-toggle-close { position:absolute; inset:0; display:grid; place-items:center; opacity:0; transform:scale(.7); transition:opacity .25s ease,transform .35s ease; }
.contact-toggle-close i { position:absolute; width:19px; height:2px; border-radius:2px; background:white; box-shadow:0 1px 3px rgba(0,0,0,.4); }
.contact-toggle-close i:first-child { transform:rotate(45deg); }.contact-toggle-close i:last-child { transform:rotate(-45deg); }
.contact-open .contact-toggle-symbol { opacity:0; transform:scale(.7); }.contact-open .contact-toggle-close { opacity:1; transform:scale(1); }
.contact-backdrop { position:fixed; z-index:1; inset:0; background:rgba(4,10,12,.28); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .35s ease,visibility 0s linear .35s; }
.contact-modal { --contact-shell-size:48px; --contact-shell-half:24px; --contact-shell-top:2px; position:fixed; z-index:2; isolation:isolate; top:12px; left:50%; width:min(800px,calc(100vw - 24px)); height:calc(100svh - 24px); overflow-y:auto; color:white; transform:translateX(-50%); clip-path:inset(var(--contact-shell-top) calc(50% - var(--contact-shell-half)) calc(100% - var(--contact-shell-top) - var(--contact-shell-size)) calc(50% - var(--contact-shell-half)) round 999px); pointer-events:none; transition:clip-path .58s cubic-bezier(.2,.78,.2,1); }
.contact-modal::before { content:""; position:absolute; z-index:-1; inset:var(--contact-shell-top) calc(50% - var(--contact-shell-half)) calc(100% - var(--contact-shell-top) - var(--contact-shell-size)) calc(50% - var(--contact-shell-half)); border:1px solid rgba(255,255,255,.3); border-radius:999px; background:linear-gradient(145deg,rgba(49,66,70,.82),rgba(15,26,29,.76)); box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 28px 80px rgba(3,9,11,.4); -webkit-backdrop-filter:blur(34px) saturate(175%); backdrop-filter:blur(34px) saturate(175%); transition:inset .58s cubic-bezier(.2,.78,.2,1),border-radius .58s cubic-bezier(.2,.78,.2,1),background .3s ease,border-color .3s ease; }
.contact-toggle:hover ~ .contact-modal::before,.contact-toggle:focus-visible ~ .contact-modal::before { border-color:rgba(255,255,255,.58); background:linear-gradient(145deg,rgba(56,74,78,.86),rgba(20,32,35,.78)); }
.contact-modal-content { padding:calc(var(--header-h) + 18px) clamp(24px,6vw,62px) 28px; opacity:0; transform:translateY(-8px); transition:opacity .16s ease,transform .3s ease; }
.contact-modal-kicker { margin:0 0 20px; color:#aab2b3; font:500 10px/1 "Space Mono",monospace; letter-spacing:.18em; text-transform:uppercase; }
.contact-modal h2 { margin:0 0 14px; font:500 clamp(38px,5vw,58px)/.92 "Manrope",sans-serif; letter-spacing:-.06em; }.contact-modal h2 em { color:var(--red); font-style:italic; }
.contact-open .contact-backdrop { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.contact-open .contact-modal { clip-path:inset(0 round 32px); pointer-events:auto; }
.contact-open .contact-modal::before { inset:0; border-radius:32px; }
.contact-open .contact-modal-content { opacity:1; transform:translateY(0); transition-delay:.22s; }
.contact-modal .contact-form { gap:18px clamp(20px,3vw,34px); }
.contact-modal .contact-field { gap:7px; color:#aeb8ba; }.contact-modal .contact-field small { color:#869396; }
.contact-modal .contact-field input { padding:6px 0 10px; color:white; border-color:rgba(255,255,255,.35); font-size:clamp(17px,1.6vw,23px); }
.contact-modal .contact-privacy { margin:0; color:#98a4a6; font-size:10px; }.contact-modal .contact-privacy a { color:white; }
.contact-modal .contact-submit { margin-top:0; padding:16px 18px; font-size:clamp(17px,1.7vw,23px); }
.contact-modal .contact-message { color:white; background:rgba(255,255,255,.09); }.contact-modal .contact-message--success { border-color:#42d5a3; }.contact-modal .contact-message--error { border-color:var(--red); }
.menu-toggle { position: relative; z-index: 3; width: 48px; height: 48px; display: grid; place-content: center; gap: 7px; padding: 0; border: 0; border-radius: 50%; color: white; background: transparent; cursor: pointer; }
.menu-toggle:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.menu-toggle span { position: relative; width: 19px; height: 2px; display: block; border-radius: 2px; background: currentColor; box-shadow: 0 0 0 1px rgba(0,0,0,.34), 0 1px 3px rgba(0,0,0,.42); transition: transform .35s ease; }
.menu-open .menu-toggle span:first-child { transform: translateY(4.5px) rotate(45deg); }
.menu-open .menu-toggle span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
.menu-backdrop { position: fixed; z-index: 1; inset: 0; background: rgba(4,10,12,.22); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .35s ease, visibility 0s linear .35s; }
.site-menu { --menu-shell-size: 48px; --menu-shell-top: 2px; --menu-shell-right: calc(clamp(20px, 4vw, 64px) - 12px); position: fixed; z-index: 2; isolation:isolate; top: 12px; right: 12px; width: min(468px, calc(100vw - 24px)); height: calc(100svh - 24px); overflow:hidden; color: white; clip-path: inset(var(--menu-shell-top) var(--menu-shell-right) calc(100% - var(--menu-shell-top) - var(--menu-shell-size)) calc(100% - var(--menu-shell-right) - var(--menu-shell-size)) round 999px); pointer-events: none; transition: clip-path .58s cubic-bezier(.2,.78,.2,1); }
.site-menu::before { content:""; position:absolute; z-index:-1; inset:var(--menu-shell-top) var(--menu-shell-right) calc(100% - var(--menu-shell-top) - var(--menu-shell-size)) calc(100% - var(--menu-shell-right) - var(--menu-shell-size)); border:1px solid rgba(255,255,255,.3); border-radius:999px; background:linear-gradient(145deg,rgba(49,66,70,.76),rgba(15,26,29,.7)); box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 1px 0 0 rgba(255,255,255,.1),0 28px 80px rgba(3,9,11,.38); -webkit-backdrop-filter:blur(34px) saturate(175%); backdrop-filter:blur(34px) saturate(175%); transition:inset .58s cubic-bezier(.2,.78,.2,1),border-radius .58s cubic-bezier(.2,.78,.2,1),background .3s ease,border-color .3s ease; }
.menu-toggle:hover ~ .site-menu::before, .menu-toggle:focus-visible ~ .site-menu::before { border-color:rgba(255,255,255,.58); background:linear-gradient(145deg,rgba(56,74,78,.8),rgba(20,32,35,.72)); }
.site-menu-scroll { height:100%; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:calc(var(--header-h) + 36px) clamp(24px, 4vw, 50px) 34px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.34) transparent; }
.site-menu-scroll::-webkit-scrollbar { width:5px; }
.site-menu-scroll::-webkit-scrollbar-track { background:transparent; }
.site-menu-scroll::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(255,255,255,.34); }
.site-menu-scroll > p, .site-menu-scroll > ul { opacity: 0; transform: translateY(-8px); transition: opacity .16s ease, transform .3s ease; }
.site-menu-scroll > p { margin: 0 0 28px; color: #aab2b3; font: 500 10px/1 "Manrope", sans-serif; letter-spacing: .2em; text-transform: uppercase; }
.site-menu ul { margin: 0; padding: 0; list-style: none; }
.site-menu li { border-top: 1px solid rgba(255,255,255,.18); }
.site-menu li:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.site-menu a { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: baseline; gap: 10px; margin: 4px -12px; padding: clamp(14px, 2.4vh, 22px) 12px; overflow-wrap:normal; word-break:normal; border-radius: 14px; font: 500 clamp(20px, 2.2vw, 31px)/1.05 "Manrope", sans-serif; letter-spacing: -.035em; -webkit-hyphens:none; hyphens:none; transition: color .25s ease, background .25s ease, padding-left .25s ease; }
.site-menu a span { color: var(--red); font: 500 9px/1 "Space Mono", monospace; letter-spacing: .08em; }
.site-menu a:hover, .site-menu a:focus-visible { padding-left: 18px; color: white; background: linear-gradient(100deg, rgba(255,255,255,.17), rgba(255,255,255,.06)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.site-menu-group>.site-submenu { margin:-4px 0 12px 34px; padding:0; }
.site-menu-group>.site-submenu li { border:0; }
.site-menu-group>.site-submenu a { grid-template-columns:18px minmax(0,1fr); gap:7px; margin:0 -8px; padding:7px 8px; color:#aeb8ba; font:500 12px/1.25 "DM Sans",sans-serif; letter-spacing:0; }
.site-menu-group>.site-submenu a span { color:rgba(228,35,31,.7); font-size:8px; }
.site-menu-group>.site-submenu a:hover,.site-menu-group>.site-submenu a:focus-visible { padding-left:12px; color:white; }
.menu-open .menu-backdrop { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.menu-open .site-menu { clip-path: inset(0 round 32px); pointer-events: auto; }
.menu-open .site-menu::before { inset:0; border-radius:32px; }
.menu-open .site-menu-scroll > p, .menu-open .site-menu-scroll > ul { opacity: 1; transform: translateY(0); transition-delay: .22s; }
.page-controls { position: fixed; z-index: 35; right: clamp(14px, 2vw, 28px); bottom: clamp(14px, 2vw, 28px); display: grid; grid-template-columns: repeat(3, 44px); padding: 4px; border: 1px solid rgba(255,255,255,.42); border-radius: 26px; background: linear-gradient(145deg, rgba(25,39,42,.58), rgba(25,39,42,.3)); box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 12px 38px rgba(5,12,14,.25); -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%); }
.page-control { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; color: white; background: transparent; cursor: pointer; transition: color .25s ease, background .25s ease, opacity .25s ease; }
.page-control + .page-control { border-left: 1px solid rgba(255,255,255,.16); border-radius: 0 50% 50% 0; }
.page-control--previous { border-radius: 0 !important; }
.page-control svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)); }
.page-control:hover, .page-control:focus-visible { color: white; background: rgba(255,255,255,.18); }
.page-control:disabled { opacity: .28; cursor: default; background: transparent; }

.intro-menu { position: relative; height: 240vh; background: var(--paper); }
.menu-scroll-target { position: absolute; top: calc(100% - 100vh); }
.intro-menu-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; isolation: isolate; }
.mobile-intro-morph { display: none; }
.intro-overlay { position: absolute; z-index: 5; inset: 0; overflow: hidden; color: white; pointer-events: none; }
.intro-glow { position: absolute; inset: 50% auto auto 50%; width: min(80vw, 1000px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(228,35,31,.16), transparent 65%); transform: translate(-50%, -50%); opacity: var(--intro-detail-opacity, 1); }
.intro-eyebrow { position: absolute; top: 18%; left: 50%; margin: 0; color: #aeb7b8; font-size: 10px; letter-spacing: .28em; white-space: nowrap; transform: translateX(-50%); opacity: var(--intro-detail-opacity, 1); }
.intro-overlay-logo { position: absolute; left: var(--overlay-logo-left, 50%); top: var(--overlay-logo-top, 50%); width: var(--overlay-logo-width, min(76vw, 980px)); clip-path: inset(7% 1.5%); transform: translate(-50%, -50%); will-change: left, top, width; }
.intro-overlay-logo img { display: block; width: 100%; height: auto; }
.scroll-cue { position: absolute; bottom: clamp(36px, 7vh, 76px); left: 50%; margin: 0; color: white; font: 500 clamp(14px, 1.35vw, 20px)/1 "Space Mono", monospace; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; transform: translateX(-50%); opacity: var(--scroll-opacity, 1); }
.scroll-cue-content { display: flex; align-items: center; gap: clamp(14px, 2vw, 24px); padding: clamp(13px, 1.5vw, 18px) clamp(18px, 2vw, 28px); border: 1px solid rgba(255,255,255,.34); border-radius: 999px; background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.055)); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 12px 38px rgba(0,0,0,.2); -webkit-backdrop-filter: blur(18px) saturate(170%); backdrop-filter: blur(18px) saturate(170%); animation: scroll-cue-enter 1s .3s cubic-bezier(.2,.8,.2,1) both; }
.scroll-cue-content i { width: clamp(48px, 5vw, 78px); height: 2px; display: block; background: currentColor; transform-origin: left; animation: pulse-line 1.8s ease-in-out infinite; }
.scroll-cue-content b { font: inherit; }

.menu-section { position: absolute; inset: 0; min-height: 100vh; padding: calc(var(--header-h) + 24px) clamp(20px, 4vw, 64px) 30px; background: var(--paper); }
.menu-section > .section-kicker, .menu-footer { opacity: var(--menu-meta-opacity, 0); transform: translateY(var(--menu-meta-offset, 18px)); }
.section-kicker { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; color: var(--gray); font: 500 11px/1 "Manrope", sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.section-kicker span { color: var(--red); }
.section-kicker::after { content: ""; width: 60px; height: 1px; background: currentColor; opacity: .45; }
.menu-grid { position: relative; min-height: calc(100vh - 185px); display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 10px; transform-origin: var(--menu-origin-x, 50%) var(--menu-origin-y, 50%); transform: translate(var(--menu-shift-x, 0), var(--menu-shift-y, 0)) scale(var(--menu-scale, 1)); will-change: transform; }
.menu-card { position: relative; min-height: 180px; padding: clamp(20px, 2.4vw, 38px); display: flex; align-items: flex-end; overflow: hidden; background: white; opacity: var(--card-opacity, 1); transform: translateY(var(--card-offset, 0px)) scale(var(--card-scale, 1)); transition: color .35s ease, background .35s ease, transform .35s ease; }
.menu-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 42%, var(--card-hover-accent, rgba(228,35,31,.08))); transform: translateX(-100%); transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.menu-card:hover { color: var(--card-hover-color, white); background: var(--card-hover-bg, var(--ink-soft)); }
.menu-card:hover::before { transform: translateX(0); }
.menu-card:focus-visible { outline: 3px solid var(--red); outline-offset: -3px; }
.menu-card--brand { grid-column: 2; grid-row: 2; align-items: center; justify-content: center; background: var(--ink); }
.menu-card--brand img { display: block; width: min(88%, 490px); clip-path: inset(7% 1.5%); opacity: var(--brand-logo-opacity, 0); }
.menu-card--wide { --card-hover-bg: var(--tile-company-hover); --card-hover-color: white; --card-hover-muted: #c6ced0; --card-hover-accent: rgba(255,255,255,.08); grid-column: 1 / 3; grid-row: 1; background: var(--tile-learning); }
.menu-card--tall { --card-hover-bg: var(--tile-company-hover); --card-hover-color: white; --card-hover-muted: #c6ced0; --card-hover-accent: rgba(255,255,255,.08); grid-column: 1; grid-row: 2 / 4; background: var(--tile-learning); }
.menu-card--company { --card-hover-bg: var(--tile-company-hover); --card-hover-color: white; --card-hover-muted: #c6ced0; --card-hover-accent: rgba(255,255,255,.08); grid-column: 2 / 4; grid-row: 3; color: var(--ink); background: var(--tile-learning); }
.menu-card--company .menu-copy small { color: var(--gray); }
.menu-card--small { --card-hover-bg: var(--tile-editorial-hover); --card-hover-color: white; --card-hover-muted: rgba(255,255,255,.78); --card-hover-accent: rgba(255,255,255,.12); grid-column: 3; grid-row: 2; background: var(--tile-editorial); }
.menu-card--small:last-child { grid-column: 3; grid-row: 1; }
.menu-card--red { color: var(--ink); background: var(--tile-editorial); }
.menu-number { position: absolute; top: 22px; left: 24px; color: var(--red); font: 500 10px/1 "Manrope", sans-serif; letter-spacing: .16em; }
.menu-card:hover .menu-number { color: white; }
.menu-arrow { position: absolute; top: 17px; right: 22px; font-size: 24px; transition: transform .3s ease; }
.menu-card:hover .menu-arrow { transform: translate(4px, -4px); }
.menu-copy { position: relative; z-index: 1; display: grid; gap: 9px; }
.menu-copy strong { max-width: 520px; font: 500 clamp(24px, 3.3vw, 52px)/.98 "Manrope", sans-serif; letter-spacing: -.055em; }
.menu-copy small { color: var(--gray); font-size: 12px; }
.menu-card:hover .menu-copy small { color: var(--card-hover-muted, #c6ced0); }
.menu-footer { display: flex; justify-content: space-between; padding-top: 18px; color: var(--gray); font-size: 10px; text-transform: uppercase; letter-spacing: .18em; }

.statement { height: 260vh; background: var(--red); color: white; }
.statement-sticky { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 6vw, 96px); overflow: hidden; }
.statement-sticky::before { content: "PARDUS"; position: absolute; right: -3vw; bottom: -5vw; color: rgba(255,255,255,.055); font: 700 clamp(120px, 25vw, 390px)/.8 "Manrope", sans-serif; letter-spacing: -.08em; }
.section-kicker--light { position: absolute; top: 110px; color: rgba(255,255,255,.65); }
.section-kicker--light span { color: white; }
.statement-label { margin: 0 0 30px; color: rgba(255,255,255,.7); font-size: 10px; letter-spacing: .28em; }
.word-reveal { position: relative; z-index: 1; max-width: 1200px; margin: 0; font: 500 clamp(42px, 7.2vw, 112px)/.98 "Manrope", sans-serif; letter-spacing: -.06em; }
.word-reveal .word { display: inline-block; margin-right: .18em; color: rgba(255,255,255,.18); transform: translateY(14px); transition: color .35s ease, transform .35s ease; }
.word-reveal .word.is-visible { color: white; transform: translateY(0); }
.statement-progress { position: absolute; bottom: 50px; left: clamp(30px, 6vw, 96px); right: clamp(30px, 6vw, 96px); height: 1px; background: rgba(255,255,255,.25); }
.statement-progress i { display: block; width: var(--statement-progress, 0%); height: 100%; background: white; }

.principles { height: 400vh; color: var(--ink); background: var(--white); }
.principles-sticky { position: sticky; top: 0; height: 100vh; display: grid; place-items: center; overflow: hidden; padding: clamp(76px, 8vw, 120px) clamp(18px, 5vw, 76px); }
.principles-kicker { position: absolute; top: clamp(78px, 9vh, 106px); left: clamp(20px, 5vw, 76px); margin: 0; color: var(--gray); font: 500 10px/1 "Manrope", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.principles-list { width: 100vw; display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(5px, 1vh, 12px); text-transform: uppercase; }
.principle-row { width: 100%; min-width: 0; font: 400 clamp(28px, 4.8vw, 88px)/1.15 "Space Mono", "SFMono-Regular", Consolas, monospace; letter-spacing: -.045em; }
.principle-track { position: relative; width: max-content; white-space: nowrap; opacity: var(--ticker-opacity, 0); transform: translateX(var(--ticker-x, 0)); will-change: transform, opacity; }
.principle-context { color: var(--ticker-context-color, #c4c8c8); font-size: .62em; font-weight: 400; letter-spacing: .025em; transition: color .5s ease; }
.principle-target { color: var(--principle-copy-color, var(--ink)); transition: color .5s ease; }
.principle-target::before, .principle-target::after { content: "·"; display: inline-block; margin: 0 .62em; color: var(--ticker-context-color, #c4c8c8); font-size: .62em; font-weight: 400; transition: color .5s ease; }
.principle-letter { color: var(--principle-letter-color, inherit); font-weight: 700; transition: color .5s ease; }
.principle-row.is-resolved { --principle-letter-color: var(--red); --principle-copy-color: #a8adad; --ticker-context-color: #d2d5d5; }
.principle-row--filler { min-height: 46px; display: flex; align-items: center; }
.principle-row--filler .principle-track { opacity: var(--ticker-opacity, 0); }
.principle-row--filler .principle-context { color: #d2d5d5; font-size: .42em; letter-spacing: .09em; }
.principles-cta { position: absolute; right: clamp(20px, 5vw, 76px); bottom: clamp(28px, 5vh, 52px); display: flex; align-items: center; gap: 22px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 12px; opacity: var(--principles-cta-opacity, 0); transform: translateY(var(--principles-cta-offset, 16px)); }

.orbit-section { height: 320vh; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; background: var(--ink); color: white; }
.orbit-sticky { --orbit-scale: .72; position: sticky; top: 0; height: 100vh; display: grid; place-items: center; overflow: hidden; }
.orbit-grid { position: absolute; inset: 0; opacity: .08; background-image: linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.4) 1px, transparent 1px); background-size: 80px 80px; }
.orbit { position: absolute; left: 50%; top: 50%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transform: translate(-50%, -50%) scale(var(--orbit-scale)) rotate(var(--orbit-rotation)); will-change: transform; }
.orbit::before { content: ""; position: absolute; inset: 8%; border: 1px dashed rgba(228,35,31,.28); border-radius: inherit; }
.orbit--outer { width: min(1120px, 94vw); --orbit-rotation: var(--outer-rotation, 0deg); }
.orbit--inner { width: min(700px, 62vw); --orbit-rotation: var(--inner-rotation, 0deg); }
.tool { --angle: calc(360deg / var(--count) * var(--i)); position: absolute; left: 50%; top: 50%; width: clamp(86px, 8vw, 124px); display: flex; flex-direction: column; align-items: center; gap: 7px; transform: translate(-50%, -50%) rotate(var(--angle)) translateX(calc(var(--orbit-size, min(560px, 47vw)))) rotate(90deg); transform-origin: center; }
.orbit--inner .tool { --orbit-size: min(350px, 31vw); }
.tool img { display: block; width: clamp(48px, 5.5vw, 74px); aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,.2)); }
.tool em { color: rgba(255,255,255,.72); font: normal clamp(8px, .75vw, 10px)/1.15 "DM Sans", sans-serif; text-align: center; white-space: nowrap; }
.orbit-center { position: relative; z-index: 3; width: min(520px, 58vw); text-align: center; transform: scale(var(--center-scale, 1)); opacity: var(--center-opacity, 1); }
.orbit-center p { color: var(--red); font-size: 10px; letter-spacing: .22em; }
.orbit-center h2 { margin: 20px 0 32px; font: 500 clamp(34px, 4.6vw, 68px)/1.02 "Manrope", sans-serif; letter-spacing: -.055em; }
.orbit-center h2 em { color: var(--red); font-style: italic; }
.orbit-center a { display: inline-flex; align-items: center; gap: 22px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.55); font-size: 12px; }

.closing { min-height: 90vh; padding: clamp(90px, 11vw, 170px) clamp(24px, 6vw, 96px); background: var(--paper); }
.closing > p { color: var(--gray); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.closing h2 { margin: 60px 0 clamp(70px, 9vw, 130px); font: 500 clamp(54px, 10vw, 150px)/.88 "Manrope", sans-serif; letter-spacing: -.07em; }
.closing h2 em { color: var(--red); font-style: italic; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr); gap:clamp(50px,8vw,130px); align-items:start; }
.contact-form { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px clamp(18px,3vw,44px); }
.contact-process { grid-column:1/-1; display:grid; gap:8px; margin:0 0 6px; padding:18px 0; border-top:1px solid #b8bfbe; border-bottom:1px solid #b8bfbe; color:#596568; font-size:clamp(13px,1.2vw,16px); line-height:1.4; }.contact-process strong { color:var(--ink); font:500 clamp(9px,.8vw,11px)/1.4 "Space Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.contact-process span { max-width:720px; }
.contact-modal .contact-process { gap:6px; margin:0 0 4px; padding:0; border:0; color:#c9d0d1; font-size:12px; line-height:1.35; }.contact-modal .contact-process strong { color:white; font-size:9px; }.contact-modal .contact-process span { max-width:620px; }
.contact-field { display:grid; gap:10px; color:var(--gray); font:500 10px/1 "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.contact-field span { display:flex; justify-content:space-between; gap:12px; }
.contact-field small { color:#9a9a9a; font:inherit; }
.contact-field input { width:100%; padding:10px 0 16px; border:0; border-bottom:1px solid #9fa3a3; border-radius:0; outline:0; color:var(--ink); background:transparent; font:500 clamp(18px,2vw,28px)/1.2 "Manrope",sans-serif; }
.contact-field input:focus { border-color:var(--red); box-shadow:0 2px 0 var(--red); }
.contact-field--full,.contact-privacy,.contact-submit { grid-column:1/-1; }
.contact-privacy { max-width:680px; margin:2px 0 0; color:#797f80; font-size:11px; line-height:1.55; }
.contact-privacy a { border-bottom:1px solid currentColor; }
.contact-submit { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:8px; padding:20px 22px; border:0; color:white; background:var(--red); font:500 clamp(18px,2vw,28px)/1 "Manrope",sans-serif; cursor:pointer; transition:background .25s ease; }
.contact-submit:hover,.contact-submit:focus-visible { background:var(--dark-red); }
.contact-submit:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-alternatives>p { margin:0 0 24px; color:var(--gray); font:500 10px/1 "Space Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }
.contact-alternative { position:relative; display:grid; gap:9px; padding:24px 34px 24px 0; border-top:1px solid #9fa3a3; overflow-wrap:anywhere; }
.contact-alternative:last-child { border-bottom:1px solid #9fa3a3; }
.contact-alternative small { color:var(--gray); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.contact-alternative strong { font:500 clamp(17px,1.7vw,24px)/1.2 "Manrope",sans-serif; }
.contact-alternative>span { position:absolute; right:4px; top:50%; color:var(--red); font-size:20px; transform:translateY(-50%); }
.contact-message { margin:0 0 32px; padding:16px 18px; border-left:3px solid currentColor; color:var(--ink); background:white; }
.contact-message--success { color:#206b55; }.contact-message--error { color:var(--red); }
footer { display: flex; justify-content: flex-start; padding: 14px clamp(24px, 6vw, 96px); color: #aab2b3; background: var(--ink); font-size: 9px; line-height: 1.2; letter-spacing: .15em; }

.content-page { min-height: calc(100svh - 65px); display: grid; align-items: center; padding: calc(var(--header-h) + 72px) clamp(24px, 8vw, 130px) clamp(80px, 10vw, 150px); color: white; background: var(--ink); }
.content-page-inner { width: min(1120px, 100%); }
.content-page-kicker { margin: 0 0 clamp(28px, 5vw, 64px); color: var(--red); font: 500 10px/1 "Space Mono", monospace; letter-spacing: .2em; text-transform: uppercase; }
.content-page h1 { max-width: 1050px; margin: 0; font: 500 clamp(52px, 10vw, 150px)/.88 "Manrope", sans-serif; letter-spacing: -.075em; }
.content-page-intro { max-width: 720px; margin: clamp(40px, 6vw, 84px) 0; color: #c4cbcc; font: 400 clamp(18px, 2vw, 28px)/1.45 "DM Sans", sans-serif; }
.content-page-back { display: inline-flex; align-items: center; gap: 24px; padding: 0 0 8px; border-bottom: 1px solid rgba(255,255,255,.55); font-size: 12px; }
.content-page-back span { color: var(--red); font-size: 18px; }

.error-page { position:relative; min-height:calc(100svh - 65px); display:grid; align-items:center; overflow:hidden; padding:calc(var(--header-h) + 72px) clamp(24px,8vw,130px) clamp(80px,10vw,150px); color:white; background:radial-gradient(circle at 82% 20%,rgba(228,35,31,.16),transparent 32%),var(--ink); }
.error-page-number { position:absolute; right:-.04em; bottom:-.22em; color:rgba(255,255,255,.035); font:600 clamp(230px,42vw,680px)/.8 "Manrope",sans-serif; letter-spacing:-.11em; user-select:none; }
.error-page-content { position:relative; z-index:1; width:min(900px,100%); }
.error-page-kicker { margin:0 0 clamp(28px,5vw,58px); color:var(--red); font:500 10px/1 "Space Mono",monospace; letter-spacing:.2em; text-transform:uppercase; }
.error-page h1 { max-width:850px; margin:0; font:500 clamp(54px,10vw,142px)/.88 "Manrope",sans-serif; letter-spacing:-.075em; }
.error-page-content>p:not(.error-page-kicker) { max-width:650px; margin:clamp(34px,5vw,64px) 0; color:#c4cbcc; font:400 clamp(17px,1.8vw,24px)/1.5 "DM Sans",sans-serif; }
.error-page-actions { display:flex; flex-wrap:wrap; gap:16px 34px; }
.error-page-actions a { display:inline-flex; align-items:center; gap:22px; padding:0 0 8px; border-bottom:1px solid rgba(255,255,255,.55); font-size:12px; }
.error-page-actions a span { color:var(--red); font-size:18px; }

.training-page { color:var(--ink); background:var(--paper); }
.training-intro { min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:calc(var(--header-h) + 70px) clamp(24px,6vw,96px) clamp(60px,8vw,110px); color:white; background:radial-gradient(circle at 74% 22%,rgba(228,35,31,.23),transparent 30%),var(--ink); }
.training-intro>p { margin:0 0 32px; color:#aeb8ba; font:500 10px/1 "Space Mono",monospace; letter-spacing:.22em; text-transform:uppercase; }
.training-intro h1 { margin:0; overflow-wrap:normal; word-break:normal; -webkit-hyphens:manual; hyphens:manual; font:500 clamp(76px,17vw,250px)/.75 "Manrope",sans-serif; letter-spacing:-.085em; }
.training-intro>span { max-width:680px; margin:clamp(42px,6vw,76px) 0 0 auto; color:#c3cbcc; font:400 clamp(17px,2vw,27px)/1.45 "DM Sans",sans-serif; }
.training-intro>a { display:flex; justify-content:space-between; width:100%; margin-top:clamp(50px,8vh,90px); padding-top:18px; border-top:1px solid rgba(255,255,255,.35); color:#c3cbcc; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.training-intro>a i { color:var(--red); font-style:normal; }
.training-catalog { min-height:100vh; padding:clamp(90px,10vw,150px) clamp(18px,4vw,64px); }
.training-catalog>h2 { margin:clamp(42px,6vw,80px) 0 clamp(60px,9vw,130px); font:500 clamp(50px,9vw,138px)/.88 "Manrope",sans-serif; letter-spacing:-.075em; }.training-catalog>h2 em { color:var(--red); font-style:italic; }
.course-tile-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:clamp(125px,9vw,168px); grid-auto-flow:dense; gap:10px; }
.course-tile { --tile-overlay:rgba(25,39,42,.7); container-type:inline-size; position:relative; min-height:clamp(390px,30vw,520px); display:flex; align-items:flex-end; grid-column:span 5; grid-row:span 3; overflow:hidden; padding:clamp(28px,3.2vw,48px); color:white; background:var(--ink); opacity:0; transform:translateY(55px) scale(.98); transition:opacity .7s ease,transform .8s cubic-bezier(.2,.75,.2,1); }
.course-tile::before { content:""; position:absolute; inset:0; background-image:linear-gradient(135deg,var(--tile-overlay),rgba(25,39,42,.22)),var(--course-image); background-position:center; background-size:cover; transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .4s ease; }
.course-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,transparent 48%,rgba(228,35,31,.3)); opacity:0; transition:opacity .4s ease; }
.course-tile.is-visible { opacity:1; transform:none; }.course-tile:hover::before { transform:scale(1.045); filter:saturate(1.15); }.course-tile:hover::after { opacity:1; }
.course-tile--1 { grid-column:1/span 7; grid-row:span 4; }.course-tile--2 { grid-column:8/span 5; grid-row:span 3; }.course-tile--3 { grid-column:2/span 4; grid-row:span 3; }.course-tile--4 { grid-column:6/span 7; grid-row:span 4; }.course-tile--5 { grid-column:1/span 5; grid-row:span 4; }.course-tile--6 { grid-column:6/span 6; grid-row:span 3; }
.course-tile-number,.course-tile-arrow { position:absolute; z-index:2; top:22px; font:500 10px/1 "Space Mono",monospace; }.course-tile-number { left:24px; color:var(--red); }.course-tile-arrow { right:24px; font-size:22px; }
.course-tile-copy { position:relative; z-index:2; width:100%; max-width:760px; display:grid; gap:clamp(12px,3cqi,22px); padding-top:72px; }.course-tile-copy strong { max-width:100%; font:500 clamp(27px,8.5cqi,58px)/.98 "Manrope",sans-serif; letter-spacing:-.05em; }.course-tile-copy small { max-width:62ch; color:#d0d5d6; font-size:clamp(12px,2.6cqi,16px); line-height:1.4; }
.course-empty { padding:80px 0; border-top:1px solid #aaa; color:var(--gray); font-size:20px; }

.course-page { color:var(--ink); background:var(--paper); }
.course-hero { --hero-y:0px; position:relative; min-height:100svh; display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.34fr); align-items:end; gap:clamp(45px,7vw,110px); overflow:hidden; padding:calc(var(--header-h) + 60px) clamp(24px,6vw,96px) clamp(70px,9vw,130px); color:white; background:var(--ink); }
.course-hero::before { content:""; position:absolute; inset:-8%; background-image:var(--course-hero); background-position:center; background-size:cover; transform:translateY(var(--hero-y)) scale(1.08); will-change:transform; }
.course-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,17,19,.82) 0%,rgba(9,17,19,.42) 52%,rgba(9,17,19,.14)),linear-gradient(0deg,rgba(9,17,19,.58),transparent 55%); }
.course-hero-copy { position:relative; z-index:1; min-width:0; max-width:1050px; }.course-hero-copy>p { margin:0 0 30px; color:#c4cdce; font:500 10px/1 "Space Mono",monospace; letter-spacing:.2em; text-transform:uppercase; }.course-hero h1 { margin:0; overflow-wrap:normal; word-break:normal; -webkit-hyphenate-limit-chars:11 4 4; hyphenate-limit-chars:11 4 4; font:500 clamp(58px,8vw,132px)/.84 "Manrope",sans-serif; letter-spacing:-.075em; }.course-hero h2 { max-width:750px; margin:clamp(28px,4vw,52px) 0 0; color:#d7dddd; font:400 clamp(19px,2.5vw,34px)/1.2 "DM Sans",sans-serif; }
.course-title-word { white-space:nowrap; -webkit-hyphens:none; hyphens:none; }
.course-title-preferred-break { overflow-wrap:normal; word-break:normal; -webkit-hyphens:manual; hyphens:manual; }
.course-hero-toc { position:relative; z-index:1; padding:22px; border:1px solid rgba(255,255,255,.24); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.018)); box-shadow:inset 0 1px 0 rgba(255,255,255,.27),0 14px 40px rgba(5,12,14,.13); -webkit-backdrop-filter:blur(30px) saturate(190%); backdrop-filter:blur(30px) saturate(190%); }.course-hero-toc>p { margin:0 0 14px; color:#c6cdce; font:500 8px/1 "Space Mono",monospace; letter-spacing:.16em; text-shadow:0 1px 6px rgba(0,0,0,.4); text-transform:uppercase; }.course-hero-toc ol { margin:0; padding:0; list-style:none; }.course-hero-toc li { border-top:1px solid rgba(255,255,255,.22); }.course-hero-toc a { display:grid; grid-template-columns:34px 1fr; gap:9px; padding:11px 0; color:white; font:500 clamp(13px,1.15vw,16px)/1.15 "DM Sans",sans-serif; text-shadow:0 1px 7px rgba(0,0,0,.55); transition:color .25s ease,padding-left .25s ease; }.course-hero-toc a span { color:#ff3c37; font:500 8px/1.4 "Space Mono",monospace; text-shadow:0 1px 5px rgba(0,0,0,.5); }.course-hero-toc a:hover,.course-hero-toc a:focus-visible,.course-hero-toc a[aria-current="location"] { padding-left:6px; color:#fff; }
.course-scroll-cue { position:absolute; z-index:1; right:clamp(24px,6vw,96px); bottom:clamp(28px,4vw,54px); display:flex; gap:24px; color:#d0d6d7; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }.course-scroll-cue i { color:var(--red); font-style:normal; }
.course-chapter { min-height:100svh; padding:clamp(95px,10vw,160px) clamp(24px,6vw,96px); }
.course-reveal { opacity:0; transform:translateY(70px); transition:opacity .8s ease,transform .9s cubic-bezier(.2,.75,.2,1); }.course-reveal.is-visible { opacity:1; transform:none; }
.course-chapter-index,.course-section-heading>p,.course-jobs>p,.course-benefits>p { margin:0; color:var(--red); font:500 10px/1 "Space Mono",monospace; letter-spacing:.18em; text-transform:uppercase; }
.course-description { display:grid; align-content:center; color:white; background:var(--red); }.course-description .course-chapter-index { color:white; }.course-description h2 { max-width:1180px; margin:clamp(50px,8vw,110px) 0 0; font:500 clamp(34px,4.8vw,72px)/1.08 "Manrope",sans-serif; letter-spacing:-.045em; }.course-description h2 strong { color:var(--ink); font-weight:600; }
.course-facts { background:white; }.course-section-heading { display:grid; grid-template-columns:minmax(120px,.35fr) 1fr; gap:30px; align-items:start; }.course-section-heading h2 { margin:0; font:500 clamp(48px,8vw,120px)/.88 "Manrope",sans-serif; letter-spacing:-.07em; }.course-section-heading h2 em { color:var(--red); font-style:italic; }
.course-fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:clamp(70px,10vw,140px); border-top:1px solid #c2c6c6; border-bottom:1px solid #c2c6c6; }.course-fact-grid article { min-width:0; min-height:210px; display:flex; flex-direction:column; padding:24px; border-right:1px solid #c2c6c6; }.course-fact-grid article:last-child { border:0; }.course-fact-grid span,.course-dates>p,.course-certification>p { color:var(--gray); font:500 9px/1 "Space Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }.course-fact-grid strong { max-width:100%; margin:auto 0 7px; overflow-wrap:break-word; hyphens:manual; font:500 clamp(24px,3.2vw,48px)/1.02 "Manrope",sans-serif; letter-spacing:-.045em; }.course-fact-grid small { color:var(--gray); }
.course-funding-note { display:grid; grid-template-columns:minmax(90px,.55fr) minmax(260px,1.45fr) auto; gap:30px; align-items:center; margin-top:34px; padding:28px 32px; color:white; background:var(--red); }.course-funding-note span,.course-admission-grid>article>p { font:500 9px/1 "Space Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }.course-funding-note p { margin:0; font:500 clamp(20px,2.4vw,34px)/1.15 "Manrope",sans-serif; letter-spacing:-.035em; }.course-funding-note a { display:flex; align-items:center; justify-content:space-between; gap:24px; min-width:210px; padding:15px 0; border-top:1px solid rgba(255,255,255,.55); border-bottom:1px solid rgba(255,255,255,.55); color:white; font:600 13px/1.25 "DM Sans",sans-serif; }.course-funding-note a:hover,.course-funding-note a:focus-visible { color:var(--ink); }.course-funding-note a i { font-size:19px; font-style:normal; }
.course-admission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:34px; background:#c2c6c6; border:1px solid #c2c6c6; }.course-admission-grid article { min-width:0; padding:clamp(26px,4vw,54px); background:white; }.course-admission-grid>article>p { margin:0; color:var(--red); }.course-admission-grid h3 { margin:28px 0 35px; font:500 clamp(28px,3.2vw,48px)/1 "Manrope",sans-serif; letter-spacing:-.05em; }.course-admission-grid ul { margin:0; padding:0; list-style:none; }.course-admission-grid li { position:relative; padding:15px 0 15px 22px; border-top:1px solid #d8dddd; line-height:1.4; overflow-wrap:anywhere; }.course-admission-grid li:last-child { border-bottom:1px solid #d8dddd; }.course-admission-grid li::before { content:"↗︎"; position:absolute; left:0; color:var(--red); }
.course-certification,.course-dates { display:grid; grid-template-columns:1fr 2fr; align-items:center; gap:30px; padding:34px 0; border-bottom:1px solid #c2c6c6; }.course-certification-body { display:grid; grid-template-columns:auto minmax(260px,1fr); gap:clamp(30px,5vw,70px); align-items:center; }.course-certification-logos { display:flex; align-items:center; gap:clamp(20px,3vw,42px); }.course-certification img { width:auto; max-width:min(170px,20vw); max-height:86px; object-fit:contain; }.course-certification-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,3vw,42px); }.course-certification-details p { display:flex; flex-direction:column; gap:7px; margin:0; padding-left:18px; border-left:1px solid #c2c6c6; }.course-certification-details strong { font:600 14px/1.3 "DM Sans",sans-serif; }.course-certification-details span,.course-certification-details small { color:var(--gray); font:500 11px/1.45 "Space Mono",monospace; }.course-dates ul { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }.course-dates li,.course-dates>span { padding:12px 15px; color:white; background:var(--ink); font:500 13px/1 "Space Mono",monospace; }
.course-download { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:34px; padding:clamp(24px,3vw,38px); color:white; background:var(--ink); }.course-download>div { display:grid; gap:8px; }.course-download span { color:#aab5b7; font:500 9px/1 "Space Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }.course-download strong { font:500 clamp(25px,3vw,42px)/1 "Manrope",sans-serif; letter-spacing:-.045em; }.course-download a { flex:0 0 auto; display:flex; align-items:center; gap:24px; padding:17px 20px; color:white; background:var(--red); font:600 12px/1 "DM Sans",sans-serif; }.course-download a i { font-size:18px; font-style:normal; }.course-download a:hover,.course-download a:focus-visible { background:#ff332f; }
.course-curriculum { background:var(--paper); }.curriculum-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; gap:10px; margin-top:clamp(70px,10vw,140px); }.curriculum-card { min-width:0; min-height:280px; grid-column:span 4; display:flex; flex-direction:column; padding:clamp(22px,3vw,38px); color:white; background:var(--ink); }.curriculum-card:nth-child(5n+2),.curriculum-card:nth-child(5n+5) { background:var(--red); }.curriculum-card:nth-child(4n),.curriculum-card--wide { grid-column:span 6; }.curriculum-card--xwide { grid-column:span 8; }.curriculum-card>span { color:#aab5b7; font:500 10px/1 "Space Mono",monospace; }.curriculum-card h3 { margin:22px 0 auto; overflow-wrap:normal; word-break:normal; font:500 clamp(24px,2.7vw,40px)/1.02 "Manrope",sans-serif; letter-spacing:-.045em; -webkit-hyphens:none; hyphens:none; }.curriculum-card p { margin:22px 0 0; color:#c7d0d1; line-height:1.5; }.curriculum-card strong { color:white; }.curriculum-detail-list { margin:22px 0 0; padding:0; list-style:none; color:#c7d0d1; }.curriculum-detail-list li { padding:12px 0; border-top:1px solid rgba(255,255,255,.25); line-height:1.4; }.curriculum-detail-list li:last-child { border-bottom:1px solid rgba(255,255,255,.25); }
.curriculum-card.curriculum-card--xwide { grid-column:span 8; }
.course-outcomes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.course-outcomes article { min-height:100svh; padding:clamp(80px,8vw,130px) clamp(24px,5vw,76px); }.course-jobs { color:white; background:var(--ink); }.course-benefits { color:white; background:var(--red); }.course-benefits>p { color:white; }.course-outcomes h2 { margin:clamp(45px,7vw,90px) 0; font:500 clamp(48px,7vw,100px)/.88 "Manrope",sans-serif; letter-spacing:-.065em; }.course-outcomes ul { margin:0; padding:0; list-style:none; }.course-outcomes li { position:relative; padding:20px 0 20px 28px; border-top:1px solid rgba(255,255,255,.25); font-size:clamp(16px,1.6vw,22px); }.course-outcomes li:last-child { border-bottom:1px solid rgba(255,255,255,.25); }.course-outcomes li::before { content:"↗︎"; position:absolute; left:0; color:currentColor; }
.course-contact { min-height:100svh; padding:clamp(95px,10vw,160px) clamp(24px,12vw,180px); background:white; }.course-contact .course-section-heading { margin-bottom:clamp(60px,8vw,110px); }.course-contact .contact-form { max-width:none; margin:0; }

@media (max-width: 1150px) {
  .course-certification { grid-template-columns:1fr; align-items:start; }
}

@keyframes pulse-line { 0%, 100% { transform: scaleX(.35); opacity: .5; } 50% { transform: scaleX(1); opacity: 1; } }
@keyframes scroll-cue-enter { from { opacity: 0; scale: .82; translate: 0 18px; filter: blur(6px); } to { opacity: 1; scale: 1; translate: 0 0; filter: blur(0); } }

@media (min-width: 1100px) {
  .menu-card--company .menu-copy strong { font-size: clamp(30px, 3vw, 47px); }
}

@media (max-width: 760px) {
  :root { --header-h: 64px; }
  .wordmark { width:clamp(105px,31vw,130px); }
  .contact-toggle { width:44px; height:44px; }
  .contact-modal { --contact-shell-size:44px; --contact-shell-half:22px; top:8px; width:calc(100vw - 16px); height:calc(100svh - 16px); }
  .contact-open .contact-modal { clip-path:inset(0 round 28px); }
  .contact-open .contact-modal::before { border-radius:28px; }
  .contact-modal-content { padding:calc(var(--header-h) + 14px) 18px 18px; }
  .contact-modal-kicker { display:none; }
  .contact-modal h2 { margin-bottom:9px; font-size:clamp(29px,8.4vw,36px); line-height:.94; }
  .contact-modal .contact-process { gap:4px; margin-bottom:0; font-size:9px; line-height:1.3; }.contact-modal .contact-process strong { font-size:7px; letter-spacing:.045em; }
  .menu-toggle { width: 44px; height: 44px; }
  .site-menu { --menu-shell-size: 44px; --menu-shell-right: calc(clamp(20px, 4vw, 64px) - 8px); top: 8px; right: 8px; width: calc(100vw - 16px); height: calc(100svh - 16px); border-radius: 28px; }
  .site-menu-scroll { padding:calc(var(--header-h) + 34px) 22px 26px; }
  .menu-open .site-menu { clip-path: inset(0 round 28px); }
  .menu-open .site-menu::before { border-radius:28px; }
  .site-menu a { font-size: clamp(20px, 6vw, 28px); }
  .page-controls { right: 10px; bottom: 10px; grid-template-columns: repeat(3, 40px); }
  .page-control { width: 40px; height: 40px; }
  .intro-menu { height: 240svh; }
  .menu-scroll-target { top: calc(100% - 100svh); }
  .intro-menu-sticky { position: sticky; top: 0; height: 100svh; display: block; overflow: hidden; }
  .mobile-intro-morph { position: absolute; z-index: 4; left: var(--mobile-morph-left, 0); top: var(--mobile-morph-top, 0); width: var(--mobile-morph-width, 100%); height: var(--mobile-morph-height, 100%); display: block; background: var(--ink); pointer-events: none; will-change: left, top, width, height; }
  .intro-overlay { display: block; }
  .intro-glow { display: none; }
  .intro-eyebrow { top: 19%; width: 100%; padding: 0 18px; text-align: center; }
  .menu-section { position: absolute; inset: 0; min-height: 100svh; padding: calc(var(--header-h) + 14px) 14px 16px; }
  .menu-section > .section-kicker { margin-bottom: 12px; }
  .menu-grid { min-height: 0; height: calc(100svh - var(--header-h) - 99px); grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 7px; }
  .menu-card, .menu-card--brand, .menu-card--wide, .menu-card--tall, .menu-card--company, .menu-card--small { display: flex; min-height: 0; padding: 14px; }
  .menu-card--wide { grid-column: 1 / 3; grid-row: 1; }
  .menu-card--tall { grid-column: 1; grid-row: 2; }
  .menu-card--company { grid-column: 2; grid-row: 2; }
  .menu-card--brand, .menu-card--brand:hover { grid-column: 1 / 3; grid-row: 3; background: transparent; }
  .menu-card--brand::before { display: none; }
  .menu-card--small { grid-column: 2; grid-row: 4; }
  .menu-card--small:last-child { grid-column: 1; grid-row: 4; }
  .menu-card--red { display: flex !important; }
  .menu-number { top: 12px; left: 14px; }
  .menu-arrow { top: 8px; right: 13px; font-size: 19px; }
  .menu-copy { gap: 4px; }
  .menu-copy strong, .menu-card--company .menu-copy strong { font-size: clamp(18px, 5.3vw, 25px); line-height: 1; }
  .menu-card--wide .menu-copy strong { font-size: clamp(24px, 7vw, 32px); }
  .menu-card--tall .menu-copy small, .menu-card--company .menu-copy small, .menu-card--small .menu-copy small { display: none; }
  .menu-footer { padding-top: 9px; }
  .section-kicker--light { top: 88px; }
  .word-reveal { font-size: clamp(38px, 11.5vw, 60px); }
  .principles { height: 440svh; }
  .principles-sticky { height: 100svh; padding: 74px 10px 68px; }
  .principles-kicker { top: 76px; left: 16px; }
  .principles-list { gap: 10px; }
  .principle-row { font-size: clamp(17px, 5vw, 22px); line-height: 1.25; letter-spacing: -.035em; }
  .principle-context { font-size: .58em; }
  .principle-row--filler { min-height: 28px; }
  .principle-row--filler .principle-context { font-size: .55em; }
  .principles-cta { right: 16px; bottom: 26px; }
  .orbit--outer { width: 154vw; }
  .orbit--inner { width: 94vw; }
  .tool { --orbit-size: 77vw; }
  .orbit--inner .tool { --orbit-size: 47vw; }
  .orbit-center { width: 72vw; }
  .orbit-center a { max-width: 180px; }
  .closing h2 { margin-bottom: 70px; }
  .contact-layout { grid-template-columns:1fr; gap:64px; }
  .contact-form { grid-template-columns:1fr; gap:26px; }
  .contact-process,.contact-field,.contact-field--full,.contact-privacy,.contact-submit { grid-column:1; }
  .contact-modal .contact-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; }
  .contact-modal .contact-field { grid-column:auto; gap:5px; font-size:8px; }
  .contact-modal .contact-process,.contact-modal .contact-field--full,.contact-modal .contact-privacy,.contact-modal .contact-submit { grid-column:1/-1; }
  .contact-modal .contact-field input { padding:4px 0 8px; font-size:16px; }
  .contact-modal .contact-privacy { margin:0; font-size:8px; line-height:1.35; }
  .contact-modal .contact-submit { margin-top:0; padding:13px 15px; font-size:16px; }
  .contact-modal .contact-message { margin-bottom:12px; padding:10px 12px; font-size:11px; }
  .contact-alternative strong { font-size:18px; }
  .training-intro h1 { font-size:clamp(66px,23vw,110px); }
  .training-intro>span { margin-left:0; }
  .training-catalog { padding-inline:14px; }
  .course-tile-grid { grid-template-columns:minmax(0,1fr); grid-auto-rows:auto; gap:8px; }
  .course-tile,.course-tile--1,.course-tile--2,.course-tile--3,.course-tile--4,.course-tile--5,.course-tile--6 { min-height:clamp(360px,105vw,470px); grid-column:1/-1; grid-row:auto; padding:24px 20px; }
  .course-tile-number { top:14px; left:16px; }.course-tile-arrow { top:10px; right:15px; }
  .course-tile-copy { gap:13px; padding-top:64px; }.course-tile-copy strong { font-size:clamp(25px,8.3vw,36px); line-height:1.02; }.course-tile-copy small { display:block; font-size:12px; line-height:1.4; }
  .course-hero { grid-template-columns:1fr; gap:34px; padding:calc(var(--header-h) + 54px) 20px 42px; }.course-hero-copy { max-width:100%; }.course-hero h1 { font-size:clamp(48px,14vw,72px); }.course-hero h2 { margin-top:22px; }.course-hero-toc { padding:16px 18px; border-radius:20px; }.course-hero-toc ol { display:grid; grid-auto-flow:column; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,auto); column-gap:18px; }.course-hero-toc a { padding:9px 0; font-size:12px; }.course-scroll-cue { display:none; }
  .course-chapter { padding:90px 20px; }
  .course-description h2 { font-size:clamp(30px,8.5vw,44px); }
  .course-section-heading { grid-template-columns:1fr; gap:28px; }.course-section-heading h2 { font-size:clamp(48px,13vw,70px); }
  .course-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.course-fact-grid article { min-height:150px; padding:18px; border-bottom:1px solid #c2c6c6; }.course-fact-grid article:nth-child(2) { border-right:0; }.course-fact-grid article:nth-last-child(-n+2) { border-bottom:0; }
  .course-fact-grid strong { font-size:clamp(23px,7vw,34px); }.course-funding-note { grid-template-columns:1fr; gap:15px; padding:24px 20px; }.course-funding-note a { min-width:0; margin-top:4px; }.course-admission-grid { grid-template-columns:1fr; }
  .course-certification,.course-dates { grid-template-columns:1fr; gap:22px; }.course-certification-body { grid-template-columns:1fr; gap:26px; }.course-certification-logos { justify-content:flex-start; }.course-certification img { max-width:42vw; max-height:70px; }.course-certification-details { grid-template-columns:1fr; gap:18px; }
  .course-download { align-items:stretch; flex-direction:column; }.course-download a { justify-content:space-between; }
  .curriculum-grid { grid-template-columns:minmax(0,1fr); }.curriculum-card,.curriculum-card:nth-child(4n),.curriculum-card--wide,.curriculum-card--xwide { min-height:240px; grid-column:1; }.curriculum-card--wide,.curriculum-card--xwide { padding-inline:18px; }.curriculum-card--wide h3,.curriculum-card--xwide h3 { font-size:clamp(21px,6.4vw,30px); }
  .curriculum-card.curriculum-card--xwide { grid-column:1; }
  .course-outcomes { grid-template-columns:1fr; }.course-outcomes article { min-height:auto; padding:90px 20px; }.course-outcomes h2 { font-size:clamp(48px,13vw,70px); }
  .course-contact { padding:90px 20px; }.course-contact .contact-form { margin:0; }
  footer { flex-direction: column; gap: 12px; }
}

/* Cookie consent */
.cookie-consent {
  position:fixed;
  z-index:120;
  right:clamp(12px,2vw,28px);
  bottom:clamp(12px,2vw,28px);
  width:min(760px,calc(100vw - 24px));
  max-height:calc(100svh - 24px);
  overflow-y:auto;
  padding:clamp(22px,3vw,34px);
  color:white;
  border:1px solid rgba(255,255,255,.32);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(48,65,69,.9),rgba(15,26,29,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 24px 70px rgba(3,9,11,.42);
  -webkit-backdrop-filter:blur(30px) saturate(175%);
  backdrop-filter:blur(30px) saturate(175%);
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.35) transparent;
}
.cookie-consent[hidden],.cookie-settings-button[hidden],.cookie-consent__details[hidden],.cookie-consent__actions button[hidden] { display:none; }
.cookie-consent__kicker { margin:0 0 12px; color:#adb9ba; font:500 9px/1 "Space Mono",monospace; letter-spacing:.18em; text-transform:uppercase; }
.cookie-consent h2 { margin:0 0 14px; outline:0; font:500 clamp(30px,4vw,48px)/.96 "Manrope",sans-serif; letter-spacing:-.055em; }
.cookie-consent__intro>p:not(.cookie-consent__kicker,.cookie-consent__links) { max-width:660px; margin:0; color:#dce2e2; font-size:clamp(14px,1.3vw,16px); line-height:1.55; }
.cookie-consent__links { display:flex; gap:20px; margin:15px 0 0; font-size:13px; }
.cookie-consent__links a { color:white; text-decoration:underline; text-underline-offset:4px; }
.cookie-consent__details { margin-top:22px; border-bottom:1px solid rgba(255,255,255,.18); }
.cookie-consent__category { position:relative; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:14px 0; border-top:1px solid rgba(255,255,255,.18); cursor:pointer; }
.cookie-consent__category>div,.cookie-consent__category>span:first-child { display:grid; gap:5px; }
.cookie-consent__category strong { font:600 15px/1.15 "Manrope",sans-serif; }
.cookie-consent__category span span { color:#adb8ba; font-size:12px; line-height:1.4; }
.cookie-consent__always { flex:0 0 auto; color:#adb8ba; font:500 9px/1 "Space Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.cookie-consent__category input { position:absolute; opacity:0; pointer-events:none; }
.cookie-consent__category i { position:relative; flex:0 0 44px; width:44px; height:24px; border:1px solid rgba(255,255,255,.45); border-radius:999px; background:rgba(255,255,255,.08); transition:background .2s ease,border-color .2s ease; }
.cookie-consent__category i::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:white; transition:transform .2s ease; }
.cookie-consent__category input:checked+i { border-color:var(--red); background:var(--red); }
.cookie-consent__category input:checked+i::after { transform:translateX(20px); }
.cookie-consent__category input:focus-visible+i { outline:2px solid white; outline-offset:3px; }
.cookie-consent__actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:22px; }
.cookie-consent__actions button { min-height:50px; padding:12px 14px; color:white; border:1px solid rgba(255,255,255,.38); border-radius:14px; background:rgba(255,255,255,.08); font:600 13px/1.2 "DM Sans",sans-serif; cursor:pointer; transition:background .2s ease,border-color .2s ease; }
.cookie-consent__actions button:hover,.cookie-consent__actions button:focus-visible { border-color:white; background:rgba(255,255,255,.18); outline:0; }
.cookie-consent__actions [data-consent-action="save"] { grid-column:1/-1; background:var(--red); border-color:var(--red); }
.cookie-settings-button { position:fixed; z-index:110; left:clamp(12px,2vw,28px); bottom:clamp(12px,2vw,28px); display:flex; align-items:center; gap:9px; min-height:42px; padding:9px 14px; color:white; border:1px solid rgba(255,255,255,.38); border-radius:999px; background:linear-gradient(145deg,rgba(25,39,42,.7),rgba(25,39,42,.48)); box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 10px 30px rgba(3,9,11,.28); -webkit-backdrop-filter:blur(22px) saturate(175%); backdrop-filter:blur(22px) saturate(175%); font:500 11px/1 "DM Sans",sans-serif; cursor:pointer; }
.cookie-settings-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cookie-settings-button:hover,.cookie-settings-button:focus-visible { border-color:white; background:rgba(25,39,42,.86); outline:0; }

@media (max-width: 620px) {
  .cookie-consent { left:12px; right:12px; bottom:12px; width:auto; padding:20px; border-radius:22px; }
  .cookie-consent__actions { grid-template-columns:1fr; }
  .cookie-consent__actions [data-consent-action="save"] { grid-column:1; }
  .cookie-consent__category { gap:14px; }
  .cookie-settings-button span { display:none; }
  .cookie-settings-button { width:44px; justify-content:center; padding:9px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .intro-menu { height: auto; }
  .intro-menu-sticky { position: relative; height: auto; overflow: visible; }
  .mobile-intro-morph { display: none; }
  .intro-overlay { display: none; }
  .menu-section { --menu-meta-opacity: 1 !important; --menu-meta-offset: 0px !important; position: relative; inset: auto; min-height: 100vh; }
  .menu-grid { --menu-scale: 1 !important; --menu-shift-x: 0px !important; --menu-shift-y: 0px !important; transform: none; }
  .menu-card { --card-opacity: 1 !important; --card-offset: 0px !important; --card-scale: 1 !important; }
  .menu-card--brand, .menu-card--brand:hover { background: var(--ink); }
  .menu-card--brand img { --brand-logo-opacity: 1 !important; }
  .statement { height: auto; min-height: 100vh; }
  .statement-sticky { position: relative; }
  .word-reveal .word { color: white; transform: none; }
  .principles { height: auto; min-height: 100vh; }
  .principles-sticky { position: relative; min-height: 100vh; height: auto; }
  .principle-track { --ticker-opacity: 1 !important; width: 100%; text-align: center; opacity: 1; transform: none; }
  .principle-context { display: none; }
  .principle-row--filler { display: none; }
  .principle-row { --principle-letter-color: var(--red); --principle-copy-color: #a8adad; --ticker-context-color: #d2d5d5; }
  .principles-cta { --principles-cta-opacity: 1 !important; --principles-cta-offset: 0px !important; opacity: 1; transform: none; }
  .orbit-section { height: 130vh; }
  .orbit { transform: translate(-50%, -50%) scale(.9); }
  .course-reveal,.course-tile { opacity:1; transform:none; transition:none; }
}

/* Funding pages */
.funding-overview,.funding-detail { background:var(--paper); }
.funding-overview-hero { min-height:100svh; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); align-content:end; gap:clamp(42px,7vw,110px); padding:calc(var(--header-h) + 70px) clamp(24px,6vw,96px) clamp(70px,8vw,120px); color:white; background:var(--ink); }
.funding-overview-hero>p,.funding-detail-copy>p,.funding-section-heading>p,.funding-overview-note>p,.funding-next-step>p { margin:0; color:var(--red); font:500 10px/1.2 "Space Mono",monospace; letter-spacing:.18em; text-transform:uppercase; }
.funding-overview-hero>p { grid-column:1/-1; align-self:start; color:#aebabc; }
.funding-overview-hero h1 { margin:0; font:500 clamp(58px,8.3vw,132px)/.84 "Manrope",sans-serif; letter-spacing:-.075em; }
.funding-overview-hero h1 em,.funding-section-heading h2 em,.funding-overview-note h2 em { color:var(--red); font-style:italic; }
.funding-overview-intro { align-self:end; padding-top:24px; border-top:1px solid rgba(255,255,255,.28); }
.funding-overview-intro span { color:#aebabc; font:500 9px/1 "Space Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.funding-overview-intro p { max-width:520px; margin:28px 0 0; color:#edf1f1; font-size:clamp(18px,1.7vw,25px); line-height:1.35; }
.funding-paths,.funding-chapter,.funding-overview-note { padding:clamp(95px,10vw,160px) clamp(24px,6vw,96px); }
.funding-section-heading { display:grid; grid-template-columns:minmax(125px,.33fr) 1fr; gap:30px; align-items:start; }
.funding-section-heading h2,.funding-overview-note h2 { margin:0; font:500 clamp(48px,7.7vw,116px)/.88 "Manrope",sans-serif; letter-spacing:-.07em; }
.funding-path-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:10px; margin-top:clamp(70px,9vw,130px); }
.funding-path-card { min-width:0; min-height:min(68svh,720px); display:flex; flex-direction:column; padding:clamp(24px,4vw,54px); color:white; background:var(--red); }
.funding-path-card--company { background:var(--ink); }
.funding-path-card>span { font:500 10px/1 "Space Mono",monospace; letter-spacing:.14em; }
.funding-path-card>p { max-width:420px; margin:32px 0 auto; color:rgba(255,255,255,.72); font-size:clamp(15px,1.5vw,21px); }
.funding-path-card h3 { max-width:100%; margin:50px 0 32px; overflow-wrap:normal; word-break:normal; -webkit-hyphens:manual; hyphens:manual; font:500 clamp(40px,5.4vw,82px)/.9 "Manrope",sans-serif; letter-spacing:-.065em; }
.funding-path-card small { display:flex; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.3); font:600 12px/1.2 "DM Sans",sans-serif; }
.funding-path-card small i { font-size:20px; font-style:normal; }
.funding-overview-note { display:grid; grid-template-columns:minmax(120px,.3fr) 1fr; gap:clamp(35px,6vw,100px); color:white; background:var(--red); }
.funding-overview-note>p { color:white; }
.funding-overview-note>div { grid-column:2; display:grid; grid-template-columns:1fr auto; gap:35px; align-items:end; padding-top:38px; border-top:1px solid rgba(255,255,255,.35); }
.funding-overview-note>div>p { max-width:720px; margin:0; font-size:clamp(17px,1.5vw,22px); line-height:1.5; }
.funding-overview-note button,.funding-next-step button { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:17px 20px; border:0; color:white; background:var(--ink); font:600 13px/1.2 "DM Sans",sans-serif; cursor:pointer; }
.funding-overview-note button span,.funding-next-step button span { font-size:19px; }
.funding-reveal { opacity:0; transform:translateY(60px); transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.2,1); }
.funding-reveal.is-visible { opacity:1; transform:none; }

.funding-detail-hero { position:relative; min-height:100svh; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,360px); gap:clamp(40px,7vw,110px); align-items:end; padding:calc(var(--header-h) + 70px) clamp(24px,6vw,96px) clamp(80px,8vw,125px); overflow:hidden; color:white; background:var(--ink); }
.funding-detail-hero::before { content:""; position:absolute; width:min(60vw,850px); aspect-ratio:1; right:-20vw; top:-38vw; border:clamp(70px,10vw,150px) solid rgba(227,45,42,.9); border-radius:50%; }
.funding-detail-copy,.funding-toc { position:relative; z-index:1; }
.funding-detail-copy h1 { max-width:1100px; margin:28px 0 0; overflow-wrap:normal; word-break:normal; -webkit-hyphens:manual; hyphens:manual; font:500 clamp(52px,7.5vw,116px)/.86 "Manrope",sans-serif; letter-spacing:-.072em; }
.funding-detail-copy h2 { max-width:780px; margin:clamp(32px,5vw,70px) 0 0; color:#d8dede; font:400 clamp(19px,2vw,29px)/1.3 "DM Sans",sans-serif; }
.funding-toc { padding:22px; border:1px solid rgba(255,255,255,.2); border-radius:24px; background:rgba(255,255,255,.055); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 16px 44px rgba(0,0,0,.15); -webkit-backdrop-filter:blur(26px) saturate(170%); backdrop-filter:blur(26px) saturate(170%); }
.funding-toc>p { margin:0 0 14px; color:#bdc6c7; font:500 8px/1 "Space Mono",monospace; letter-spacing:.16em; text-transform:uppercase; }
.funding-toc ol { margin:0; padding:0; list-style:none; }
.funding-toc li { border-top:1px solid rgba(255,255,255,.2); }
.funding-toc a { display:grid; grid-template-columns:32px 1fr; gap:9px; padding:12px 0; color:white; font:500 clamp(13px,1.1vw,16px)/1.2 "DM Sans",sans-serif; }
.funding-toc a span { color:var(--red); font:500 8px/1.4 "Space Mono",monospace; }
.funding-toc a[aria-current="location"],.funding-toc a:hover,.funding-toc a:focus-visible { color:#ff5b56; }
.funding-scroll-cue { position:absolute; left:clamp(24px,6vw,96px); bottom:28px; color:#b9c2c3; font:500 9px/1 "Space Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.funding-scroll-cue i { margin-left:18px; color:var(--red); font-style:normal; }
.funding-audience { background:var(--paper); }
.funding-section-intro { max-width:720px; margin:clamp(45px,6vw,80px) 0 0 auto; color:var(--gray); font-size:clamp(18px,1.7vw,25px); line-height:1.45; }
.funding-info-grid,.funding-cost-grid,.funding-tip-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:clamp(55px,8vw,105px); }
.funding-info-card { min-width:0; min-height:310px; display:flex; flex-direction:column; padding:clamp(24px,3vw,42px); border:1px solid #cfd3d3; background:white; }
.funding-info-card>span,.funding-cost-card>span { color:var(--red); font:500 9px/1 "Space Mono",monospace; }
.funding-info-card h3,.funding-cost-card h3,.funding-tip-card h3,.funding-process-list h3,.funding-important-list h3 { margin:auto 0 20px; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(27px,3vw,45px)/1 "Manrope",sans-serif; letter-spacing:-.045em; }
.funding-info-card p,.funding-cost-card p,.funding-tip-card p,.funding-process-list p,.funding-important-list p { margin:0; color:var(--gray); line-height:1.5; }
.funding-costs { color:white; background:var(--red); }
.funding-costs .funding-section-heading>p,.funding-costs .funding-section-intro { color:white; }
.funding-costs .funding-section-heading h2 em { color:var(--ink); }
.funding-cost-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.funding-cost-card { min-width:0; min-height:400px; display:flex; flex-direction:column; padding:clamp(22px,2.5vw,36px); border:1px solid rgba(255,255,255,.35); }
.funding-cost-card>span,.funding-cost-card p { color:rgba(255,255,255,.75); }
.funding-cost-card h3 { color:white; font-size:clamp(24px,2.5vw,38px); }
.funding-process { color:white; background:var(--ink); }
.funding-process-list { margin:clamp(65px,9vw,120px) 0 0; padding:0; list-style:none; }
.funding-process-list li { display:grid; grid-template-columns:90px minmax(220px,.55fr) minmax(280px,1fr); gap:30px; align-items:start; padding:30px 0; border-top:1px solid rgba(255,255,255,.25); }
.funding-process-list li:last-child { border-bottom:1px solid rgba(255,255,255,.25); }
.funding-process-list li>span { color:var(--red); font:500 10px/1.4 "Space Mono",monospace; }
.funding-process-list h3 { margin:0; color:white; font-size:clamp(24px,2.5vw,38px); }
.funding-process-list p { max-width:700px; color:#bdc7c8; }
.funding-tips { background:#e4e7e6; }
.funding-tip-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
.funding-tip-card { min-width:0; min-height:300px; grid-column:span 5; display:flex; flex-direction:column; padding:clamp(24px,3vw,42px); background:white; }
.funding-tip-card:nth-child(2),.funding-tip-card:nth-child(3) { grid-column:span 7; }
.funding-tip-card>span { align-self:flex-end; color:var(--red); font-size:24px; }
.funding-tip-card h3 { font-size:clamp(27px,3vw,44px); }
.funding-courses { background:var(--paper); }
.funding-courses .funding-section-heading h2 em { color:var(--red); }
.funding-course-list { margin-top:clamp(55px,8vw,105px); border-bottom:1px solid #bfc5c4; }
.funding-course-link { min-width:0; display:grid; grid-template-columns:55px minmax(250px,1.1fr) minmax(220px,.8fr) 30px; gap:clamp(18px,3vw,48px); align-items:center; min-height:150px; padding:26px 24px; border-top:1px solid #bfc5c4; color:var(--ink); transition:color .25s ease,background-color .25s ease; }
.funding-course-link>span { color:var(--red); font:500 9px/1.4 "Space Mono",monospace; }
.funding-course-link h3 { margin:0; overflow-wrap:break-word; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(25px,2.7vw,42px)/1.02 "Manrope",sans-serif; letter-spacing:-.045em; }
.funding-course-link p { margin:0; color:var(--gray); line-height:1.45; transition:color .25s ease; }
.funding-course-link i { color:var(--red); font-size:24px; font-style:normal; }
.funding-course-link:hover,.funding-course-link:focus-visible { color:white; background:var(--ink); }
.funding-course-link:hover p,.funding-course-link:focus-visible p { color:#d8dede; }
.funding-course-empty { max-width:720px; margin:clamp(55px,8vw,105px) 0 0 auto; padding-top:24px; border-top:1px solid #bfc5c4; color:var(--gray); font-size:clamp(18px,1.7vw,25px); line-height:1.45; }
.funding-important { color:white; background:var(--red); }
.funding-important .funding-section-heading>p { color:white; }
.funding-important .funding-section-heading h2 em { color:var(--ink); }
.funding-important-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:clamp(45px,8vw,130px); margin-top:clamp(65px,9vw,120px); }
.funding-important-list article { display:grid; grid-template-columns:55px 1fr; gap:24px; padding:28px 0; border-top:1px solid rgba(255,255,255,.35); }
.funding-important-list article:last-child { border-bottom:1px solid rgba(255,255,255,.35); }
.funding-important-list article>span { font:500 9px/1.5 "Space Mono",monospace; }
.funding-important-list h3 { margin:0 0 15px; color:white; font-size:clamp(24px,2.4vw,36px); }
.funding-important-list p { color:rgba(255,255,255,.78); }
.funding-next-step { align-self:start; display:grid; gap:24px; padding:clamp(26px,3.5vw,46px); color:var(--ink); background:white; }
.funding-next-step h3 { margin:10px 0 20px; font:500 clamp(27px,3vw,43px)/1.05 "Manrope",sans-serif; letter-spacing:-.045em; }
.funding-next-step button { width:100%; }
.funding-next-step>a { padding:18px 0; border-top:1px solid #ccd1d0; border-bottom:1px solid #ccd1d0; color:var(--ink); font-weight:600; line-height:1.35; }
.funding-next-step>a span { float:right; color:var(--red); }
.funding-next-step small { color:var(--gray); line-height:1.5; }
.funding-detail .funding-info-card h3,
.funding-detail .funding-cost-card h3,
.funding-detail .funding-tip-card h3 { margin:24px 0 auto; }

@media (max-width: 900px) {
  .funding-detail-hero { grid-template-columns:1fr; align-content:end; }
  .funding-toc { max-width:650px; }
  .funding-cost-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .funding-important-layout { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .funding-overview-hero { grid-template-columns:1fr; align-content:end; padding:calc(var(--header-h) + 55px) 20px 55px; }
  .funding-overview-hero>p { align-self:auto; }
  .funding-overview-hero h1 { font-size:clamp(52px,15vw,76px); }
  .funding-overview-intro { padding-top:18px; }
  .funding-paths,.funding-chapter,.funding-overview-note { padding:90px 20px; }
  .funding-section-heading,.funding-overview-note { grid-template-columns:1fr; gap:28px; }
  .funding-section-heading h2,.funding-overview-note h2 { font-size:clamp(48px,13vw,70px); }
  .funding-path-grid,.funding-info-grid,.funding-cost-grid { grid-template-columns:1fr; }
  .funding-path-card { min-height:440px; padding:24px; }
  .funding-path-card h3 { font-size:clamp(42px,12.5vw,60px); }
  .funding-overview-note>div { grid-column:1; grid-template-columns:1fr; }
  .funding-detail-hero { grid-template-columns:1fr; gap:30px; padding:calc(var(--header-h) + 52px) 20px 65px; }
  .funding-detail-hero::before { width:110vw; right:-65vw; top:-44vw; border-width:85px; }
  .funding-detail-copy h1 { font-size:clamp(48px,14vw,72px); }
  .funding-detail-copy h2 { margin-top:25px; font-size:18px; }
  .funding-toc { padding:16px 18px; border-radius:20px; }
  .funding-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
  .funding-toc a { grid-template-columns:25px 1fr; padding:10px 0; font-size:12px; }
  .funding-scroll-cue { display:none; }
  .funding-section-intro { margin-left:0; }
  .funding-info-card,.funding-cost-card { min-height:270px; }
  .funding-process-list li { grid-template-columns:38px 1fr; gap:18px; }
  .funding-process-list li>p { grid-column:2; }
  .funding-tip-grid { grid-template-columns:1fr; }
  .funding-tip-card,.funding-tip-card:nth-child(2),.funding-tip-card:nth-child(3) { min-height:270px; grid-column:1; }
  .funding-important-list article { grid-template-columns:38px 1fr; gap:16px; }
  .funding-course-link { grid-template-columns:34px 1fr 24px; gap:14px; min-height:0; padding:25px 8px; }
  .funding-course-link h3 { font-size:clamp(24px,7.5vw,34px); }
  .funding-course-link p { grid-column:2/4; }
}

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

/* Company programme */
.company-page { background:var(--paper); }
.company-hero { position:relative; min-height:100svh; display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,360px); gap:clamp(40px,7vw,110px); align-items:end; padding:calc(var(--header-h) + 70px) clamp(24px,6vw,96px) clamp(80px,8vw,125px); overflow:hidden; color:white; background:var(--ink); }
.company-hero::before,.company-hero::after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.company-hero::before { width:min(46vw,680px); aspect-ratio:1; right:-10vw; top:-20vw; background:rgba(227,45,42,.92); }
.company-hero::after { width:min(34vw,500px); aspect-ratio:1; right:-12vw; top:9vw; background:rgba(170,185,180,.38); }
.company-hero-copy,.company-toc { position:relative; z-index:1; }
.company-hero-copy>p:first-child,.company-section-heading>p,.company-discounts>p,.company-assessment-card>p { margin:0; color:var(--red); font:500 10px/1.2 "Space Mono",monospace; letter-spacing:.18em; text-transform:uppercase; }
.company-hero h1 { margin:28px 0 0; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(55px,7.8vw,122px)/.84 "Manrope",sans-serif; letter-spacing:-.075em; }
.company-hero h1 span { white-space:nowrap; }
.company-hero h2 { max-width:780px; margin:clamp(28px,4vw,52px) 0 0; color:#edf1f1; font:500 clamp(23px,2.8vw,40px)/1.05 "Manrope",sans-serif; letter-spacing:-.035em; }
.company-hero-intro { max-width:680px; margin:18px 0 0; color:#cbd3d4; font-size:clamp(16px,1.5vw,22px); line-height:1.4; }
.company-toc { padding:22px; border:1px solid rgba(255,255,255,.2); border-radius:24px; background:rgba(255,255,255,.055); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 16px 44px rgba(0,0,0,.15); -webkit-backdrop-filter:blur(26px) saturate(170%); backdrop-filter:blur(26px) saturate(170%); }
.company-toc>p { margin:0 0 14px; color:#bdc6c7; font:500 8px/1 "Space Mono",monospace; letter-spacing:.16em; text-transform:uppercase; }
.company-toc ol { margin:0; padding:0; list-style:none; }.company-toc li { border-top:1px solid rgba(255,255,255,.2); }
.company-toc a { display:grid; grid-template-columns:32px 1fr; gap:9px; padding:12px 0; color:white; font:500 clamp(13px,1.1vw,16px)/1.2 "DM Sans",sans-serif; }
.company-toc a span { color:var(--red); font:500 8px/1.4 "Space Mono",monospace; }.company-toc a[aria-current="location"],.company-toc a:hover,.company-toc a:focus-visible { color:#ff5b56; }
.company-scroll-cue { position:absolute; left:clamp(24px,6vw,96px); bottom:28px; color:#b9c2c3; font:500 9px/1 "Space Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }.company-scroll-cue i { margin-left:18px; color:var(--red); font-style:normal; }
.company-chapter { padding:clamp(95px,10vw,160px) clamp(24px,6vw,96px); }
.company-section-heading { display:grid; grid-template-columns:minmax(125px,.33fr) 1fr; gap:30px; align-items:start; }
.company-section-heading h2 { margin:0; font:500 clamp(48px,7.5vw,112px)/.88 "Manrope",sans-serif; letter-spacing:-.07em; }.company-section-heading h2 em { color:var(--red); font-style:italic; }
.company-reveal { opacity:0; transform:translateY(60px); transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.2,1); }.company-reveal.is-visible { opacity:1; transform:none; }
.company-concept-lead { max-width:900px; margin:clamp(55px,8vw,110px) 0 0 auto; font:500 clamp(25px,3.4vw,50px)/1.12 "Manrope",sans-serif; letter-spacing:-.04em; }
.company-concept-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:clamp(55px,7vw,90px); }
.company-concept-card { min-height:440px; display:flex; flex-direction:column; padding:clamp(26px,4vw,54px); color:white; background:var(--red); }.company-concept-card--dark { background:var(--ink); }
.company-concept-card>span { font:500 9px/1 "Space Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }.company-concept-card h3 { max-width:650px; margin:40px 0 auto; font:500 clamp(32px,4vw,60px)/.96 "Manrope",sans-serif; letter-spacing:-.055em; }.company-concept-card p { max-width:670px; margin:40px 0 0; color:rgba(255,255,255,.78); font-size:clamp(16px,1.5vw,21px); line-height:1.5; }
.company-modules { color:white; background:var(--ink); }.company-module-note { max-width:760px; margin:clamp(50px,7vw,95px) 0 0 auto; color:#bec8c9; font-size:clamp(17px,1.6vw,23px); line-height:1.5; }
.company-module-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; gap:10px; margin-top:clamp(55px,8vw,110px); }
.company-module-card { min-width:0; min-height:610px; grid-column:span 6; display:flex; flex-direction:column; padding:clamp(24px,3vw,40px); color:var(--ink); background:white; }.company-module-card--required { grid-column:span 12; color:white; background:var(--red); }
.company-module-head { min-height:48px; display:flex; align-items:start; justify-content:space-between; gap:20px; }.company-module-head>span { font:500 clamp(32px,3.5vw,52px)/1 "Space Mono",monospace; }.company-module-head small { padding:7px 9px; color:white; background:var(--ink); font:700 8px/1 "Space Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.company-module-card h3 { max-width:720px; margin:35px 0 18px; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(30px,3.3vw,50px)/.98 "Manrope",sans-serif; letter-spacing:-.052em; }
.company-module-audience { min-height:44px; margin:0; color:var(--gray); font-size:13px; line-height:1.35; }.company-module-card--required .company-module-audience { color:rgba(255,255,255,.75); }
.company-module-card ul { margin:35px 0 45px; padding:0; list-style:none; }.company-module-card li { position:relative; padding:11px 0 11px 22px; border-top:1px solid #d9dddd; line-height:1.4; }.company-module-card li:last-child { border-bottom:1px solid #d9dddd; }.company-module-card li::before { content:"↗︎"; position:absolute; left:0; color:var(--red); }.company-module-card--required li { border-color:rgba(255,255,255,.3); }.company-module-card--required li::before { color:white; }
.company-module-price { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:auto calc(clamp(24px,3vw,40px)*-1) calc(clamp(24px,3vw,40px)*-1); background:#d8dddd; }.company-module-price p { display:flex; flex-direction:column; gap:10px; margin:0; padding:20px clamp(24px,3vw,40px); background:#f2f3f2; }.company-module-price small { color:var(--gray); font-size:9px; }.company-module-price strong { color:var(--red); font:500 clamp(28px,3vw,44px)/1 "Manrope",sans-serif; letter-spacing:-.045em; }.company-module-card--required .company-module-price { background:rgba(255,255,255,.3); }.company-module-card--required .company-module-price p { color:white; background:rgba(255,255,255,.08); }.company-module-card--required .company-module-price small,.company-module-card--required .company-module-price strong { color:white; }
.company-paths { background:#e4e7e6; }.company-learning-paths { margin-top:clamp(65px,9vw,120px); border-top:1px solid #bcc3c2; }.company-learning-path { display:grid; grid-template-columns:minmax(220px,1fr) minmax(280px,1fr) auto; gap:30px; align-items:center; padding:26px 0; border-bottom:1px solid #bcc3c2; }.company-learning-path>span { overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(28px,3.5vw,52px)/1 "Manrope",sans-serif; letter-spacing:-.045em; }.company-learning-path>p { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:0; }.company-learning-path b { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:white; background:var(--red); font:500 9px/1 "Space Mono",monospace; }.company-learning-path small { margin-left:8px; padding:8px 10px; border-radius:16px; color:white; background:var(--ink); font:600 9px/1 "Space Mono",monospace; text-transform:uppercase; }.company-learning-path>strong { color:var(--red); font:500 clamp(28px,3vw,46px)/1 "Manrope",sans-serif; white-space:nowrap; }.company-path-benefit { display:flex; justify-content:space-between; gap:35px; margin:40px 0 0; font-size:clamp(17px,1.6vw,23px); }.company-path-benefit small { color:var(--gray); text-align:right; }
.company-formats { color:white; background:var(--red); }.company-formats .company-section-heading>p { color:white; }.company-formats .company-section-heading h2 em { color:var(--ink); }.company-format-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); gap:clamp(45px,8vw,130px); margin-top:clamp(65px,9vw,120px); }.company-proof-list article { display:grid; grid-template-columns:50px 1fr; gap:22px; padding:25px 0; border-top:1px solid rgba(255,255,255,.38); }.company-proof-list article:last-child { border-bottom:1px solid rgba(255,255,255,.38); }.company-proof-list article>span { font:500 9px/1.4 "Space Mono",monospace; }.company-proof-list h3 { margin:0; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(22px,2.4vw,36px)/1.08 "Manrope",sans-serif; letter-spacing:-.04em; }
.company-discounts { align-self:start; padding:clamp(26px,3.5vw,46px); color:var(--ink); background:white; }.company-discounts>p { color:var(--red); }.company-discounts ul { margin:30px 0 18px; padding:0; list-style:none; }.company-discounts li { display:flex; justify-content:space-between; gap:20px; align-items:baseline; padding:20px 0; border-top:1px solid #cbd0cf; }.company-discounts li:last-child { border-bottom:1px solid #cbd0cf; }.company-discounts li span { font-size:clamp(16px,1.4vw,20px); }.company-discounts li b { color:var(--red); font:500 clamp(26px,2.6vw,40px)/1 "Manrope",sans-serif; white-space:nowrap; }.company-discounts>small { color:var(--gray); }
.company-assessment { color:white; background:var(--ink); }.company-assessment-layout { display:grid; grid-template-columns:1fr minmax(330px,.7fr); gap:clamp(45px,8vw,130px); align-items:start; margin-top:clamp(65px,9vw,120px); }.company-assessment-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.company-assessment-items span { padding:30px 0; border-top:1px solid rgba(255,255,255,.3); font:500 clamp(23px,2.8vw,40px)/1 "Manrope",sans-serif; }.company-assessment-items span:nth-child(odd) { padding-right:25px; }.company-assessment-items span:nth-child(even) { padding-left:25px; border-left:1px solid rgba(255,255,255,.3); }.company-assessment-items span:nth-last-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.3); }
.company-assessment-card { display:flex; flex-direction:column; padding:clamp(28px,4vw,50px); color:var(--ink); background:white; }.company-assessment-card>p { color:var(--red); }.company-assessment-card>strong { margin:45px 0 5px; color:var(--red); font:500 clamp(48px,5vw,76px)/1 "Manrope",sans-serif; letter-spacing:-.055em; }.company-assessment-card>small { color:var(--gray); }.company-assessment-card button { display:flex; justify-content:space-between; gap:24px; margin-top:40px; padding:18px 20px; border:0; color:white; background:var(--red); font:600 13px/1 "DM Sans",sans-serif; cursor:pointer; }.company-assessment-card button span { font-size:19px; }
.company-contact { background:white; }.company-contact .company-section-heading { margin-bottom:clamp(60px,8vw,110px); }.company-contact .company-section-heading h2 { margin:0; font:500 clamp(48px,7.5vw,112px)/.88 "Manrope",sans-serif; letter-spacing:-.07em; }.company-contact .company-section-heading h2 em { color:var(--red); font-style:italic; }.company-contact .contact-form { max-width:none; margin:0; }

@media (max-width: 900px) {
  .company-hero { grid-template-columns:1fr; align-content:end; }.company-toc { max-width:650px; }
  .company-module-card { grid-column:span 12; }
  .company-format-layout,.company-assessment-layout { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .company-hero { grid-template-columns:1fr; gap:30px; padding:calc(var(--header-h) + 52px) 20px 65px; }.company-hero::before { width:100vw; right:-55vw; top:-30vw; }.company-hero::after { width:80vw; right:-52vw; top:13vw; }
  .company-hero h1 { font-size:clamp(47px,13.5vw,70px); }.company-hero h1 span { white-space:normal; }.company-hero h2 { margin-top:28px; }.company-toc { padding:16px 18px; border-radius:20px; }.company-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }.company-toc a { grid-template-columns:25px 1fr; padding:10px 0; font-size:12px; }.company-scroll-cue { display:none; }
  .company-chapter { padding:90px 20px; }.company-section-heading { grid-template-columns:1fr; gap:28px; }.company-section-heading h2 { font-size:clamp(46px,12.5vw,68px); }
  .company-concept-lead { margin-left:0; }.company-concept-grid { grid-template-columns:1fr; }.company-concept-card { min-height:400px; }
  .company-module-grid { grid-template-columns:1fr; }.company-module-card { min-height:0; grid-column:1; padding:24px; }.company-module-card h3 { font-size:clamp(30px,8vw,42px); }.company-module-card ul { margin-bottom:40px; }.company-module-price { margin:0 -24px -24px; }.company-module-price p { padding:18px 16px; }.company-module-price strong { font-size:clamp(25px,7vw,34px); }
  .company-learning-path { grid-template-columns:1fr auto; gap:18px; }.company-learning-path>p { grid-column:1; grid-row:2; }.company-learning-path>strong { grid-column:2; grid-row:1/3; font-size:clamp(25px,7vw,36px); }.company-path-benefit { flex-direction:column; }.company-path-benefit small { text-align:left; }
  .company-format-layout,.company-assessment-layout { grid-template-columns:1fr; }.company-proof-list article { grid-template-columns:36px 1fr; gap:14px; }.company-assessment-items { grid-template-columns:1fr; }.company-assessment-items span,.company-assessment-items span:nth-child(odd),.company-assessment-items span:nth-child(even) { padding:23px 0; border-left:0; border-bottom:0; }.company-assessment-items span:last-child { border-bottom:1px solid rgba(255,255,255,.3); }
  .company-contact { padding:90px 20px; }
}

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

/* Blog */
.blog-page,.blog-article { background:var(--paper); }
.blog-hero { min-height:100svh; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-content:end; gap:clamp(42px,7vw,110px); padding:calc(var(--header-h) + 70px) clamp(24px,6vw,96px) clamp(70px,8vw,120px); color:white; background:var(--ink); }
.blog-hero>p,.blog-section-heading>p,.blog-article-copy>p,.blog-article-end>p { margin:0; color:var(--red); font:500 10px/1.2 "Space Mono",monospace; letter-spacing:.18em; text-transform:uppercase; }
.blog-hero>p { grid-column:1/-1; color:#aebabc; }.blog-hero h1 { margin:0; font:500 clamp(60px,8.5vw,136px)/.84 "Manrope",sans-serif; letter-spacing:-.075em; }.blog-hero h1 em,.blog-section-heading h2 em,.blog-article-end h2 em { color:var(--red); font-style:italic; }
.blog-hero>div { align-self:end; padding-top:24px; border-top:1px solid rgba(255,255,255,.28); }.blog-hero>div>span { color:#aebabc; font:500 9px/1 "Space Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }.blog-hero>div>p { max-width:520px; margin:28px 0 0; color:#edf1f1; font-size:clamp(18px,1.7vw,25px); line-height:1.35; }
.blog-index,.blog-glossary,.blog-article-end { padding:clamp(95px,10vw,160px) clamp(24px,6vw,96px); }.blog-section-heading { display:grid; grid-template-columns:minmax(125px,.33fr) 1fr; gap:30px; align-items:start; }.blog-section-heading h2 { margin:0; font:500 clamp(48px,7.7vw,116px)/.88 "Manrope",sans-serif; letter-spacing:-.07em; }
.blog-reveal { opacity:0; transform:translateY(60px); transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.2,1); }.blog-reveal.is-visible { opacity:1; transform:none; }
.blog-tile-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; grid-auto-rows:minmax(170px,14vw); gap:10px; margin-top:clamp(70px,9vw,130px); }.blog-tile { position:relative; min-width:0; min-height:430px; grid-column:span 5; grid-row:span 3; display:flex; overflow:hidden; padding:clamp(24px,3vw,42px); color:white; background:var(--ink) var(--blog-image) center/cover no-repeat; }.blog-tile--2,.blog-tile--4 { grid-column:span 7; }.blog-tile--3 { grid-column:span 7; grid-row:span 2; min-height:350px; }.blog-tile--5 { grid-row:span 2; min-height:350px; }
.blog-tile-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(12,22,24,.22),rgba(12,22,24,.9)); transition:background .3s ease; }.blog-tile:hover .blog-tile-shade,.blog-tile:focus-visible .blog-tile-shade { background:linear-gradient(180deg,rgba(228,35,31,.16),rgba(228,35,31,.92)); }.blog-tile-number,.blog-tile-arrow,.blog-tile-copy { position:relative; z-index:1; }.blog-tile-number { font:500 9px/1 "Space Mono",monospace; }.blog-tile-arrow { margin-left:auto; font-size:24px; }.blog-tile-copy { align-self:flex-end; display:flex; flex-direction:column; gap:15px; width:100%; margin-left:calc(-100% + 24px); }.blog-tile-copy small { color:#c7d0d1; font:500 9px/1.3 "Space Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.blog-tile-copy strong { max-width:850px; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(30px,4.2vw,64px)/.94 "Manrope",sans-serif; letter-spacing:-.055em; }.blog-tile-copy em { max-width:680px; color:#d8dede; font-style:normal; font-size:clamp(14px,1.3vw,19px); line-height:1.35; }
.blog-empty { margin-top:clamp(70px,9vw,130px); padding:clamp(45px,8vw,110px); color:white; background:var(--ink); }.blog-empty p { margin:0 0 20px; font:500 clamp(34px,5vw,72px)/1 "Manrope",sans-serif; letter-spacing:-.05em; }.blog-empty span { color:#aebabc; }
.blog-article-hero { position:relative; min-height:100svh; display:flex; align-items:flex-end; padding:calc(var(--header-h) + 80px) clamp(24px,6vw,96px) clamp(80px,9vw,135px); overflow:hidden; color:white; background:var(--ink) var(--blog-hero) center/cover no-repeat; }.blog-article-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,18,20,.94) 0%,rgba(9,18,20,.7) 55%,rgba(9,18,20,.28) 100%); }.blog-article-copy { position:relative; z-index:1; max-width:1200px; }.blog-article-copy h1 { margin:30px 0 0; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(52px,7.5vw,116px)/.87 "Manrope",sans-serif; letter-spacing:-.07em; }.blog-article-copy h2 { max-width:800px; margin:clamp(25px,4vw,48px) 0 0; color:#d5dcdd; font:400 clamp(20px,2vw,30px)/1.3 "DM Sans",sans-serif; }.blog-article-copy>span { display:block; margin-top:28px; color:#b7c2c3; font:500 10px/1 "Space Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }.blog-scroll-cue { position:absolute; z-index:1; right:clamp(24px,6vw,96px); bottom:35px; color:#d0d6d7; font:500 9px/1 "Space Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }.blog-scroll-cue i { margin-left:18px; color:var(--red); font-style:normal; }
.blog-chapter { min-height:100svh; display:grid; grid-template-columns:minmax(110px,.28fr) minmax(0,1fr); gap:clamp(35px,7vw,110px); align-content:center; padding:clamp(95px,10vw,160px) clamp(24px,10vw,160px); background:white; }.blog-chapter--accent { color:white; background:var(--red); }.blog-chapter-meta { display:flex; gap:18px; color:var(--red); font:500 10px/1.2 "Space Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }.blog-chapter-meta p { margin:0; }.blog-chapter--accent .blog-chapter-meta { color:white; }.blog-chapter-content { max-width:1050px; }.blog-chapter-content h2 { margin:0 0 clamp(45px,7vw,90px); overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(44px,6vw,88px)/.95 "Manrope",sans-serif; letter-spacing:-.06em; }.blog-chapter-content>p { margin:0; color:#566164; white-space:pre-line; font-size:clamp(18px,1.8vw,25px); line-height:1.65; }.blog-chapter--accent .blog-chapter-content>p { color:rgba(255,255,255,.84); }
.blog-glossary { color:white; background:var(--ink); }.blog-glossary-hint { max-width:560px; margin:50px 0 0 auto; color:#aeb9ba; font-size:clamp(16px,1.5vw,21px); }.blog-glossary-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; gap:10px; margin-top:clamp(55px,8vw,105px); }.blog-glossary-card { min-width:0; height:clamp(300px,31vw,470px); grid-column:span 4; padding:0; border:0; color:inherit; background:transparent; cursor:pointer; perspective:1200px; text-align:left; }.blog-glossary-card:nth-child(5n+2),.blog-glossary-card:nth-child(5n+4) { grid-column:span 5; }.blog-glossary-card:nth-child(5n+3),.blog-glossary-card:nth-child(5n+5) { grid-column:span 3; }.blog-glossary-inner { position:relative; width:100%; height:100%; display:block; transform-style:preserve-3d; transition:transform .75s cubic-bezier(.2,.75,.2,1); }.blog-glossary-card.is-flipped .blog-glossary-inner { transform:rotateY(180deg); }.blog-glossary-face { position:absolute; inset:0; display:flex; flex-direction:column; padding:clamp(24px,3vw,40px); backface-visibility:hidden; -webkit-backface-visibility:hidden; }.blog-glossary-front { color:white; background:var(--red); }.blog-glossary-card:nth-child(even) .blog-glossary-front { color:var(--ink); background:#dfe3e2; }.blog-glossary-back { color:var(--ink); background:white; transform:rotateY(180deg); }.blog-glossary-face small { font:500 9px/1 "Space Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }.blog-glossary-front strong { margin:auto 0; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(30px,4vw,60px)/.95 "Manrope",sans-serif; letter-spacing:-.055em; }.blog-glossary-back>span { margin:auto 0; font-size:clamp(16px,1.5vw,22px); line-height:1.45; }.blog-glossary-face i { align-self:flex-end; font-size:24px; font-style:normal; }.blog-glossary-card:focus-visible { outline:3px solid white; outline-offset:4px; }
.blog-article-end { min-height:80svh; display:grid; align-content:center; color:white; background:var(--red); }.blog-article-end>p { color:white; }.blog-article-end h2 { max-width:1100px; margin:clamp(45px,6vw,75px) 0; font:500 clamp(54px,8vw,120px)/.86 "Manrope",sans-serif; letter-spacing:-.07em; }.blog-article-end h2 em { color:var(--ink); }.blog-article-end>a { width:min(440px,100%); display:flex; justify-content:space-between; gap:28px; padding:18px 20px; color:white; background:var(--ink); font-weight:600; }
.content-related-courses { min-height:100svh; padding:clamp(95px,10vw,160px) clamp(24px,6vw,96px); color:var(--ink); background:var(--paper); }.content-related-courses .blog-section-heading h2 em { color:var(--red); font-style:italic; }.content-related-course-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:10px; margin-top:clamp(55px,8vw,105px); }.content-related-course { position:relative; min-width:0; min-height:clamp(340px,34vw,490px); display:flex; flex-direction:column; padding:clamp(25px,3vw,42px); color:white; background:var(--ink); transition:color .3s ease,background-color .3s ease; }.content-related-course:nth-child(2) { background:var(--red); }.content-related-course:nth-child(3) { color:var(--ink); background:#dfe3e2; }.content-related-course:hover,.content-related-course:focus-visible { color:white; background:var(--red); }.content-related-course:nth-child(2):hover,.content-related-course:nth-child(2):focus-visible { background:var(--ink); }.content-related-course>span { padding-right:40px; font:500 9px/1.4 "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.content-related-course h3 { margin:auto 0 24px; overflow-wrap:break-word; word-break:normal; -webkit-hyphens:none; hyphens:none; font:500 clamp(30px,3.8vw,58px)/.95 "Manrope",sans-serif; letter-spacing:-.055em; }.content-related-course p { margin:0; color:rgba(255,255,255,.7); line-height:1.45; }.content-related-course:nth-child(3) p { color:var(--gray); }.content-related-course:nth-child(3):hover p,.content-related-course:nth-child(3):focus-visible p { color:rgba(255,255,255,.78); }.content-related-course i { position:absolute; top:26px; right:28px; font-size:25px; font-style:normal; }

@media (max-width: 900px) {
  .blog-tile,.blog-tile--2,.blog-tile--3,.blog-tile--4,.blog-tile--5 { grid-column:span 6; }
  .blog-glossary-card,.blog-glossary-card:nth-child(5n+2),.blog-glossary-card:nth-child(5n+3),.blog-glossary-card:nth-child(5n+4),.blog-glossary-card:nth-child(5n+5) { grid-column:span 6; }
}

@media (max-width: 760px) {
  .blog-hero { grid-template-columns:1fr; align-content:end; padding:calc(var(--header-h) + 55px) 20px 55px; }.blog-hero>p { align-self:auto; }.blog-hero h1 { font-size:clamp(55px,16vw,80px); }.blog-hero>div { padding-top:18px; }
  .blog-index,.blog-glossary,.blog-article-end,.content-related-courses { padding:90px 20px; }.blog-section-heading { grid-template-columns:1fr; gap:28px; }.blog-section-heading h2 { font-size:clamp(46px,12.8vw,68px); }
  .blog-tile-grid { grid-template-columns:1fr; grid-auto-rows:auto; }.blog-tile,.blog-tile--2,.blog-tile--3,.blog-tile--4,.blog-tile--5 { min-height:clamp(380px,115vw,520px); grid-column:1; grid-row:auto; padding:22px; }.blog-tile-copy { margin-left:calc(-100% + 24px); }.blog-tile-copy strong { font-size:clamp(31px,9.5vw,46px); }
  .blog-article-hero { padding:calc(var(--header-h) + 65px) 20px 80px; }.blog-article-shade { background:linear-gradient(180deg,rgba(9,18,20,.48),rgba(9,18,20,.94)); }.blog-article-copy h1 { font-size:clamp(47px,13vw,70px); }.blog-scroll-cue { display:none; }
  .blog-chapter { min-height:auto; grid-template-columns:1fr; gap:40px; padding:90px 20px; }.blog-chapter-content h2 { font-size:clamp(40px,11vw,58px); }.blog-chapter-content>p { font-size:18px; }
  .blog-glossary-grid { grid-template-columns:1fr; }.blog-glossary-card,.blog-glossary-card:nth-child(5n+2),.blog-glossary-card:nth-child(5n+3),.blog-glossary-card:nth-child(5n+4),.blog-glossary-card:nth-child(5n+5) { height:350px; grid-column:1; }.blog-glossary-front strong { font-size:clamp(36px,11vw,52px); }
  .content-related-courses { min-height:auto; }.content-related-course-grid { grid-template-columns:1fr; }.content-related-course { min-height:330px; }.content-related-course h3 { font-size:clamp(34px,10vw,48px); }
}

@media (prefers-reduced-motion: reduce) {
  .blog-reveal { opacity:1; transform:none; transition:none; }.blog-glossary-inner { transition:none; }
}

/* Keep editorial copy anchored independently from the tile header. */
.blog-tile-copy {
  position:absolute;
  right:clamp(24px,3vw,42px);
  bottom:clamp(24px,3vw,42px);
  left:clamp(24px,3vw,42px);
  width:auto;
  margin-left:0;
}

.blog-glossary-back>span {
  min-height:0;
  overflow:auto;
}

@media (max-width: 760px) {
  .blog-tile-copy {
    right:22px;
    bottom:22px;
    left:22px;
    margin-left:0;
  }
}

.blog-article-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,.32fr);
  gap:clamp(40px,6vw,95px);
}

.blog-hero-toc {
  position:relative;
  z-index:1;
  max-height:min(56svh,520px);
  overflow-y:auto;
  padding:22px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.27),0 14px 40px rgba(5,12,14,.13);
  -webkit-backdrop-filter:blur(30px) saturate(190%);
  backdrop-filter:blur(30px) saturate(190%);
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.45) transparent;
}

.blog-hero-toc>p {
  margin:0 0 14px;
  color:#c6cdce;
  font:500 8px/1 "Space Mono",monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.blog-hero-toc ol { margin:0; padding:0; list-style:none; }
.blog-hero-toc li { border-top:1px solid rgba(255,255,255,.22); }
.blog-hero-toc a {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  padding:11px 0;
  color:white;
  font:500 clamp(13px,1.15vw,16px)/1.2 "DM Sans",sans-serif;
  word-break:normal;
  -webkit-hyphens:none;
  hyphens:none;
  text-shadow:0 1px 7px rgba(0,0,0,.55);
  transition:color .25s ease,padding-left .25s ease;
}

.blog-hero-toc a span {
  color:#ff3c37;
  font:500 8px/1.5 "Space Mono",monospace;
}

.blog-hero-toc a:hover,.blog-hero-toc a:focus-visible {
  padding-left:6px;
}

@media (max-width: 760px) {
  .blog-article-hero {
    grid-template-columns:1fr;
    gap:38px;
    align-content:end;
  }

  .blog-hero-toc {
    width:100%;
    max-height:38svh;
    padding:18px;
    border-radius:20px;
  }
}

/* Stories */
.stories-hero { color:var(--ink); background:#dfe3e2; }
.stories-hero>p,.stories-hero>div>span { color:#435154; }
.stories-hero>div { border-top-color:rgba(25,39,42,.3); }
.stories-hero>div>p { color:var(--ink); }
.stories-hero h1 em { color:var(--red); }
.story-gallery,.story-resources {
  min-height:100svh;
  padding:clamp(95px,10vw,160px) clamp(24px,8vw,130px);
}
.story-gallery { background:var(--paper); }
.story-gallery-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:10px;
  margin-top:clamp(55px,8vw,105px);
}
.story-gallery-item {
  position:relative;
  min-width:0;
  min-height:clamp(330px,42vw,650px);
  grid-column:span 7;
  margin:0;
  overflow:hidden;
  background:#dce1e0;
}
.story-gallery-item--2,.story-gallery-item--3 { grid-column:span 5; }
.story-gallery-item--4 { grid-column:span 7; }
.story-gallery-item img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.75,.2,1);
}
.story-gallery-item:hover img { transform:scale(1.025); }
.story-gallery-item figcaption {
  position:absolute;
  right:18px;
  bottom:18px;
  left:18px;
  padding:12px 15px;
  color:white;
  border:1px solid rgba(255,255,255,.25);
  border-radius:16px;
  background:rgba(18,31,34,.28);
  -webkit-backdrop-filter:blur(24px) saturate(165%);
  backdrop-filter:blur(24px) saturate(165%);
  font:500 10px/1.35 "Space Mono",monospace;
}
.story-resources { color:white; background:var(--ink); }
.story-resources .blog-section-heading h2 { color:white; }
.story-resources .blog-section-heading em { color:var(--red); }
.story-resource-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:clamp(55px,8vw,105px);
}
.story-resource-card {
  position:relative;
  min-height:clamp(270px,29vw,440px);
  display:flex;
  flex-direction:column;
  padding:clamp(25px,3vw,42px);
  color:var(--ink);
  background:#dfe3e2;
  transition:color .3s ease,background .3s ease;
}
.story-resource-card--download { color:white; background:var(--red); }
.story-resource-card:hover,.story-resource-card:focus-visible { color:white; background:var(--red); }
.story-resource-card--download:hover,.story-resource-card--download:focus-visible { color:var(--ink); background:white; }
.story-resource-card small {
  padding-right:45px;
  font:500 9px/1.4 "Space Mono",monospace;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.story-resource-card strong {
  max-width:760px;
  margin:auto 0;
  overflow-wrap:normal;
  word-break:normal;
  -webkit-hyphens:none;
  hyphens:none;
  font:500 clamp(32px,4.2vw,62px)/.95 "Manrope",sans-serif;
  letter-spacing:-.055em;
}
.story-resource-card>span { position:absolute; top:28px; right:30px; font-size:28px; }

@media (max-width: 760px) {
  .story-gallery,.story-resources { min-height:auto; padding:90px 20px; }
  .story-gallery-grid,.story-resource-grid { grid-template-columns:1fr; }
  .story-gallery-item,.story-gallery-item--2,.story-gallery-item--3,.story-gallery-item--4 {
    min-height:clamp(330px,110vw,520px);
    grid-column:1;
  }
  .story-resource-card { min-height:310px; }
  .story-resource-card strong { font-size:clamp(34px,10vw,48px); }
}

@media (prefers-reduced-motion: reduce) {
  .story-gallery-item img { transition:none; }
  .story-gallery-item:hover img { transform:none; }
}

/* Legal documents and global footer */
.site-footer {
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 30px;
}
.site-footer nav { display:flex; flex-wrap:wrap; gap:12px 25px; }
.site-footer a { color:#d9dede; transition:color .2s ease; }
.site-footer a:hover,.site-footer a:focus-visible { color:white; }
.legal-page,.legal-document { color:var(--ink); background:var(--paper); }
.legal-hero {
  min-height:82svh;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);
  align-content:end;
  gap:clamp(42px,7vw,110px);
  padding:calc(var(--header-h) + 75px) clamp(24px,6vw,96px) clamp(75px,9vw,135px);
  color:white;
  background:var(--ink);
}
.legal-hero>p,.legal-heading>p,.legal-document-hero>p,.legal-pending>p {
  margin:0;
  color:var(--red);
  font:500 10px/1.2 "Space Mono",monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.legal-hero>p { grid-column:1/-1; }
.legal-hero h1,.legal-document-hero h1 {
  margin:0;
  font:500 clamp(60px,9vw,140px)/.84 "Manrope",sans-serif;
  letter-spacing:-.075em;
}
.legal-hero h1 em,.legal-heading h2 em,.legal-pending h2 em { color:var(--red); font-style:italic; }
.legal-hero>span {
  align-self:end;
  padding-top:25px;
  color:#dce2e2;
  border-top:1px solid rgba(255,255,255,.28);
  font-size:clamp(18px,1.7vw,25px);
  line-height:1.4;
}
.legal-overview { min-height:100svh; padding:clamp(100px,11vw,175px) clamp(24px,6vw,96px); }
.legal-heading { display:grid; grid-template-columns:.35fr 1fr; gap:clamp(35px,6vw,100px); }
.legal-heading h2 {
  margin:0;
  font:500 clamp(48px,7vw,104px)/.91 "Manrope",sans-serif;
  letter-spacing:-.065em;
}
.legal-card-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:10px;
  margin-top:clamp(65px,9vw,120px);
}
.legal-card {
  min-height:clamp(310px,36vw,520px);
  grid-column:span 4;
  display:flex;
  flex-direction:column;
  padding:clamp(24px,3vw,42px);
  color:var(--ink);
  background:#dfe3e2;
  transition:color .3s ease,background .3s ease;
}
.legal-card--red { color:white; background:var(--red); }
.legal-card:hover,.legal-card:focus-visible { color:white; background:var(--red); }
.legal-card--red:hover,.legal-card--red:focus-visible { color:white; background:var(--ink); }
.legal-card small { font:500 9px/1 "Space Mono",monospace; }
.legal-card strong {
  margin:auto 0;
  overflow-wrap:normal;
  word-break:normal;
  -webkit-hyphens:none;
  hyphens:none;
  font:500 clamp(34px,4vw,62px)/.95 "Manrope",sans-serif;
  letter-spacing:-.055em;
}
.legal-card>span { font-size:13px; }
.legal-document-hero {
  min-height:72svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:30px;
  padding:calc(var(--header-h) + 75px) clamp(24px,8vw,130px) clamp(75px,9vw,135px);
  color:white;
  background:var(--ink);
}
.legal-document-hero>span { color:#bcc7c8; font:500 10px/1.4 "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.legal-document-layout {
  display:grid;
  grid-template-columns:minmax(210px,.3fr) minmax(0,1fr);
  gap:clamp(50px,8vw,130px);
  padding:clamp(85px,10vw,160px) clamp(24px,8vw,130px);
}
.legal-document-layout>aside { align-self:start; position:sticky; top:calc(var(--header-h) + 30px); }
.legal-document-layout>aside>p { margin:0 0 18px; color:var(--red); font:500 9px/1 "Space Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.legal-document-layout>aside nav { display:flex; flex-direction:column; border-bottom:1px solid #b8bfbe; }
.legal-document-layout>aside a { padding:13px 0; border-top:1px solid #b8bfbe; font-size:14px; line-height:1.25; }
.legal-document-layout>aside a:hover,.legal-document-layout>aside a:focus-visible { color:var(--red); }
.legal-copy { width:min(100%,980px); }
.legal-copy section { display:grid; grid-template-columns:55px minmax(0,1fr); column-gap:clamp(20px,3vw,42px); padding:0 0 clamp(75px,9vw,130px); scroll-margin-top:calc(var(--header-h) + 25px); }
.legal-copy section>span { padding-top:11px; color:var(--red); font:500 9px/1 "Space Mono",monospace; }
.legal-copy section>h2 {
  margin:0 0 clamp(35px,5vw,62px);
  overflow-wrap:normal;
  word-break:normal;
  -webkit-hyphens:none;
  hyphens:none;
  font:500 clamp(38px,5vw,70px)/.98 "Manrope",sans-serif;
  letter-spacing:-.055em;
}
.legal-copy section>p,.legal-copy section>address,.legal-copy section>dl,.legal-copy section>h3 { grid-column:2; }
.legal-copy p,.legal-copy address,.legal-copy dd { font-size:clamp(17px,1.45vw,21px); line-height:1.65; }
.legal-copy p { margin:0 0 24px; }
.legal-copy address { margin:0 0 24px; font-style:normal; }
.legal-copy a { color:var(--red); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.legal-copy dl { margin:0; }
.legal-copy dl>div { display:grid; grid-template-columns:minmax(130px,.35fr) 1fr; gap:22px; padding:18px 0; border-top:1px solid #b8bfbe; }
.legal-copy dl>div:last-child { border-bottom:1px solid #b8bfbe; }
.legal-copy dt { color:#637073; font:500 10px/1.4 "Space Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.legal-copy dd { margin:0; }
.legal-copy h3 { margin:8px 0 16px; font:600 clamp(20px,2vw,27px)/1.2 "Manrope",sans-serif; }
.legal-copy code { padding:.12em .35em; background:#e2e6e5; font:500 .82em/1.4 "Space Mono",monospace; }
.legal-pending {
  min-height:70svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(90px,11vw,170px) clamp(24px,10vw,170px);
}
.legal-pending h2 { margin:38px 0; font:500 clamp(50px,7vw,100px)/.9 "Manrope",sans-serif; letter-spacing:-.065em; }
.legal-pending>span { max-width:750px; color:#5d696b; font-size:clamp(18px,1.7vw,24px); line-height:1.5; }
.legal-pending>a { width:min(440px,100%); display:flex; justify-content:space-between; margin-top:55px; padding:18px 20px; color:white; background:var(--red); font-weight:600; }
.legal-pending>a i { font-style:normal; }
.legal-copy section>.legal-clauses,.legal-copy section>.legal-prose { grid-column:2; }
.legal-clauses {
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:legal-clause;
}
.legal-clauses>li {
  position:relative;
  padding:0 0 25px 42px;
  border-bottom:1px solid #c5cbca;
  font-size:clamp(17px,1.35vw,20px);
  line-height:1.65;
  counter-increment:legal-clause;
}
.legal-clauses>li+li { padding-top:25px; }
.legal-clauses>li::before {
  content:counter(legal-clause) ".";
  position:absolute;
  top:0;
  left:0;
  color:var(--red);
  font:500 10px/1.7 "Space Mono",monospace;
}
.legal-clauses>li+li::before { top:25px; }
.legal-clauses ul {
  margin:20px 0;
  padding:0;
  list-style:none;
  border-top:1px solid #c5cbca;
}
.legal-clauses ul li { position:relative; padding:12px 0 12px 25px; border-bottom:1px solid #c5cbca; }
.legal-clauses ul li::before { content:"—"; position:absolute; left:0; color:var(--red); }
.legal-clauses p { margin:22px 0 0; }
.legal-prose>p:last-child,.legal-prose>address:last-child { margin-bottom:0; }
.legal-document-layout--terms>aside nav {
  max-height:calc(100svh - var(--header-h) - 95px);
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#8e999a transparent;
}
.legal-copy--terms section { border-top:1px solid #b8bfbe; padding-top:clamp(34px,4vw,55px); }
.legal-copy--terms .legal-terms-company { padding-bottom:0; }
.legal-document-date { margin-top:38px !important; color:#697578; font:500 10px/1.4 "Space Mono",monospace !important; letter-spacing:.1em; text-transform:uppercase; }

@media (max-width: 900px) {
  .legal-card { grid-column:span 6; }
  .legal-card:last-child { grid-column:1/-1; }
}

@media (max-width: 760px) {
  .site-footer { align-items:flex-start; flex-direction:column; padding-block:20px; }
  .site-footer nav { gap:10px 18px; }
  .legal-hero { grid-template-columns:1fr; min-height:90svh; padding:calc(var(--header-h) + 60px) 20px 70px; }
  .legal-hero>p { grid-column:1; }.legal-hero h1 { font-size:clamp(55px,15.5vw,78px); }
  .legal-overview { padding:90px 20px; }.legal-heading { grid-template-columns:1fr; gap:30px; }
  .legal-card-grid { grid-template-columns:1fr; }.legal-card,.legal-card:last-child { min-height:300px; grid-column:1; }
  .legal-document-hero { min-height:62svh; padding:calc(var(--header-h) + 60px) 20px 65px; }.legal-document-hero h1 { font-size:clamp(55px,16vw,80px); }
  .legal-document-layout { grid-template-columns:1fr; gap:65px; padding:75px 20px; }
  .legal-document-layout>aside { position:static; }
  .legal-copy section { grid-template-columns:38px minmax(0,1fr); column-gap:14px; padding-bottom:80px; }
  .legal-copy section>h2 { font-size:clamp(34px,10vw,49px); }
  .legal-copy dl>div { grid-template-columns:1fr; gap:8px; }
  .legal-pending { padding:90px 20px; }.legal-pending h2 { font-size:clamp(48px,13vw,68px); }
  .legal-document-layout--terms>aside nav { max-height:none; overflow:visible; }
  .legal-copy--terms section { grid-template-columns:1fr; }
  .legal-copy--terms section>span,.legal-copy--terms section>h2,.legal-copy--terms section>.legal-clauses,.legal-copy--terms section>.legal-prose { grid-column:1; }
  .legal-copy--terms section>span { padding:0 0 15px; }
  .legal-copy--terms section>h2 { overflow-wrap:anywhere; }
  .legal-clauses>li { padding-left:34px; }
}
