 :root {
  color-scheme: dark;
  --bg: #101713;
  --panel: #151f19;
  --panel-2: #1b2820;
  --text: #f1f3ec;
  --muted: #a4b0a5;
  --faint: #657267;
  --line: rgba(220, 235, 218, .13);
  --accent: #c2f078;
  --accent-dark: #8ebc4c;
  --serif: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: "DM Sans", sans-serif; -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
.site-shell { max-width: 1440px; margin: 0 auto; padding: 0 7.1%; overflow: hidden; }
.header { height: 94px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:11px; }
.brand-mark { width:25px; height:25px; display:flex; align-items:center; justify-content:center; gap:3px; transform:skew(-15deg); }
.brand-mark span { display:block; width:5px; border-radius:4px; background:var(--accent); }
.brand-mark span:nth-child(1) { height:12px; opacity:.65; }
.brand-mark span:nth-child(2) { height:21px; }
.brand-mark span:nth-child(3) { height:16px; opacity:.8; }
.brand-name { font-family:Manrope,sans-serif; font-size:15px; letter-spacing:-.6px; font-weight:800; }
.brand-name span { color:#a9b5a9; font-weight:500; margin-left:3px; }
.header-note { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; display:flex; align-items:center; gap:9px; }
.status-dot,.mini-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px rgba(194,240,120,.65); }
.hero { min-height:620px; display:grid; grid-template-columns: .95fr 1.05fr; align-items:center; gap:5%; padding:74px 0 82px; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--accent); font-size:10px; letter-spacing:.17em; font-weight:700; }
.eyebrow-line { width:24px; height:1px; background:var(--accent); display:inline-block; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Manrope,sans-serif; letter-spacing:-.065em; font-weight:600; }
h1 { font-size:clamp(64px,8.2vw,112px); line-height:.98; margin:29px 0 25px; }
h1 em,h2 em { color:var(--accent); font-family:var(--serif); font-weight:400; letter-spacing:-.07em; }
.hero-lede { color:#b3beb3; font-size:17px; line-height:1.75; max-width:440px; }
.hero-actions { display:flex; align-items:center; gap:20px; margin-top:36px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; gap:25px; padding:15px 18px; font-size:12px; font-weight:700; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#172015; background:var(--accent); }
.button-primary:hover { background:#d2fa91; }
.button-primary span { font-size:17px; }
.quiet-note { color:#7e8b7f; font-size:11px; }
.visual { min-height:420px; position:relative; display:flex; align-items:center; justify-content:center; isolation:isolate; }
.visual-glow { position:absolute; width:390px; height:390px; border-radius:50%; background:radial-gradient(circle,rgba(126,177,80,.17),rgba(126,177,80,.045) 48%,transparent 72%); z-index:-2; }
.visual-label { position:absolute; color:#7f8e7e; font-size:8px; letter-spacing:.17em; font-weight:700; }
.label-top { top:17px; left:8%; display:flex; align-items:center; gap:9px; }
.label-bottom { bottom:18px; right:2%; }
.label-bottom span { color:var(--accent); padding:0 4px; }
.orbit { position:absolute; border:1px solid rgba(194,240,120,.14); border-radius:50%; transform:rotate(-24deg); }
.orbit-one { width:390px; height:225px; }
.orbit-two { width:290px; height:390px; transform:rotate(48deg); border-color:rgba(194,240,120,.09); }
.center-core { width:150px; height:150px; border:1px solid rgba(194,240,120,.48); border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle at 35% 30%,#283b29,#142017 68%); box-shadow:0 0 70px rgba(154,211,94,.12),inset 0 0 25px rgba(194,240,120,.07); z-index:2; }
.core-inner { text-align:center; display:flex; flex-direction:column; align-items:center; gap:9px; }
.core-symbol { font-family:var(--serif); font-size:46px; line-height:1; color:var(--accent); }
.core-caption { font-size:7px; line-height:1.5; letter-spacing:.2em; color:#9ba995; }
.node { position:absolute; z-index:3; display:flex; align-items:center; gap:10px; padding:11px 13px; border:1px solid rgba(208,228,201,.16); background:rgba(24,36,27,.94); box-shadow:0 12px 35px rgba(0,0,0,.2); min-width:148px; }
.node b { display:block; font-size:10px; font-weight:600; }
.node small { display:block; color:#829083; font-size:8px; margin-top:4px; }
.node-icon { display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(194,240,120,.24); color:var(--accent); font-size:15px; }
.icon-center { font-size:17px; }
.node-intake { top:25%; left:0; }
.node-workflow { top:12%; right:0; }
.node-outcome { bottom:18%; right:1%; }
.connector { position:absolute; height:1px; background:linear-gradient(90deg,transparent,rgba(194,240,120,.45),transparent); transform-origin:left; z-index:1; }
.connector-a { width:110px; top:35%; left:24%; transform:rotate(-25deg); }
.connector-b { width:105px; top:39%; right:20%; transform:rotate(25deg); }
.connector-c { width:115px; bottom:30%; left:50%; transform:rotate(32deg); }
.principles { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:86px 0 90px; display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; }
h2 { font-size:clamp(38px,4.3vw,57px); line-height:1.1; margin:22px 0 0; }
.principle-list { display:flex; flex-direction:column; }
.principle { display:grid; grid-template-columns:48px 1fr; gap:15px; padding:22px 0; border-bottom:1px solid var(--line); }
.principle:first-child { padding-top:0; }
.principle:last-child { border:0; padding-bottom:0; }
.principle-number { color:var(--accent); font-size:10px; letter-spacing:.12em; padding-top:4px; }
h3 { font-family:Manrope,sans-serif; font-size:17px; letter-spacing:-.03em; margin-bottom:8px; }
.principle p { max-width:490px; color:#9eab9f; font-size:13px; line-height:1.75; margin:0; }
.coming-soon { padding:100px 0 105px; display:grid; grid-template-columns:1fr .6fr; gap:12%; align-items:center; }
.coming-copy h2 { font-size:clamp(48px,6vw,76px); margin:25px 0 20px; }
.coming-copy p { max-width:460px; color:#a4b0a5; line-height:1.8; font-size:14px; }
.coming-aside { min-height:230px; border-left:1px solid var(--line); padding:20px 0 20px 45px; display:flex; flex-direction:column; justify-content:center; }
.asterisk { color:var(--accent); font-size:47px; line-height:1; margin-bottom:24px; }
.aside-rule { height:1px; width:44px; background:var(--accent); margin-bottom:19px; }
.coming-aside p { font-family:Manrope,sans-serif; font-size:19px; line-height:1.6; letter-spacing:-.04em; }
.aside-caption { color:#758276; font-size:8px; letter-spacing:.2em; margin-top:13px; }
.footer { min-height:90px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand-footer .brand-name { font-size:12px; }
.brand-footer .brand-mark { transform:scale(.8) skew(-15deg); }
.footer-center,.footer-right { color:#778478; font-size:10px; }
@media (min-width:1200px) { .hero { min-height:680px; } }
@media (max-width:850px) {
  .site-shell { padding:0 5%; }
  .hero { grid-template-columns:1fr; padding:75px 0 55px; gap:35px; }
  .hero-copy { max-width:620px; }
  .visual { min-height:390px; max-width:570px; width:100%; margin:0 auto; }
  .principles { grid-template-columns:1fr; gap:45px; padding:70px 0; }
  .coming-soon { gap:7%; padding:75px 0; }
}
@media (max-width:560px) {
  .header { height:76px; }
  .header-note { font-size:8px; letter-spacing:.04em; }
  .brand-name { font-size:13px; }
  .hero { padding-top:63px; }
  h1 { font-size:69px; }
  .hero-lede { font-size:15px; }
  .visual { min-height:330px; transform:scale(.92); width:108%; margin-left:-4%; }
  .orbit-one { width:310px; height:190px; }
  .orbit-two { width:240px; height:320px; }
  .center-core { width:122px; height:122px; }
  .node { min-width:124px; padding:8px; gap:7px; }
  .node-intake { left:-1%; }
  .node-workflow { right:-1%; }
  .node-outcome { right:0; }
  .principles { padding:62px 0; }
  .coming-soon { grid-template-columns:1fr; padding:70px 0; }
  .coming-aside { min-height:auto; padding:20px 0 10px 22px; }
  .footer { padding:20px 0; flex-wrap:wrap; }
  .footer-center { order:3; width:100%; }
  .footer-right { font-size:9px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
