/* Kankode Labs — lightweight inner pages (no WebGL). Tokens mirror css/styles.css. */
:root{
  --forest:#0C1310; --mist:#EEF5F0; --lime:#BEF264; --mint:#6EE7B7; --emerald:#22C55E; --spring:#34E0A1;
  --grad:linear-gradient(118deg,var(--lime),var(--spring),var(--emerald));
  --glass:rgba(238,245,240,.045); --line:rgba(52,224,161,.16);
  --sora:'Sora',system-ui,sans-serif; --mono:'Space Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--forest);color:var(--mist);font:300 1.0625rem/1.7 var(--sora);-webkit-font-smoothing:antialiased}
a{color:var(--spring);text-underline-offset:3px}
a:hover{color:var(--lime)}
.skip{position:absolute;left:-999px;top:8px;background:var(--lime);color:var(--forest);padding:8px 14px;z-index:10}
.skip:focus{left:8px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px clamp(20px,5vw,56px);border-bottom:1px solid var(--line)}
.brand{font:600 1.05rem var(--sora);letter-spacing:.02em;color:var(--mist);text-decoration:none}
.brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}
.bar nav{display:flex;gap:22px;flex-wrap:wrap;font:400 .78rem var(--mono);letter-spacing:.12em;text-transform:uppercase}
.bar nav a{color:var(--mist);text-decoration:none;opacity:.8}
.bar nav a:hover,.bar nav a[aria-current]{opacity:1;color:var(--lime)}
main{max-width:920px;margin:0 auto;padding:clamp(40px,8vw,88px) clamp(20px,5vw,40px)}
.eyebrow{font:400 .75rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--spring);margin:0 0 18px}
h1{font:200 clamp(2.1rem,6vw,3.6rem)/1.1 var(--sora);margin:0 0 22px;letter-spacing:-.01em}
h1 .g,h2 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:500}
h2{font:300 clamp(1.4rem,3.4vw,2rem)/1.2 var(--sora);margin:56px 0 14px}
h3{font:500 1.05rem var(--sora);margin:0 0 4px}
p{margin:0 0 16px;max-width:68ch}
.lead{font-size:1.2rem;opacity:.92}
.btn{display:inline-block;margin-top:10px;padding:14px 26px;border:1px solid var(--spring);color:var(--forest);background:var(--grad);font:700 .8rem var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
.btn:hover{color:var(--forest);filter:brightness(1.08)}
.btn--ghost{background:var(--glass);color:var(--mist)}
.btn--ghost:hover{color:var(--lime);background:rgba(52,224,161,.08)}
.actions{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:26px}
.contact-page{max-width:1080px}
.contact-layout{display:grid;gap:32px;margin-top:34px;align-items:start}
@media (min-width:860px){.contact-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
.contact-aside{border-left:1px solid var(--line);padding-left:24px}
.contact-aside h2{font-size:1.25rem;margin:0 0 18px}
.contact-aside .tier{margin:18px 0 4px}
.contact-aside p{margin-bottom:6px}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:22px 0 8px}
.card{background:var(--glass);border:1px solid var(--line);padding:22px 22px 18px}
.card--feature{border-color:var(--spring)}
.tier{font:400 .72rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--spring)}
.price{font:200 1.9rem var(--sora);margin:4px 0 2px}
.for{opacity:.7;font-size:.92rem;margin-bottom:12px}
.card ul{margin:0;padding-left:1.1rem;font-size:.95rem}
.card li{margin:4px 0}
.note{font-size:.92rem;opacity:.75}
.qa h3{margin-top:22px}
.legal h2{font-size:1.25rem;margin-top:36px}
.legal li{margin:6px 0}
.crumbs{font:400 .75rem var(--mono);letter-spacing:.08em;opacity:.7;margin-bottom:26px}
.crumbs a{color:var(--mist)}
footer{border-top:1px solid var(--line);padding:30px clamp(20px,5vw,56px);display:flex;flex-wrap:wrap;gap:18px 40px;justify-content:space-between;font-size:.9rem;opacity:.9}
footer a{color:var(--mist)}
footer .muted{opacity:.6}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){.btn{transition:filter .2s}}

/* ---- motion (only when <html class="anim">; off for prefers-reduced-motion) ---- */
.anim [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.anim [data-reveal].in{opacity:1;transform:none}
.anim .grid .card:nth-child(2){transition-delay:.08s}
.anim .grid .card:nth-child(3){transition-delay:.16s}
.anim h1 .g{background-size:220% 100%;animation:sheen 7s ease-in-out infinite alternate}
@keyframes sheen{from{background-position:0% 0}to{background-position:100% 0}}
.anim .btn{transition:transform .25s cubic-bezier(.22,1,.36,1),filter .2s}
.card{transition:border-color .25s,background .25s}
.card:hover{border-color:var(--spring);background:rgba(238,245,240,.07)}
@media (prefers-reduced-motion:reduce){
  .anim [data-reveal]{opacity:1;transform:none;transition:none}
  .anim h1 .g{animation:none}
}
