:root {
  --bg: #050507;
  --bg-2: #0a0a0f;
  --panel: #111117;
  --panel-2: #17171f;
  --panel-3: #1d1d27;
  --text: #f7f8fb;
  --muted: #c8cad2;
  --muted-2: #8f939f;
  --line: rgba(255,255,255,.10);
  --line-strong: rgba(255,255,255,.18);
  --lime: #ff2944;
  --lime-2: #ff6538;
  --gold: #ffcf62;
  --red: #ff4460;
  --blue: #ff6b3d;
  --max: 1280px;
  --radius-sm: 12px;
  --radius: 22px;
  --radius-lg: 36px;
  --shadow: 0 26px 90px rgba(0,0,0,.45);
  --ease: cubic-bezier(.2,.75,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    radial-gradient(circle at 82% 0%, rgba(255,41,68,.055), transparent 28rem),
    radial-gradient(circle at 12% 18%, rgba(255,207,98,.035), transparent 24rem),
    var(--bg);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Inter, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.is-locked { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button { color: inherit; }
::selection { color: #050507; background: var(--lime); }

.skip-link {
  position: fixed;
  z-index: 3000;
  top: 12px;
  left: 12px;
  transform: translateY(-140%);
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--lime);
  color: #050507;
  font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }

.scroll-progress {
  position: fixed;
  z-index: 2100;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  pointer-events: none;
}
.scroll-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left;
  transform: scaleX(0);
  background: linear-gradient(90deg, var(--lime), var(--gold));
}

.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.section { padding: 128px 0; position: relative; }
.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 56px;
}
.section-head > div { max-width: 900px; }
.section-head.centered { display: block; max-width: 900px; text-align: center; margin: 0 auto 56px; }
.section-title,
.page-title,
.hero-title,
h1,h2,h3,p { margin-top: 0; }
.section-title {
  margin-bottom: 18px;
  font-size: clamp(2.5rem, 5vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.06em;
  font-weight: 830;
}
.section-lead {
  margin-bottom: 0;
  max-width: 760px;
  color: var(--muted);
  font-size: clamp(1.05rem, 1.6vw, 1.28rem);
  line-height: 1.65;
}
.centered .section-lead { margin-inline: auto; }
.eyebrow {
  margin: 0 0 18px;
  color: var(--lime);
  font-size: .76rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  font-weight: 740;
  white-space: nowrap;
}
.text-link span { color: var(--lime); transition: transform .25s var(--ease); }
.text-link:hover span { transform: translate(3px,-3px); }

.btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  line-height: 1;
  transition: transform .22s var(--ease), background .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease), box-shadow .22s var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(255,41,68,.42);
  outline-offset: 3px;
}
.btn-primary {
  color: #070907;
  background: linear-gradient(135deg, #ff5369, var(--lime));
  box-shadow: 0 15px 40px rgba(255,41,68,.15);
}
.btn-primary:hover { box-shadow: 0 18px 50px rgba(255,41,68,.23); }
.btn-quiet { border-color: var(--line-strong); background: rgba(255,255,255,.025); }
.btn-quiet:hover { border-color: rgba(255,41,68,.5); background: rgba(255,41,68,.06); }
.btn-light { color: #050507; background: #fff; }
.btn-wide { width: 100%; }
.btn-xl { min-height: 58px; padding-inline: 27px; }

/* Header */
.site-header {
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.site-header.is-scrolled {
  background: rgba(5,6,7,.80);
  border-color: var(--line);
  backdrop-filter: blur(22px) saturate(130%);
}
.header-inner {
  min-height: 82px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 1.34rem;
  font-weight: 860;
  letter-spacing: -.045em;
}
.brand-word .x { color: var(--lime); text-shadow: 0 0 28px rgba(255,41,68,.35); }
.brand-badge {
  padding: 5px 8px;
  border: 1px solid rgba(255,41,68,.35);
  border-radius: 7px;
  color: var(--lime);
  font-size: .56rem;
  font-weight: 880;
  letter-spacing: .15em;
}
.main-nav { display: flex; align-items: center; justify-content: center; gap: 30px; }
.main-nav a {
  position: relative;
  color: #c7cbc6;
  font-size: .84rem;
  font-weight: 720;
}
.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -9px;
  height: 2px;
  background: var(--lime);
  transition: right .22s var(--ease);
}
.main-nav a:hover,
.main-nav a[aria-current="page"] { color: #fff; }
.main-nav a:hover::after,
.main-nav a[aria-current="page"]::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.header-login {
  color: #c9cdc8;
  font-size: .83rem;
  font-weight: 700;
}
.header-login:hover { color: #fff; }
.menu-btn {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255,255,255,.025);
  cursor: pointer;
}
.menu-btn span { display: block; width: 18px; height: 2px; margin: 4px auto; background: #fff; }

/* Home hero */
.hero {
  position: relative;
  min-height: 940px;
  padding: 165px 0 100px;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 76% 37%, rgba(255,41,68,.145), transparent 25%),
    radial-gradient(circle at 80% 40%, rgba(255,207,98,.08), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.015), transparent 30%);
  pointer-events: none;
}
.hero-grid-bg {
  position: absolute;
  inset: 0;
  opacity: .13;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 88%);
  background-image:
    linear-gradient(rgba(255,255,255,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.13) 1px, transparent 1px);
  background-size: 78px 78px;
  transform: perspective(700px) rotateX(62deg) scale(1.8) translateY(26%);
  transform-origin: center bottom;
}
.hero-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(500px, 1.06fr);
  align-items: center;
  gap: 40px;
}
.hero-copy { position: relative; z-index: 3; max-width: 690px; }
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 32px;
  padding: 9px 13px;
  border: 1px solid rgba(255,41,68,.24);
  border-radius: 999px;
  color: #d9e4ca;
  background: rgba(255,41,68,.05);
  font-size: .66rem;
  font-weight: 840;
  letter-spacing: .16em;
}
.pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 0 0 rgba(255,41,68,.55);
  animation: pulse 2s infinite;
}
.hero-overline {
  margin-bottom: 20px;
  color: #8d948e;
  font-size: .75rem;
  font-weight: 820;
  letter-spacing: .17em;
}
.hero-title {
  margin-bottom: 27px;
  font-size: clamp(4.1rem, 6.8vw, 7.8rem);
  line-height: .88;
  letter-spacing: -.078em;
  font-weight: 880;
  text-transform: uppercase;
}
.hero-title span {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(255,255,255,.55);
  text-shadow: 0 0 70px rgba(255,41,68,.045);
}
.hero-lead {
  max-width: 650px;
  margin-bottom: 34px;
  color: #b7bcb6;
  font-size: clamp(1.08rem, 1.5vw, 1.32rem);
  line-height: 1.63;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 47px; }
.hero-proof {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-top: 1px solid var(--line);
  padding-top: 26px;
}
.hero-proof div { padding-right: 22px; }
.hero-proof div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.hero-proof strong { display: block; margin-bottom: 7px; font-size: 1.08rem; }
.hero-proof span { display: block; color: var(--muted-2); font-size: .76rem; line-height: 1.45; }

