/* Tokens, reset, type, buttons, forms. Shared by every page. */
:root{
  --plum:#2a0a33; --sky:#9c22a1; --sky-deep:#3b0d47; --night:#101f23; --night-2:#0a1416; --ink:#06090b;
  --cream:#fff1e4; --cream-2:#f3d9c4; --muted:#cfae95;
  --lime:#8dcc24; --lime-hi:#9ddb33; --orange:#ff853b; --pink:#e26181;
  --brick:#1c2a2f; --brick-2:#26373d; --brick-3:#33474f; --slab:#15252a; --slab-2:#1b2d33; --line:#2b3d43;
  --paper:#fff8f0; --paper-ink:#1d1320; --paper-line:#ead8c6;
  --display:"Alfa Slab One","Rockwell Extra Bold","Arial Black",serif;
  --body:"Karla","Segoe UI",system-ui,sans-serif;
  --hdr:64px; --radius:14px; --p:0;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sky-deep);color:var(--cream);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p a,.prose a{color:var(--lime);text-underline-offset:3px}
h1,h2,h3,.h3{margin:0;font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:.005em;text-wrap:balance}
h1{font-size:clamp(2.2rem,4.8vw,3.8rem)}
h2{font-size:clamp(1.9rem,4.2vw,3.2rem);margin-bottom:14px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--lime);color:var(--ink);font-weight:800;padding:10px 14px;border-radius:10px;text-decoration:none}
.skip-link:focus{top:12px}
.ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}

.wrap{max-width:820px;margin:0 auto;padding:0 clamp(16px,4vw,56px)}
.wrap.wide{max-width:1280px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;font-weight:800;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lime)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--lime);flex:0 0 auto}
.lead{font-size:clamp(1.02rem,1.4vw,1.2rem);color:var(--cream-2);max-width:58ch;margin:0 0 28px}
.lead b{color:var(--cream);font-weight:700}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:12px;border:0;font-weight:800;font-size:.98rem;line-height:1.2;text-decoration:none;cursor:pointer;
  transition:transform .25s cubic-bezier(.3,1.5,.5,1),box-shadow .25s,background .2s}
.btn.lime{background:var(--lime);color:var(--ink);box-shadow:0 10px 30px -10px rgba(141,204,36,.8)}
.btn.lime:hover{transform:translateY(-2px) scale(1.03);background:var(--lime-hi)}
.btn.ghost{background:rgba(255,241,228,.06);border:1px solid rgba(255,241,228,.22);color:var(--cream)}
.btn.ghost:hover{background:rgba(255,241,228,.12);transform:translateY(-2px)}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* search field (hero, 404, header panel) */
.kkc-search,.search-panel{display:flex;max-width:560px;border-radius:14px;background:rgba(6,9,11,.55);border:1px solid rgba(255,241,228,.16);padding:6px;gap:6px;backdrop-filter:blur(6px)}
.kkc-search input,.search-panel input[type=search]{flex:1;min-width:0;background:transparent;border:0;color:var(--cream);font:500 1rem var(--body);padding:0 14px;min-height:44px}
.kkc-search input::placeholder,.search-panel input::placeholder{color:var(--muted)}
.kkc-search input:focus-visible,.search-panel input:focus-visible{outline:0}
.kkc-search:focus-within,.search-panel:focus-within{border-color:var(--lime);box-shadow:0 0 0 3px rgba(141,204,36,.25)}
.kkc-search button,.search-panel button{min-height:44px;padding:0 18px;border-radius:10px;border:0;background:var(--cream);color:var(--ink);font-weight:800}

/* sky: fixed backdrop on every page; the homepage animates --p from dusk (0) to night (1) */
.sky{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.sky-dusk{position:absolute;inset:0;background:
  radial-gradient(70vw 46vh at 88% 104%,rgba(255,133,59,.95),rgba(226,97,129,.45) 40%,transparent 72%),
  linear-gradient(180deg,#24082c 0%,var(--sky-deep) 34%,#7a1b86 68%,#b72c78 100%)}
.sky-night{position:absolute;inset:0;opacity:var(--p);background:linear-gradient(180deg,#04070a 0%,var(--night-2) 55%,#1d0a24 100%)}
body.kkc-inner{--p:.72}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
