/* Keystone site theme, November 2026.
 * Loaded after each page's own styles. Clean, bright SaaS look: white space,
 * one bold sans for headlines, pill buttons, soft rounded cards, dark bands.
 * Brand colours stay: ink, brick, and a warm light grey in place of bone.
 */
:root{
  --ink:#111216;--ink-2:#22242A;--text:#2A2C33;--muted:#5D6270;
  --paper:#FFFFFF;--paper-2:#F6F5F3;--bone:#F6F5F3;
  --rule:#ECEBE8;--rule-dark:#DAD8D3;
  --brick:#C2452B;--brick-dark:#9E3520;--brick-bg:#FBEAE5;
  --serif:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:14px;--shadow:0 1px 2px rgba(17,18,22,.04),0 12px 32px -12px rgba(17,18,22,.14);
}
body{background:#fff;color:var(--text);font-size:17px}
h1,h2,h3{font-family:var(--sans);font-weight:750;letter-spacing:-.035em;color:var(--ink)}
h1{font-size:clamp(40px,6.4vw,76px);line-height:1.02;letter-spacing:-.045em}
h2{font-size:clamp(30px,4.2vw,50px);line-height:1.06}
h3{font-size:20px;letter-spacing:-.02em;font-weight:700}
.eyebrow{display:inline-block;font:600 13px/1 var(--sans);letter-spacing:.02em;text-transform:none;color:#9E3520;background:var(--brick-bg);padding:7px 12px;border-radius:999px;margin-bottom:18px}
.lead{color:var(--muted)}

/* buttons and links */
.btn{border-radius:999px;font-weight:600;padding:13px 26px;transition:transform .15s,box-shadow .15s,background .15s}
.btn-primary{background:var(--brick);box-shadow:0 8px 20px -8px rgba(194,69,43,.6)}
.btn-primary:hover{background:var(--brick-dark);transform:translateY(-1px)}
.textlink{text-decoration-thickness:2px;text-underline-offset:5px}

/* navigation */
.nav{background:rgba(255,255,255,.88);border-bottom:1px solid var(--rule)}
.logo{font-family:var(--sans)!important;font-weight:800!important;letter-spacing:-.04em}
.nav ul a{color:var(--text);font-weight:500}

/* sections */
.section{padding:104px 0}
.section.alt{background:var(--paper-2);border:0}
.sec-head{max-width:820px;margin:0 auto 56px;text-align:center}
.sec-head p{margin-left:auto;margin-right:auto;max-width:640px}
.sec-head .eyebrow{color:#9E3520}

/* hero: centred, soft glow, drawn lines */
.hero{position:relative;overflow:hidden;text-align:center;padding:96px 0 0;background:
  radial-gradient(900px 420px at 50% -10%,rgba(194,69,43,.10),transparent 70%),
  radial-gradient(700px 380px at 92% 18%,rgba(17,18,22,.05),transparent 70%),#fff}
.hero .wrap{position:relative;z-index:1}
.hero h1{max-width:15em;margin:0 auto 24px}
.hero .lead{margin:0 auto 34px;max-width:36em}
.hero .cta-row{justify-content:center}
.hero .cta-note{text-align:center}
.hero .status-line{margin:26px auto 0;text-align:left;border-radius:999px;padding:10px 18px;box-shadow:var(--shadow);border-color:var(--rule)}
.hero .frame{margin:64px auto 0;max-width:1080px;border-radius:18px 18px 0 0;border-color:var(--rule);box-shadow:0 40px 90px -30px rgba(17,18,22,.35)}
.hero-lines{position:absolute;inset:0;pointer-events:none;z-index:0;color:var(--brick);opacity:.22}
.cap{text-align:center}

/* sources strip, like a logo bar */
.sources{padding:40px 0;border:0}
.sources p{font-size:14px;letter-spacing:0;color:var(--muted)}
.sources li{font:700 18px var(--sans);letter-spacing:-.02em;color:#5D6270;opacity:1}

/* stat band */
.band{background:var(--ink);color:#fff;padding:56px 0}
.band .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.band b{display:block;font:800 clamp(34px,4vw,52px)/1 var(--sans);letter-spacing:-.04em;color:#fff}
.band span{display:block;margin-top:10px;color:#B9BCC6;font-size:15px}
@media (max-width:760px){.band .grid{grid-template-columns:1fr 1fr;gap:32px 16px}}

/* cards everywhere */
.strip>div,.reasons article,.ex,.price,.status .col,.doc,.loop,.stats>div,.counting{border-radius:var(--r)!important;border:1px solid var(--rule)!important;background:#fff;box-shadow:var(--shadow)}
.strip{gap:20px}
.strip>div{padding:28px}
.reasons{gap:20px}
.reasons article{padding:30px}
.ico{width:44px;height:44px;padding:10px;border-radius:12px;background:var(--brick-bg);color:var(--brick)}
.rhead .ico{margin:0}
.rhead .stat b{font-family:var(--sans);font-weight:800;letter-spacing:-.04em}
.ex{padding:30px}
.chart{border-radius:12px;background:#FAFAF9;border-color:var(--rule)}
.loop{overflow:hidden}
.loop .n{color:var(--brick)!important}

/* product tabs: centred pill switcher */
.ptabs{justify-content:center;background:#fff;border:1px solid var(--rule);border-radius:999px;padding:6px;width:max-content;max-width:100%;margin:0 auto 28px;box-shadow:var(--shadow)}
.ptabs button{border:0;border-radius:999px;background:transparent;font-weight:600}
.ptabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.pgrid figure{border-radius:16px;overflow:hidden;border:1px solid var(--rule);box-shadow:0 30px 70px -30px rgba(17,18,22,.3)}
.callouts li:before{background:var(--ink)}
@media (max-width:640px){.ptabs{border-radius:16px;width:auto}}

/* pricing */
.price.feature{border:2px solid var(--ink)!important}
.price .amt{font-family:var(--sans);font-weight:800;letter-spacing:-.04em}

/* tags: softer pills */
.tag{border-radius:999px;padding:6px 10px;text-transform:none;letter-spacing:0;font-size:12.5px}
.kind{border-radius:999px}

/* FAQ */
.faq details{border-color:var(--rule)}
.faq summary{font-family:var(--sans);font-weight:650;letter-spacing:-.01em}

/* closing band */
.section.dark{background:var(--ink);color:#fff;background-image:radial-gradient(700px 300px at 50% 0%,rgba(194,69,43,.35),transparent 70%)}
.final{text-align:center}
.final .btn{margin:0 auto}

/* footer */
footer{background:#fff}
.founder h2{font-size:clamp(30px,3.6vw,42px)}

/* sub pages (privacy, terms, cookies, contact, investors) */
.ph{font-family:var(--sans);font-weight:750;letter-spacing:-.025em}

#why-plan .cta-row,#examples .cta-row{justify-content:center}
.counting{display:grid}
