/* ============================================================================
   187N — Marketing site · "Light, soft, owned."
   Light default + dark toggle. Shares the flagship brand tokens.
   ============================================================================ */
:root {
  --canvas:#F0F5F7; --canvas-2:#E8EFF2; --surface:#FFFFFF; --surface-2:#F7FAFB; --surface-3:#EEF4F6;
  --ink:#154359; --ink-strong:#0E2A38; --ink-body:rgba(21,67,89,.86); --ink-muted:rgba(21,67,89,.62); --ink-faint:rgba(21,67,89,.46); --ink-label:rgba(21,67,89,.74);
  --line:rgba(21,67,89,.10); --line-strong:rgba(21,67,89,.18); --line-faint:rgba(21,67,89,.06);
  --teal:#066377; --teal-ink:#0A7488; --teal-bright:#4BBDF0;
  --grad-a:#185B7B; --grad-b:#4BBDF0; --gradient:linear-gradient(294deg,#185B7B 16%,#4BBDF0);
  --teal-glow:rgba(75,189,240,.20); --teal-wash:rgba(6,99,119,.06); --teal-wash-2:rgba(6,99,119,.10);
  --gold:#9C7A43;
  --st-live:#0E9E8A; --st-live-glow:rgba(14,158,138,.22); --st-warn:#C8881C; --st-idle:#8AA0AA;
  --shadow-sm:0 1px 2px rgba(21,67,89,.05),0 2px 8px rgba(21,67,89,.04);
  --shadow-md:0 2px 6px rgba(21,67,89,.06),0 18px 40px rgba(21,67,89,.09);
  --shadow-lg:0 4px 12px rgba(21,67,89,.07),0 40px 80px rgba(21,67,89,.13);
  --shadow-teal:0 18px 50px rgba(6,99,119,.16);
  --chamfer:14px; --r-md:14px; --r-lg:20px; --r-xl:28px; --r-pill:999px;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --f-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,monospace;
  --maxw:1180px;
  color-scheme:light;
}
[data-theme="dark"] {
  --canvas:#07171F; --canvas-2:#0A1F2A; --surface:#0E2A38; --surface-2:#102F3F; --surface-3:#15384A;
  --ink:#EAF2F5; --ink-strong:#FFFFFF; --ink-body:rgba(234,242,245,.84); --ink-muted:rgba(234,242,245,.60); --ink-faint:rgba(234,242,245,.42); --ink-label:rgba(234,242,245,.66);
  --line:rgba(255,255,255,.10); --line-strong:rgba(255,255,255,.18); --line-faint:rgba(255,255,255,.05);
  --teal:#4BBDF0; --teal-ink:#6FCBF3; --teal-bright:#6FD0F5; --teal-glow:rgba(75,189,240,.30); --teal-wash:rgba(75,189,240,.08); --teal-wash-2:rgba(75,189,240,.13);
  --st-live:#19D6B6; --st-live-glow:rgba(25,214,182,.30);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4),0 2px 10px rgba(0,0,0,.3);
  --shadow-md:0 2px 8px rgba(0,0,0,.4),0 20px 48px rgba(0,0,0,.45);
  --shadow-lg:0 4px 14px rgba(0,0,0,.5),0 44px 90px rgba(0,0,0,.55);
  --shadow-teal:0 16px 48px rgba(75,189,240,.20);
  color-scheme:dark;
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { background:var(--canvas); color:var(--ink-body); font-family:var(--f-sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden; }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; border:none; background:none; }
::selection { background:rgba(75,189,240,.28); color:var(--ink); }
:focus-visible { outline:2px solid var(--teal); outline-offset:3px; border-radius:4px; }

.wrap { max-width:var(--maxw); margin:0 auto; padding:0 clamp(22px,5vw,40px); }
section { position:relative; padding:clamp(70px,10vw,128px) 0; overflow:clip; }
.inner { position:relative; z-index:2; }

/* atmosphere */
.glow { position:absolute; pointer-events:none; z-index:0; filter:blur(72px); border-radius:50%; }
.glow.teal { background:radial-gradient(circle,var(--teal-glow),transparent 70%); }
.glow.deep { background:radial-gradient(circle,rgba(24,91,123,.20),transparent 70%); }
.grid-field { position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(to right,var(--line-faint) 1px,transparent 1px),linear-gradient(to bottom,var(--line-faint) 1px,transparent 1px);
  background-size:62px 62px;
  -webkit-mask-image:radial-gradient(ellipse 76% 60% at 50% 32%,#000 12%,transparent 80%);
  mask-image:radial-gradient(ellipse 76% 60% at 50% 32%,#000 12%,transparent 80%); }

/* type */
h1 { font-weight:600; font-size:clamp(42px,6.4vw,92px); line-height:1.02; letter-spacing:-.035em; color:var(--ink); text-wrap:balance; }
h2 { font-weight:600; font-size:clamp(30px,4.2vw,58px); line-height:1.04; letter-spacing:-.03em; color:var(--ink); text-wrap:balance; }
h3 { font-weight:600; font-size:clamp(19px,2.2vw,26px); line-height:1.18; letter-spacing:-.02em; color:var(--ink); }
.lead { font-size:clamp(18px,2vw,22px); line-height:1.5; color:var(--ink-muted); max-width:60ch; text-wrap:pretty; }
.grad { background:var(--gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--grad-a); }
em,.i { font-style:italic; font-weight:400; }
.mono { font-family:var(--f-mono); }
.strong { color:var(--ink); font-weight:600; }
.eyebrow { font-family:var(--f-mono); font-size:11px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-label); display:inline-flex; align-items:center; gap:13px; }
.eyebrow::before { content:""; height:1px; width:30px; background:var(--gradient); }
.eyebrow.center { justify-content:center; }
.kicker-row { display:flex; align-items:flex-end; justify-content:space-between; gap:26px; flex-wrap:wrap; margin-bottom:26px; }

/* nav */
nav { position:sticky; top:0; z-index:100; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); background:color-mix(in srgb,var(--canvas) 72%,transparent); border-bottom:1px solid transparent; transition:border-color .4s var(--ease),background .4s var(--ease); }
nav.scrolled { border-bottom-color:var(--line); background:color-mix(in srgb,var(--surface) 82%,transparent); }
nav .wrap { display:flex; align-items:center; justify-content:space-between; height:66px; }
.nav-brand { display:flex; align-items:center; gap:11px; font-family:var(--f-mono); font-size:14px; font-weight:600; letter-spacing:.12em; color:var(--ink); }
.nav-brand .mk { width:30px; height:30px; border-radius:8px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(158deg,#ffffff,#e6ecef); border:1px solid rgba(21,67,89,.16); box-shadow:0 1px 2px rgba(21,67,89,.12); }
.nav-brand .mk img { width:22px; height:auto; display:block; }
.nav-links { display:flex; gap:26px; }
.nav-links a { font-family:var(--f-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); transition:color .2s; }
.nav-links a:hover { color:var(--teal); }
.nav-right { display:flex; align-items:center; gap:14px; }
.theme-btn { width:36px; height:36px; border-radius:var(--r-pill); border:1px solid var(--line); background:var(--surface); color:var(--ink-muted); display:grid; place-items:center; transition:border-color .2s,color .2s; }
.theme-btn:hover { border-color:var(--line-strong); color:var(--ink); }
.theme-btn svg { width:16px; height:16px; }
.theme-btn .sun{display:none;} .theme-btn .moon{display:block;}
[data-theme="dark"] .theme-btn .sun{display:block;} [data-theme="dark"] .theme-btn .moon{display:none;}

/* buttons */
.btn { display:inline-flex; align-items:center; gap:9px; font-weight:600; font-size:15px; padding:13px 24px; transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),border-color .25s; border:1px solid transparent; }
.btn svg { width:15px; height:15px; }
.btn-primary { background:var(--teal); color:#fff; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:var(--shadow-teal); background:var(--teal-ink); }
[data-theme="dark"] .btn-primary { color:#04222b; }
.btn-secondary { background:transparent; color:var(--ink); border-color:var(--line-strong); border-radius:var(--r-pill); }
.btn-secondary:hover { border-color:var(--teal); color:var(--teal); }
.btn-row { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.chamfer { clip-path:polygon(var(--chamfer) 0,100% 0,100% calc(100% - var(--chamfer)),calc(100% - var(--chamfer)) 100%,0 100%,0 var(--chamfer)); }
.pill-tag { display:inline-flex; align-items:center; gap:9px; padding:8px 16px; border-radius:var(--r-pill); background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm); font-size:14px; color:var(--ink-body); }
.pill-tag .dot { width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 8px var(--teal-glow); }

/* hero */
.hero { min-height:92vh; display:flex; align-items:center; padding-top:48px; }
.hero .inner { text-align:center; display:flex; flex-direction:column; align-items:center; }
.hero h1 { margin-top:26px; max-width:16ch; }
.hero .lead { margin:26px auto 0; text-align:center; }
.hero .btn-row { margin-top:36px; justify-content:center; }
.scroll-hint { margin-top:54px; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); display:flex; align-items:center; gap:10px; }
.scroll-hint::after { content:""; width:1px; height:30px; background:linear-gradient(var(--teal),transparent); }

/* embedded mission-control preview */
.mc-preview { margin-top:64px; width:100%; max-width:1000px; border-radius:var(--r-xl); border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow-lg); overflow:hidden; }
.mc-bar { display:flex; align-items:center; gap:10px; padding:13px 18px; border-bottom:1px solid var(--line); font-family:var(--f-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }
.mc-bar .dot { width:7px; height:7px; border-radius:50%; background:var(--st-live); box-shadow:0 0 8px var(--st-live-glow); }
.mc-bar .spacer { flex:1; }
.mc-body { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
.mc-cell { background:var(--surface); padding:20px 22px; }
.mc-cell .l { font-family:var(--f-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.mc-cell .v { font-family:var(--f-mono); font-weight:600; font-size:26px; color:var(--ink); margin-top:8px; letter-spacing:-.02em; }
.mc-cell .v.grad { font-weight:700; }
.mc-rows { background:var(--surface); padding:8px 22px 20px; }
.mc-row { display:flex; align-items:center; gap:12px; padding:11px 0; border-top:1px solid var(--line); font-size:13.5px; color:var(--ink-body); }
.mc-row .d { width:7px; height:7px; border-radius:50%; flex:none; }
.mc-row .d.live { background:var(--st-live); box-shadow:0 0 8px var(--st-live-glow); }
.mc-row .d.idle { background:var(--st-idle); }
.mc-row .nm { font-weight:600; color:var(--ink); }
.mc-row .st { margin-left:auto; font-family:var(--f-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.mc-row .st.live { color:var(--st-live); }

/* stat band */
.stat-band { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.stat-band .cell { background:var(--surface); padding:28px 26px; text-align:center; }
.stat-band .big { font-weight:600; font-size:clamp(34px,4.4vw,52px); line-height:1; letter-spacing:-.03em; }
.stat-band .lbl { font-size:13.5px; color:var(--ink-muted); margin-top:12px; }
.stat-band .src { font-family:var(--f-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); margin-top:10px; }

/* generic cards */
.cards { display:grid; gap:18px; }
.cards.c-2 { grid-template-columns:repeat(2,1fr); }
.cards.c-3 { grid-template-columns:repeat(3,1fr); }
.cards.c-4 { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 30px; box-shadow:var(--shadow-sm); transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s; }
.card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--line-strong); }
.card h3 { margin-bottom:10px; }
.card p { font-size:15px; color:var(--ink-body); line-height:1.55; }
.card .ic { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--teal-wash); border:1px solid color-mix(in srgb,var(--teal) 18%,transparent); color:var(--teal); margin-bottom:18px; }
.card .ic svg { width:20px; height:20px; }
.card .num { font-family:var(--f-mono); font-weight:700; font-size:30px; letter-spacing:-.02em; }

/* failure cards */
.fail .n { font-family:var(--f-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); }
.fail h3 { margin:10px 0 8px; }
.fail .q { color:var(--ink-muted); font-size:14.5px; font-style:italic; }
.fail .fix { margin-top:16px; padding-top:16px; border-top:1px solid var(--line); font-size:14.5px; color:var(--ink-body); line-height:1.5; }
.fail .fix b { display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal); margin-bottom:7px; }

/* panel */
.panel { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-xl); padding:clamp(30px,3.6vw,52px); box-shadow:var(--shadow-md); position:relative; overflow:hidden; }
.panel.teal-seam { border-color:color-mix(in srgb,var(--teal) 32%,transparent); box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--teal) 12%,transparent); }
.panel.center { text-align:center; }

/* contrast line / pull */
.pull { font-size:clamp(26px,3.6vw,44px); line-height:1.16; color:var(--ink); font-weight:500; letter-spacing:-.02em; max-width:20ch; }
.contrast-line { font-size:clamp(18px,2vw,24px); font-weight:500; color:var(--ink); line-height:1.35; }
.contrast-line .no { color:var(--ink-faint); }

/* process steps */
.steps { counter-reset:s; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.step { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:30px; box-shadow:var(--shadow-sm); position:relative; }
.step .s-num { counter-increment:s; font-family:var(--f-mono); font-weight:600; font-size:13px; color:var(--teal); letter-spacing:.1em; }
.step .s-num::before { content:"0" counter(s); }
.step h3 { margin:14px 0 10px; }
.step p { font-size:14.5px; color:var(--ink-body); }

/* pricing */
.price-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:stretch; }
.price-tile { position:relative; background:var(--surface); border:1px solid color-mix(in srgb,var(--teal) 34%,transparent); border-radius:var(--r-xl); padding:clamp(30px,3.4vw,46px); box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--teal) 10%,transparent); }
.price-tile .tag { position:absolute; top:18px; right:18px; background:var(--teal); color:#fff; font-family:var(--f-mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; padding:5px 12px; border-radius:var(--r-pill); }
[data-theme="dark"] .price-tile .tag{color:#04222b;}
.price-tile .amt { font-weight:700; font-size:clamp(48px,6vw,76px); line-height:1; letter-spacing:-.03em; }
.price-list { list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:12px; }
.price-list li { font-size:15px; color:var(--ink-body); padding-left:26px; position:relative; line-height:1.45; }
.price-list li::before { content:"→"; position:absolute; left:0; color:var(--teal); }

/* founders */
.founders { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.founder { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.founder .ph { aspect-ratio:1/1; background:linear-gradient(150deg,var(--surface-3),var(--canvas-2)); display:grid; place-items:center; color:var(--ink-faint); font-family:var(--f-mono); font-weight:600; font-size:40px; letter-spacing:.04em; }
.founder .meta { padding:18px 20px 22px; }
.founder .name { font-weight:600; font-size:16.5px; color:var(--ink); }
.founder .role { font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); margin-top:7px; }

/* faq */
.faq { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; cursor:pointer; padding:22px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:clamp(16px,1.8vw,20px); font-weight:500; color:var(--ink); }
.faq summary::-webkit-details-marker { display:none; }
.faq summary .pm { width:22px; height:22px; flex:none; position:relative; }
.faq summary .pm::before,.faq summary .pm::after { content:""; position:absolute; background:var(--teal); border-radius:2px; transition:transform .3s var(--ease); }
.faq summary .pm::before { top:50%; left:2px; right:2px; height:2px; transform:translateY(-50%); }
.faq summary .pm::after { left:50%; top:2px; bottom:2px; width:2px; transform:translateX(-50%); }
.faq details[open] summary .pm::after { transform:translateX(-50%) scaleY(0); }
.faq .ans { padding:0 0 24px; color:var(--ink-body); font-size:15.5px; line-height:1.6; max-width:72ch; }

/* dark band CTA */
.band { background:var(--canvas-2); border-radius:var(--r-xl); }
[data-theme="dark"] .band { background:var(--surface-2); }

/* footer */
footer.site-footer { padding:clamp(64px,8vw,96px) 0 64px; border-top:1px solid var(--line); }
.site-footer .wrap { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; }
.site-footer .big { font-size:clamp(26px,4vw,46px); font-weight:600; line-height:1.05; letter-spacing:-.03em; color:var(--ink); }
.site-footer .meta { font-family:var(--f-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); text-align:right; line-height:2; }

/* reveal */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.reveal.in { opacity:1; transform:none; }

@media (max-width:920px){
  .nav-links{display:none;}
  .cards.c-2,.cards.c-3,.steps,.price-grid,.founders,.mc-body{grid-template-columns:1fr;}
  .site-footer .wrap{flex-direction:column;align-items:flex-start;} .site-footer .meta{text-align:left;}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} .reveal{opacity:1;transform:none;transition:none;} }

/* ---- craft + motion ---- */
body::after { content:""; position:fixed; inset:0; z-index:9000; pointer-events:none; opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
[data-theme="dark"] body::after { opacity:.05; }
.glow.teal { animation: auroraDrift 24s ease-in-out infinite alternate; }
.glow.deep { animation: auroraDrift 30s ease-in-out infinite alternate-reverse; }
@keyframes auroraDrift { 0%{transform:translate3d(0,0,0) scale(1);} 100%{transform:translate3d(3%,-2.5%,0) scale(1.12);} }
.reveal { filter: blur(6px); }
.reveal.in { filter: blur(0); }
.btn:active { transform: translateY(0) scale(.98); }
.theme-btn:active, .pill-tag:active { transform: scale(.95); }
.card:active, .step:active, .founder:active { transform: translateY(-1px) scale(.997); }
:focus-visible { outline:none; box-shadow:0 0 0 3px var(--teal-wash-2), 0 0 0 1px var(--teal); border-radius:6px; }
@view-transition { navigation: auto; }
::view-transition-old(root){ animation: vtOut .30s var(--ease) both; }
::view-transition-new(root){ animation: vtIn .46s var(--ease) both; }
@keyframes vtOut { to { opacity:0; transform:translateY(-8px) scale(.992); filter:blur(2px);} }
@keyframes vtIn { from { opacity:0; transform:translateY(12px) scale(.993); filter:blur(3px);} }

/* scroll-reveal variants (data-anim) + tilt/magnetic/spotlight for the site */
[data-anim]{ opacity:0; transition:opacity .7s var(--ease), transform .8s var(--ease), filter .7s var(--ease), clip-path .85s var(--ease); will-change:opacity,transform; }
[data-anim].in{ opacity:1; transform:none; filter:none; clip-path:inset(0 0 0 0); }
[data-anim="up"]{ transform:translateY(28px); }
[data-anim="left"]{ transform:translateX(-32px); }
[data-anim="right"]{ transform:translateX(32px); }
[data-anim="scale"]{ transform:scale(.92); }
[data-anim="blur"]{ filter:blur(12px); transform:translateY(14px); }
[data-anim="pop"]{ transform:scale(.6); }
[data-anim="mask"]{ opacity:1; clip-path:inset(0 0 100% 0); }
[data-tilt]{ transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
[data-magnetic]{ transition:transform .3s var(--ease); }
[data-spotlight]{ position:relative; }
[data-spotlight]::after{ content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; opacity:0; transition:opacity .35s var(--ease); background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%), var(--teal-wash-2), transparent 62%); }
[data-spotlight]:hover::after{ opacity:1; }
@media (prefers-reduced-motion:reduce){ [data-anim]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;} [data-tilt],[data-magnetic]{transform:none!important;} }
@media (prefers-reduced-motion:reduce){ body::after{display:none;} .glow{animation:none;} .reveal{filter:none;} }
