/* Kroniz public site — design system.
   Ink: deep slate-navy · Paper: warm white · Accent: Kroniz teal.
   Type: Archivo (display) · Instrument Sans (body) · IBM Plex Mono (labels). */
:root{
  --ink:#0E1B26; --ink-2:#1B2E3C; --paper:#FBFCFC; --mist:#F0F5F5;
  --accent:#0FA793; --accent-deep:#0A7566; --amber:#D97E22;
  --line:#DFE8E8; --muted:#54707B; --on-ink:#E8F1F0; --on-ink-muted:#9DB4B8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{transition:none!important} }
body{margin:0;background:var(--paper);color:var(--ink);
  font:16px/1.65 "Instrument Sans",system-ui,-apple-system,sans-serif}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.4rem}
a{color:var(--accent-deep)}
img{max-width:100%}
h1,h2,h3{font-family:Archivo,system-ui,sans-serif;line-height:1.15;text-wrap:balance;margin:0 0 .6em}
.mono{font-family:"IBM Plex Mono",monospace}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(251,252,252,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:2rem;height:64px}
.logo{font-family:Archivo,sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:.02em;color:var(--ink);text-decoration:none}
.logo b{color:var(--accent)}
nav.main{display:flex;gap:1.4rem;margin-left:auto}
nav.main a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:.95rem}
nav.main a:hover{color:var(--accent-deep)}
.head-cta{display:flex;gap:.7rem;align-items:center}
.btn{display:inline-block;padding:.65rem 1.3rem;border-radius:8px;font-weight:600;text-decoration:none;font-size:.95rem;border:1.5px solid transparent}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-deep)}
.btn.ghost{border-color:var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent-deep)}
.btn.onink{background:var(--accent);color:#fff}
.btn.onink-ghost{border-color:#39555C;color:var(--on-ink)}
.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* hero */
.hero{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%);color:var(--on-ink);padding:5.5rem 0 4.5rem}
.hero .kicker{font-family:"IBM Plex Mono",monospace;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 1.1rem}
.hero h1{font-size:clamp(2.2rem,5.4vw,3.6rem);font-weight:800;color:#fff;max-width:15ch}
.hero p.lede{font-size:1.15rem;max-width:52ch;color:var(--on-ink-muted);margin:1.2rem 0 2rem}
.hero .cta-row{display:flex;gap:.9rem;flex-wrap:wrap}
.hero .stats{display:flex;gap:2.8rem;margin-top:3.2rem;flex-wrap:wrap}
.hero .stats div b{display:block;font-family:Archivo,sans-serif;font-size:1.7rem;color:#fff}
.hero .stats div span{font-size:.85rem;color:var(--on-ink-muted)}

/* sections */
section.band{padding:4.2rem 0}
section.band.alt{background:var(--mist)}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .7rem}
.band h2{font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700}
.band .sub{color:var(--muted);max-width:60ch;margin:0 0 2.4rem}

/* module grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.4rem 1.2rem}
.card h3{font-size:1.05rem;font-weight:600;margin-bottom:.4rem}
.card h3::before{content:"";display:inline-block;width:.6em;height:.6em;background:var(--accent);border-radius:2px;margin-right:.55em}
.card p{margin:0;color:var(--muted);font-size:.92rem}

/* benefit list */
.benefits{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem 2.5rem}
.benefits div h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}
.benefits div p{margin:0;color:var(--muted);font-size:.93rem}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;align-items:stretch}
.plan{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.7rem 1.5rem;display:flex;flex-direction:column}
.plan.featured{border:2px solid var(--accent);position:relative}
.plan.featured::before{content:"Most popular";position:absolute;top:-.8em;left:1.2rem;background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;padding:.15em .7em;border-radius:99px;letter-spacing:.04em}
.plan h3{font-size:1.15rem}
.plan .price{font-family:Archivo,sans-serif;font-size:2rem;font-weight:800;margin:.4rem 0 0}
.plan .price small{font-size:.85rem;font-weight:500;color:var(--muted)}
.plan .annual{font-size:.82rem;color:var(--muted);margin:0 0 1rem}
.plan ul{list-style:none;padding:0;margin:0 0 1.4rem;flex:1}
.plan ul li{padding:.28rem 0 .28rem 1.5rem;position:relative;font-size:.9rem;color:var(--ink-2)}
.plan ul li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.plan .btn{text-align:center}

/* forms */
form.site{max-width:560px}
form.site label{display:block;font-weight:600;font-size:.9rem;margin:1rem 0 .3rem}
form.site input,form.site select,form.site textarea{width:100%;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
form.site input:focus,form.site select:focus,form.site textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,167,147,.18)}
.form-alert{border-radius:8px;padding: .8rem 1rem;margin:1rem 0;font-size:.93rem}
.form-alert.err{background:#FBEDE9;color:#96301F;border:1px solid #E7BFB5}
.form-alert.ok{background:#E8F5F1;color:#0A5C50;border:1px solid #BFE3DB}
.hp{position:absolute;left:-9999px;opacity:0}

/* CTA band + footer */
.cta-band{background:var(--ink);color:var(--on-ink);text-align:center;padding:4rem 1.4rem}
.cta-band h2{color:#fff;font-size:clamp(1.5rem,3.4vw,2.1rem)}
.cta-band p{color:var(--on-ink-muted);margin:0 0 1.8rem}
footer.site{background:var(--ink);color:var(--on-ink-muted);border-top:1px solid #24404A;padding:2.6rem 0;font-size:.88rem}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:1.2rem 3rem;align-items:center;justify-content:space-between}
footer.site a{color:var(--on-ink);text-decoration:none;margin-right:1.2rem}
footer.site a:hover{color:var(--accent)}

/* prose pages (legal, product) */
.prose{max-width:72ch;padding:3.2rem 0 4.5rem}
.prose h1{font-size:2rem}
.prose h2{font-size:1.25rem;margin-top:2.2rem}
.prose p,.prose li{color:var(--ink-2)}

@media (max-width:760px){
  nav.main{display:none}
  .hero{padding:3.6rem 0 3rem}
  .hero .stats{gap:1.6rem}
}
