/* Layout: dark navy hero band carrying the 2x2 "matrix" of pillars, then light editorial sections on a blue-tinted ground */
:root{
  --bg:#F5F7FC; --surface:#FFFFFF; --ink:#0B1530; --muted:#55627F; --line:#DCE3F0;
  --blue:#1F4FE0; --blue-soft:#E7EDFD; --amber:#F59E0B; --amber-ink:#5A3A00;
  --hero:#0B1530; --hero-2:#13214A; --hero-ink:#EEF2FF; --hero-muted:#A7B3D6; --hero-line:#22305A;
  --mkt:#E8553D; --fin:#12A150; --dig:#1F4FE0; --ai:#F59E0B;
  --display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --body:"Manrope", "Segoe UI", system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Consolas, monospace;
  --wrap:1160px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#070D1F; --surface:#0F1A33; --ink:#E9EEFF; --muted:#9AA7C7; --line:#1E2B4A;
  --blue:#6E92FF; --blue-soft:#14224A; --amber:#FBB534; --amber-ink:#2A1A00;
  --hero:#050A18; --hero-2:#0F1A33; --hero-line:#1E2B4A; color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#070D1F; --surface:#0F1A33; --ink:#E9EEFF; --muted:#9AA7C7; --line:#1E2B4A;
  --blue:#6E92FF; --blue-soft:#14224A; --amber:#FBB534; --amber-ink:#2A1A00;
  --hero:#050A18; --hero-2:#0F1A33; --hero-line:#1E2B4A; color-scheme:dark }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--hero)}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);line-height:1.08;text-wrap:balance;margin:0;letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font:600 .95rem/1 var(--body);padding:.9rem 1.3rem;border-radius:10px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-amber{background:var(--amber);color:var(--amber-ink)}
.btn-ghost{background:transparent;color:var(--hero-ink);border-color:var(--hero-line)}
.btn-ghost:hover{background:var(--hero-2)}
.btn-line{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn-line:hover{border-color:var(--blue);color:var(--blue)}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--hero) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--hero-line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--hero-ink)}
.brand svg{width:38px;height:38px;flex:none}
.wordmark{font-family:var(--display);font-size:1.3rem;letter-spacing:-.02em;line-height:1}
.wordmark b{font-weight:800}.wordmark span{font-weight:500;color:var(--hero-muted)}
.links{display:flex;gap:1.6rem;align-items:center}
.links a{color:var(--hero-muted);text-decoration:none;font-weight:600;font-size:.92rem}
.links a:hover{color:var(--hero-ink)}
.links .btn{padding:.65rem 1rem;font-size:.88rem;color:var(--amber-ink)}
@media (max-width:820px){.links a:not(.btn){display:none}}

/* hero */
.hero{background:var(--hero);color:var(--hero-ink);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--hero-line) 1px,transparent 1px);background-size:28px 28px;opacity:.6;mask-image:linear-gradient(90deg,transparent,#000 60%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;padding-block:4.5rem 5rem}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.1rem);font-weight:800}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero .lede{color:var(--hero-muted);font-size:1.12rem;max-width:34rem;margin-top:1.25rem}
.hero .eyebrow{color:var(--hero-muted);display:flex;gap:.5rem;align-items:center;margin-bottom:1.1rem}
.dot{width:8px;height:8px;border-radius:50%;background:var(--fin);box-shadow:0 0 0 4px color-mix(in srgb,var(--fin) 25%,transparent)}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.proof{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.25rem;color:var(--hero-muted);font-size:.88rem}
.proof b{display:block;font-family:var(--display);font-size:1.5rem;color:var(--hero-ink)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;padding-block:3rem 3.5rem}}

