/* Knightlings site: tokens mirror design/tokens.json (ek.css). No third-party requests. */
@font-face{font-family:"IM Fell English SC";src:url(/assets/IMFeENsc28P.fcd69118.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(/assets/BarlowSemiCondensed-Regular.6da1bffd.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(/assets/BarlowSemiCondensed-SemiBold.6b61bf61.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(/assets/BarlowSemiCondensed-Bold.ecf50652.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --walnut-950:oklch(0.15 0.02 50);--walnut-900:oklch(0.19 0.025 50);--walnut-800:oklch(0.24 0.03 52);
  --walnut-700:oklch(0.31 0.035 54);--walnut-600:oklch(0.40 0.04 56);
  --parch-100:oklch(0.95 0.02 85);--parch-200:oklch(0.90 0.035 84);--parch-300:oklch(0.83 0.045 80);
  --ink:oklch(0.24 0.03 55);--ink-soft:oklch(0.42 0.035 60);
  --steel-300:oklch(0.80 0.012 250);
  --ember:oklch(0.80 0.14 75);--ember-deep:oklch(0.66 0.15 60);
  --safe:oklch(0.74 0.12 155);--night:oklch(0.30 0.06 265);
  --text:oklch(0.94 0.012 80);--text-dim:oklch(0.78 0.02 75);
  --f-display:"IM Fell English SC",Georgia,serif;
  --f-ui:"Barlow Semi Condensed","Helvetica Neue",Helvetica,sans-serif;
  --r-s:6px;--r-m:10px;--r-l:16px;--r-pill:999px;
  --gutter:16px;--wrap:1120px;
}
@media (min-width:720px){:root{--gutter:32px}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--walnut-950);color:var(--text);font:400 17px/1.55 var(--f-ui);-webkit-font-smoothing:antialiased;text-wrap:pretty}
img{display:block;max-width:100%}
.px{image-rendering:pixelated;image-rendering:crisp-edges}
a{color:var(--ember);text-underline-offset:3px}
a:hover{color:var(--parch-100)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.lbl{font:600 12px/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.05;letter-spacing:.01em;margin:0;text-wrap:balance}
p{margin:0}

/* header */
.top{position:absolute;inset:0 0 auto;z-index:5}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px}
.brand{display:flex;align-items:center;gap:8px;color:var(--parch-100);text-decoration:none;font:400 24px/1 var(--f-display)}
.brand img{width:40px;height:40px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.5))}
.top-link{font:700 13px/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--parch-100);text-decoration:none;height:40px;display:inline-flex;align-items:center;padding:0 14px;border-radius:var(--r-m);background:oklch(0.15 0.02 50/.6);box-shadow:inset 0 0 0 1px oklch(0.80 0.012 250/.35)}
.top-link:hover{color:var(--ember)}

