@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,500;1,6..72,500&display=swap");

:root {
  --forest: #183c32;
  --forest-deep: #0d2821;
  --night: #071713;
  --lime: #b8d867;
  --signal: #d7ff3f;
  --coral: #ef7652;
  --cream: #fbf7ed;
  --paper: #f1eadc;
  --ink: #15231f;
  --muted: #66716c;
  --line: #cec8bb;
  --white: #fffdf8;
  --display: "Newsreader", Georgia, serif;
  --sans: "Manrope", "Helvetica Neue", sans-serif;
  --mono: "DM Mono", monospace;
  --shell: min(1180px, calc(100% - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; overflow-x: hidden; background: var(--cream); color: var(--ink); font-family: var(--sans); line-height: 1.7; }
img { display: block; max-width: 100%; }
a { color: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 999; top: 12px; left: 12px; padding: 10px 14px; background: var(--forest); color: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }

.site-header { position: fixed; z-index: 50; top: 0; right: 0; left: 0; color: var(--forest); transition: background .3s, box-shadow .3s, color .3s; }
.site-header.is-scrolled { background: rgb(251 247 237 / 94%); box-shadow: 0 1px 0 rgb(24 60 50 / 12%); color: var(--forest); backdrop-filter: blur(16px); }
.site-header-dark { color: var(--cream); }
.site-header-dark.is-scrolled { background: rgb(7 23 19 / 94%); color: var(--cream); }
.header-inner { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: currentColor; font-weight: 700; letter-spacing: -.035em; text-decoration: none; }
.brand-mark { width: 29px; height: auto; filter: drop-shadow(0 4px 7px rgb(24 60 50 / 12%)); }
.main-nav { display: flex; align-items: center; gap: 30px; font-size: .76rem; font-weight: 700; }
.main-nav a { text-decoration: none; }
.main-nav a:not(.nav-contact) { position: relative; }
.main-nav a:not(.nav-contact)::after { position: absolute; right: 0; bottom: -5px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s; }
.main-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.nav-contact { padding: 8px 16px; border: 1px solid currentColor; border-radius: 99px; }

.paper-grid { position: absolute; inset: 0; opacity: .36; background-image: linear-gradient(rgb(24 60 50 / 7%) 1px, transparent 1px), linear-gradient(90deg, rgb(24 60 50 / 7%) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to right, transparent, #000 30%, #000); }
.eyebrow, .section-label, .product-number, .contact-kicker, .release-badge { font: 500 .64rem var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.eyebrow { margin: 0 0 16px; color: var(--coral); }
.section-label { display: flex; align-items: center; gap: 12px; color: var(--forest); }
.section-label::after { width: 54px; height: 1px; background: currentColor; content: ""; opacity: .35; }
.section-label span { color: var(--coral); }
.section-label.light { color: var(--cream); }
.display-title { margin: 0; font: 500 clamp(3.1rem, 5.7vw, 6rem)/.98 var(--display); letter-spacing: -.055em; }
.display-title em { color: var(--coral); font-weight: 500; }
.split-heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: 70px; }
.round-link { display: inline-flex; align-items: center; gap: 20px; margin-top: 40px; padding: 12px 19px; border: 1px solid var(--forest); border-radius: 999px; font-size: .75rem; font-weight: 700; text-decoration: none; }
.round-link span { display: grid; width: 26px; height: 26px; border-radius: 50%; background: var(--forest); color: var(--cream); place-items: center; }
.round-link-light { border-color: rgb(251 247 237 / 50%); color: var(--cream); }
.round-link-light span { background: var(--signal); color: var(--night); }
.text-link { display: inline-flex; align-items: center; gap: 9px; border-bottom: 1px solid currentColor; color: var(--forest); font-size: .78rem; font-weight: 700; text-decoration: none; }
.text-link span { color: var(--coral); }

/* Home */
.lab-hero { position: relative; min-height: 800px; overflow: hidden; padding: 180px 0 120px; background: var(--cream); }
.lab-hero::after { position: absolute; right: -12vw; bottom: -38vw; width: 70vw; height: 70vw; border: 1px solid rgb(24 60 50 / 14%); border-radius: 45% 55% 62% 38%; content: ""; transform: rotate(19deg); }
.lab-hero-inner { position: relative; z-index: 2; }
.lab-hero h1 { max-width: 950px; margin: 0; font: 500 clamp(5.2rem, 11vw, 10.6rem)/.8 var(--display); letter-spacing: -.07em; }
.lab-hero h1 em { color: var(--forest); font-weight: 500; }
.lab-intro { max-width: 550px; margin: 48px 0 0 45%; color: var(--muted); font-size: 1.04rem; }
.lab-hero .round-link { margin-left: 45%; }
.orbit { position: absolute; z-index: 1; border-radius: 50%; background: var(--coral); }
.orbit-one { top: 185px; right: 9%; width: 17px; height: 17px; box-shadow: 0 0 0 14px rgb(239 118 82 / 12%); }
.orbit-two { bottom: 160px; left: 9%; width: 12px; height: 12px; background: var(--lime); box-shadow: 0 0 0 11px rgb(184 216 103 / 18%); }
.products-section { padding: 145px 0 160px; background: var(--paper); }
.product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 85px; }
.product-card { position: relative; min-height: 650px; overflow: hidden; padding: 45px; border: 1px solid var(--line); background: var(--white); }
.product-card::after { position: absolute; right: -160px; bottom: -210px; width: 430px; height: 430px; border: 1px solid rgb(24 60 50 / 10%); border-radius: 50%; content: ""; }
.product-card-flow { background: var(--forest-deep); color: var(--cream); }
.product-card-flow::after { border-color: rgb(255 255 255 / 14%); }
.product-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.product-card-top img { width: 102px; border-radius: 23px; box-shadow: 0 18px 35px rgb(7 23 19 / 18%); }
.status { padding: 7px 12px; border-radius: 999px; font: 500 .58rem var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.status-live { background: var(--lime); color: var(--forest-deep); }
.status-building { border: 1px solid rgb(251 247 237 / 25%); color: var(--signal); }
.product-number { margin-top: 80px; color: var(--coral); }
.product-card h3 { margin: 12px 0 18px; font: 500 clamp(3.8rem, 6vw, 6rem)/.9 var(--display); letter-spacing: -.055em; }
.product-card > p:not(.product-number) { max-width: 480px; color: var(--muted); }
.product-card-flow > p:not(.product-number) { color: #adc0b8; }
.product-card ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0 50px; padding: 0; list-style: none; }
.product-card li { padding: 6px 10px; border: 1px solid var(--line); border-radius: 999px; font: .62rem var(--mono); }
.product-card-flow li { border-color: rgb(251 247 237 / 18%); color: #bfd0ca; }
.card-link { position: absolute; z-index: 2; bottom: 45px; left: 45px; border-bottom: 1px solid currentColor; font-size: .78rem; font-weight: 700; text-decoration: none; }
.card-link span { color: var(--coral); }
.lab-about { padding: 150px 0; background: var(--forest); color: var(--cream); }
.about-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 70px; }
.about-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; margin-top: 55px; padding-top: 28px; border-top: 1px solid rgb(251 247 237 / 20%); }
.about-copy p { margin: 0; color: #afc0ba; font-size: .95rem; }
.home-contact { padding: 140px 0; background: var(--coral); color: var(--forest-deep); }
.contact-inner { position: relative; z-index: 2; text-align: center; }
.contact-inner h2 { margin: 0; font: 500 clamp(3.6rem, 6.2vw, 6.7rem)/.9 var(--display); letter-spacing: -.06em; }
.contact-inner h2 em { color: var(--cream); font-weight: 500; }
.contact-kicker { margin: 0 0 18px; }
.email-link { display: block; width: max-content; margin: 35px auto 0; border-bottom: 1px solid currentColor; font: 500 .72rem var(--mono); text-decoration: none; }

/* Easy MD */
.hero { position: relative; min-height: 920px; overflow: hidden; padding: 145px 0 84px; background: var(--cream); }
.hero::before { position: absolute; top: 160px; right: -130px; width: 680px; height: 680px; border: 1px solid rgb(24 60 50 / 12%); border-radius: 45% 55% 62% 38%; content: ""; transform: rotate(13deg); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 48px; }
.hero-copy { padding-top: 32px; }
.product-lockup { display: flex; align-items: center; gap: 16px; margin-bottom: 52px; }
.product-lockup img { width: 68px; border-radius: 16px; box-shadow: 0 15px 35px rgb(24 60 50 / 20%); }
.product-lockup div { display: grid; }
.product-lockup span { color: var(--muted); font: 500 .61rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.product-lockup strong { font-size: 1.18rem; letter-spacing: -.035em; }
.hero h1 { max-width: 660px; margin: 0; font: 500 clamp(4rem, 6.3vw, 6.9rem)/.87 var(--display); letter-spacing: -.065em; }
.hero h1 em { color: var(--forest); font-weight: 500; }
.hero-lead { max-width: 540px; margin: 34px 0 0; color: #4f5c57; font-size: 1.03rem; }
.hero-actions { display: flex; align-items: center; gap: 27px; margin-top: 32px; }
.store-button { display: inline-flex; min-width: 178px; align-items: center; justify-content: center; gap: 10px; padding: 10px 17px; border-radius: 10px; background: var(--forest-deep); color: #fff; font-weight: 600; text-decoration: none; box-shadow: 7px 7px 0 var(--lime); transition: transform .2s, box-shadow .2s; }
.store-button:hover { box-shadow: 10px 10px 0 var(--lime); transform: translate(-2px, -2px); }
.store-button svg { width: 27px; fill: currentColor; }
.store-button span { font-size: 1.05rem; line-height: 1.1; }
.store-button small { display: block; font-size: .58rem; font-weight: 400; }
.hero-facts { display: flex; gap: 24px; margin: 42px 0 0; padding: 0; color: var(--muted); font: 500 .62rem var(--mono); list-style: none; text-transform: uppercase; }
.hero-facts li::before { margin-right: 9px; color: var(--lime); content: "●"; }
.hero-visual { position: relative; min-height: 690px; }
.phone { position: absolute; z-index: 2; width: 292px; margin: 0; overflow: hidden; border: 8px solid #101b18; border-radius: 42px; background: #101b18; box-shadow: 0 38px 70px rgb(24 60 50 / 25%); }
.phone img { width: 100%; height: auto; border-radius: 34px; }
.phone-primary { top: 6px; right: 45px; transform: rotate(3deg); }
.phone-secondary { z-index: 1; top: 78px; left: -12px; width: 270px; opacity: .96; transform: rotate(-3deg); }
.file-tab { position: absolute; z-index: 3; padding: 11px 15px; border: 1px solid var(--forest); background: var(--cream); color: var(--forest); font: .68rem var(--mono); box-shadow: 5px 5px 0 var(--coral); }
.file-tab-one { top: 35px; left: 42px; }
.file-tab-two { right: -20px; bottom: 106px; }
.syntax-card { position: absolute; z-index: 4; bottom: 35px; left: 95px; padding: 24px 28px; background: var(--forest); color: var(--cream); font: 1rem/1.7 var(--mono); box-shadow: 9px 9px 0 var(--lime); transform: rotate(-2deg); }
.syntax-card > span:first-child { color: var(--coral); }
.cursor { margin-left: 3px; color: var(--lime); animation: blink .9s steps(1) infinite; }
.hero-strip, .flow-strip { position: absolute; z-index: 5; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; gap: 30px; padding: 16px; font: 500 .7rem var(--mono); text-transform: uppercase; }
.hero-strip { border-block: 1px solid rgb(24 60 50 / 14%); background: var(--lime); color: var(--forest); }
.hero-strip i, .flow-strip i { width: 4px; height: 4px; border-radius: 50%; background: var(--coral); }
.manifesto-section { padding: 140px 0; background: var(--forest); color: var(--cream); }
.manifesto-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 100px; }
.document-window { border: 1px solid rgb(251 247 237 / 25%); background: #123128; box-shadow: 18px 18px 0 var(--lime); }
.window-bar { display: flex; align-items: center; gap: 8px; padding: 13px 16px; border-bottom: 1px solid rgb(251 247 237 / 18%); }
.window-bar i { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.window-bar i:nth-child(2) { background: var(--lime); }
.window-bar i:nth-child(3) { background: #e8c466; }
.window-bar span { margin-left: 10px; color: #8da39b; font: .62rem var(--mono); }
.window-copy { display: grid; grid-template-columns: 32px 1fr; padding: 55px 48px 62px; }
.window-copy > span:first-child { color: var(--coral); font: 1.4rem var(--mono); }
.window-copy strong { font: 500 clamp(2rem, 3vw, 3.2rem)/1.12 var(--display); }
.window-copy .rule { grid-column: 2; width: 65px; height: 3px; margin: 32px 0; background: var(--lime); }
.window-copy small { grid-column: 2; color: #9eb1aa; font: .72rem/1.8 var(--mono); }
.manifesto-copy h2 { margin: 48px 0 25px; font: 500 clamp(3rem, 4.6vw, 5rem)/.98 var(--display); letter-spacing: -.05em; }
.manifesto-copy p { max-width: 470px; color: #b5c4bf; }
.features-section { padding: 150px 0; background: var(--paper); }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 85px; }
.feature-grid-six { grid-template-columns: repeat(3, 1fr); }
.feature-card { position: relative; min-height: 350px; overflow: hidden; padding: 35px; border: 1px solid var(--line); background: var(--white); }
.feature-card::after { position: absolute; right: -60px; bottom: -90px; width: 225px; height: 225px; border: 1px solid rgb(24 60 50 / 10%); border-radius: 50%; content: ""; }
.feature-card > span { color: var(--coral); font: 500 .63rem var(--mono); }
.feature-card > b { position: absolute; top: 29px; right: 32px; color: var(--forest); font: 500 1.75rem var(--display); }
.feature-card h3 { max-width: 390px; margin: 120px 0 12px; font: 500 2.2rem/1 var(--display); letter-spacing: -.045em; }
.feature-card p { max-width: 430px; margin: 0; color: var(--muted); font-size: .84rem; }
.feature-accent { background: var(--lime); }
.feature-dark { background: var(--forest-deep); color: var(--cream); }
.feature-dark p { color: #aebdb8; }
.feature-dark > b { color: var(--lime); }
.release-section { padding: 140px 0; background: var(--coral); color: var(--forest-deep); }
.release-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 100px; }
.release-grid .display-title { margin-top: 48px; }
.release-grid .display-title em { color: var(--cream); }
.release-notes { padding: 38px; border: 1px solid var(--forest-deep); background: var(--cream); box-shadow: 10px 10px 0 var(--forest-deep); }
.release-badge { color: var(--coral); }
.release-notes h3 { margin: 18px 0; font: 500 2.4rem var(--display); }
.release-notes ul { margin: 0; padding-left: 20px; }
.release-notes li { margin: 10px 0; color: var(--muted); font-size: .86rem; }
.screens-section { overflow: hidden; padding: 150px 0 160px; background: var(--forest-deep); color: var(--cream); }
.screens-section .display-title em { color: var(--lime); }
.screen-reel { display: flex; width: min(1220px, calc(100% - 40px)); align-items: flex-start; justify-content: center; gap: clamp(20px, 4vw, 65px); margin: 100px auto 0; }
.screen-reel figure { width: min(27vw, 310px); margin: 0; }
.screen-reel figure:nth-child(2) { margin-top: 75px; }
.screen-reel figure:nth-child(3) { margin-top: 15px; }
.screen-reel span { display: block; margin-bottom: 15px; color: var(--lime); font: .65rem var(--mono); text-transform: uppercase; }
.screen-reel img { border: 7px solid #071713; border-radius: 39px; box-shadow: 0 30px 55px rgb(0 0 0 / 35%); }
.privacy-section, .flow-privacy { padding: 150px 0; background: var(--cream); }
.privacy-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 100px; }
.privacy-grid .display-title { margin-top: 50px; }
.privacy-grid .display-title em { color: var(--forest); }
.privacy-copy { padding: 36px; border: 1px solid var(--forest); background: var(--white); box-shadow: 10px 10px 0 var(--lime); }
.privacy-copy > p { margin-top: 0; font: 500 1.4rem/1.35 var(--display); }
.privacy-copy ul { margin: 28px 0; padding: 0; list-style: none; }
.privacy-copy li { padding: 11px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.privacy-copy li::before { margin-right: 10px; color: var(--coral); content: "✓"; }
.contact-section { position: relative; overflow: hidden; padding: 130px 0; background: var(--coral); color: var(--forest-deep); }
.contact-mark { position: absolute; top: -180px; right: -20px; color: rgb(251 247 237 / 16%); font: 650 38rem/.8 var(--mono); }
.contact-icon { width: 82px; margin: 0 auto 24px; border-radius: 19px; box-shadow: 0 16px 30px rgb(24 60 50 / 18%); }
.contact-inner > p:not(.contact-kicker) { margin: 27px auto 30px; }
.contact-actions { display: flex; justify-content: center; gap: 20px; }
.store-button-light { background: var(--cream); color: var(--forest); box-shadow: 7px 7px 0 var(--forest); }
.outline-button { display: inline-flex; align-items: center; gap: 9px; padding: 13px 20px; border: 1px solid currentColor; border-radius: 10px; font-size: .78rem; font-weight: 700; text-decoration: none; }

/* Flow Squat */
.flow-hero { position: relative; min-height: 920px; overflow: hidden; padding: 145px 0 90px; background: var(--night); color: var(--cream); }
.flow-grid { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgb(215 255 63 / 10%) 1px, transparent 1px), linear-gradient(90deg, rgb(215 255 63 / 10%) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(circle at 70% 45%, #000, transparent 65%); }
.flow-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 80px; }
.product-lockup-dark span { color: #9db0a8; }
.flow-copy h1 { margin: 0; font: 500 clamp(4.6rem, 7vw, 7.5rem)/.84 var(--display); letter-spacing: -.065em; }
.flow-copy h1 em { color: var(--signal); font-weight: 500; }
.flow-copy .hero-lead { color: #aec0b9; }
.flow-facts { color: #91a79f; }
.flow-facts li::before { color: var(--signal); }
.judge-stage { position: relative; min-height: 650px; }
.camera-frame { position: absolute; top: 30px; right: 15px; width: min(100%, 480px); height: 610px; overflow: hidden; border: 1px solid rgb(215 255 63 / 55%); border-radius: 32px; background: radial-gradient(circle at 50% 38%, #254a3e, #10261f 52%, #091813); box-shadow: 0 35px 80px rgb(0 0 0 / 42%); text-align: center; }
.camera-frame::before { position: absolute; inset: 17% 16% 14%; border: 2px dashed rgb(215 255 63 / 35%); border-radius: 46% 46% 30% 30%; content: ""; }
.corner { position: absolute; z-index: 2; width: 55px; height: 55px; border-color: var(--signal); }
.corner-a { top: 22px; left: 22px; border-top: 4px solid; border-left: 4px solid; }
.corner-b { top: 22px; right: 22px; border-top: 4px solid; border-right: 4px solid; }
.corner-c { bottom: 22px; left: 22px; border-bottom: 4px solid; border-left: 4px solid; }
.corner-d { right: 22px; bottom: 22px; border-right: 4px solid; border-bottom: 4px solid; }
.camera-frame > p { position: absolute; top: 25px; left: 0; width: 100%; color: var(--signal); font: .65rem var(--mono); letter-spacing: .14em; }
.camera-frame > strong { position: absolute; bottom: 72px; left: 0; width: 100%; color: var(--cream); font: 500 7.5rem/.7 var(--display); }
.camera-frame > small { position: absolute; bottom: 28px; left: 0; width: 100%; color: #9fb3ab; font: .6rem var(--mono); letter-spacing: .12em; }
.athlete-mark { position: absolute; top: 120px; left: 50%; width: 180px; height: 280px; transform: translateX(-50%); }
.athlete-mark i { position: absolute; display: block; background: var(--signal); box-shadow: 0 0 22px rgb(215 255 63 / 35%); }
.athlete-head { top: 0; left: 72px; width: 38px; height: 38px; border-radius: 50%; }
.athlete-body { top: 42px; left: 84px; width: 12px; height: 135px; border-radius: 10px; transform: rotate(10deg); }
.athlete-leg { top: 167px; left: 82px; width: 11px; height: 115px; border-radius: 10px; transform-origin: top; }
.leg-one { transform: rotate(32deg); }
.leg-two { transform: rotate(-28deg); }
.verdict-card { position: absolute; z-index: 3; display: grid; min-width: 150px; padding: 15px 18px; font-family: var(--mono); box-shadow: 8px 8px 0 rgb(0 0 0 / 30%); }
.verdict-card span { font-size: .55rem; }
.verdict-card strong { font-size: 1.3rem; }
.verdict-valid { top: 90px; left: -20px; background: var(--signal); color: var(--night); transform: rotate(-3deg); }
.verdict-no-rep { right: -42px; bottom: 100px; background: var(--coral); color: var(--night); transform: rotate(2deg); }
.flow-strip { background: var(--signal); color: var(--night); }
.flow-strip i { background: var(--forest); }
.flow-how { padding: 150px 0; background: var(--paper); }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 85px; }
.step-card { min-height: 330px; padding: 34px; border: 1px solid var(--line); background: var(--white); }
.step-card > span { color: var(--coral); font: .65rem var(--mono); }
.step-card h3 { margin: 110px 0 12px; font: 500 2.2rem/1 var(--display); letter-spacing: -.04em; }
.step-card p { color: var(--muted); font-size: .86rem; }
.flow-feature-section { padding: 145px 0; background: var(--forest-deep); color: var(--cream); }
.flow-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.flow-feature-grid .display-title { margin-top: 48px; }
.flow-feature-grid .display-title em { color: var(--signal); }
.flow-feature-list { border-top: 1px solid rgb(251 247 237 / 18%); }
.flow-feature-list article { display: grid; grid-template-columns: 70px 1fr; gap: 25px; padding: 30px 0; border-bottom: 1px solid rgb(251 247 237 / 18%); }
.flow-feature-list article > span { color: var(--signal); font: .62rem var(--mono); }
.flow-feature-list h3 { margin: 0 0 8px; font: 500 1.65rem var(--display); }
.flow-feature-list p { margin: 0; color: #9fb3ab; font-size: .84rem; }
.flow-scope { padding: 145px 0; background: var(--coral); color: var(--night); }
.scope-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 70px; }
.scope-grid .display-title em { color: var(--cream); }
.scope-grid p { max-width: 700px; margin-top: 40px; font-size: 1rem; }
.flow-status { padding: 130px 0; background: var(--signal); color: var(--night); text-align: center; }
.status-inner > img { width: 94px; margin: 0 auto 25px; border-radius: 22px; box-shadow: 0 16px 30px rgb(7 23 19 / 20%); }
.status-inner h2 { margin: 0; font: 500 clamp(3.6rem, 6.2vw, 6.7rem)/.9 var(--display); letter-spacing: -.06em; }
.status-inner h2 em { color: var(--forest); font-weight: 500; }
.status-inner > p:not(.contact-kicker) { max-width: 550px; margin: 28px auto; }
.outline-button-light { background: var(--night); color: var(--cream); }

/* Privacy policies */
.policy-page { background: var(--cream); }
.policy-shell { width: min(760px, calc(100% - 40px)); margin-inline: auto; }
.policy-header { border-bottom: 1px solid var(--line); }
.policy-header .policy-shell { display: flex; min-height: 84px; align-items: center; justify-content: space-between; gap: 30px; }
.policy-back { font-size: .76rem; font-weight: 700; text-decoration: none; }
.policy-content { padding: 105px 0 120px; }
.policy-content h1 { margin: 0; font: 500 clamp(4rem, 9vw, 7rem)/.87 var(--display); letter-spacing: -.06em; }
.policy-content h1 em { color: var(--forest); font-weight: 500; }
.policy-date { margin: 30px 0 50px; color: var(--muted); font: .68rem var(--mono); }
.policy-lead { margin: 0 0 75px; padding: 32px; border-left: 5px solid var(--lime); background: var(--white); font: 500 1.4rem/1.45 var(--display); box-shadow: 8px 8px 0 var(--paper); }
.policy-content section { padding: 42px 0; border-top: 1px solid var(--line); }
.policy-content h2 { margin: 0 0 18px; font: 500 2rem var(--display); letter-spacing: -.025em; }
.policy-content section p { margin: 12px 0; color: #4f5c57; }
.policy-content section a { color: var(--forest); font-weight: 700; }
.policy-footer { padding: 35px 0; background: var(--forest-deep); color: var(--cream); }
.policy-footer .policy-shell { display: flex; justify-content: space-between; gap: 30px; }
.policy-footer p { margin: 0; color: #83978f; font-size: .7rem; }
.policy-footer a { font-size: .7rem; text-decoration: none; }
.policy-flow .eyebrow { color: var(--forest); }
.policy-flow .policy-lead { border-color: var(--signal); }

.site-footer { padding: 52px 0 30px; background: var(--forest-deep); color: var(--cream); }
.footer-top { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 30px; padding-bottom: 42px; border-bottom: 1px solid rgb(251 247 237 / 14%); }
.footer-top > p { margin: 0; color: #82958e; font: .6rem var(--mono); text-transform: uppercase; }
.footer-top nav { display: flex; gap: 23px; }
.footer-top nav a { color: #bdcac5; font-size: .72rem; text-decoration: none; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 25px; color: #70867e; font-size: .62rem; }
.footer-bottom p { margin: 0; }
.footer-bottom a { text-decoration: none; }

.js .reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.75,.25,1); }
.js .reveal.is-visible { opacity: 1; transform: none; }
@keyframes blink { 50% { opacity: 0; } }

@media (max-width: 1040px) {
  .hero-grid { grid-template-columns: .9fr 1.1fr; gap: 20px; }
  .phone-primary { right: 0; }
  .phone-secondary { left: -15px; }
  .file-tab-one { left: 5px; }
  .manifesto-grid, .privacy-grid, .flow-hero-grid { gap: 55px; }
  .feature-grid-six { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  :root { --shell: min(100% - 38px, 680px); }
  .lab-intro, .lab-hero .round-link { margin-left: 25%; }
  .product-grid, .hero-grid, .manifesto-grid, .privacy-grid, .release-grid, .flow-hero-grid, .flow-feature-grid { grid-template-columns: 1fr; }
  .product-card { min-height: 590px; }
  .hero { padding-top: 120px; }
  .hero-visual { min-height: 710px; margin-top: 40px; }
  .phone-primary { right: 65px; }
  .phone-secondary { left: 45px; }
  .manifesto-copy { order: -1; }
  .document-window { max-width: 590px; }
  .privacy-grid, .release-grid { gap: 60px; }
  .flow-copy { padding-top: 20px; }
  .judge-stage { min-height: 680px; }
  .camera-frame { right: 50%; transform: translateX(50%); }
  .verdict-valid { left: 5%; }
  .verdict-no-rep { right: 3%; }
  .footer-top { grid-template-columns: 1fr auto; }
  .footer-top > p { display: none; }
}

@media (max-width: 720px) {
  :root { --shell: calc(100% - 30px); }
  html { scroll-padding-top: 70px; }
  .header-inner { min-height: 70px; }
  .main-nav { gap: 12px; }
  .main-nav a:not(.nav-contact):nth-child(n+2) { display: none; }
  .nav-contact { padding: 6px 11px; }
  .lab-hero { min-height: 690px; padding: 135px 0 90px; }
  .lab-hero h1 { font-size: clamp(4.2rem, 23vw, 6.6rem); }
  .lab-intro, .lab-hero .round-link { margin-left: 0; }
  .lab-intro { margin-top: 38px; }
  .products-section, .lab-about, .flow-how, .flow-feature-section, .flow-scope { padding: 100px 0; }
  .split-heading, .about-grid, .scope-grid { grid-template-columns: 1fr; gap: 45px; }
  .product-grid { margin-top: 55px; }
  .product-card { min-height: 610px; padding: 30px; }
  .product-card-top img { width: 82px; }
  .product-number { margin-top: 65px; }
  .product-card h3 { font-size: 4rem; }
  .card-link { bottom: 32px; left: 30px; }
  .about-copy { grid-template-columns: 1fr; gap: 22px; }
  .display-title { font-size: clamp(3rem, 13vw, 4.5rem); }
  .hero { min-height: auto; padding: 105px 0 75px; }
  .product-lockup { margin-bottom: 40px; }
  .hero h1 { font-size: clamp(3.6rem, 17vw, 5.2rem); }
  .hero-lead { font-size: .95rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-facts { flex-wrap: wrap; gap: 12px 18px; }
  .hero-visual { min-height: 600px; }
  .phone { width: 235px; border-width: 6px; border-radius: 34px; }
  .phone img { border-radius: 28px; }
  .phone-primary { right: 15px; }
  .phone-secondary { top: 100px; left: 4px; width: 190px; }
  .file-tab-one { top: 5px; left: 0; }
  .file-tab-two { right: 0; bottom: 85px; }
  .syntax-card { bottom: 18px; left: 30px; padding: 18px 20px; font-size: .76rem; }
  .hero-strip, .flow-strip { gap: 12px; justify-content: space-around; padding-inline: 8px; font-size: .52rem; }
  .manifesto-section, .features-section, .screens-section, .privacy-section, .flow-privacy, .release-section { padding: 100px 0; }
  .window-copy { padding: 38px 25px 44px; }
  .window-copy strong { font-size: 2rem; }
  .feature-grid, .feature-grid-six, .steps-grid { grid-template-columns: 1fr; margin-top: 55px; }
  .feature-card, .step-card { min-height: 320px; }
  .feature-card h3, .step-card h3 { margin-top: 100px; font-size: 2rem; }
  .screen-reel { width: calc(100% - 30px); align-items: center; flex-direction: column; gap: 50px; }
  .screen-reel figure { width: min(78vw, 310px); }
  .screen-reel figure:nth-child(2), .screen-reel figure:nth-child(3) { margin-top: 0; }
  .privacy-copy, .release-notes { padding: 27px; }
  .contact-section, .home-contact, .flow-status { padding: 100px 0; }
  .contact-inner h2, .status-inner h2 { font-size: clamp(3.4rem, 15vw, 5rem); }
  .contact-actions { align-items: center; flex-direction: column; }
  .flow-hero { min-height: auto; padding: 110px 0 80px; }
  .flow-copy h1 { font-size: clamp(4rem, 18vw, 5.7rem); }
  .judge-stage { min-height: 580px; }
  .camera-frame { width: 320px; height: 500px; }
  .camera-frame > strong { font-size: 6rem; }
  .athlete-mark { top: 105px; transform: translateX(-50%) scale(.82); }
  .verdict-card { min-width: 125px; }
  .verdict-valid { left: 0; }
  .verdict-no-rep { right: 0; bottom: 55px; }
  .flow-feature-list { margin-top: 10px; }
  .policy-header .policy-shell { min-height: 72px; }
  .policy-content { padding: 75px 0 90px; }
  .policy-content h1 { font-size: clamp(3.7rem, 18vw, 5.4rem); }
  .policy-lead { padding: 25px; font-size: 1.25rem; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-top nav { flex-wrap: wrap; }
  .footer-bottom, .policy-footer .policy-shell { align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (max-width: 380px) {
  :root { --shell: calc(100% - 24px); }
  .brand { font-size: .86rem; }
  .hero-visual { min-height: 550px; }
  .phone { width: 215px; }
  .phone-secondary { width: 170px; }
  .file-tab { font-size: .55rem; }
  .syntax-card { left: 12px; }
  .camera-frame { width: 292px; }
}

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