/* matrix card */
.matrix{background:var(--hero-2);border:1px solid var(--hero-line);border-radius:18px;padding:1.1rem}
.matrix-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.72rem;color:var(--hero-muted);padding:.2rem .3rem .9rem;letter-spacing:.06em}
.quad{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.cell{background:var(--hero);border:1px solid var(--hero-line);border-radius:12px;padding:1rem;min-width:0;position:relative}
.cell .k{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:.45rem}
.cell .k i{width:8px;height:8px;border-radius:2px;display:inline-block}
.cell .v{font-family:var(--display);font-weight:700;font-size:1.65rem;margin-top:.5rem;font-variant-numeric:tabular-nums}
.cell .s{font-size:.8rem;color:var(--hero-muted)}
.cell svg{width:100%;height:34px;margin-top:.5rem;display:block}
.cell.ai{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.flow{display:flex;gap:.35rem;align-items:center;font-family:var(--mono);font-size:.72rem;color:var(--hero-muted);flex-wrap:wrap}
.flow span{border:1px solid var(--hero-line);border-radius:6px;padding:.25rem .5rem}
.flow span:last-child{border-color:var(--ai);color:var(--ai)}

/* sections */
section{padding-block:5.5rem}
.head{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:2.75rem}
.head p{color:var(--muted);max-width:32rem;margin-top:.8rem}

/* services */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.svc{background:var(--surface);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;min-width:0}
.svc .tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem;color:var(--muted)}
.svc .tag i{width:10px;height:10px;border-radius:3px}
.svc p{color:var(--muted);font-size:.95rem}
.svc ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;font-size:.92rem}
.svc li{padding-left:1.1rem;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:1.5px;background:var(--ink);opacity:.5}
.svc.flag{background:linear-gradient(180deg,color-mix(in srgb,var(--ai) 9%,var(--surface)),var(--surface))}
.badge{align-self:flex-start;font:600 .7rem/1 var(--body);padding:.35rem .55rem;border-radius:99px;background:var(--amber);color:var(--amber-ink)}
@media (max-width:860px){.services{grid-template-columns:1fr}}

/* free library */
.library{background:var(--surface);border-block:1px solid var(--line)}
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.prod{border:1px solid var(--line);border-radius:14px;padding:1.4rem;display:flex;flex-direction:column;gap:.8rem;background:var(--bg);min-width:0}
.prod-top{display:flex;justify-content:space-between;align-items:center}
.fmt{font-family:var(--mono);font-size:.72rem;padding:.3rem .55rem;border-radius:6px;background:var(--blue-soft);color:var(--blue);letter-spacing:.04em}
.free{font-family:var(--mono);font-size:.72rem;color:var(--fin);font-weight:500}
.free s{color:var(--muted);margin-right:.35rem}
.prod p{color:var(--muted);font-size:.93rem;flex:1}
.prod .btn{justify-content:center}
@media (max-width:900px){.products{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.products{grid-template-columns:1fr}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:s}
.step{border-top:2px solid var(--ink);padding-top:1.1rem}
.step .n{font-family:var(--mono);font-size:.8rem;color:var(--blue)}
.step h3{margin:.4rem 0 .5rem}
.step p{color:var(--muted);font-size:.93rem}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* blog */
.posts{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.25rem}
.post{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;min-width:0;transition:border-color .15s}
.post:hover{border-color:var(--blue)}
.cover{aspect-ratio:16/9;max-width:100%;display:flex;align-items:flex-end;padding:1.1rem;color:#fff;font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1.05;letter-spacing:-.02em}
.post-body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.meta{font-family:var(--mono);font-size:.72rem;color:var(--muted);display:flex;gap:.8rem;flex-wrap:wrap}
.meta b{font-weight:500}
.post p{color:var(--muted);font-size:.92rem}
.post.lead .cover{aspect-ratio:16/8.5;font-size:2rem}
@media (max-width:900px){.posts{grid-template-columns:1fr 1fr}.post.lead{grid-column:1/-1}}
@media (max-width:560px){.posts{grid-template-columns:1fr}}

/* founder */
.founder{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}
.cred{background:var(--hero);color:var(--hero-ink);border-radius:18px;padding:2rem;font-family:var(--mono);font-size:.85rem;line-height:1.9}
.cred .row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--hero-line);padding:.35rem 0}
.cred .row span:first-child{color:var(--hero-muted)}
.cred .row:last-child{border:0}
.founder p{color:var(--muted);margin-top:1rem;max-width:36rem}
@media (max-width:860px){.founder{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:.75rem;max-width:820px}
details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.3rem}
summary{cursor:pointer;font-weight:700;font-family:var(--display);font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::after{content:"+";color:var(--blue);font-family:var(--mono)}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin-top:.7rem}

