:root{
  --midnight:#102C35; --teal:#167D87; --signal:#CFEB8D; --warm:#F6F5EF;
  --ink:#102C35; --muted:#4a6168; --line:#dcdbd2; --card:#ffffff; --sand:#ecebe2;
  --soft:#c9d6d8; --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warm);color:var(--ink);
  font-family:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--teal)}
img,svg{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 14px}
h1,h2,h3,h4{line-height:1.12;margin:0;letter-spacing:-.02em}
h2{font-size:clamp(30px,4.2vw,46px);font-weight:700}
h3{font-size:20px;font-weight:650;letter-spacing:-.01em}
h4{font-size:17px;font-weight:650;letter-spacing:0}
p{margin:0}
.skip{position:absolute;left:-999px}
.skip:focus{left:16px;top:12px;z-index:99;background:var(--signal);color:var(--midnight);padding:8px 12px}

/* header */
header.top{background:var(--midnight);color:var(--warm);position:sticky;top:0;z-index:10;border-bottom:1px solid #1d3f49}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px;gap:20px}
.wordmark{font-weight:800;letter-spacing:.22em;font-size:18px;color:var(--warm);text-decoration:none;white-space:nowrap}
.wordmark span{color:var(--signal)}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:15px;align-items:center}
.nav a.l{color:var(--soft);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a.l:hover{color:var(--signal)}
.nav a.l.on{color:var(--warm);border-bottom-color:var(--signal)}
.nav a.cta{background:var(--signal);color:var(--midnight);text-decoration:none;font-weight:700;padding:9px 16px;border-radius:6px}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;color:var(--warm);font-size:15px;font-weight:600;border:1px solid #2c5560;border-radius:6px;padding:8px 14px}
.menu summary::-webkit-details-marker{display:none}
.menu[open] ul{display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:absolute;left:0;right:0;top:70px;background:var(--midnight);padding:12px 16px 20px;border-bottom:1px solid #1d3f49}
.menu[open] a.l{font-size:18px;padding:10px 0}

/* hero */
.hero{background:var(--midnight);color:var(--warm);padding:96px 0 112px;position:relative;overflow:hidden}
.hero h1{font-size:clamp(40px,6.4vw,76px);font-weight:750;max-width:13ch}
.hero .sub{font-size:clamp(20px,2.2vw,26px);color:var(--signal);margin:22px 0 18px;font-weight:500}
.hero .body{max-width:56ch;color:var(--soft)}
.page-hero{background:var(--midnight);color:var(--warm);padding:80px 0 84px;position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(36px,5.2vw,60px);font-weight:750;max-width:18ch}
.page-hero .eyebrow{color:var(--signal)}
.page-hero p.body{max-width:60ch;color:var(--soft);margin-top:20px;font-size:19px}
.btn{display:inline-block;margin-top:36px;background:var(--signal);color:var(--midnight);
  font-weight:700;text-decoration:none;padding:16px 28px;border-radius:6px;font-size:17px}
.btn:hover{background:#e0f4b2}
.btn.ghost{background:transparent;color:var(--warm);border:1.5px solid #3b6772;margin-left:12px}
.btn.ghost:hover{border-color:var(--signal);color:var(--signal)}
.btn.dark{background:var(--midnight);color:var(--warm)}
.btn.dark:hover{background:var(--teal)}
.zones{position:absolute;right:-40px;top:70px;display:grid;grid-template-columns:repeat(4,72px);gap:12px;opacity:.9}
.zones.sm{grid-template-columns:repeat(3,52px);gap:10px;top:56px;right:24px;opacity:.75}
.zones i{display:block;height:72px;border:1.5px solid #2c5560;border-radius:4px}
.zones.sm i{height:52px}
.zones i.t{background:var(--teal);border-color:var(--teal)}
.zones i.s{background:var(--signal);border-color:var(--signal)}

section{padding:96px 0}
section.tight{padding:72px 0}
.lead{max-width:62ch;color:var(--muted);margin-top:18px;font-size:19px}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.more{display:inline-block;margin-top:14px;font-weight:650;text-decoration:none}
.more::after{content:" \2192"}

/* cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.grid.four{grid-template-columns:repeat(4,1fr)}
.cap{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column}
a.cap{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
a.cap:hover{border-color:var(--teal);transform:translateY(-2px)}
.cap .n{font-size:13px;font-weight:700;color:var(--teal);letter-spacing:.1em}
.cap h3{margin:10px 0 10px}
.cap p{color:var(--muted);font-size:16px}
.cap ul{margin:14px 0 0;padding-left:18px;color:var(--muted);font-size:16px}
.cap ul li{margin:4px 0}
.note{margin-top:28px;font-size:16px;color:var(--muted)}
.note b{color:var(--ink)}

/* band */
.band{background:var(--teal);color:var(--warm)}
.band .eyebrow{color:var(--signal)}
.band p.t{color:#e3eeee;margin-top:20px;font-size:19px;max-width:52ch}
.band a{color:var(--signal)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.split.even{grid-template-columns:1fr 1fr;align-items:start}
.ledger{background:var(--midnight);color:var(--warm);border-radius:8px;padding:28px;font-variant-numeric:tabular-nums}
.ledger h4{color:var(--signal);margin-bottom:8px;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.ledger .row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #2c5560;font-size:17px}
.ledger .row:last-of-type{border:0}
.ledger .k{color:var(--soft)}
.ledger .gap{color:var(--signal);font-weight:700}
.ledger small{display:block;margin-top:14px;color:#8fa6ab;font-size:13px}

/* feature rows (platform) */
.feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;padding:56px 0;border-top:1px solid var(--line)}
.feature:first-of-type{border-top:0;padding-top:24px}
.feature .n{font-size:13px;font-weight:700;color:var(--teal);letter-spacing:.1em;margin-bottom:12px}
.feature h2{font-size:clamp(26px,3.2vw,36px)}
.feature .lead{margin-top:14px;font-size:18px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checks li{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px 16px 50px;position:relative;font-size:16px;color:var(--muted)}
.checks li b{color:var(--ink);display:block;font-size:17px;margin-bottom:2px}
.checks li::before{content:"";position:absolute;left:18px;top:20px;width:16px;height:16px;border-radius:3px;background:var(--teal);box-shadow:inset 0 0 0 4px var(--signal)}

/* story */
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:8px}
.quote{border-left:4px solid var(--signal);background:var(--card);padding:28px 30px;border-radius:0 8px 8px 0}
.quote h3{margin-bottom:12px}
.quote p{color:var(--muted);font-size:17px}
.costs{margin-top:28px}
.costs h3{margin-bottom:8px}
.costs p{color:var(--muted);font-size:17px}

/* workflow */
.flow{background:var(--sand)}
.steps{list-style:none;margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:24px 20px;position:relative;counter-increment:s}
.steps li::before{content:"0" counter(s);display:block;font-weight:700;color:var(--teal);font-size:14px;letter-spacing:.08em;margin-bottom:12px}
.steps li:last-child{border-color:var(--teal);box-shadow:inset 0 3px 0 var(--signal)}
.steps h3{font-size:18px;margin-bottom:8px}
.steps p{font-size:15px;color:var(--muted)}
.own{margin-top:40px;background:var(--midnight);color:var(--warm);border-radius:8px;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.own strong{font-size:22px;display:block}
.own span{color:var(--soft);font-size:16px}
.own .btn{margin-top:0}

/* detailed steps (how it works) */
.stage{display:grid;grid-template-columns:120px 1fr 1fr;gap:40px;padding:48px 0;border-top:1px solid var(--line);align-items:start}
.stage:first-of-type{border-top:0}
.stage .big{font-size:64px;font-weight:800;color:var(--teal);line-height:1;letter-spacing:-.04em}
.stage h2{font-size:clamp(24px,3vw,32px);margin-bottom:12px}
.stage p{color:var(--muted)}
.kv{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px 22px}
.kv h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
.kv ul{margin:0;padding-left:18px;color:var(--muted);font-size:16px}
.kv ul li{margin:4px 0}
.kv .ex{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:15px;color:var(--ink)}
.kv .ex b{color:var(--teal)}

/* signs list */
.signs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:40px;list-style:none;padding:0}
.signs li{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:0 8px 8px 0;padding:18px 22px;font-size:17px}

/* integration diagram */
.hub{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;margin-top:52px}
.hub .col{display:grid;gap:14px}
.node{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px;font-weight:650;font-size:16px;position:relative}
.node small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.core{background:var(--midnight);color:var(--warm);border-radius:12px;padding:34px 30px;text-align:center;min-width:220px}
.core .wordmark{font-size:16px}
.core p{color:var(--soft);font-size:14px;margin-top:8px}
.hub .col.l .node{border-right:4px solid var(--teal)}
.hub .col.r .node{border-left:4px solid var(--signal)}

/* values */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.value{border-top:4px solid var(--teal);padding-top:20px}
.value:nth-child(2){border-color:var(--signal)}
.value:nth-child(3){border-color:var(--midnight)}
.value h3{font-size:24px;margin-bottom:10px}
.value p{color:var(--muted);font-size:17px}
.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.sw{border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.sw i{display:block;height:90px}
.sw span{display:block;padding:10px 14px;font-size:14px;color:var(--muted)}
.sw span b{display:block;color:var(--ink);font-size:15px}

/* faq */
.faq{margin-top:40px;display:grid;gap:12px;max-width:860px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px 22px}
.faq summary{cursor:pointer;font-weight:650;font-size:18px}
.faq details p{color:var(--muted);margin-top:10px;font-size:17px}

/* rename / contact */
.domain{display:inline-block;margin-top:26px;font-weight:700;font-size:22px;color:var(--midnight);border-bottom:3px solid var(--signal);padding-bottom:2px}
.contact{background:var(--midnight);color:var(--warm);text-align:center}
.contact .eyebrow{color:var(--signal)}
.contact p{color:var(--soft);max-width:56ch;margin:18px auto 0}
.mailcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:40px;text-align:center}
.mailcard .addr{font-size:clamp(22px,3vw,32px);font-weight:750;color:var(--midnight);margin-top:6px;word-break:break-word}
.mailcard .btn{margin-top:24px}

.hq{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.hq .eyebrow{margin-bottom:6px}
address{font-style:normal;font-size:18px;line-height:1.5}


/* product UI mocks */
.hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center}
.hero .hero-grid h1{font-size:clamp(38px,4.8vw,62px)}
.app{background:#fff;color:var(--ink);border-radius:12px;overflow:hidden;font-size:13px;line-height:1.4;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06)}
.band .app,.flow .app,section .app{box-shadow:0 30px 60px -28px rgba(16,44,53,.45),0 0 0 1px var(--line)}
.app .bar{height:34px;background:#eef0ec;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid #e1e3dd}
.app .bar i{width:10px;height:10px;border-radius:50%;background:#d3d6cf}
.app .bar span{margin-left:10px;color:#6b7f84;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app .shell{display:grid;grid-template-columns:138px 1fr}
.app aside{background:var(--midnight);color:#9fb4b8;padding:16px 0;display:flex;flex-direction:column;gap:2px;font-size:12.5px}
.app aside b{color:var(--warm);letter-spacing:.18em;font-size:11px;padding:0 16px 14px}
.app aside b em{color:var(--signal);font-style:normal}
.app aside span{padding:7px 16px;border-left:3px solid transparent}
.app aside span.on{color:var(--warm);background:#173a45;border-left-color:var(--signal)}
.app .pane{padding:16px 18px 18px;min-width:0}
.app .ph{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.app .ph strong{font-size:15px}
.app .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.app .kpis div{border:1px solid #e6e7e1;border-radius:8px;padding:8px 10px}
.app .kpis small{display:block;color:#6b7f84;font-size:11px}
.app .kpis b{font-size:20px;font-variant-numeric:tabular-nums}
.app .kpis .warn{border-color:#f0c9a8;background:#fff7f0}
.app table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.app th{text-align:left;font-weight:600;color:#6b7f84;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:6px 6px;border-bottom:1px solid #e6e7e1}
.app td{padding:8px 6px;border-bottom:1px solid #f0f0ec;white-space:nowrap}
.app td:nth-child(2){white-space:normal}
.chip{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:99px;white-space:nowrap}
.chip.ok{background:#e4f4d0;color:#335c12}
.chip.bad{background:#fde3d6;color:#9a3412}
.chip.mid{background:#dceff1;color:#0f5f67}
.app .neg{color:#9a3412}
.app .act{display:flex;gap:10px;align-items:flex-start;margin-top:12px;background:var(--warm);border-radius:8px;padding:10px 12px}
.app .act .dot{width:10px;height:10px;border-radius:50%;background:#e8833a;margin-top:4px;flex:none}
.app .act small{display:block;color:#6b7f84}
.app.slim{max-width:520px;justify-self:end;width:100%}
.tl{list-style:none;margin:0;padding:0 0 0 4px}
.tl li{position:relative;padding:0 0 14px 26px;border-left:2px solid #e6e7e1;margin-left:6px}
.tl li:last-child{border-left-color:transparent;padding-bottom:0}
.tl li::before{content:"";position:absolute;left:-8px;top:1px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #cfd3cc}
.tl li.done{border-left-color:var(--teal)}
.tl li.done::before{background:var(--teal);border-color:var(--teal)}
.tl li.now::before{background:var(--signal);border-color:#8fb33f;box-shadow:0 0 0 4px rgba(207,235,141,.45)}
.tl b{display:block;font-size:13.5px}
.tl small{color:#6b7f84}
.flow .split{align-items:center}
.hero-grid>*,.split>*,.story>*,.feature>*{min-width:0}

/* team */
.team{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;margin-top:36px;align-items:start}
.team-copy p{color:var(--muted);margin-top:20px;font-size:18px;max-width:64ch}
.team-copy p.lead{margin-top:0;color:var(--ink)}
.team-side{position:sticky;top:96px;background:var(--midnight);color:var(--warm);border-radius:12px;padding:30px}
.years{border-bottom:1px solid #2c5560;padding-bottom:20px;margin-bottom:8px}
.years b{display:block;font-size:64px;line-height:1;color:var(--signal);letter-spacing:-.03em}
.years span{color:var(--soft);font-size:16px}
.xp{list-style:none;margin:0;padding:0}
.xp li{padding:14px 0;border-bottom:1px solid #1d3f49;color:var(--soft);font-size:15px}
.xp li:last-child{border:0;padding-bottom:0}
.xp b{display:block;color:var(--warm);font-size:17px;margin-bottom:2px}

/* footer */
footer{background:#0b2027;color:#8fa6ab;font-size:15px;padding:56px 0 28px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.fgrid h4{color:var(--warm);font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fgrid a{color:#a9bcc0;text-decoration:none}
.fgrid a:hover{color:var(--signal)}
.fgrid p{margin-top:12px;max-width:34ch}
.faddr{margin-top:16px;color:#a9bcc0;font-size:15px}
.fbase{margin-top:44px;padding-top:20px;border-top:1px solid #1d3f49;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}

@media (max-width:980px){
  .nav ul.main{display:none}
  .menu{display:block}
  .grid,.grid.four{grid-template-columns:1fr 1fr}
  .split,.split.even,.story,.feature{grid-template-columns:1fr;gap:32px}
  .steps{grid-template-columns:1fr 1fr}
  .stage{grid-template-columns:1fr;gap:20px}
  .hub{grid-template-columns:1fr}
  .values{grid-template-columns:1fr}
  .swatches{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .zones{display:none}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .team{grid-template-columns:1fr;gap:36px}
  .team-side{position:static}
  .app.slim{justify-self:stretch;max-width:none}
}
@media (max-width:600px){
  body{font-size:17px}
  .wrap{padding:0 16px}
  .grid,.grid.two,.grid.four,.steps,.signs{grid-template-columns:1fr}
  section{padding:68px 0}
  .hero{padding:68px 0 80px}
  .page-hero{padding:60px 0 64px}
  .btn.ghost{margin-left:0}
  .fgrid{grid-template-columns:1fr}
  .mailcard{padding:28px 18px}
  .app .shell{grid-template-columns:1fr}
  .app aside{display:none}
  .app .kpis b{font-size:17px}
  .app td:nth-child(1),.app th:nth-child(1){display:none}
  .app td,.app th{padding:6px 4px;font-size:12px}
  .app td{white-space:normal}
  .app .pane{padding:12px}
  .app .kpis small{font-size:10px}
}
