/* KESLEN LLC — draft site styles. Mobile-first, no external fonts or images. */
:root{
  --ink:#14202b; --ink-2:#3b4a57; --muted:#5d6b78; --line:#dde3e8;
  --bg:#ffffff; --bg-2:#f4f7f9; --brand:#0f5a73; --brand-2:#0b4457; --accent:#e8f2f5;
  --warn-bg:#fff6dd; --warn-ink:#6b4e00; --radius:10px; --max:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;font-size:1rem}
img,svg{max-width:100%;height:auto}
a{color:var(--brand)} a:hover{color:var(--brand-2)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f2a900;outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.draft-banner{background:var(--warn-bg);color:var(--warn-ink);font-size:.85rem;text-align:center;padding:.4rem 1rem;border-bottom:1px solid #f0dca0}
header.site{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 0}
.logo{font-weight:800;letter-spacing:.12em;color:var(--ink);text-decoration:none;font-size:1.15rem}
.logo span{color:var(--brand)}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem .9rem;margin:0;padding:0;font-size:.95rem}
.nav a{text-decoration:none;color:var(--ink-2);padding:.25rem 0;display:inline-block}
.nav a[aria-current="page"]{color:var(--brand);font-weight:600;border-bottom:2px solid var(--brand)}
main{display:block}
.hero{background:linear-gradient(180deg,var(--accent),#fff);padding:3rem 0 2.5rem}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:700;color:var(--brand);margin:0 0 .5rem}
h1{font-size:2rem;line-height:1.2;margin:.2rem 0 1rem}
h2{font-size:1.5rem;line-height:1.25;margin:2.25rem 0 .75rem}
h3{font-size:1.1rem;margin:1.25rem 0 .4rem}
.lead{font-size:1.12rem;color:var(--ink-2);max-width:46rem}
section{padding:1.5rem 0}
.alt{background:var(--bg-2)}
.grid{display:grid;gap:1rem;grid-template-columns:1fr}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}
.card h3{margin-top:0}
.card p:last-child,.card ul:last-child{margin-bottom:0}
.btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;font-weight:600;padding:.7rem 1.15rem;border-radius:8px;border:2px solid var(--brand)}
.btn:hover{background:var(--brand-2);color:#fff}
.btn.ghost{background:transparent;color:var(--brand)}
.btn.ghost:hover{background:var(--accent);color:var(--brand-2)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.pill{display:inline-block;font-size:.8rem;font-weight:600;background:var(--accent);color:var(--brand-2);border-radius:999px;padding:.15rem .65rem;margin:0 .35rem .35rem 0}
.check li{list-style:none;position:relative;padding-left:1.5rem;margin:.35rem 0}
.check{padding-left:0}
.check li::before{content:"";position:absolute;left:.15rem;top:.55rem;width:.55rem;height:.3rem;border-left:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(-45deg)}
.never li::before{content:"✕";border:0;transform:none;top:0;left:.1rem;color:#9b2c2c;font-weight:700;width:auto;height:auto}
dl.facts{display:grid;grid-template-columns:1fr;gap:.25rem 1rem;margin:0}
dl.facts dt{font-weight:600;color:var(--ink-2)}
dl.facts dd{margin:0 0 .6rem}
.ph{background:#fff1c2;color:#6b4e00;padding:0 .25rem;border-radius:3px;font-size:.92em}
.note{font-size:.9rem;color:var(--muted)}
.callout{border-left:4px solid var(--brand);background:var(--accent);padding:1rem 1.25rem;border-radius:0 var(--radius) var(--radius) 0}
.legal-draft{border:2px dashed #c98a00;background:var(--warn-bg);color:var(--warn-ink);padding:1rem 1.25rem;border-radius:var(--radius);font-weight:600}
.monogram{width:96px;height:96px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;letter-spacing:.05em;flex:none}
.founder{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.steps{counter-reset:s;padding-left:0}
.steps li{list-style:none;counter-increment:s;position:relative;padding-left:2.5rem;margin:.9rem 0}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.mock{border:1px solid var(--line);border-radius:14px;background:#fff;padding:1rem;max-width:22rem;box-shadow:0 6px 20px rgba(15,90,115,.08)}
.mock .msg{background:var(--bg-2);border-radius:12px;padding:.6rem .8rem;margin:.4rem 0;font-size:.92rem}
.mock .msg.me{background:var(--accent)}
.mock .row{display:flex;gap:.5rem;margin-top:.6rem}
.mock .row span{flex:1;text-align:center;border:1px solid var(--brand);border-radius:8px;padding:.35rem;font-size:.85rem;font-weight:600;color:var(--brand)}
.mock .row span.primary{background:var(--brand);color:#fff}
.legal h2{font-size:1.25rem}
.legal{max-width:48rem}
footer.site{border-top:1px solid var(--line);background:var(--bg-2);margin-top:2.5rem;padding:2rem 0;font-size:.9rem;color:var(--ink-2)}
footer.site .cols{display:grid;gap:1rem;grid-template-columns:1fr}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin:.2rem 0}
footer.site strong{color:var(--ink)}
@media (min-width:720px){
  h1{font-size:2.6rem}
  .hero{padding:4.5rem 0 3.5rem}
  .grid.two{grid-template-columns:1fr 1fr}
  .grid.three{grid-template-columns:repeat(3,1fr)}
  dl.facts{grid-template-columns:14rem 1fr}
  footer.site .cols{grid-template-columns:2fr 1fr 1fr}
  .split{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.draft-banner,header.site nav ul{display:none}}
.mt0{margin-top:0}.m0{margin:0}.mt-s{margin:.2rem 0 0}.mb-s{margin:0 0 .4rem}
details.card{margin:.6rem 0}details.card summary{cursor:pointer}
.split .mock{margin-top:1.75rem}
@media (min-width:720px){.split .mock{margin-top:0}}