/* hero */
.hero{position:relative}
.hero-art{position:relative;height:clamp(340px,64vw,600px);overflow:hidden;background:var(--walnut-800)}
.hero-art img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:58% 100%}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(0.15 0.02 50/.55) 0,transparent 22%,transparent 45%,oklch(0.15 0.02 50/.85) 80%,var(--walnut-950) 100%)}
.hero-copy{position:relative;margin-top:-72px;display:grid;gap:18px;padding-bottom:56px}
.hero-copy .lbl{text-shadow:0 1px 0 #000,0 0 6px #000}
.hero h1{font-size:clamp(52px,12vw,96px);color:var(--parch-100);text-shadow:0 3px 0 oklch(0.10 0.02 50)}
.pitch{font-size:clamp(19px,2.6vw,24px);line-height:1.35;color:var(--text);max-width:38ch}
.pitch b{color:var(--ember);font-weight:600}
.stores{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.soon-lbl{flex-basis:100%;font:600 14px/1.2 var(--f-ui);color:var(--text-dim)}
.badge{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 16px 0 12px;border-radius:var(--r-m);background:#0d0b09;color:#f4f1ea;box-shadow:inset 0 0 0 1px oklch(0.80 0.012 250/.45);cursor:default;user-select:none}
.badge .t{display:grid;gap:2px}
.badge small{font:600 10px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ember)}
.badge span{font:600 19px/1 var(--f-ui);letter-spacing:.01em}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.btn{height:48px;padding:0 20px;border-radius:var(--r-m);display:inline-flex;align-items:center;gap:8px;font:700 15px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.btn-pri{background:linear-gradient(180deg,oklch(0.86 0.13 80),var(--ember) 45%,var(--ember-deep));color:oklch(0.22 0.04 55);box-shadow:inset 0 1px 0 oklch(1 0 0/.5),inset 0 -2px 0 oklch(0.45 0.1 55/.5),0 4px 12px oklch(0.6 0.15 60/.3)}
.btn-pri:hover{color:oklch(0.15 0.03 55);filter:brightness(1.05)}
.cta-note{font-size:15px;color:var(--text-dim)}

/* facts strip */
.facts{border-block:1px solid oklch(0.80 0.012 250/.16);background:var(--walnut-900)}
.facts ul{list-style:none;margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 28px;padding-block:16px;font:600 15px/1.2 var(--f-ui);color:var(--text)}
.facts li{display:flex;align-items:center;gap:8px}
.facts li::before{content:"";width:6px;height:6px;background:var(--ember);transform:rotate(45deg);flex:none}

/* features */
.feats{display:grid;gap:72px;padding-block:72px 88px}
.feat{display:grid;gap:22px;align-items:center}
@media (min-width:860px){
  .feat{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px}
  .feat.flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .feat.flip .feat-art{order:2}
}
.feat-copy{display:grid;gap:12px;align-content:start}
.feat h2{font-size:clamp(32px,5vw,44px);color:var(--parch-100)}
.feat p{color:var(--text);max-width:46ch}
.feat .dim{color:var(--text-dim);font-size:15px}
.frame{position:relative;border-radius:var(--r-m);overflow:hidden;background:var(--walnut-800);box-shadow:0 0 0 3px var(--walnut-600),0 0 0 4px oklch(0.80 0.012 250/.25),0 18px 40px rgba(0,0,0,.45)}
.frame img{width:100%;height:auto}
.frame.crop{aspect-ratio:4/3}
.frame.crop.fx45{--fx:45%}
.frame.crop img{position:absolute;height:100%;width:auto;max-width:none;left:var(--fx,50%);transform:translateX(-50%)}
@media (min-width:560px){.frame.crop{aspect-ratio:auto}.frame.crop img{position:static;width:100%;height:auto;transform:none}}

/* item row */
.items{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.slot{width:48px;height:48px;border-radius:var(--r-s);display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,oklch(0.26 0.03 52),oklch(0.16 0.02 50));box-shadow:inset 0 0 0 1px oklch(0.80 0.012 250/.22),inset 0 2px 6px rgba(0,0,0,.5)}
.slot img{width:48px;height:48px}

/* party scene */
.party{position:relative;min-height:260px;padding:28px 20px 22px;background:url(/assets/grass.1be06053.png) 0 0/144px 144px repeat;image-rendering:pixelated;display:grid;align-content:end}
.party::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 100%,transparent,oklch(0.20 0.05 140/.35))}
.party-row{position:relative;display:flex;justify-content:space-between;align-items:end;gap:8px}
.side{display:flex;align-items:end;gap:4px}
.who{display:grid;justify-items:center;gap:4px}
.who img{width:72px;height:72px}
.who.big img{width:120px;height:120px;margin-bottom:-6px}
.who span{font:600 12px/1 var(--f-ui);color:#fff;text-shadow:0 1px 0 #000,0 0 3px #000;white-space:nowrap}
@media (max-width:480px){.who img{width:48px;height:48px}.who.big img{width:84px;height:84px}.party{padding-inline:10px;min-height:190px}.side{gap:0}}

/* kindness card */
.parch{background:radial-gradient(120% 90% at 30% 20%,var(--parch-100),var(--parch-200) 60%,var(--parch-300));color:var(--ink);border-radius:var(--r-m);box-shadow:inset 0 0 0 1px oklch(0.55 0.05 60/.35),inset 0 0 24px oklch(0.55 0.06 60/.25),0 18px 40px rgba(0,0,0,.4)}
.kind{padding:24px 20px;display:grid;gap:18px}
.crowd{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}
.crowd img{width:64px;height:64px}
@media (max-width:480px){.crowd img{width:44px;height:44px}}
.kind ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kind li{display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:16px;line-height:1.4}
.kind li::before{content:"";width:8px;height:8px;margin:7px 0 0 6px;background:var(--safe);box-shadow:0 0 0 2px oklch(0.45 0.08 155);transform:rotate(45deg)}
.kind li b{color:var(--ink)}

/* day / night */
.dn{position:relative}
.dn img{width:100%;height:auto}
.dn .night{position:absolute;top:0;left:39.93%;width:60.07%;height:100%;clip-path:polygon(30.08% 0,100% 0,100% 100%,3.45% 100%)}
.dn .tag{position:absolute;top:12px;font:700 12px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;padding:7px 10px;border-radius:var(--r-pill);background:oklch(0.15 0.02 50/.75);color:var(--parch-100);box-shadow:inset 0 0 0 1px oklch(0.80 0.012 250/.35)}
.dn .tag.d{left:12px}.dn .tag.n{right:12px;color:oklch(0.85 0.06 265)}

/* made by + footer */
.made{border-top:1px solid oklch(0.80 0.012 250/.16);padding-block:40px;display:grid;gap:14px;justify-items:start}
.made p{font-size:18px;color:var(--text);max-width:60ch}
.made .sig{display:flex;align-items:center;gap:10px;font:400 22px/1 var(--f-display);color:var(--parch-100)}
.made .sig img{width:48px;height:48px}
.foot{background:var(--walnut-900);border-top:1px solid oklch(0.80 0.012 250/.16);font-size:15px;color:var(--text-dim)}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 24px;padding-block:24px 28px}
.foot nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.foot nav a{color:var(--text);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.foot nav a:hover{color:var(--ember)}
.foot address{font-style:normal}

/* legal template */
.page-top{background:var(--walnut-900);border-bottom:1px solid oklch(0.80 0.012 250/.16)}
.page-top .top{position:static}
.legal{padding-block:40px 72px}
.sheet{max-width:720px;margin:0 auto;padding:32px 22px 40px}
@media (min-width:720px){.sheet{padding:56px 64px 64px}}
.sheet .lbl{color:var(--ink-soft)}
.sheet h1{font-size:clamp(38px,7vw,52px);color:var(--ink);margin:10px 0 6px}
.sheet .meta{font-size:15px;color:var(--ink-soft);margin-bottom:28px}
.sheet .toc{display:flex;flex-wrap:wrap;gap:6px 16px;padding:14px 0;border-block:1px solid oklch(0.45 0.05 60/.3);margin-bottom:8px;font:600 14px/1.3 var(--f-ui)}
.sheet .toc a{color:var(--ink-soft)}
.sheet h2{font-size:28px;color:var(--ink);margin:36px 0 10px}
.sheet p,.sheet li{font-size:18px;line-height:1.65;color:var(--ink);max-width:64ch}
.sheet p+p{margin-top:14px}
.sheet ul{padding-left:22px;margin:12px 0;display:grid;gap:8px}
.sheet li::marker{color:var(--ember-deep)}
.sheet strong{font-weight:700}
.sheet a{color:oklch(0.48 0.12 55)}
.sheet a:hover{color:var(--ink)}
.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;font:600 15px/1 var(--f-ui);color:var(--text-dim);text-decoration:none;min-height:32px}
.back:hover{color:var(--ember)}
@media (prefers-color-scheme:light){
  .legal{background:var(--parch-300)}
  .legal .back{color:var(--ink-soft)}
}
.legal .back-row{max-width:720px;margin:0 auto}
