:root {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #232629; background: #fff; font-synthesis: none;
  text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
  --ink: #232629; --muted: #62686c; --silver: #e8ebec; --line: #d8dcde;
  --gutter: clamp(24px, 5.5vw, 88px); --content: 1280px; --radius: 5px;
  --header-height: 88px; --section-space: clamp(80px, 8vw, 124px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); scrollbar-gutter: stable; }
body { margin: 0; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: default; }
h1, h2, h3, p { margin: 0; }
button svg, a svg { width: 22px; height: 22px; flex: none; }
[hidden] { display: none !important; }
::selection { background: #cbd0d3; color: #171b1e; }
:focus-visible { outline: 2px solid #596570; outline-offset: 5px; }
.container { width: min(calc(100% - var(--gutter) * 2), var(--content)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 24px; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); background: var(--ink); color: #fff; white-space: nowrap; }
.skip-link:focus { width: auto; height: auto; padding: 14px 20px; overflow: visible; clip-path: none; }
.site-header { position: fixed; z-index: 30; inset: 0 0 auto; transition: background 200ms ease, border-color 200ms ease; border-bottom: 1px solid transparent; }
.site-header.is-scrolled, .site-header:has(.menu-toggle[aria-expanded="true"]) { background: rgba(250,251,251,.94); border-color: rgba(205,210,213,.65); backdrop-filter: blur(12px); }
.nav-inner { height: var(--header-height); display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.wordmark { display: inline-flex; align-items: center; width: clamp(184px, 24vw, 256px); max-width: calc(100% - 70px); aspect-ratio: 4 / 1; min-height: 44px; font-size: 23px; font-weight: 650; letter-spacing: -1px; white-space: nowrap; transform: translateX(-12px); }
.wordmark img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(.9); transform-origin: left center; }
.nav-actions { display: flex; align-items: center; }
.menu-wrap { position: relative; }
.menu-toggle { min-width: 46px; min-height: 46px; display: flex; justify-content: flex-end; align-items: center; color: var(--ink); border: 0; background: transparent; padding: 10px 0 10px 15px; }
.menu-icon { position: relative; display: block; width: 25px; height: 20px; }
.menu-icon i { position: absolute; left: 0; top: 6px; width: 25px; height: 1px; background: currentColor; transition: transform 200ms ease; }
.menu-icon i + i { top: 13px; }
[aria-expanded="true"] .menu-icon i { transform: translateY(3.5px) rotate(45deg); }
[aria-expanded="true"] .menu-icon i + i { transform: translateY(-3.5px) rotate(-45deg); }
.site-menu { position: absolute; top: calc(100% + 20px); right: 0; width: 330px; max-height: calc(100dvh - var(--header-height) - 32px); overflow-y: auto; overscroll-behavior: contain; padding: 14px 26px; border: 1px solid #dfe2e3; border-radius: var(--radius); background: #fafbfb; box-shadow: 0 18px 50px #161e2710; }
.site-menu a { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 61px; font-size: 16px; border-bottom: 1px solid #e4e7e8; }
.site-menu a:last-child { border: 0; }
.site-menu a svg { width: 17px; opacity: .45; transition: transform 180ms ease; }
.site-menu a:hover svg { transform: translateX(3px); opacity: 1; }
.noscript-nav { display: flex; flex-wrap: wrap; gap: 16px; padding: 12px; background: #fff; }
.noscript-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.hero { position: relative; isolation: isolate; overflow: clip; min-height: min(900px, 100svh); display: grid; place-items: center; padding: calc(var(--header-height) + 85px) 0 130px; background: #eff1f2; }
.hero-art { position: absolute; z-index: -1; inset: 0; overflow: hidden; background: linear-gradient(118deg, #e2e5e7 0%, #f6f7f7 44%, #e6e9ea 100%); }
.matte-disc { position: absolute; border-radius: 50%; }
.matte-disc-left { width: 760px; aspect-ratio: 1; left: -285px; bottom: -380px; background: radial-gradient(ellipse at 69% 22%, #fcfdfdcc 0%, #e8ebed88 31%, #c2c8cbd9 71%, #e4e7e8 100%); box-shadow: inset -1px 1px 0 #ffffffc4, inset -28px -32px 70px #a1aaaf20; }
.matte-disc-left::before { content: ''; position: absolute; inset: 83px; border-radius: 50%; border: 1px solid #ffffff6e; background: linear-gradient(140deg, #ffffff38, #aab2b900); }
.matte-disc-right { width: 670px; aspect-ratio: 1; right: -150px; top: -335px; background: radial-gradient(ellipse at 27% 73%, #ffffffc9, #d6dbde8c 53%, #b8c1c666 80%); box-shadow: inset 0 -1px 0 #ffffffab, 0 50px 80px #aeb5bb14; }
.hero-rings { position: absolute; width: 100%; height: 100%; inset: 0; }
.hero-haze { position: absolute; inset: 0; background: radial-gradient(ellipse 52% 42% at 50% 47%, #f5f6f7ee 10%, #f4f6f7aa 48%, #f3f5f600 100%); }
.signal-line { position: absolute; width: 100%; height: 63%; left: 0; top: 25%; overflow: visible; }
.signal-highlight { stroke: url(#signal-tone); stroke-width: 3.8; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 180 820; stroke-dashoffset: 1000; opacity: 0; }
.motion-enabled .signal-highlight { animation: signal-travel 3.6s linear infinite; }
@keyframes signal-travel { 0% { stroke-dashoffset: 1000; opacity: 0; } 8% { opacity: 1; } 88% { opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
.hero-content { text-align: center; position: relative; }
.hero h1 { font-size: clamp(52px, 6.2vw, 90px); line-height: 1.09; letter-spacing: -.052em; font-weight: 400; }
.hero h1 span, .hero h1 strong { display: block; }
.hero h1 strong { font-weight: 550; }
.hero-content > p { font-size: 22px; line-height: 1.5; letter-spacing: -.45px; margin-top: 27px; color: #4e555a; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 31px; min-height: 56px; padding: 15px 26px; border: 1px solid var(--ink); border-radius: var(--radius); background: var(--ink); color: #fff; font-size: 14px; font-weight: 500; line-height: 1.5; transition: background-color 160ms ease, transform 160ms ease; }
.button:hover { background: #3c4246; }
.button:disabled { opacity: .55; }
.button svg { transition: transform 160ms ease; }
.button:hover:not(:disabled) svg { transform: translateX(3px); }
.hero-actions { display: grid; gap: 12px; width: max-content; max-width: 100%; margin: 36px auto 0; }
.hero-actions .button { width: 100%; }
.hero-button-secondary { background: #fff; color: var(--ink); border-color: #cbd2d6; }
.hero-button-secondary:hover { background: #f8f9fa; }
.power-section { padding-block: var(--section-space) 85px; overflow: hidden; }
.section-heading { max-width: 810px; margin-inline: auto; text-align: center; }
.section-heading h2 { font-size: clamp(37px, 4.05vw, 58px); line-height: 1.13; letter-spacing: -.045em; font-weight: 500; text-wrap: balance; }
.section-heading > p { max-width: 650px; margin: 24px auto 0; font-size: 18px; line-height: 1.65; color: var(--muted); letter-spacing: -.2px; text-wrap: pretty; }
.training-gallery { margin-top: 57px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-padding-inline: max(var(--gutter), calc((100vw - var(--content)) / 2)); }
.training-gallery::-webkit-scrollbar { display: none; }
.training-gallery:focus-visible { outline-offset: -5px; }
.training-track { display: flex; gap: 20px; width: max-content; list-style: none; padding: 0 max(var(--gutter), calc((100vw - var(--content)) / 2)); margin: 0; }
.training-card { flex: 0 0 auto; position: relative; display: flex; flex-direction: column; width: clamp(320px, 29vw, 420px); aspect-ratio: 1; padding: 26px 28px 22px; border: 1px solid #383f43; border-radius: 7px; background: radial-gradient(ellipse at 100% 0, #343a3e 0%, #22272b 47%, #1b2023 100%); color: #f3f4f5; scroll-snap-align: start; overflow: hidden; }
.card-topline { display: flex; align-items: center; justify-content: space-between; color: #a8b0b5; font-size: 11px; letter-spacing: 1.5px; }
.card-mark { width: 18px; height: 18px; border: 1px solid #737c826e; border-radius: 50%; position: relative; }
.card-mark::after { content: ''; position: absolute; inset: 5px; border-radius: 50%; background: #a7b0b578; }
.training-card h3 { max-width: 290px; font-size: clamp(21px, 2.05vw, 28px); line-height: 1.2; letter-spacing: -.75px; font-weight: 450; margin-top: 23px; }
.training-graph { display: block; width: 100%; height: auto; margin-top: auto; overflow: visible; }
.training-graph__curve { transition: filter 220ms ease; }
.training-card:hover .training-graph__curve { filter: brightness(1.2); }
.gallery-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 25px; }
.gallery-bottom > p { color: var(--muted); font-size: 12px; letter-spacing: .15px; line-height: 1.6; }
.gallery-controls { display: flex; gap: 10px; }
.icon-button { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #cbd0d3; border-radius: 50%; color: var(--ink); background: #fff; transition: background 160ms ease, opacity 160ms ease; }
.icon-button:hover:not(:disabled) { background: #eef0f1; }
.icon-button:disabled { opacity: .3; }
.previous svg { transform: rotate(180deg); }
.editorial-section { padding-block: var(--section-space) 62px; border-top: 1px solid #e8ebec; }
.insight-section .section-heading { max-width: 820px; }
.connected-section .section-heading { max-width: 760px; }
.connected-section .section-heading > p { font-size: 22px; }
.media-slot { width: min(100%, 1080px); aspect-ratio: var(--media-ratio); margin: 60px auto 0; background: linear-gradient(180deg, #fcfcfc 0%, #fefefe 65%, #fff 100%); border-radius: var(--radius); overflow: hidden; }
.media-slot.has-media { background: transparent; }
.media-slot img { display: block; width: 100%; height: 100%; object-fit: var(--media-fit); }
.stay-informed { padding-block: var(--section-space); background: #f1f3f4; border-top: 1px solid #e5e8ea; }
.signup-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 12%; }
.signup-layout .section-heading { text-align: left; margin: 0; }
.signup-layout .section-heading p { margin: 25px 0 0; max-width: 410px; }
.form-field { margin-bottom: 25px; }
.form-field label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; font-size: 14px; font-weight: 500; }
.form-field label span { color: var(--muted); font-size: 11px; font-weight: 400; }
input, select, textarea { width: 100%; border: 1px solid #bbc3c8; border-radius: var(--radius); background: #ffffffa1; color: var(--ink); padding: 16px; font-size: 16px; line-height: 1.5; }
input, select { min-height: 56px; }
textarea { resize: vertical; min-height: 98px; }
input:focus, select:focus, textarea:focus { background: #fff; }
.select-wrap { position: relative; }
select { appearance: none; padding-right: 45px; }
.select-wrap > svg { position: absolute; pointer-events: none; right: 17px; top: 19px; height: 18px; width: 18px; }
.submit-button { min-width: 219px; }
.consent { margin-top: 21px; color: var(--muted); font-size: 12px; line-height: 1.65; max-width: 460px; }
.consent a { text-decoration: underline; text-underline-offset: 3px; }
.form-status { color: #3f484e; font-size: 14px; line-height: 1.55; margin-top: 18px; }
.form-status:empty { margin: 0; }
.form-status[data-state="error"] { color: #7c3434; }
.site-footer { padding-block: 29px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; font-size: 11px; line-height: 1.6; color: var(--muted); }
.footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.footer-links a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1000px) {
  :root { --header-height: 80px; }
  .hero { min-height: min(820px, 100svh); }
  .hero h1 { font-size: clamp(47px, 7vw, 70px); }
  .matte-disc-left { left: -400px; bottom: -390px; }
  .matte-disc-right { right: -330px; top: -390px; }
  .training-card { width: 340px; padding: 25px; }
  .training-card h3 { font-size: 23px; }
  .signup-layout { gap: 7%; }
  .signup-layout .section-heading h2 { font-size: 44px; }
}
@media (max-width: 600px) {
  :root { --gutter: 24px; --header-height: 72px; --section-space: 76px; }
  .wordmark { width: 184px; font-size: 20px; letter-spacing: -.85px; }
  .site-menu { width: min(327px, calc(100vw - 48px)); padding-inline: 22px; top: calc(100% + 13px); }
  .site-menu a { min-height: 58px; font-size: 15px; }
  .hero { min-height: min(740px, 94svh); padding-block: 150px; }
  .hero h1 { font-size: clamp(29px, 8.5vw, 50px); line-height: 1.13; letter-spacing: -.045em; }
  .hero-content > p { margin-top: 24px; font-size: 18px; }
  .hero-actions { margin-top: 31px; }
  .hero-art { background: linear-gradient(125deg, #e1e5e7, #f5f6f7 49%, #e3e7e9); }
  .matte-disc-left { width: 530px; left: -330px; bottom: -260px; }
  .matte-disc-right { width: 450px; right: -280px; top: -240px; }
  .hero-rings { width: 155%; left: -28%; opacity: .65; }
  .hero-haze { background: radial-gradient(ellipse 66% 45% at 50% 48%, #f4f6f7da, #f4f6f75c 55%, transparent); }
  .signal-line { width: 180%; left: -40%; height: 52%; top: 32%; }
  .section-heading h2 { font-size: 35px; line-height: 1.16; letter-spacing: -.045em; }
  .section-heading > p { font-size: 16px; margin-top: 23px; line-height: 1.65; }
  .power-section { padding-bottom: 65px; }
  .training-gallery { margin-top: 38px; }
  .training-track { gap: 14px; }
  .training-card { width: min(80vw, 340px); padding: 22px; }
  .training-card h3 { margin-top: 21px; font-size: 22px; }
  .card-topline { font-size: 10px; }
  .gallery-bottom { margin-top: 20px; gap: 12px; }
  .gallery-bottom > p { max-width: 190px; font-size: 11px; }
  .gallery-controls { gap: 7px; }
  .icon-button { width: 44px; height: 44px; }
  .editorial-section { padding-bottom: 42px; }
  .media-slot { margin-top: 37px; }
  .connected-section .section-heading > p { font-size: 18px; }
  .signup-layout { grid-template-columns: 1fr; gap: 40px; }
  .signup-layout .section-heading h2 { font-size: 40px; }
  .signup-layout .section-heading p { margin-top: 20px; }
  .form-field { margin-bottom: 22px; }
  .submit-button { width: 100%; justify-content: space-between; }
  .site-footer { padding-block: 25px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 15px; }
  .footer-bottom > p { max-width: 300px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .signal-highlight { display: none; }
}
