:root {
  --ink: #111614;
  --muted: #66706b;
  --paper: #f5f5f2;
  --white: #fff;
  --green: #1e6c4a;
  --green-2: #7cc9a4;
  --green-soft: #e7f2eb;
  --line: rgba(17, 22, 20, .11);
  --shadow: 0 34px 100px rgba(16, 39, 26, .12);
  --radius: 32px;
  --max: 1260px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.modal-open { overflow: hidden; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { border: 0; cursor: pointer; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 999; left: 20px; top: -60px; padding: 12px 18px; border-radius: 12px; background: #111; color: #fff; transition: top .2s; }
.skip-link:focus { top: 20px; }
:focus-visible { outline: 3px solid rgba(30,108,74,.45); outline-offset: 4px; }

.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: 66px;
  transition: background .35s ease, box-shadow .35s ease;
}
.site-header.is-scrolled, .site-header.is-solid { background: rgba(245,245,242,.83); backdrop-filter: blur(24px) saturate(150%); -webkit-backdrop-filter: blur(24px) saturate(150%); box-shadow: 0 1px 0 var(--line); }
.nav-shell { width: min(calc(100% - 40px), var(--max)); height: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; letter-spacing: -.02em; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: white; background: linear-gradient(145deg,#2c8d62,#144d35); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 22px rgba(30,108,74,.2); font-size: 18px; }
.brand-mark.small { width: 32px; height: 32px; font-size: 16px; border-radius: 9px; }
.brand-name { font-size: 17px; }
.desktop-nav { display: flex; gap: 34px; margin-left: auto; margin-right: 34px; }
.desktop-nav a { color: #333a36; font-size: 13px; transition: color .2s; }
.desktop-nav a:hover { color: var(--green); }
.nav-cta { padding: 9px 16px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 650; }
.menu-button { display: none; width: 42px; height: 42px; background: transparent; position: relative; }
.menu-button span:not(.sr-only) { position: absolute; left: 10px; width: 22px; height: 1.5px; background: var(--ink); transition: transform .2s, top .2s; }
.menu-button span:first-child { top: 16px; }
.menu-button span:nth-child(2) { top: 24px; }
.menu-button[aria-expanded="true"] span:first-child { top: 20px; transform: rotate(45deg); }
.menu-button[aria-expanded="true"] span:nth-child(2) { top: 20px; transform: rotate(-45deg); }
.mobile-nav { position: fixed; top: 66px; left: 0; right: 0; padding: 24px 26px 32px; background: rgba(245,245,242,.97); backdrop-filter: blur(20px); border-bottom: 1px solid var(--line); }
.mobile-nav a, .mobile-nav button { display: block; width: 100%; text-align: left; padding: 15px 0; background: none; border-bottom: 1px solid var(--line); font-size: 20px; font-weight: 600; }

.hero { min-height: 940px; width: min(calc(100% - 48px), 1420px); margin: auto; padding: 150px 2.5vw 90px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 40px; }
.hero-copy { position: relative; z-index: 2; max-width: 650px; }
.eyebrow, .section-kicker { color: var(--green); font-size: 13px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #3fbd78; box-shadow: 0 0 0 6px rgba(63,189,120,.12); animation: pulse 2.4s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 10px rgba(63,189,120,0); } }
.hero h1 { margin: 27px 0 26px; font-size: clamp(58px, 6.1vw, 94px); line-height: .98; letter-spacing: -.065em; font-weight: 750; }
.hero h1 span { color: var(--green); }
.hero-copy > p { max-width: 580px; color: #505a55; font-size: clamp(19px, 1.6vw, 25px); line-height: 1.6; letter-spacing: -.02em; }
.hero-actions { display: flex; align-items: center; gap: 12px; margin-top: 36px; }
.hero-actions.centered { justify-content: center; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 22px; border-radius: 999px; background: transparent; font-weight: 650; font-size: 14px; transition: transform .25s, box-shadow .25s, background .25s; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: #fff; background: var(--green); box-shadow: 0 14px 36px rgba(30,108,74,.22); }
.button.primary:hover { box-shadow: 0 18px 45px rgba(30,108,74,.28); }
.button.primary.dark { background: var(--ink); }
.button.quiet { color: var(--ink); background: rgba(255,255,255,.62); border: 1px solid var(--line); }
.button.full { width: 100%; }
.hero-note { margin-top: 22px; color: #7c8580; font-size: 12px; letter-spacing: .08em; }

.hero-visual { position: relative; min-height: 650px; display: grid; place-items: center; perspective: 1000px; }
.ambient { position: absolute; border-radius: 50%; filter: blur(12px); }
.ambient-a { width: 540px; height: 540px; background: radial-gradient(circle at 40% 40%, rgba(126,219,176,.32), rgba(126,219,176,0) 67%); }
.ambient-b { width: 480px; height: 480px; transform: translate(100px,80px); background: radial-gradient(circle,rgba(162,198,255,.22),transparent 67%); }
.orbit-system { position: relative; width: min(560px, 78vw); aspect-ratio: 1; border-radius: 50%; transform-style: preserve-3d; transition: transform .2s ease-out; }
.orbit { position: absolute; inset: 50%; border: 1px solid rgba(28,91,62,.16); border-radius: 50%; transform: translate(-50%,-50%); }
.orbit::after { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--green-2); box-shadow: 0 0 18px var(--green-2); }
.orbit-one { width: 92%; height: 92%; transform: translate(-50%,-50%) rotate(-13deg); }
.orbit-one::after { left: 8%; top: 26%; }
.orbit-two { width: 67%; height: 67%; transform: translate(-50%,-50%) rotate(38deg); }
.orbit-two::after { right: 12%; top: 18%; }
.orbit-three { width: 42%; height: 42%; transform: translate(-50%,-50%) rotate(-53deg); }
.orbit-three::after { left: 50%; bottom: -3px; }
.core { position: absolute; inset: 50%; width: 170px; height: 170px; transform: translate(-50%,-50%) translateZ(60px); display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 52px; color: #fff; background: radial-gradient(circle at 32% 22%,#369a6d,#174f38 72%); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 40px 100px rgba(24,84,58,.32); }
.core::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 46px; }
.core-h { font-size: 72px; font-weight: 750; line-height: .85; letter-spacing: -.08em; }
.core-label { margin-top: 12px; font-size: 13px; letter-spacing: .35em; transform: translateX(.18em); opacity: .85; }
.orbit-node { position: absolute; display: flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; background: rgba(255,255,255,.62); backdrop-filter: blur(16px); box-shadow: 0 14px 42px rgba(21,58,40,.1); color: #405047; font-size: 12px; font-weight: 650; transition: transform .2s ease-out; }
.orbit-node i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.node-move { left: 3%; top: 30%; }.node-food { right: 3%; top: 21%; }.node-sleep { right: 0; bottom: 24%; }.node-mind { left: 9%; bottom: 14%; }.node-social { left: 38%; top: 2%; }
.signal-card { position: absolute; padding: 14px 17px; border-radius: 18px; background: rgba(255,255,255,.7); backdrop-filter: blur(18px); box-shadow: 0 18px 50px rgba(20,54,38,.12); border: 1px solid rgba(255,255,255,.82); }
.signal-card span { display: block; color: #7a847f; font-size: 10px; letter-spacing: .08em; }.signal-card strong { display: block; margin-top: 4px; font-size: 14px; }
.signal-top { right: 0; top: 12%; }.signal-bottom { left: 3%; bottom: 7%; }

.section-pad { padding: 145px max(28px, calc((100vw - var(--max)) / 2)); }
.statement { text-align: center; max-width: 1050px; margin: auto; }
.statement h2, .section-head h2, .interaction-copy h2, .truth-head h2, .closing h2 { margin: 20px 0 26px; font-size: clamp(48px, 6vw, 78px); line-height: 1.04; letter-spacing: -.055em; }
.statement > p:last-child { max-width: 790px; margin: auto; color: var(--muted); font-size: 21px; line-height: 1.75; }
.section-head { max-width: 900px; margin-bottom: 72px; }
.section-head > p:last-child { max-width: 700px; color: var(--muted); font-size: 18px; line-height: 1.75; }

.process { background: #fff; }
.process-stage { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; position: relative; padding-top: 44px; }
.process-line { position: absolute; top: 10px; left: 0; width: 100%; height: 2px; background: #e3e8e5; }
.process-line span { display: block; width: 0; height: 100%; background: var(--green); transition: width 1.6s cubic-bezier(.2,.8,.2,1); }
.process-stage.is-visible .process-line span { width: 100%; }
.process-step { position: relative; opacity: .45; transition: opacity .4s; }
.process-step::before { content: ""; position: absolute; top: -40px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: #d9e2dd; border: 4px solid #fff; box-shadow: 0 0 0 1px #d9e2dd; transition: background .4s, box-shadow .4s; }
.process-step.is-active { opacity: 1; }.process-step.is-active::before { background: var(--green); box-shadow: 0 0 0 1px var(--green), 0 0 0 8px rgba(30,108,74,.09); }
.step-number { color: var(--green); font-size: 12px; font-weight: 700; letter-spacing: .13em; }
.process-step h3 { font-size: 22px; letter-spacing: -.03em; margin: 15px 0 12px; }.process-step p { color: var(--muted); line-height: 1.72; font-size: 14px; }
.cycle { margin-top: 100px; padding: 55px 55px 35px; border-radius: var(--radius); background: #f3f7f4; }
.cycle-track { position: relative; height: 120px; }
.cycle-track::before { content: ""; position: absolute; left: 0; right: 0; top: 20px; height: 4px; border-radius: 9px; background: #dfe8e2; }
.cycle-progress { position: absolute; z-index: 1; left: 0; top: 20px; height: 4px; width: 0; border-radius: 9px; background: linear-gradient(90deg,var(--green),#78c9a2); transition: width 1.8s .2s; }.cycle.is-visible .cycle-progress { width: 100%; }
.cycle-point { position: absolute; z-index: 2; top: 7px; transform: translateX(-50%); text-align: center; }.cycle-point::before { content: ""; display: block; width: 20px; height: 20px; margin: 4px auto 16px; border-radius: 50%; background: #fff; border: 5px solid var(--green); box-shadow: 0 0 0 6px rgba(30,108,74,.08); }
.cycle-point b { display: block; font-size: 17px; }.cycle-point small { display: block; margin-top: 5px; color: var(--muted); white-space: nowrap; }.p0 { left: 0; transform: none; }.p7 { left: 25%; }.p14 { left: 50%; }.p28 { right: 0; transform: none; }

.directions { background: #f2f1ed; }
.direction-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.direction-card { position: relative; min-height: 370px; padding: 32px; overflow: hidden; border-radius: 30px; background: rgba(255,255,255,.74); box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); transition: transform .4s, box-shadow .4s; }
.direction-card:hover { transform: translateY(-6px); box-shadow: 0 28px 70px rgba(28,59,43,.1); }
.direction-card.large { grid-column: span 2; background: linear-gradient(145deg,#dceee4,#f9fbf9); }.direction-card.wide { grid-column: span 2; background: linear-gradient(135deg,#13291e,#274c39); color: #fff; }
.direction-index { position: absolute; top: 30px; right: 30px; color: #8d9792; font-size: 12px; }.wide .direction-index { color: rgba(255,255,255,.45); }
.direction-icon { width: 76px; height: 76px; display: grid; place-items: center; margin-bottom: 78px; border-radius: 24px; background: #edf4ef; }.large .direction-icon { background: #fff; }.wide .direction-icon { background: rgba(255,255,255,.1); }
.direction-icon svg { width: 48px; fill: none; stroke: var(--green); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }.wide .direction-icon svg { stroke: #a9dfc2; }
.direction-card h3 { margin: 0 0 12px; font-size: 24px; letter-spacing: -.035em; }.direction-card p { margin: 0; max-width: 500px; color: var(--muted); line-height: 1.72; font-size: 14px; }.wide p { color: rgba(255,255,255,.64); }
.card-tags { display: flex; gap: 8px; margin-top: 25px; }.card-tags span { padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.7); color: #356247; font-size: 11px; }
.connection-map { position: absolute; right: 25px; bottom: 25px; width: 150px; height: 110px; opacity: .65; }.connection-map::before,.connection-map::after { content: ""; position:absolute; inset:20px; border:1px solid rgba(255,255,255,.3); border-radius:50%; transform:rotate(20deg); }.connection-map::after { transform:rotate(-28deg); inset:8px 32px; }.connection-map i { position:absolute;width:8px;height:8px;border-radius:50%;background:#9fe0bf;box-shadow:0 0 18px #74c89c; }.connection-map i:nth-child(1){left:10%;top:52%}.connection-map i:nth-child(2){left:43%;top:10%}.connection-map i:nth-child(3){right:8%;top:38%}.connection-map i:nth-child(4){left:36%;bottom:4%}.connection-map i:nth-child(5){right:30%;bottom:26%}

.interaction { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; min-height: 1020px; background: #fff; }
.interaction-copy { max-width: 590px; }.interaction-copy > p:not(.section-kicker) { color: var(--muted); font-size: 17px; line-height: 1.8; }
.feature-list { list-style: none; padding: 0; margin: 40px 0; }.feature-list li { display: grid; grid-template-columns: 38px 1fr; gap: 14px; padding: 20px 0; border-top: 1px solid var(--line); }.feature-list li:last-child { border-bottom: 1px solid var(--line); }
.feature-list li > span { color: var(--green); font-size: 11px; font-weight: 700; letter-spacing: .1em; padding-top: 4px; }.feature-list strong { font-size: 16px; }.feature-list p { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.status-row { display: flex; align-items: center; gap: 15px; }.status-pill { display: inline-flex; padding: 7px 11px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 11px; font-weight: 700; letter-spacing: .06em; }.text-link { background: none; color: var(--ink); font-size: 13px; font-weight: 650; }
.phone-stage { position: relative; min-height: 760px; display: grid; place-items: center; perspective: 1200px; }
.phone-glow { position: absolute; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(circle,#d5eee0 0,rgba(213,238,224,.55) 35%,transparent 70%); filter: blur(10px); }
.phone { position: relative; z-index: 2; width: 340px; padding: 11px; border-radius: 54px; background: linear-gradient(145deg,#242927,#070908); box-shadow: 0 70px 120px rgba(18,48,32,.3), inset 0 0 0 1px rgba(255,255,255,.22); transform: rotateY(-7deg) rotateX(3deg); transition: transform .25s ease-out; }
.phone-top { position: absolute; z-index: 3; top: 18px; left: 50%; width: 105px; height: 27px; transform: translateX(-50%); border-radius: 99px; background: #050605; }.phone-top span { position:absolute;right:18px;top:10px;width:6px;height:6px;border-radius:50%;background:#16231d;box-shadow:inset 0 0 3px #507160; }
.phone-screen { min-height: 690px; padding: 54px 24px 28px; border-radius: 44px; background: #f7f8f6; overflow: hidden; }
.mini-brand { display: flex; align-items: center; gap: 8px; color: var(--green); font-size: 9px; letter-spacing: .14em; font-weight: 700; }.mini-brand span { display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--green);color:#fff;font-size:11px;letter-spacing:0; }
.mini-progress { height: 3px; margin: 26px 0 14px; border-radius: 9px; background: #dde5df; overflow: hidden; }.mini-progress i { display: block; height: 100%; background: var(--green); }
.mini-step { color: #859089; font-size: 10px; }.phone-screen h3 { margin: 24px 0 25px; font-size: 25px; line-height: 1.35; letter-spacing: -.04em; }
.mini-choice { width: 100%; display: flex; align-items: center; justify-content: space-between; min-height: 54px; margin: 9px 0; padding: 0 15px; border: 1px solid #dfe6e1; border-radius: 16px; color: #4b5750; background: #fff; text-align: left; font-size: 12px; }.mini-choice.selected { border-color: var(--green); color: var(--green); background: #edf6f0; font-weight: 650; }.mini-choice i { display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--green);color:#fff;font-style:normal;font-size:10px; }
.mini-caption { margin: 20px 0; color: #8a948f; font-size: 9px; line-height: 1.55; }.mini-next { width:100%;min-height:50px;border-radius:999px;background:var(--green);color:#fff;font-size:13px;font-weight:650; }
.phone-float { position: absolute; z-index: 3; padding: 14px 17px; border: 1px solid rgba(255,255,255,.78); border-radius: 18px; background: rgba(255,255,255,.72); backdrop-filter: blur(18px); box-shadow: 0 20px 55px rgba(15,57,34,.13); }.phone-float span { display:block;color:#79847e;font-size:9px;letter-spacing:.08em; }.phone-float strong { display:block;margin-top:4px;font-size:13px; }.float-one { right: 1%; top: 25%; }.float-two { left: 0; bottom: 22%; }

.truth { color: #fff; background: #0b100e; }
.truth-head { max-width: 850px; }.section-kicker.light { color: #83d4aa; }.truth-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:75px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.11);border-radius:28px;overflow:hidden; }.truth-card { min-height:290px;padding:38px;background:#0e1512; }.truth-card > span { color:#64bc8f;font-size:11px;letter-spacing:.12em; }.truth-card h3 { margin:60px 0 12px;font-size:24px; }.truth-card p { max-width:480px;color:rgba(255,255,255,.57);font-size:14px;line-height:1.75; }.ghost-light { margin-top:38px;border:1px solid rgba(255,255,255,.23);color:#fff; }

.honesty { background:#0b100e;padding-top:0; }.honesty-panel { padding:95px 8vw;border-radius:38px;background:radial-gradient(circle at 80% 20%,rgba(79,174,124,.2),transparent 33%),linear-gradient(135deg,#163324,#10251a);color:#fff; }.honesty-label { color:#8bd3aa;font-size:11px;letter-spacing:.15em;text-transform:uppercase; }.honesty blockquote { max-width:930px;margin:40px 0 25px;font-size:clamp(38px,5vw,70px);font-weight:700;line-height:1.12;letter-spacing:-.055em; }.honesty p { max-width:720px;color:rgba(255,255,255,.65);font-size:17px;line-height:1.75; }

.status { background:#fff; }.status-table { border-top:1px solid var(--line); }.status-item { display:grid;grid-template-columns:20px 1fr auto;gap:20px;align-items:center;padding:28px 5px;border-bottom:1px solid var(--line); }.status-dot { width:9px;height:9px;border-radius:50%; }.status-dot.ready{background:#39a96f;box-shadow:0 0 0 6px rgba(57,169,111,.1)}.status-dot.building{background:#e0a940;box-shadow:0 0 0 6px rgba(224,169,64,.1)}.status-dot.planned{background:#a2aaa6;box-shadow:0 0 0 6px rgba(162,170,166,.1)}.status-item strong { display:block;font-size:17px; }.status-item p { margin:7px 0 0;color:var(--muted);font-size:13px; }.status-item > b { min-width:60px;color:var(--muted);font-size:12px;text-align:right; }

.closing { text-align:center; }.closing-orb { width:110px;height:110px;margin:0 auto 45px;display:grid;place-items:center;border-radius:34px;color:#fff;background:linear-gradient(145deg,#389b6d,#154b35);box-shadow:0 30px 70px rgba(30,108,74,.25); }.closing-orb span { font-size:55px;font-weight:750;letter-spacing:-.08em; }.closing > p:not(.section-kicker) { max-width:680px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.75; }

.site-footer { padding:65px max(28px,calc((100vw - var(--max))/2)) 30px;background:#ebebe7; }.footer-brand { display:flex;align-items:center;gap:13px; }.footer-brand strong { font-size:15px; }.footer-brand p { margin:4px 0 0;color:var(--muted);font-size:11px; }.footer-links { display:flex;gap:26px;justify-content:flex-end;margin-top:-30px;font-size:12px; }.footer-bottom { display:flex;justify-content:space-between;margin-top:58px;padding-top:20px;border-top:1px solid var(--line);color:#7a837f;font-size:11px; }

.modal[hidden] { display:none; }.modal { position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:20px; }.modal-backdrop { position:absolute;inset:0;background:rgba(5,10,7,.58);backdrop-filter:blur(12px); }.modal-card { position:relative;z-index:2;width:min(560px,100%);padding:42px;border-radius:30px;background:#fff;box-shadow:0 50px 140px rgba(0,0,0,.28); }.modal-close { position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;background:#eef1ef;color:#4b5550;font-size:22px; }.modal-card h2 { margin:22px 0 18px;font-size:38px;line-height:1.12;letter-spacing:-.05em; }.modal-card > p { color:var(--muted);line-height:1.75;font-size:14px; }.modal-scope { margin:25px 0;overflow:hidden;border:1px solid var(--line);border-radius:18px; }.modal-scope div { display:grid;grid-template-columns:100px 1fr;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line);font-size:12px; }.modal-scope div:last-child{border-bottom:0}.modal-scope span{color:var(--muted)}.modal-card small{display:block;margin-top:20px;color:#8a938e;line-height:1.6; }

.reveal { opacity:0;transform:translateY(25px);transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1); }.reveal.is-visible { opacity:1;transform:none; }

.legal-body { background:#fff; }.legal-back { color:var(--green);font-size:13px;font-weight:650; }.legal-main { padding-top:66px; }.legal-hero { padding:130px max(28px,calc((100vw - 960px)/2)) 90px;background:var(--paper); }.legal-hero h1 { margin:20px 0;font-size:clamp(50px,7vw,84px);letter-spacing:-.06em; }.legal-hero > p { max-width:760px;color:var(--muted);font-size:18px;line-height:1.8; }.legal-hero > span { display:block;margin-top:30px;color:#8b938f;font-size:12px; }.legal-layout { width:min(calc(100% - 56px),960px);margin:0 auto;display:grid;grid-template-columns:180px 1fr;gap:80px;padding:95px 0 140px; }.legal-toc { position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;gap:18px; }.legal-toc a { color:var(--muted);font-size:13px; }.legal-toc a:hover{color:var(--green)}.legal-content section { padding:0 0 60px;margin-bottom:60px;border-bottom:1px solid var(--line);scroll-margin-top:100px; }.legal-content section > span { color:var(--green);font-size:11px;letter-spacing:.12em; }.legal-content h2 { margin:14px 0 22px;font-size:32px;letter-spacing:-.04em; }.legal-content p { color:#56605b;font-size:16px;line-height:1.85; }.legal-footer { background:var(--paper); }

@media (max-width: 1050px) {
  .hero { grid-template-columns:1fr;min-height:auto;padding-top:145px;text-align:center; }.hero-copy{margin:auto}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-visual{min-height:650px}.interaction{grid-template-columns:1fr;gap:30px}.interaction-copy{max-width:760px}.phone-stage{min-height:760px}.direction-grid{grid-template-columns:repeat(2,1fr)}.direction-card.large,.direction-card.wide{grid-column:span 2}.process-step h3{font-size:18px}
}
@media (max-width: 760px) {
  .desktop-nav,.nav-cta{display:none}.menu-button{display:block}.site-header{height:60px}.mobile-nav{top:60px}.nav-shell{width:calc(100% - 28px)}
  .hero{width:100%;padding:125px 20px 70px}.hero h1{font-size:clamp(48px,14vw,68px)}.hero-copy>p{font-size:18px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-note{text-align:center}.hero-visual{min-height:490px}.orbit-system{width:420px;max-width:95vw}.core{width:128px;height:128px;border-radius:40px}.core::before{border-radius:34px}.core-h{font-size:54px}.node-move{left:3%}.node-food{right:2%}.signal-card{padding:11px 13px}.signal-top{right:2%;top:7%}.signal-bottom{left:2%;bottom:2%}
  .section-pad{padding:95px 20px}.statement h2,.section-head h2,.interaction-copy h2,.truth-head h2,.closing h2{font-size:44px}.statement>p:last-child{font-size:17px}.section-head{margin-bottom:45px}
  .process-stage{grid-template-columns:1fr;gap:0;padding:0 0 0 36px}.process-line{left:6px;top:0;width:2px;height:100%}.process-line span{width:100%;height:0}.process-stage.is-visible .process-line span{width:100%;height:100%}.process-step{padding:0 0 45px}.process-step::before{top:4px;left:-36px}.process-step p{max-width:500px}.cycle{margin-top:50px;padding:35px 18px 25px}.cycle-track{height:130px}.cycle-point small{font-size:9px}.cycle-point b{font-size:14px}.cycle-point::before{width:16px;height:16px;border-width:4px}
  .direction-grid{grid-template-columns:1fr}.direction-card.large,.direction-card.wide{grid-column:auto}.direction-card{min-height:330px}.direction-icon{margin-bottom:58px}.connection-map{opacity:.35}
  .interaction{padding-top:105px}.phone-stage{min-height:650px;margin:0 -15px}.phone{width:300px}.phone-screen{min-height:610px}.phone-screen h3{font-size:21px}.phone-float{display:none}.phone-glow{width:430px;height:430px}
  .truth-grid{grid-template-columns:1fr}.truth-card{min-height:250px}.truth-card h3{margin-top:42px}.honesty-panel{padding:65px 26px;border-radius:28px}.honesty blockquote{font-size:38px}
  .status-item{grid-template-columns:18px 1fr}.status-item>b{grid-column:2;text-align:left}.status-item p{line-height:1.6}.closing .hero-actions{align-items:stretch}
  .footer-links{justify-content:flex-start;margin:35px 0 0;flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:8px}.modal-card{padding:34px 24px}.modal-card h2{font-size:31px}.modal-scope div{grid-template-columns:1fr;gap:5px}
  .legal-main{padding-top:60px}.legal-hero{padding:110px 24px 70px}.legal-layout{width:calc(100% - 48px);grid-template-columns:1fr;gap:45px;padding:65px 0 100px}.legal-toc{position:static;display:grid;grid-template-columns:1fr 1fr;padding-bottom:30px;border-bottom:1px solid var(--line)}
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.process-line span,.cycle-progress{width:100%}
}