.hero-stage { position: relative; min-height: 690px; }
.stage-halo {
  position: absolute;
  width: 580px;
  height: 580px;
  border-radius: 50%;
  top: 50%; left: 54%;
  transform: translate(-50%,-50%);
  background: radial-gradient(circle, rgba(255,41,68,.17), rgba(255,41,68,.02) 44%, transparent 67%);
  filter: blur(3px);
}
.core-orbit {
  position: absolute;
  top: 50%; left: 54%;
  border: 1px solid rgba(255,41,68,.17);
  border-radius: 50%;
  transform: translate(-50%,-50%) rotateX(69deg) rotateZ(15deg);
}
.core-orbit-a { width: 610px; height: 610px; animation: orbit 16s linear infinite; }
.core-orbit-b { width: 470px; height: 470px; border-style: dashed; animation: orbitReverse 12s linear infinite; }
.super-core {
  position: absolute;
  z-index: 1;
  top: 50%; left: 55%;
  width: 300px;
  height: 300px;
  transform: translate(-50%,-50%);
  border: 1px solid rgba(255,41,68,.24);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 44%, rgba(255,41,68,.25), rgba(8,10,9,.92) 54%, rgba(5,6,7,.98) 72%);
  box-shadow: 0 0 85px rgba(255,41,68,.14), inset 0 0 70px rgba(255,41,68,.05);
}
.super-core::before,
.super-core::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.09);
}
.super-core::before { inset: 22px; }
.super-core::after { inset: 47px; border-style: dashed; animation: spin 18s linear infinite; }
.core-label { position: absolute; top: 60px; color: #b5bab4; font-size: .63rem; font-weight: 850; letter-spacing: .25em; }
.core-x {
  font-size: 8.5rem;
  line-height: 1;
  font-weight: 920;
  letter-spacing: -.15em;
  color: var(--lime);
  text-shadow: 0 0 45px rgba(255,41,68,.5);
  transform: translateX(-8px);
}
.core-status { position: absolute; bottom: 58px; color: #c9cec8; font-size: .58rem; font-weight: 820; letter-spacing: .18em; }
.core-status i { display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--lime); }

.app-phone {
  position: absolute;
  z-index: 4;
  width: 300px;
  min-height: 615px;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 42px;
  background: linear-gradient(145deg, #1d2021, #090a0b 17%, #050507 80%);
  box-shadow: 0 34px 85px rgba(0,0,0,.58), 0 0 0 7px rgba(255,255,255,.025);
  overflow: hidden;
}
.app-phone::before { content: ""; position: absolute; top: 9px; left: 50%; width: 92px; height: 22px; transform: translateX(-50%); border-radius: 20px; background: #010202; z-index: 2; }
.app-phone-main { top: 34px; left: 12%; transform: rotate(-4deg); animation: phoneFloat 6s ease-in-out infinite; }
.phone-top { display: flex; justify-content: space-between; padding: 4px 13px 18px; color: #8c928d; font-size: .58rem; }
.phone-appbar { display: flex; align-items: center; justify-content: space-between; padding: 13px 10px 18px; }
.phone-appbar small, .phone-appbar strong { display: block; }
.phone-appbar small { color: var(--muted-2); font-size: .56rem; letter-spacing: .18em; }
.phone-appbar strong { font-size: 1.15rem; }
.avatar-dot { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,41,68,.35); border-radius: 50%; color: var(--lime); background: rgba(255,41,68,.08); font-size: .65rem; font-weight: 850; }
.readiness-card,
.exercise-card,
.coach-strip { border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.028); }
.readiness-card { position: relative; min-height: 128px; padding: 17px; border-radius: 19px; }
.readiness-card small { display:block; color: var(--muted-2); font-size: .52rem; letter-spacing: .18em; }
.readiness-card strong { display:block; margin-top: 5px; font-size: 1.72rem; }
.readiness-card p { max-width: 170px; margin: 16px 0 0; color: #9ba19b; font-size: .62rem; line-height: 1.45; }
.readiness-ring { position: absolute; top: 19px; right: 17px; width: 61px; height: 61px; border-radius: 50%; display:grid; place-items:center; background: conic-gradient(var(--lime) 0 87%, rgba(255,255,255,.08) 87%); }
.readiness-ring::before { content:""; position:absolute; inset:6px; border-radius:50%; background:#0b0d0d; }
.readiness-ring span { position:relative; z-index:1; font-size:.72rem; font-weight:850; }
.exercise-card { margin-top: 11px; padding: 14px; border-radius: 19px; }
.exercise-head { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 9px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.exercise-index { display:grid; width:26px; height:26px; place-items:center; border-radius:8px; color:#050507; background:var(--lime); font-size:.55rem; font-weight:900; }
.exercise-head strong { display:block; font-size:.69rem; }
.exercise-head small { display:block; margin-top:3px; color:var(--muted-2); font-size:.52rem; }
.exercise-head button { border:0; background:transparent; color:var(--muted-2); cursor:pointer; }
.set-row { display:grid; grid-template-columns: .55fr 1fr 1fr 1fr; align-items:center; min-height:38px; text-align:center; border-bottom:1px solid rgba(255,255,255,.045); font-size:.62rem; }
.set-row-head { min-height:29px; color:var(--muted-2); font-size:.48rem; letter-spacing:.12em; }
.set-row.complete strong { color:#e8ebE5; }
.set-row.next { margin-top:8px; border:1px solid rgba(255,41,68,.22); border-radius:10px; background:rgba(255,41,68,.045); }
.set-row.next strong { color:var(--lime); }
.coach-strip { display:flex; align-items:center; gap:10px; margin-top:11px; padding:12px; border-radius:15px; }
.mini-x { display:grid; flex:0 0 auto; width:28px; height:28px; place-items:center; border-radius:9px; color:#050507; background:var(--lime); font-weight:950; }
.coach-strip small,.coach-strip strong { display:block; }
.coach-strip small { color:var(--lime); font-size:.46rem; letter-spacing:.15em; }
.coach-strip strong { margin-top:3px; font-size:.57rem; }
.phone-nav { display:flex; justify-content:space-around; padding:18px 8px 4px; color:#626862; font-size:.7rem; }
.phone-nav .active { color:var(--lime); }

.float-panel {
  position: absolute;
  z-index: 6;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 17px;
  background: rgba(12,15,14,.82);
  box-shadow: 0 18px 50px rgba(0,0,0,.38);
  backdrop-filter: blur(17px);
}
.float-panel-load { top: 92px; right: 0; width: 190px; animation: floatA 5s ease-in-out infinite; }
.float-panel-load strong { display:block; margin:9px 0 5px; color:var(--lime); font-size:2rem; }
.float-panel-load p { margin:0; color:var(--muted); font-size:.65rem; line-height:1.45; }
.float-kicker { color:#b6bcb6; font-size:.52rem; font-weight:850; letter-spacing:.14em; }
.float-kicker span { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--lime); }
.float-panel-food { bottom:88px; right:28px; width:225px; animation: floatB 6.2s ease-in-out infinite; }
.macro-line { display:flex; justify-content:space-between; font-size:.58rem; }
.macro-line span { color:var(--muted-2); letter-spacing:.12em; }
.macro-track { height:5px; margin:10px 0 9px; border-radius:10px; background:rgba(255,255,255,.08); overflow:hidden; }
.macro-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--lime),var(--gold)); }
.float-panel-food small { color:var(--muted); font-size:.59rem; }
.float-panel-pr { bottom:45px; left:0; display:flex; align-items:center; gap:11px; width:200px; animation: floatA 5.8s ease-in-out infinite reverse; }
.pr-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; color:#050507; background:var(--gold); font-weight:900; }
.float-panel-pr small,.float-panel-pr strong { display:block; }
.float-panel-pr small { color:var(--gold); font-size:.48rem; letter-spacing:.14em; }
.float-panel-pr strong { margin-top:3px; font-size:.64rem; }

.ticker { overflow:hidden; border-block:1px solid var(--line); background:#090b0b; }
.ticker-track { display:flex; width:max-content; align-items:center; gap:27px; padding:18px 0; animation:ticker 32s linear infinite; }
.ticker span { color:#a8ada7; font-size:.68rem; font-weight:850; letter-spacing:.17em; white-space:nowrap; }
.ticker i { color:var(--lime); font-style:normal; }

/* Problem */
.section-problem { background: linear-gradient(180deg,#070809,#0a0c0c); }
.split-heading { display:grid; grid-template-columns:.32fr 1fr; gap:40px; align-items:start; margin-bottom:70px; }
.split-heading h2 { max-width:980px; margin:0; font-size:clamp(2.8rem,5.2vw,6rem); line-height:.98; letter-spacing:-.06em; }
.split-heading h2 span { color:var(--muted-2); }
.problem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.problem-card { min-height:330px; padding:31px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); }
.problem-card > span { display:inline-grid; width:37px; height:37px; place-items:center; margin-bottom:95px; border:1px solid var(--line-strong); border-radius:50%; color:var(--muted); font-size:.68rem; font-weight:850; }
.problem-card h3 { margin-bottom:14px; font-size:1.45rem; letter-spacing:-.03em; }
.problem-card p { margin:0; color:var(--muted); line-height:1.65; }
.problem-card.muted { opacity:.64; }
.problem-card.active { position:relative; border-color:rgba(255,41,68,.32); background:linear-gradient(145deg,rgba(255,41,68,.095),rgba(255,255,255,.025)); box-shadow:inset 0 0 60px rgba(255,41,68,.025); }
.problem-card.active::after { content:"SUPER PT"; position:absolute; top:31px; right:31px; color:var(--lime); font-size:.57rem; font-weight:900; letter-spacing:.18em; }
.problem-card.active > span { color:#050507; border-color:var(--lime); background:var(--lime); }

/* Engine */
.engine-section { overflow:hidden; background:#050507; }
.engine-section::before { content:""; position:absolute; width:700px; height:700px; right:-250px; top:50px; border-radius:50%; background:radial-gradient(circle,rgba(255,41,68,.09),transparent 67%); }
.engine-layout { position:relative; display:grid; grid-template-columns:.78fr 1.22fr; gap:72px; align-items:center; }
.engine-copy { max-width:560px; }
.engine-tabs { display:flex; gap:7px; margin:34px 0 29px; padding:6px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.025); }
.engine-tab { flex:1; padding:12px 15px; border:0; border-radius:999px; color:var(--muted); background:transparent; font-size:.78rem; font-weight:800; cursor:pointer; }
.engine-tab.is-active { color:#050507; background:var(--lime); }
.engine-copy-panel { display:none; }
.engine-copy-panel.is-active { display:block; animation:fadeUp .35s var(--ease); }
.engine-copy-panel h3 { margin-bottom:10px; font-size:1.35rem; letter-spacing:-.03em; }
.engine-copy-panel p { margin:0; color:var(--muted); line-height:1.65; }
.engine-console { min-height:600px; padding:18px; border:1px solid rgba(255,255,255,.15); border-radius:30px; background:linear-gradient(145deg,#151919,#080a0a 30%,#080909); box-shadow:var(--shadow); }
.console-top { display:flex; justify-content:space-between; align-items:center; padding:8px 8px 22px; color:var(--muted-2); font-size:.62rem; font-weight:830; letter-spacing:.14em; }
.console-top span i { display:inline-block; width:7px; height:7px; margin-right:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 16px rgba(255,41,68,.8); }
.console-panel { display:none; min-height:530px; padding:28px; border:1px solid rgba(255,255,255,.07); border-radius:20px; background:rgba(255,255,255,.022); }
.console-panel.is-active { display:block; animation:fadeUp .38s var(--ease); }
.signal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.signal-grid div { min-height:95px; padding:16px; border:1px solid var(--line); border-radius:14px; background:rgba(0,0,0,.18); }
.signal-grid span,.signal-grid strong { display:block; }
.signal-grid span { margin-bottom:17px; color:var(--muted-2); font-size:.54rem; font-weight:820; letter-spacing:.14em; }
.signal-grid strong { font-size:1.05rem; }
.decision-flow { display:flex; align-items:center; justify-content:center; gap:14px; margin:35px 0; color:var(--muted-2); font-size:.55rem; font-weight:850; letter-spacing:.12em; }
.decision-flow b { color:#4c514d; }
.decision-flow .lit { color:#050507; padding:9px 12px; border-radius:9px; background:var(--lime); }
.decision-card { padding:24px; border:1px solid rgba(255,41,68,.22); border-radius:17px; background:linear-gradient(135deg,rgba(255,41,68,.08),rgba(255,255,255,.02)); }
.decision-card small { display:block; margin-bottom:9px; color:var(--lime); font-size:.55rem; font-weight:850; letter-spacing:.16em; }
.decision-card strong { display:block; margin-bottom:9px; font-size:1.35rem; }
.decision-card p { margin:0; color:var(--muted); line-height:1.55; }
.nutrition-console { display:grid; grid-template-columns:190px 1fr; gap:28px; align-items:center; margin:20px 0 34px; }
.calorie-ring { position:relative; width:174px; height:174px; display:grid; place-items:center; align-content:center; border-radius:50%; background:conic-gradient(var(--lime) 0 72%,rgba(255,255,255,.07) 72%); }
.calorie-ring::before { content:""; position:absolute; inset:10px; border-radius:50%; background:#0b0d0d; }
.calorie-ring span,.calorie-ring small { position:relative; z-index:1; display:block; text-align:center; }
.calorie-ring span { font-size:2rem; font-weight:850; }
.calorie-ring small { color:var(--muted-2); }
.macro-stack div { position:relative; display:grid; grid-template-columns:1fr auto; gap:8px; margin:19px 0; }
.macro-stack span { color:var(--muted); }
.macro-stack i { grid-column:1 / -1; height:7px; border-radius:20px; background:rgba(255,255,255,.07); overflow:hidden; }
.macro-stack i::before { content:""; display:block; width:var(--p); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--lime),var(--gold)); }
.coach-chat { display:flex; flex-direction:column; gap:16px; margin:8px 0 32px; }
.chat-user { align-self:flex-end; max-width:72%; padding:16px 18px; border-radius:18px 18px 4px 18px; background:#242829; color:#e5e8e3; line-height:1.5; }
.chat-ai { display:flex; gap:13px; max-width:90%; padding:18px; border:1px solid rgba(255,41,68,.19); border-radius:4px 18px 18px 18px; background:rgba(255,41,68,.045); }
.chat-ai p { margin:1px 0 0; color:#d4d8d2; line-height:1.58; }
.safety-tag { align-self:flex-start; padding:9px 11px; border:1px solid rgba(255,95,88,.35); border-radius:8px; color:#ff8984; background:rgba(255,95,88,.055); font-size:.57rem; font-weight:850; letter-spacing:.15em; }

/* Plan builder */
.builder-section { background:linear-gradient(180deg,#080a0a,#0b0e0e); }
.plan-builder { display:grid; grid-template-columns:.78fr 1.22fr; border:1px solid var(--line-strong); border-radius:30px; overflow:hidden; background:#0b0d0d; box-shadow:var(--shadow); }
.builder-controls { padding:34px; border-right:1px solid var(--line); }
.builder-controls fieldset { margin:0 0 29px; padding:0; border:0; }
.builder-controls legend { margin-bottom:13px; color:#dadeda; font-size:.8rem; font-weight:800; }
.choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.choice-grid.days { grid-template-columns:repeat(4,1fr); }
.choice-grid label { position:relative; }
.choice-grid input { position:absolute; opacity:0; pointer-events:none; }
.choice-grid span { display:grid; min-height:62px; place-items:center; padding:10px; border:1px solid var(--line); border-radius:12px; color:var(--muted); background:rgba(255,255,255,.025); text-align:center; font-size:.72rem; font-weight:750; cursor:pointer; transition:.2s var(--ease); }
.choice-grid input:checked + span { color:#050507; border-color:var(--lime); background:var(--lime); box-shadow:0 8px 26px rgba(255,41,68,.12); }
.choice-grid input:focus-visible + span { outline:3px solid rgba(255,41,68,.35); outline-offset:2px; }
.builder-output { min-height:520px; padding:38px; background:radial-gradient(circle at 85% 15%,rgba(255,41,68,.08),transparent 35%),#111414; }
.output-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; }
.output-head small,.output-head strong { display:block; }
.output-head small { margin-bottom:6px; color:var(--muted-2); font-size:.58rem; letter-spacing:.16em; }
.output-head strong { font-size:1.65rem; letter-spacing:-.035em; }
.output-badge { padding:8px 10px; border:1px solid rgba(255,41,68,.34); border-radius:999px; color:var(--lime); font-size:.56rem; font-weight:850; letter-spacing:.14em; }
.week-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.week-day { min-height:155px; padding:17px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.025); }
.week-day.active { border-color:rgba(255,41,68,.26); background:linear-gradient(145deg,rgba(255,41,68,.07),rgba(255,255,255,.018)); }
.week-day.rest { opacity:.58; }
.week-day span,.week-day strong,.week-day small { display:block; }
.week-day span { margin-bottom:35px; color:var(--muted-2); font-size:.52rem; font-weight:850; letter-spacing:.15em; }
.week-day strong { margin-bottom:7px; font-size:.78rem; }
.week-day small { color:var(--muted-2); font-size:.59rem; line-height:1.4; }
.output-reason { display:flex; gap:13px; align-items:flex-start; margin:24px 0; padding:16px; border:1px solid rgba(255,41,68,.17); border-radius:15px; background:rgba(255,41,68,.035); }
.output-reason p { margin:3px 0 0; color:#c6cbc5; font-size:.76rem; line-height:1.55; }
.output-footer { display:flex; justify-content:space-between; gap:18px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted-2); font-size:.67rem; }
.output-footer strong { color:#fff; }
.builder-output.is-updating { animation:flash .45s var(--ease); }

/* Bento */
.feature-section { background:#050507; }
.bento-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(320px,auto); gap:14px; }
.bento-card { position:relative; padding:31px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,#111414,#0a0c0c); overflow:hidden; }
.bento-card::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 100% 0%,rgba(255,41,68,.07),transparent 35%); opacity:0; transition:opacity .35s ease; }
.bento-card:hover::before { opacity:1; }
.bento-wide { grid-column:span 2; display:grid; grid-template-columns:.85fr 1.15fr; gap:25px; }
.bento-tall { grid-row:span 2; }
.card-number { display:inline-grid; width:34px; height:34px; place-items:center; margin-bottom:25px; border:1px solid var(--line-strong); border-radius:50%; color:var(--muted); font-size:.62rem; font-weight:850; }
.bento-card h3 { margin-bottom:12px; font-size:1.45rem; letter-spacing:-.04em; }
.bento-card p { margin-bottom:0; color:var(--muted); line-height:1.63; }
.bento-copy { position:relative; z-index:2; align-self:end; }
.load-visual { align-self:center; position:relative; z-index:2; padding:17px; border:1px solid var(--line); border-radius:18px; background:#080a0a; }
.load-line { display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:10px; min-height:60px; padding:0 11px; border-bottom:1px solid var(--line); }
.load-line span { color:var(--muted-2); font-size:.54rem; letter-spacing:.14em; }
.load-line b { font-size:.78rem; }
.load-line i { padding:6px 8px; border-radius:7px; font-size:.48rem; font-style:normal; font-weight:850; letter-spacing:.1em; }
.load-line i.good { color:var(--lime); background:rgba(255,41,68,.08); }
.load-line i.warn { color:var(--gold); background:rgba(255,207,98,.08); }
.load-next { display:flex; justify-content:space-between; align-items:center; padding:19px 11px 3px; color:var(--muted-2); font-size:.56rem; letter-spacing:.13em; }
.load-next strong { color:var(--lime); font-size:1.1rem; }
.photo-scan { position:relative; height:135px; margin:5px 0 27px; display:grid; place-items:center; border:1px solid var(--line); border-radius:18px; background:radial-gradient(circle,rgba(255,41,68,.09),transparent 60%); overflow:hidden; }
.scan-food { font-size:4.2rem; filter:saturate(.75); }
.photo-scan > span { position:absolute; left:10%; right:10%; top:32%; height:2px; background:var(--lime); box-shadow:0 0 16px rgba(255,41,68,.7); animation:scan 2.6s ease-in-out infinite; }
.photo-scan small { position:absolute; bottom:12px; color:var(--lime); font-size:.48rem; font-weight:850; letter-spacing:.16em; }
.identity-stack { display:flex; flex-wrap:wrap; align-content:center; gap:8px; min-height:135px; margin-bottom:27px; }
.identity-stack span { padding:10px 12px; border:1px solid rgba(255,41,68,.19); border-radius:999px; color:#d9ded6; background:rgba(255,41,68,.035); font-size:.64rem; }
.identity-stack span:nth-child(even) { border-color:var(--line); color:var(--muted); background:rgba(255,255,255,.025); }
.swap-visual { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; min-height:135px; margin-bottom:27px; }
.swap-visual div { padding:16px; border:1px solid var(--line); border-radius:14px; color:var(--muted-2); font-size:.56rem; }
.swap-visual div:last-child { border-color:rgba(255,41,68,.25); background:rgba(255,41,68,.045); }
.swap-visual small { display:block; margin-top:8px; color:#fff; font-size:.72rem; font-weight:800; }
.swap-visual b { color:var(--lime); }
.progress-visual { height:330px; display:flex; flex-direction:column; justify-content:center; margin-bottom:24px; }
.bars { height:235px; display:flex; align-items:end; gap:10px; padding:20px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.bars i { flex:1; min-height:10px; border-radius:7px 7px 2px 2px; background:linear-gradient(to top,rgba(255,41,68,.18),var(--lime)); box-shadow:0 0 18px rgba(255,41,68,.08); }
.progress-visual > span { align-self:flex-end; margin-top:9px; color:var(--muted-2); font-size:.6rem; }
.safety-visual { display:flex; align-items:center; gap:21px; align-self:center; padding:22px; border:1px solid rgba(255,95,88,.17); border-radius:18px; background:rgba(255,95,88,.035); }
.shield-x { display:grid; flex:0 0 86px; width:86px; height:96px; place-items:center; clip-path:polygon(50% 0,95% 15%,88% 72%,50% 100%,12% 72%,5% 15%); color:#160302; background:linear-gradient(145deg,#ff8b84,var(--red)); font-size:3rem; font-weight:950; }
.safety-visual small,.safety-visual strong,.safety-visual span { display:block; }
.safety-visual small { color:#ff8a84; font-size:.52rem; font-weight:850; letter-spacing:.15em; }
.safety-visual strong { margin:7px 0; font-size:1.15rem; }
.safety-visual span { color:var(--muted); font-size:.7rem; }

/* Learning */
.learn-section { background:linear-gradient(180deg,#0a0c0c,#080909); }
.learn-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; }
.learn-sticky { position:sticky; top:140px; align-self:start; }
.learn-steps { border-top:1px solid var(--line); }
.learn-step { display:grid; grid-template-columns:90px 1fr; gap:24px; padding:50px 0; border-bottom:1px solid var(--line); }
.learn-step > span { color:var(--lime); font-size:.72rem; font-weight:850; letter-spacing:.14em; }
.learn-step small { color:var(--muted-2); font-size:.58rem; font-weight:850; letter-spacing:.16em; }
.learn-step h3 { margin:8px 0 12px; font-size:2rem; letter-spacing:-.045em; }
.learn-step p { margin:0; max-width:680px; color:var(--muted); line-height:1.65; }

/* Founder */
.founder-section { background:#050507; }
.founder-card { display:grid; grid-template-columns:150px 1.2fr .8fr; gap:42px; align-items:center; padding:52px; border:1px solid var(--line); border-radius:30px; background:radial-gradient(circle at 0 50%,rgba(255,41,68,.08),transparent 30%),#0d1010; }
.founder-mark { position:relative; width:130px; height:160px; display:grid; place-items:center; border:1px solid rgba(255,41,68,.22); border-radius:50% 50% 36% 36%; background:linear-gradient(145deg,rgba(255,41,68,.12),rgba(255,255,255,.02)); overflow:hidden; }
.founder-mark::before { content:""; position:absolute; width:72px; height:72px; top:18px; border-radius:50%; background:#1b2020; }
.founder-mark::after { content:""; position:absolute; width:115px; height:80px; bottom:-10px; border-radius:60px 60px 0 0; background:#171b1b; }
.founder-mark span { position:relative; z-index:2; margin-top:18px; color:var(--lime); font-size:.75rem; font-weight:900; letter-spacing:.15em; }
.founder-mark i { position:absolute; z-index:2; bottom:28px; width:30px; height:20px; clip-path:polygon(50% 100%,0 0,100% 0); background:var(--lime); }
.founder-copy h2 { margin-bottom:17px; font-size:clamp(2rem,3.5vw,3.7rem); letter-spacing:-.055em; }
.founder-copy p { color:var(--muted); line-height:1.65; }
.founder-sign { margin-bottom:0!important; color:#e4e7e1!important; font-weight:730; }
.founder-quote { padding-left:34px; border-left:1px solid rgba(255,41,68,.3); color:#d9ddd8; font-size:1.2rem; line-height:1.65; font-style:italic; }

/* Pricing */
.pricing-section { background:linear-gradient(180deg,#080a0a,#0c0f0f); }
.pricing-wrap { display:grid; grid-template-columns:1fr 520px; gap:80px; align-items:center; }
.pricing-copy { max-width:620px; }
.legal-mini { display:flex; gap:13px; margin-top:30px; padding:17px; border:1px solid rgba(255,207,98,.18); border-radius:14px; background:rgba(255,207,98,.035); }
.legal-mini span { color:var(--gold); font-weight:900; }
.legal-mini p { margin:0; color:#b5b8b1; font-size:.76rem; line-height:1.5; }
.price-card { padding:34px; border:1px solid rgba(255,41,68,.27); border-radius:28px; background:radial-gradient(circle at 100% 0%,rgba(255,41,68,.14),transparent 37%),linear-gradient(145deg,#151919,#0a0c0c); box-shadow:0 30px 90px rgba(0,0,0,.46); }
.price-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:33px; font-size:.66rem; font-weight:850; letter-spacing:.15em; }
.price-badge { padding:8px 10px; border-radius:999px; color:#050507; background:var(--lime); font-size:.52rem; }
.price { display:flex; align-items:end; gap:13px; margin-bottom:21px; }
.price > strong { font-size:6.4rem; line-height:.78; letter-spacing:-.09em; }
.price div span,.price div small { display:block; }
.price div span { font-size:1.25rem; font-weight:850; }
.price div small { margin-top:5px; color:var(--muted-2); }
.price-card > p { color:var(--muted); line-height:1.6; }
.price-card ul { display:grid; gap:12px; margin:26px 0 30px; padding:23px 0; border-block:1px solid var(--line); list-style:none; }
.price-card li { position:relative; padding-left:27px; color:#d9ddd7; }
.price-card li::before { content:"✓"; position:absolute; left:0; color:var(--lime); font-weight:900; }
.price-note { display:block; margin-top:14px; color:var(--muted-2); text-align:center; }

/* FAQ */
.faq-section { background:#050507; }
.faq-layout { display:grid; grid-template-columns:.52fr 1fr; gap:85px; align-items:start; }
.faq-intro { position:sticky; top:130px; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:27px 0; border:0; background:transparent; text-align:left; cursor:pointer; font-size:1.15rem; font-weight:770; }
.faq-item button i { color:var(--lime); font-size:1.3rem; font-style:normal; font-weight:400; transition:transform .25s var(--ease); }
.faq-item > div { display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s var(--ease); }
.faq-item > div > p { min-height:0; overflow:hidden; margin:0; color:var(--muted); line-height:1.65; }
.faq-item.is-open > div { grid-template-rows:1fr; }
.faq-item.is-open > div > p { padding-bottom:28px; }
.faq-item.is-open button i { transform:rotate(45deg); }

.final-cta { position:relative; min-height:720px; display:grid; place-items:center; overflow:hidden; background:var(--lime); color:#050507; }
.final-noise { position:absolute; inset:-20%; opacity:.18; background-image:radial-gradient(#050507 1px,transparent 1px); background-size:6px 6px; transform:rotate(4deg); }
.final-cta::after { content:"X"; position:absolute; right:-4vw; bottom:-23vw; color:rgba(5,6,7,.08); font-size:55vw; line-height:1; font-weight:950; letter-spacing:-.18em; }
.final-cta-inner { position:relative; z-index:2; }
.final-kicker { display:block; margin-bottom:24px; font-size:.78rem; font-weight:900; letter-spacing:.2em; }
.final-cta h2 { max-width:1100px; margin-bottom:35px; font-size:clamp(4rem,8.5vw,9.7rem); line-height:.82; letter-spacing:-.085em; text-transform:uppercase; }
.final-cta h2 span { color:rgba(5,6,7,.48); }

/* Inner page heroes */
.page-hero { position:relative; padding:190px 0 110px; overflow:hidden; }
.page-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 30%,rgba(255,41,68,.11),transparent 34%); }
.page-hero .container { position:relative; }
.compact-hero { min-height:620px; display:flex; align-items:end; }
.page-title { max-width:1100px; margin-bottom:26px; font-size:clamp(3.8rem,7.6vw,8.2rem); line-height:.9; letter-spacing:-.075em; text-transform:uppercase; }
.page-title span { color:transparent; -webkit-text-stroke:1.3px rgba(255,255,255,.55); }
.page-lead { max-width:780px; margin:0; color:var(--muted); font-size:1.22rem; line-height:1.65; }

/* Feature details */
.feature-detail-grid { display:grid; gap:100px; }
.feature-detail { display:grid; grid-template-columns:50px 1fr 1fr; gap:35px; align-items:center; }
.feature-detail.reverse { grid-template-columns:50px 1fr 1fr; }
.feature-detail.reverse > span { order:1; }
.feature-detail.reverse > div:nth-child(2) { order:3; }
.feature-detail.reverse > div:nth-child(3) { order:2; }
.feature-detail > span { align-self:start; display:grid; width:40px; height:40px; place-items:center; border:1px solid var(--line-strong); border-radius:50%; color:var(--lime); font-size:.65rem; font-weight:850; }
.feature-detail h2 { margin-bottom:19px; font-size:clamp(2.4rem,4.5vw,4.8rem); line-height:.98; letter-spacing:-.058em; }
.feature-detail p { color:var(--muted); line-height:1.67; }
.plain-check { display:grid; gap:10px; margin:23px 0 0; padding:0; list-style:none; }
.plain-check li { position:relative; padding-left:24px; color:#d6d9d4; }
.plain-check li::before { content:"↳"; position:absolute; left:0; color:var(--lime); }
.detail-visual { min-height:440px; padding:28px; border:1px solid var(--line); border-radius:28px; background:radial-gradient(circle at 100% 0%,rgba(255,41,68,.08),transparent 35%),#0d1010; box-shadow:0 24px 80px rgba(0,0,0,.28); }
.program-visual { display:grid; gap:10px; align-content:center; }
.program-day { display:grid; grid-template-columns:55px 1fr auto; align-items:center; min-height:72px; padding:15px 18px; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.02); }
.program-day span { color:var(--muted-2); font-size:.58rem; font-weight:850; letter-spacing:.12em; }
.program-day small { color:var(--muted-2); }
.program-day.active { border-color:rgba(255,41,68,.3); background:rgba(255,41,68,.045); }
.program-day.active strong { color:var(--lime); }
.program-day.rest { opacity:.5; }
.set-engine-visual { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:10px; }
.set-engine-visual div { min-height:160px; display:flex; flex-direction:column; justify-content:center; padding:18px; border:1px solid var(--line); border-radius:16px; }
.set-engine-visual div.lit { border-color:rgba(255,41,68,.3); background:rgba(255,41,68,.055); }
.set-engine-visual small { margin-bottom:12px; color:var(--muted-2); font-size:.55rem; letter-spacing:.14em; }
.set-engine-visual strong { font-size:1rem; }
.set-engine-visual b { color:var(--lime); }
.identity-visual { position:relative; display:grid; place-items:center; }
.identity-core { display:grid; width:180px; height:180px; place-items:center; border:1px solid rgba(255,41,68,.35); border-radius:50%; color:var(--lime); background:rgba(255,41,68,.045); font-size:1.3rem; font-weight:850; box-shadow:0 0 70px rgba(255,41,68,.08); }
.identity-visual span { position:absolute; padding:9px 12px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#111414; font-size:.65rem; }
.identity-visual span:nth-of-type(1){top:38px;left:40px}.identity-visual span:nth-of-type(2){top:50px;right:25px}.identity-visual span:nth-of-type(3){bottom:72px;left:20px}.identity-visual span:nth-of-type(4){bottom:42px;right:55px}.identity-visual span:nth-of-type(5){top:50%;right:4px}
.food-visual { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:center; }
.food-photo { position:relative; min-height:300px; display:grid; place-items:center; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.025); font-size:7rem; overflow:hidden; }
.scan-line { position:absolute; left:8%; right:8%; top:15%; height:2px; background:var(--lime); box-shadow:0 0 20px rgba(255,41,68,.8); animation:scan 2.8s ease-in-out infinite; }
.food-result { display:grid; gap:13px; }
.food-result small { color:var(--lime); font-size:.56rem; font-weight:850; letter-spacing:.14em; }
.food-result strong { font-size:2.5rem; }
.food-result span { padding-bottom:9px; border-bottom:1px solid var(--line); color:var(--muted); }
.food-result em { color:var(--gold); font-size:.68rem; font-style:normal; }
.coach-visual { display:flex; flex-direction:column; justify-content:center; gap:17px; }
.chart-visual { display:flex; flex-direction:column; justify-content:center; color:var(--lime); }
.chart-visual svg { width:100%; }
.chart-visual > div { display:flex; justify-content:space-between; align-items:center; color:var(--muted-2); }
.chart-visual strong { color:var(--lime); font-size:1.5rem; }
.inline-cta { padding:80px 0; border-block:1px solid var(--line); background:#0c0f0f; }
.inline-cta .container { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.inline-cta h2 { margin:0; font-size:clamp(2rem,4vw,4rem); letter-spacing:-.055em; }

/* Pricing page */
.pricing-page-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:55px; align-items:start; }
.price-card-large { padding:44px; }
.price-columns { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.pricing-legal { padding:36px; border:1px solid var(--line); border-radius:25px; background:#0d1010; }
.pricing-legal h2 { margin-bottom:30px; font-size:2.4rem; letter-spacing:-.05em; }
.legal-point { display:grid; grid-template-columns:40px 1fr; gap:15px; padding:20px 0; border-top:1px solid var(--line); }
.legal-point > span { display:grid; width:31px; height:31px; place-items:center; border-radius:50%; color:var(--lime); background:rgba(255,41,68,.08); font-size:.58rem; font-weight:850; }
.legal-point strong { display:block; margin-bottom:5px; }
.legal-point p { margin:0; color:var(--muted); font-size:.83rem; line-height:1.55; }
.comparison-section { background:#0a0c0c; }
.comparison-grid { border:1px solid var(--line); border-radius:24px; overflow:hidden; }
.comparison-grid > div { display:grid; grid-template-columns:1.2fr 1fr 1fr; min-height:68px; align-items:center; border-bottom:1px solid var(--line); }
.comparison-grid > div:last-child { border-bottom:0; }
.comparison-grid span,.comparison-grid i,.comparison-grid b,.comparison-grid strong { padding:18px 24px; }
.comparison-grid i { color:var(--muted-2); font-style:normal; }
.comparison-grid b { color:var(--lime); }
.comparison-head { background:rgba(255,255,255,.035); font-size:.72rem; letter-spacing:.08em; }

/* About */
.about-hero { min-height:800px; display:flex; align-items:end; }
.manifesto-grid { display:grid; grid-template-columns:.3fr 1fr; gap:50px; }
.manifesto-number { color:transparent; -webkit-text-stroke:1px rgba(255,41,68,.3); font-size:12rem; line-height:.8; font-weight:850; letter-spacing:-.1em; }
.manifesto-copy { max-width:850px; }
.manifesto-copy h2 { font-size:clamp(3rem,6vw,6.5rem); line-height:.94; letter-spacing:-.07em; }
.manifesto-copy p { color:var(--muted); font-size:1.17rem; line-height:1.72; }
.dark-panel-section { background:#0a0c0c; }
.value-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.value-card { min-height:300px; padding:34px; border:1px solid var(--line); border-radius:24px; background:#0f1212; }
.value-card > span { color:var(--lime); font-size:.65rem; font-weight:850; letter-spacing:.15em; }
.value-card h3 { margin:100px 0 13px; font-size:1.8rem; letter-spacing:-.04em; }
.value-card p { margin:0; color:var(--muted); line-height:1.65; }
.founder-profile { display:grid; grid-template-columns:220px 1fr .7fr; gap:50px; align-items:center; }
.founder-profile-mark { width:190px; height:250px; display:grid; place-items:center; border:1px solid rgba(255,41,68,.27); border-radius:90px 90px 28px 28px; background:linear-gradient(145deg,rgba(255,41,68,.12),#0d1010); font-size:4rem; font-weight:850; }
.founder-profile-mark span:first-child { transform:translate(21px,20px); color:var(--lime); }
.founder-profile-mark span:last-child { transform:translate(-21px,-20px); color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.55); }
.founder-profile h2 { margin-bottom:4px; font-size:4rem; letter-spacing:-.065em; }
.founder-profile h3 { margin-bottom:20px; color:var(--muted); font-size:1.1rem; font-weight:650; line-height:1.5; }
.founder-profile p { color:var(--muted); line-height:1.65; }
.founder-profile blockquote { margin:0; padding-left:28px; border-left:1px solid rgba(255,41,68,.35); color:#d9ddd7; font-size:1.25rem; line-height:1.65; font-style:italic; }

/* Contact */
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.contact-cards { display:grid; gap:13px; }
.contact-cards article { padding:27px; border:1px solid var(--line); border-radius:18px; background:#0d1010; }
.contact-cards span { color:var(--lime); font-size:.56rem; font-weight:850; letter-spacing:.16em; }
.contact-cards h2 { margin:13px 0 11px; font-size:1.2rem; }
.contact-cards p { margin:0; color:var(--muted); word-break:break-word; }
.contact-form { display:grid; gap:18px; padding:35px; border:1px solid var(--line); border-radius:25px; background:#0d1010; }
.contact-form label:not(.check-line) { display:grid; gap:8px; color:#d9ddd7; font-size:.74rem; font-weight:750; }
.contact-form input,.contact-form textarea,.contact-form select {
  width:100%;
  border:1px solid var(--line-strong);
  border-radius:12px;
  padding:14px 15px;
  color:#fff;
  background:#080a0a;
}
.contact-form textarea { resize:vertical; }
.check-line { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:.72rem; line-height:1.5; }
.check-line input { margin-top:3px; accent-color:var(--lime); }
.form-note { margin:0; color:var(--muted-2); font-size:.69rem; line-height:1.5; }

/* Legal pages */
.legal-page { background:#f3f2ec; color:#111413; }
.legal-page .site-header.is-scrolled { background:rgba(243,242,236,.92); border-color:rgba(0,0,0,.1); }
.legal-page .site-header.is-scrolled .brand,
.legal-page .site-header.is-scrolled .main-nav a,
.legal-page .site-header.is-scrolled .header-login { color:#111413; }
.legal-page .site-header.is-scrolled .menu-btn span { background:#111413; }
.legal-hero { padding:185px 0 80px; color:#f7f8f4; background:#070909; }
.legal-hero h1 { max-width:900px; margin-bottom:20px; font-size:clamp(3.4rem,7vw,7.5rem); line-height:.92; letter-spacing:-.075em; }
.legal-hero > .container > p:not(.eyebrow) { max-width:760px; color:#b4bab3; font-size:1.18rem; line-height:1.62; }
.legal-meta { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.legal-meta span { padding:9px 12px; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:#bfc4bd; font-size:.68rem; }
.legal-meta b { color:var(--lime); }
.legal-section { padding:80px 0 130px; }
.legal-layout { display:grid; grid-template-columns:245px minmax(0,840px); gap:75px; align-items:start; }
.legal-toc { position:sticky; top:120px; display:grid; gap:8px; padding:20px; border:1px solid rgba(0,0,0,.1); border-radius:16px; background:#ecebe5; }
.legal-toc strong { margin-bottom:8px; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }
.legal-toc a { padding:7px 8px; border-radius:7px; color:#5f645f; font-size:.73rem; line-height:1.3; }
.legal-toc a:hover { color:#111413; background:rgba(0,0,0,.05); }
.legal-toc .toc-back { margin-top:8px; border-top:1px solid rgba(0,0,0,.1); padding-top:14px; color:#2a312b; font-weight:750; }
.legal-document { font-size:1rem; line-height:1.78; }
.legal-document h2 { scroll-margin-top:120px; margin:62px 0 17px; font-size:2rem; line-height:1.15; letter-spacing:-.035em; }
.legal-document h2:first-of-type { margin-top:42px; }
.legal-document p { color:#343936; }
.legal-document a { color:#c91937; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.legal-document ul { display:grid; gap:9px; padding-left:22px; color:#343936; }
.draft-notice { padding:22px; border:1px solid #b38420; border-radius:13px; background:#fff6df; }
.draft-notice strong { display:block; margin-bottom:7px; color:#684800; font-size:.68rem; letter-spacing:.14em; }
.draft-notice p { margin:0; color:#5c4a22; }
.legal-table { margin:28px 0; border:1px solid rgba(0,0,0,.12); border-radius:13px; overflow:hidden; }
.legal-row { display:grid; grid-template-columns:1.1fr 1.2fr 1.7fr; }
.legal-row > span { padding:13px 15px; border-right:1px solid rgba(0,0,0,.1); border-bottom:1px solid rgba(0,0,0,.1); color:#343936; font-size:.78rem; line-height:1.45; }
.legal-row > span:last-child { border-right:0; }
.legal-row:last-child > span { border-bottom:0; }
.legal-row-head { background:#dfe2d9; font-weight:800; }
.processor-table .legal-row { grid-template-columns:1.2fr 1.2fr 1.3fr; }
.legal-page .legal-row:not(.legal-row-head) > span { color:var(--muted,#c8cad2); }
.legal-page .legal-row-head > span { color:#343936; }

/* Footer */
.site-footer { border-top:1px solid var(--line); background:#050507; }
.footer-main { display:grid; grid-template-columns:1.2fr repeat(3,.75fr); gap:50px; padding:75px 0 55px; }
.footer-brand p { max-width:400px; margin:18px 0 0; color:var(--muted); line-height:1.6; }
.footer-col strong { display:block; margin-bottom:18px; color:#e7eae5; font-size:.7rem; letter-spacing:.14em; }
.footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-col a,.footer-col button { padding:0; border:0; color:var(--muted); background:transparent; cursor:pointer; font-size:.82rem; text-align:left; }
.footer-col a:hover,.footer-col button:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:22px 0 33px; border-top:1px solid var(--line); color:var(--muted-2); font-size:.69rem; }
.footer-demo-note { color:var(--gold); }

/* Mobile menu, modal, cookie dialog */
.mobile-nav-overlay,
.modal-overlay,
.cookie-settings-overlay {
  position:fixed;
  z-index:2500;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  transition:.25s ease;
}
.mobile-nav-overlay.is-open,
.modal-overlay.is-open,
.cookie-settings-overlay.is-open { opacity:1; visibility:visible; }
.mobile-nav-panel { width:min(100%,520px); padding:22px; border:1px solid var(--line-strong); border-radius:24px; background:#0b0d0d; box-shadow:var(--shadow); }
.mobile-nav-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; }
.close-btn { display:grid; width:42px; height:42px; place-items:center; border:1px solid var(--line); border-radius:50%; background:transparent; cursor:pointer; font-size:1.3rem; }
.mobile-nav-links { display:grid; }
.mobile-nav-links a { padding:18px 0; border-bottom:1px solid var(--line); font-size:1.55rem; font-weight:780; letter-spacing:-.035em; }
.mobile-nav-links a span { color:var(--lime); float:right; }
.mobile-nav-panel .btn { margin-top:24px; }
.modal-card,
.cookie-settings-card { width:min(100%,650px); max-height:min(90vh,800px); overflow:auto; padding:34px; border:1px solid var(--line-strong); border-radius:25px; background:#0d1010; box-shadow:var(--shadow); }
.modal-top { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:25px; }
.modal-card h2,.cookie-settings-card h2 { margin-bottom:12px; font-size:2.2rem; letter-spacing:-.05em; }
.modal-card > p,.cookie-settings-card > p { color:var(--muted); line-height:1.6; }
.waitlist-form { display:grid; gap:15px; margin-top:24px; }
.waitlist-form label { display:grid; gap:8px; color:#d9ddd8; font-size:.74rem; font-weight:750; }
.waitlist-form input,.waitlist-form select { width:100%; padding:14px 15px; border:1px solid var(--line-strong); border-radius:12px; color:#fff; background:#080a0a; }
.waitlist-success { display:none; padding:24px; border:1px solid rgba(255,41,68,.25); border-radius:17px; background:rgba(255,41,68,.045); }
.waitlist-success.is-visible { display:block; animation:fadeUp .35s var(--ease); }
.waitlist-success strong { display:block; margin-bottom:8px; color:var(--lime); font-size:1.35rem; }
.cookie-banner { position:fixed; z-index:2400; left:22px; right:22px; bottom:22px; display:none; max-width:1120px; margin-inline:auto; padding:20px; border:1px solid var(--line-strong); border-radius:19px; background:rgba(12,15,14,.95); box-shadow:0 22px 70px rgba(0,0,0,.5); backdrop-filter:blur(18px); }
.cookie-banner.is-visible { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; animation:fadeUp .4s var(--ease); }
.cookie-banner strong { display:block; margin-bottom:6px; }
.cookie-banner p { margin:0; color:var(--muted); font-size:.77rem; line-height:1.5; }
.cookie-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.cookie-actions .btn { min-height:42px; padding:10px 15px; font-size:.72rem; }
.cookie-option { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; padding:18px 0; border-top:1px solid var(--line); }
.cookie-option:first-of-type { margin-top:25px; }
.cookie-option strong { display:block; margin-bottom:5px; }
.cookie-option p { margin:0; font-size:.75rem; }
.switch { position:relative; width:50px; height:28px; }
.switch input { position:absolute; opacity:0; }
.switch span { position:absolute; inset:0; border-radius:999px; background:#333839; cursor:pointer; transition:.2s; }
.switch span::before { content:""; position:absolute; width:22px; height:22px; top:3px; left:3px; border-radius:50%; background:#fff; transition:.2s; }
.switch input:checked + span { background:var(--lime); }
.switch input:checked + span::before { transform:translateX(22px); background:#050507; }
.switch input:disabled + span { opacity:.6; cursor:not-allowed; }
.cookie-settings-actions { display:flex; gap:10px; margin-top:25px; }
.toast { position:fixed; z-index:2800; left:50%; bottom:30px; transform:translate(-50%,20px); padding:13px 18px; border:1px solid rgba(255,41,68,.25); border-radius:999px; color:#050507; background:var(--lime); font-size:.78rem; font-weight:800; opacity:0; visibility:hidden; transition:.25s; }
.toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }

/* Reveal */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s var(--ease),transform .75s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }

/* Animations */
@keyframes pulse { 70% { box-shadow:0 0 0 9px rgba(255,41,68,0); } 100% { box-shadow:0 0 0 0 rgba(255,41,68,0); } }
@keyframes orbit { to { transform:translate(-50%,-50%) rotateX(69deg) rotateZ(375deg); } }
@keyframes orbitReverse { to { transform:translate(-50%,-50%) rotateX(69deg) rotateZ(-345deg); } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes phoneFloat { 50% { transform:rotate(-3deg) translateY(-12px); } }
@keyframes floatA { 50% { transform:translateY(-10px) translateX(4px); } }
@keyframes floatB { 50% { transform:translateY(9px) translateX(-3px); } }
@keyframes ticker { to { transform:translateX(-50%); } }
@keyframes fadeUp { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes scan { 0%,100% { top:18%; } 50% { top:78%; } }
@keyframes flash { 40% { box-shadow:inset 0 0 0 2px rgba(255,41,68,.5),0 0 60px rgba(255,41,68,.08); } }

/* Responsive */
@media (max-width: 1120px) {
  .main-nav { gap:18px; }
  .header-login { display:none; }
  .hero-layout { grid-template-columns:1fr 510px; }
  .hero-stage { transform:scale(.91); transform-origin:center right; }
  .engine-layout { gap:40px; }
  .founder-card { grid-template-columns:130px 1fr; }
  .founder-quote { grid-column:2; padding-left:0; border-left:0; border-top:1px solid var(--line); padding-top:25px; }
  .pricing-wrap { grid-template-columns:1fr 470px; gap:45px; }
  .footer-main { grid-template-columns:1.2fr repeat(3,.8fr); gap:28px; }
}

@media (max-width: 940px) {
  .section { padding:95px 0; }
  .main-nav,.header-actions .btn { display:none; }
  .menu-btn { display:block; }
  .header-inner { grid-template-columns:1fr auto; }
  .header-actions { display:block; }
  .hero { padding-top:145px; min-height:auto; }
  .hero-layout { grid-template-columns:1fr; }
  .hero-copy { max-width:800px; }
  .hero-stage { min-height:680px; width:min(100%,650px); margin:10px auto 0; transform:none; }
  .app-phone-main { left:17%; }
  .split-heading { grid-template-columns:1fr; gap:15px; }
  .problem-grid { grid-template-columns:1fr; }
  .problem-card { min-height:240px; }
  .problem-card > span { margin-bottom:55px; }
  .engine-layout,.plan-builder,.pricing-wrap,.faq-layout,.learn-layout,.contact-grid,.pricing-page-grid { grid-template-columns:1fr; }
  .engine-copy { max-width:760px; }
  .builder-controls { border-right:0; border-bottom:1px solid var(--line); }
  .bento-grid { grid-template-columns:repeat(2,1fr); }
  .bento-wide { grid-column:span 2; }
  .bento-tall { grid-row:auto; }
  .learn-sticky,.faq-intro { position:static; }
  .founder-card { grid-template-columns:120px 1fr; }
  .pricing-copy { max-width:800px; }
  .price-card { max-width:620px; width:100%; }
  .faq-layout { gap:45px; }
  .feature-detail,.feature-detail.reverse { grid-template-columns:45px 1fr; }
  .feature-detail > .detail-visual { grid-column:2; order:3!important; }
  .feature-detail.reverse > div:nth-child(2) { order:2; }
  .feature-detail.reverse > div:nth-child(3) { order:3; }
  .founder-profile { grid-template-columns:180px 1fr; }
  .founder-profile blockquote { grid-column:2; }
  .legal-layout { grid-template-columns:1fr; gap:38px; }
  .legal-toc { position:static; grid-template-columns:repeat(2,1fr); }
  .legal-toc strong,.legal-toc .toc-back { grid-column:1 / -1; }
  .footer-main { grid-template-columns:1fr 1fr; }
}

@media (max-width: 700px) {
  .container { width:min(calc(100% - 28px),var(--max)); }
  .section { padding:78px 0; }
  .header-inner { min-height:70px; }
  .brand { font-size:1.18rem; }
  .hero { padding:124px 0 70px; }
  .hero-title { font-size:clamp(3.7rem,17vw,5.4rem); }
  .hero-title span { -webkit-text-stroke:1px rgba(255,255,255,.55); }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { width:100%; }
  .hero-proof { grid-template-columns:1fr; gap:15px; }
  .hero-proof div { padding:0 0 15px; }
  .hero-proof div + div { padding:15px 0; border-left:0; border-top:1px solid var(--line); }
  .hero-stage { min-height:570px; transform:scale(.82); transform-origin:top center; margin-bottom:-90px; }
  .app-phone-main { left:9%; top:18px; }
  .float-panel-load { right:-18px; }
  .float-panel-food { right:-10px; }
  .float-panel-pr { left:-10px; }
  .split-heading h2 { font-size:clamp(2.5rem,12vw,4.2rem); }
  .section-head { display:block; }
  .section-head .text-link { margin-top:22px; }
  .engine-console { padding:11px; border-radius:22px; }
  .console-panel { padding:17px; }
  .signal-grid { grid-template-columns:repeat(2,1fr); }
  .decision-flow { gap:8px; flex-wrap:wrap; }
  .nutrition-console { grid-template-columns:1fr; justify-items:center; }
  .choice-grid,.choice-grid.days { grid-template-columns:repeat(2,1fr); }
  .builder-controls,.builder-output { padding:23px; }
  .week-grid { grid-template-columns:repeat(2,1fr); }
  .output-footer { display:grid; grid-template-columns:1fr 1fr; }
  .bento-grid { grid-template-columns:1fr; }
  .bento-wide { grid-column:auto; grid-template-columns:1fr; }
  .bento-card { min-height:300px; }
  .learn-step { grid-template-columns:50px 1fr; gap:12px; }
  .learn-step h3 { font-size:1.55rem; }
  .founder-card { grid-template-columns:1fr; padding:30px; }
  .founder-mark { width:110px; height:135px; }
  .founder-quote { grid-column:auto; }
  .price-card { padding:26px; }
  .price > strong { font-size:5rem; }
  .final-cta { min-height:620px; }
  .final-cta h2 { font-size:clamp(3.5rem,18vw,6.2rem); }
  .page-hero { padding:150px 0 80px; }
  .compact-hero { min-height:560px; }
  .page-title { font-size:clamp(3.2rem,16vw,5.4rem); }
  .feature-detail,.feature-detail.reverse { grid-template-columns:1fr; gap:20px; }
  .feature-detail > span { grid-column:1; }
  .feature-detail > .detail-visual { grid-column:1; }
  .detail-visual { min-height:360px; padding:19px; }
  .program-day { grid-template-columns:45px 1fr; }
  .program-day small { grid-column:2; margin-top:4px; }
  .set-engine-visual { grid-template-columns:1fr; }
  .set-engine-visual b { transform:rotate(90deg); justify-self:center; }
  .food-visual { grid-template-columns:1fr; }
  .food-photo { min-height:190px; font-size:5rem; }
  .inline-cta .container { align-items:flex-start; flex-direction:column; }
  .price-columns { grid-template-columns:1fr; gap:0; }
  .comparison-grid { overflow-x:auto; }
  .comparison-grid > div { min-width:670px; }
  .manifesto-grid { grid-template-columns:1fr; }
  .manifesto-number { font-size:7rem; }
  .value-grid { grid-template-columns:1fr; }
  .founder-profile { grid-template-columns:1fr; }
  .founder-profile-mark { width:150px; height:190px; }
  .founder-profile blockquote { grid-column:1; }
  .legal-hero { padding:150px 0 65px; }
  .legal-toc { grid-template-columns:1fr; }
  .legal-toc strong,.legal-toc .toc-back { grid-column:1; }
  .legal-document { font-size:.95rem; }
  .legal-row { min-width:720px; }
  .legal-page .legal-table {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,112,84,.68) rgba(255,255,255,.06);
    box-shadow:inset -28px 0 26px -28px rgba(255,112,84,.9);
  }
  .legal-page .legal-table::-webkit-scrollbar { height:4px; }
  .legal-page .legal-table::-webkit-scrollbar-track { background:rgba(255,255,255,.05); }
  .legal-page .legal-table::-webkit-scrollbar-thumb {
    border-radius:999px;
    background:linear-gradient(90deg,#ff3b4f,#ff7555);
  }
  .legal-page .legal-document > h2:is(#purposes,#retention,#list,#registry)::after {
    content:"Svep för fler kolumner  ↔";
    display:block;
    width:max-content;
    max-width:100%;
    margin-top:12px;
    padding:7px 10px;
    border:1px solid rgba(255,112,84,.3);
    border-radius:999px;
    color:#ff866e;
    background:rgba(255,77,57,.07);
    font-size:.62rem;
    font-weight:800;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  html[lang="en"] .legal-page .legal-document > h2:is(#purposes,#retention,#list,#registry)::after {
    content:"Swipe for more columns  ↔";
  }
  .footer-main { grid-template-columns:1fr; padding-top:55px; }
  .footer-bottom { flex-direction:column; }
  .cookie-banner { left:10px; right:10px; bottom:10px; }
  .cookie-banner.is-visible { grid-template-columns:1fr; }
  .cookie-actions { justify-content:stretch; }
  .cookie-actions .btn { flex:1; }
  .modal-card,.cookie-settings-card { padding:24px; }
}

@media (max-width: 430px) {
  .hero-stage { transform:scale(.69); width:560px; left:50%; margin-left:-280px; margin-bottom:-160px; }
  .section-title { font-size:2.55rem; }
  .output-footer { grid-template-columns:1fr; }
  .founder-profile h2 { font-size:3rem; }
  .cookie-settings-actions { flex-direction:column; }
}

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

/* Withdrawal form */
.legal-form { display:grid; gap:18px; margin:28px 0 36px; padding:28px; border:1px solid rgba(0,0,0,.13); border-radius:18px; background:#fff; box-shadow:0 18px 55px rgba(20,24,20,.08); }
.legal-form-heading { display:grid; gap:4px; padding-bottom:18px; border-bottom:1px solid rgba(0,0,0,.1); }
.legal-form-heading > span { color:#b91431; font-size:.62rem; font-weight:900; letter-spacing:.15em; }
.legal-form-heading strong { color:#111413; font-size:1.15rem; }
.legal-form-heading small { color:#666d67; line-height:1.5; }
.legal-form label:not(.check-line) { display:grid; gap:8px; color:#242925; font-size:.76rem; font-weight:800; }
.legal-form input,.legal-form textarea,.legal-form select { width:100%; border:1px solid rgba(0,0,0,.16); border-radius:10px; padding:13px 14px; color:#111413; background:#f8f8f4; font:inherit; outline:none; }
.legal-form input:focus,.legal-form textarea:focus,.legal-form select:focus { border-color:#ff2944; box-shadow:0 0 0 3px rgba(255,41,68,.14); }
.legal-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.legal-form-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:4px; }
.btn-dark-outline { border:1px solid rgba(0,0,0,.2); color:#111413; background:transparent; }
.btn-dark-outline:hover { border-color:#111413; background:#111413; color:#fff; }
.light-check { color:#434944; }
.light-check input { accent-color:#ff2944; }
.legal-form-note { margin:0; padding-top:5px; color:#687069 !important; font-size:.78rem; }
.optional { color:#7f867f; font-weight:500; }

@media (max-width:700px) {
  .legal-form { padding:20px; }
  .legal-form-grid { grid-template-columns:1fr; }
  .legal-form-actions .btn { width:100%; }
}

@media print {
  body.legal-page { background:#fff !important; }
  .site-header,.site-footer,.legal-hero,.legal-toc,.draft-notice,.cookie-banner,.modal-overlay,.cookie-settings-overlay,.scroll-progress,.legal-form-actions,.legal-document > h2:not(#form),.legal-document > p { display:none !important; }
  .legal-section { padding:0 !important; }
  .legal-layout { display:block !important; }
  .legal-document { max-width:none !important; }
  .legal-form { box-shadow:none !important; border:1px solid #aaa !important; margin:0 !important; }
}
