/* KŌINIkeystick — keystick.koini.io
   Rebuilt to match kiosx.io: light silver Apple-style, system sans, near-black ink,
   minimal chrome, dark pill CTAs, big product imagery. */

:root{
  --ink:#030213;            /* kiosx text/near-black */
  --body:#3a3a44;
  --sub:#717182;            /* kiosx secondary text */
  --bg:#ffffff;
  --bg-alt:#f3f3f5;         /* kiosx light gray band */
  --bg-soft:#fafafb;
  --hair:#ececf0;           /* kiosx hairline */
  --hair2:#cbced4;
  --seal:#B4552F;           /* keystick integrity accent — warnings only */
  --noirbg:#0a0b0d;         /* ceremony screen only */
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Inter,ui-sans-serif,system-ui,sans-serif;
  font-weight:400;line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

/* ---------- announcement banner ---------- */
.banner{background:var(--ink);color:#fff;text-align:center;padding:10px 16px;font-size:12.5px;letter-spacing:.02em;}
.banner b{font-weight:600;}

/* ---------- nav (kiosx: logo left, few links right, airy) ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair);}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;}
.nav .logo img{height:22px;}
.nav ul{display:flex;gap:26px;list-style:none;align-items:center;}
.nav ul a{font-size:13.5px;color:var(--sub);transition:color .15s;}
.nav ul a:hover,.nav ul a.on{color:var(--ink);}
.btn{display:inline-block;background:var(--ink);color:#fff;font-weight:500;font-size:14.5px;padding:12px 28px;border-radius:999px;transition:opacity .15s;}
.btn:hover{opacity:.82;}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--hair2);}
.btn.sm{padding:9px 22px;font-size:13.5px;}
.nav .btn{padding:9px 20px;font-size:13px;}

/* ---------- hero (kiosx: huge, centered, silver, big imagery) ---------- */
.hero{padding:96px 0 0;text-align:center;background:linear-gradient(180deg,#fff 0%,#f4f5f7 100%);}
.eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--sub);}
h1{font-weight:700;letter-spacing:-.022em;line-height:1.06;font-size:clamp(38px,5.6vw,64px);margin:24px auto 0;max-width:880px;}
.sub{color:var(--sub);font-size:20px;max-width:620px;margin:24px auto 0;font-weight:400;line-height:1.55;}
.cta-row{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap;}
.hero-note{margin-top:20px;font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.22em;color:var(--sub);text-transform:uppercase;}
.hero-img{margin:64px auto 0;max-width:880px;padding:0 24px 0;}
.hero-img img{margin:0 auto;filter:drop-shadow(0 30px 60px rgba(3,2,19,.18));}

/* ---------- sections ---------- */
section{padding:100px 0;}
section.alt{background:var(--bg-alt);}
section.soft{background:var(--bg-soft);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
h2{font-weight:700;font-size:clamp(30px,4vw,48px);line-height:1.1;letter-spacing:-.02em;margin-top:18px;max-width:760px;}
.center{text-align:center;}
.center h2,.center .lead{margin-left:auto;margin-right:auto;}
.lead{margin-top:22px;max-width:640px;color:var(--sub);font-size:19px;line-height:1.6;}

/* stats — kiosx spec-strip style */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:16px;overflow:hidden;margin-top:60px;}
.stat{background:#fff;padding:30px 26px;}
.stat .l{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sub);}
.stat .v{font-weight:700;font-size:26px;letter-spacing:-.01em;margin-top:10px;line-height:1.25;}
.stat .d{font-size:13px;color:var(--sub);margin-top:6px;line-height:1.5;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:34px;margin-top:60px;}
.step .n{font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.24em;color:var(--sub);}
.step h3{font-weight:600;font-size:19px;margin:12px 0 8px;letter-spacing:-.01em;}
.step p{font-size:15px;color:var(--sub);line-height:1.6;}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:60px;}
.card{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:32px;}
section.alt .card,section.soft .card{box-shadow:0 1px 2px rgba(3,2,19,.04);border:none;}
.card h3{font-weight:600;font-size:17.5px;margin-bottom:10px;letter-spacing:-.01em;}
.card p{font-size:14.5px;color:var(--sub);line-height:1.6;}

/* product cards — kiosx clean white tiles */
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:60px;}
.product{background:#fff;border-radius:22px;padding:30px;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(3,2,19,.06);border:1px solid var(--hair);}
.product .ph{background:linear-gradient(180deg,#fbfbfc,#eef0f3);border-radius:14px;padding:26px 18px;display:flex;align-items:center;justify-content:center;min-height:160px;}
.product .ph img{max-height:112px;width:auto;}
.product .tag{font-family:ui-monospace,Menlo,monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sub);margin-top:20px;}
.product h3{font-weight:600;font-size:19px;margin:6px 0 0;letter-spacing:-.01em;}
.product .price{font-weight:700;font-size:28px;margin:8px 0 10px;letter-spacing:-.01em;}
.product .price span{font-size:11px;color:var(--sub);font-family:ui-monospace,Menlo,monospace;letter-spacing:.12em;font-weight:400;}
.product p{font-size:14px;color:var(--sub);flex:1;line-height:1.55;}
.product .btn{margin-top:20px;text-align:center;}

/* depth grid */
.depth{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:60px;}
.depth a{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:30px;transition:box-shadow .15s,transform .15s;display:block;}
.depth a:hover{box-shadow:0 8px 28px rgba(3,2,19,.08);transform:translateY(-2px);}
.depth .lv{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.22em;color:var(--sub);text-transform:uppercase;}
.depth h3{font-weight:600;font-size:18px;margin:12px 0 8px;letter-spacing:-.01em;}
.depth p{font-size:14px;color:var(--sub);line-height:1.55;}
.depth .go{font-size:13.5px;font-weight:500;color:var(--ink);margin-top:16px;display:block;}

/* ceremony terminal — the one deliberately dark object (it's a screen) */
.term{background:var(--noirbg);border-radius:20px;padding:36px 40px;font-family:ui-monospace,Menlo,monospace;max-width:860px;margin:60px auto 0;text-align:left;color:#FAF8F4;box-shadow:0 24px 60px rgba(3,2,19,.25);}
.term .tl{font-size:10px;letter-spacing:.26em;color:#8A867D;text-transform:uppercase;}
.term .words{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px 20px;margin:20px 0;}
.term .words div{font-size:14px;}
.term .words span{color:#5B5E66;font-size:11px;margin-right:8px;}
.term .addr{font-size:11.5px;color:#C9C5BC;line-height:2;word-break:break-all;}
.term .addr b{color:#8A867D;font-weight:500;letter-spacing:.2em;font-size:9.5px;margin-right:8px;}
.term .foot{border-top:1px solid #26282E;margin-top:20px;padding-top:16px;font-size:10px;letter-spacing:.2em;color:#C9C5BC;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;text-transform:uppercase;}

/* prose pages */
.prose{max-width:720px;}
.prose h2{margin-top:70px;}
.prose h3{font-weight:600;font-size:22px;margin:46px 0 10px;letter-spacing:-.015em;}
.prose p{margin-top:16px;color:var(--body);}
.prose ul,.prose ol{margin:16px 0 0 22px;color:var(--body);}
.prose li{margin-top:10px;}
.prose .callout{background:var(--bg-alt);border-radius:16px;padding:24px 28px;margin-top:28px;font-size:15.5px;color:var(--body);}
.prose .warn{background:#faf3ef;border:1px solid #ecd9cd;}
.prose .warn .wt{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.22em;color:var(--seal);text-transform:uppercase;display:block;margin-bottom:8px;}
.prose blockquote{font-weight:600;font-size:24px;line-height:1.35;letter-spacing:-.015em;border-left:3px solid var(--ink);padding-left:24px;margin-top:34px;color:var(--ink);}
.hash{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;word-break:break-all;background:var(--bg-alt);border-radius:12px;padding:18px 22px;margin-top:16px;color:var(--body);line-height:1.9;}

/* comparison table */
table.cmp{width:100%;border-collapse:collapse;margin-top:46px;font-size:14.5px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(3,2,19,.05);}
table.cmp th{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sub);text-align:left;padding:16px 16px 12px;font-weight:500;background:var(--bg-soft);}
table.cmp td{padding:16px;border-top:1px solid var(--hair);vertical-align:top;color:var(--body);}
table.cmp tr.hl td{background:var(--ink);color:#fff;}
table.cmp tr.hl td b{color:#fff;}

/* FAQ */
details{border-bottom:1px solid var(--hair);padding:22px 0;}
details summary{font-weight:600;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;letter-spacing:-.01em;}
details summary::-webkit-details-marker{display:none;}
details summary:after{content:'+';font-weight:300;font-size:24px;color:var(--sub);}
details[open] summary:after{content:'–';}
details p{margin-top:14px;color:var(--sub);font-size:15.5px;max-width:700px;line-height:1.6;}

/* footer — kiosx: light, tiny, quiet */
footer{border-top:1px solid var(--hair);padding:64px 0 40px;background:var(--bg-soft);}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
footer img{height:20px;}
.fmotto{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.3em;color:var(--sub);margin-top:16px;text-transform:uppercase;}
footer h4{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sub);margin-bottom:14px;}
footer ul{list-style:none;}
footer ul li{margin-top:9px;}
footer ul a{font-size:13.5px;color:var(--body);}
footer ul a:hover{color:var(--ink);}
.legalrow{border-top:1px solid var(--hair);margin-top:52px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--sub);}
.legalrow .mono{font-size:10px;letter-spacing:.18em;text-transform:uppercase;}

/* subpage hero */
.phero{padding:88px 0 56px;background:linear-gradient(180deg,#fff 0%,#f6f7f8 100%);}
.phero h1{text-align:left;margin-left:0;font-size:clamp(32px,4.4vw,52px);}
.phero .sub{margin-left:0;text-align:left;}

@media (max-width:900px){
  .nav ul{display:none;}
  .fgrid{grid-template-columns:1fr 1fr;}
  .hero{padding:64px 0 0;}
  section{padding:70px 0;}
}