/* subscribe */
.sub{background:var(--hero);color:var(--hero-ink);border-radius:22px;padding:3rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.sub p{color:var(--hero-muted);margin-top:.8rem}
.sub form{display:flex;gap:.6rem;flex-wrap:wrap}
.sub input{flex:1 1 220px;min-width:0;font:500 1rem var(--body);padding:.9rem 1rem;border-radius:10px;border:1px solid var(--hero-line);background:var(--hero-2);color:var(--hero-ink)}
.sub input::placeholder{color:var(--hero-muted)}
.sub small{display:block;color:var(--hero-muted);margin-top:.7rem;font-size:.8rem}
@media (max-width:820px){.sub{grid-template-columns:1fr;padding:2rem 1.4rem}}

footer{border-top:1px solid var(--line);padding-block:2.5rem;color:var(--muted);font-size:.88rem}
.foot{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:center}
.foot .brand{color:var(--ink)}.foot .wordmark span{color:var(--muted)}
.foot nav{display:flex;gap:1.2rem;flex-wrap:wrap}
.foot a{text-decoration:none}.foot a:hover{color:var(--blue)}

.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:.8rem 1.2rem;border-radius:10px;font-weight:600;opacity:0;transition:.25s;pointer-events:none;z-index:30}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ===== Blog pages ===== */
.page-head{background:var(--hero);color:var(--hero-ink);padding-block:3.5rem 3rem}
.page-head h1{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;max-width:22ch}
.page-head .lede{color:var(--hero-muted);font-size:1.1rem;max-width:40rem;margin-top:1rem}
.crumbs{font-family:var(--mono);font-size:.75rem;color:var(--hero-muted);margin-bottom:1.2rem;letter-spacing:.06em}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--hero-ink)}
.post-meta{display:flex;gap:1rem;flex-wrap:wrap;font-family:var(--mono);font-size:.78rem;color:var(--hero-muted);margin-top:1.4rem}
.article{max-width:720px;margin:0 auto;padding-block:3.5rem 2rem;font-size:1.08rem;line-height:1.75}
.article > * + *{margin-top:1.15rem}
.article h2{font-size:1.65rem;margin-top:2.6rem}
.article h3{margin-top:1.8rem}
.article ul,.article ol{padding-left:1.3rem}
.article li + li{margin-top:.4rem}
.article strong{color:var(--ink)}
.article p,.article li{color:color-mix(in srgb,var(--ink) 86%,var(--muted))}
.tldr{background:var(--blue-soft);border-radius:12px;padding:1.1rem 1.3rem;font-size:1rem}
.tldr b{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;color:var(--blue);display:block;margin-bottom:.3rem}
.calc{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.98rem}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.calc th,.calc td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
.calc td:last-child,.calc th:last-child{text-align:right}
.calc tr:last-child td{border-bottom:0;font-weight:700}
.calc th{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cta-box{background:var(--hero);color:var(--hero-ink);border-radius:16px;padding:1.6rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2.5rem}
.cta-box p{color:var(--hero-muted)!important;margin-top:.3rem;font-size:.95rem}
.cta-box strong{color:var(--hero-ink)!important;font-family:var(--display);font-size:1.2rem}
.blog-list{display:grid;gap:1rem;padding-block:3rem 4rem}
.blog-item{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.4rem;text-decoration:none;transition:border-color .15s}
.blog-item:hover{border-color:var(--blue)}
.blog-item .meta{flex-direction:column;gap:.3rem}
.blog-item h2{font-size:1.35rem}
.blog-item p{color:var(--muted);margin-top:.5rem}
@media (max-width:600px){.blog-item{grid-template-columns:1fr;gap:.6rem}.blog-item .meta{flex-direction:row}}
.brand img{width:38px;height:38px}

/* ===== Contact ===== */
.request{margin-top:1.5rem;color:var(--muted);text-align:center}
.request a{color:var(--blue);font-weight:700;text-decoration:none}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.contact-intro p{color:var(--muted);margin-top:.8rem}
.ways{list-style:none;padding:0;margin:1.8rem 0 0;display:grid;gap:1rem}
.ways li{display:grid;gap:.15rem;padding-left:1rem;border-left:2px solid var(--line)}
.ways b{font-family:var(--display);font-size:1.02rem}
.ways span{color:var(--muted);font-size:.93rem}
.ways a{color:var(--blue);font-weight:600}
.contact-form{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:1.6rem;display:grid;gap:1rem;position:relative;min-width:0}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.35rem;min-width:0}
.field label{font-size:.85rem;font-weight:600}
.field input,.field select,.field textarea{font:500 1rem var(--body);padding:.8rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);width:100%}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:transparent}
.check{display:flex;gap:.55rem;align-items:center;font-size:.9rem;color:var(--muted)}
.check input{width:18px;height:18px;accent-color:var(--blue)}
.contact-form .btn{justify-self:start}
@media (max-width:860px){.contact{grid-template-columns:1fr;gap:2rem}}
@media (max-width:520px){.field-row{grid-template-columns:1fr}.contact-form{padding:1.2rem}}
