/* Kept site. One stylesheet for every page, the login screen, forms and share pages. */

/* ==================================================================== tokens */
:root{
  --k-ink:#16131D; --k-ink-2:#3B3645; --k-mute:#675F70;
  --k-paper:#FBF7F0; --k-sand:#F3ECE0; --k-card:#FFFFFF; --k-line:#E8E0D4;
  --k-ember:#FF5A2C; --k-sun:#FFB323; --k-court:#1FBF75; --k-lagoon:#2D8BFF; --k-lilac:#A48BFF; --k-rose:#FF6A9C;
  --k-ember-ink:#C4380F; --k-sun-ink:#8A5600; --k-court-ink:#0B7442; --k-lagoon-ink:#0A5DBF; --k-lilac-ink:#5E43D0; --k-rose-ink:#BE1E58;
  --k-night:#100E17; --k-night-2:#1B1824; --k-dline:#2C2837; --k-dtext:#F4EFE8; --k-dmute:#A69EB0;
  --k-radius:18px; --k-radius-sm:12px; --k-radius-pill:999px;

  /* semantic, light */
  --bg:var(--k-paper); --bg-2:var(--k-sand); --surface:var(--k-card); --fg:var(--k-ink); --fg-2:var(--k-ink-2);
  --mute:var(--k-mute); --line:var(--k-line); --line-2:#D8CDBD;
  --band:var(--k-ink); --band-fg:var(--k-paper); --band-mute:#CBC3D4; --band-line:#2F2A3A; --band-surface:#221E2B;
  --ember-t:var(--k-ember-ink); --sun-t:var(--k-sun-ink); --court-t:var(--k-court-ink); --lagoon-t:var(--k-lagoon-ink); --lilac-t:var(--k-lilac-ink); --rose-t:var(--k-rose-ink);
  --ember-soft:#FFEBE3; --sun-soft:#FFF0CC; --court-soft:#D8F4E6; --lagoon-soft:#DDEBFF; --lilac-soft:#ECE6FF; --rose-soft:#FFE2EC;
  --focus:var(--k-lagoon-ink);
  --shadow:0 1px 2px rgba(22,19,29,.05),0 18px 40px -22px rgba(22,19,29,.28);
  --shadow-lg:0 2px 6px rgba(22,19,29,.06),0 30px 70px -30px rgba(22,19,29,.38);
  --hd-bg:rgba(251,247,240,.86);

  --font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --gutter:20px; --maxw:1240px; --hd-h:68px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --sec-pad:clamp(64px,4vw + 48px,132px);
  --tone:var(--k-ember); --tone-t:var(--ember-t); --tone-soft:var(--ember-soft);
}
@media (min-width:760px){:root{--gutter:32px;--hd-h:76px}}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:var(--k-night); --bg-2:var(--k-night-2); --surface:#1F1B29; --fg:var(--k-dtext); --fg-2:#DAD3DF;
    --mute:var(--k-dmute); --line:var(--k-dline); --line-2:#3A3548;
    --band:#1B1824; --band-fg:var(--k-dtext); --band-mute:var(--k-dmute); --band-line:#312C3E; --band-surface:#26212F;
    --ember-t:var(--k-ember); --sun-t:var(--k-sun); --court-t:var(--k-court); --lagoon-t:#5AA4FF; --lilac-t:var(--k-lilac); --rose-t:var(--k-rose);
    --ember-soft:#2B1A15; --sun-soft:#2A2213; --court-soft:#11261C; --lagoon-soft:#121F33; --lilac-soft:#1F1A33; --rose-soft:#2D1621;
    --focus:#5AA4FF;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -22px rgba(0,0,0,.7);
    --shadow-lg:0 2px 6px rgba(0,0,0,.3),0 30px 70px -30px rgba(0,0,0,.8);
    --hd-bg:rgba(16,14,23,.84);
  }
}
:root[data-theme="dark"]{
  --bg:var(--k-night); --bg-2:var(--k-night-2); --surface:#1F1B29; --fg:var(--k-dtext); --fg-2:#DAD3DF;
  --mute:var(--k-dmute); --line:var(--k-dline); --line-2:#3A3548;
  --band:#1B1824; --band-fg:var(--k-dtext); --band-mute:var(--k-dmute); --band-line:#312C3E; --band-surface:#26212F;
  --ember-t:var(--k-ember); --sun-t:var(--k-sun); --court-t:var(--k-court); --lagoon-t:#5AA4FF; --lilac-t:var(--k-lilac); --rose-t:var(--k-rose);
  --ember-soft:#2B1A15; --sun-soft:#2A2213; --court-soft:#11261C; --lagoon-soft:#121F33; --lilac-soft:#1F1A33; --rose-soft:#2D1621;
  --focus:#5AA4FF; --hd-bg:rgba(16,14,23,.84);
}

/* tone helpers: a hue as accent (text-safe) and as tint */
.ks-tone--ember{--tone:var(--k-ember);--tone-t:var(--ember-t);--tone-soft:var(--ember-soft)}
.ks-tone--sun{--tone:var(--k-sun);--tone-t:var(--sun-t);--tone-soft:var(--sun-soft)}
.ks-tone--court{--tone:var(--k-court);--tone-t:var(--court-t);--tone-soft:var(--court-soft)}
.ks-tone--lagoon{--tone:var(--k-lagoon);--tone-t:var(--lagoon-t);--tone-soft:var(--lagoon-soft)}
.ks-tone--lilac{--tone:var(--k-lilac);--tone-t:var(--lilac-t);--tone-soft:var(--lilac-soft)}
.ks-tone--rose{--tone:var(--k-rose);--tone-t:var(--rose-t);--tone-soft:var(--rose-soft)}
.ks-tone--sand,.ks-tone--paper,.ks-tone--card{--tone:var(--bg-2);--tone-t:var(--fg);--tone-soft:var(--bg-2)}

/* bright fills: always ink text, never white */
.ks-fill--ember,.ks-bg--ember{--fill:var(--k-ember)}
.ks-fill--sun,.ks-bg--sun{--fill:var(--k-sun)}
.ks-fill--court,.ks-bg--court{--fill:var(--k-court)}
.ks-fill--lagoon,.ks-bg--lagoon{--fill:var(--k-lagoon)}
.ks-fill--lilac,.ks-bg--lilac{--fill:var(--k-lilac)}
.ks-fill--rose,.ks-bg--rose{--fill:var(--k-rose)}
:is(.ks-fill--ember,.ks-fill--sun,.ks-fill--court,.ks-fill--lagoon,.ks-fill--lilac,.ks-fill--rose,.ks-bg--ember,.ks-bg--sun,.ks-bg--court,.ks-bg--lagoon,.ks-bg--lilac,.ks-bg--rose){
  background-color:var(--fill); color:var(--k-ink);
  --fg:var(--k-ink); --fg-2:var(--k-ink); --mute:var(--k-ink); --line:rgba(22,19,29,.22); --line-2:rgba(22,19,29,.35);
  --bg:var(--k-paper); --bg-2:var(--k-sand); --surface:var(--k-paper); --focus:var(--k-ink);
  --ember-t:var(--k-ink); --sun-t:var(--k-ink); --court-t:var(--k-ink); --lagoon-t:var(--k-ink); --lilac-t:var(--k-ink); --rose-t:var(--k-ink); --tone-t:var(--k-ink);
}
.ks-fill--paper,.ks-fill--card{background-color:var(--surface);color:var(--fg)}
.ks-fill--sand{background-color:var(--bg-2);color:var(--fg)}
.ks-fillbox.ks-fill--paper,.ks-fillbox.ks-fill--card{border:1px solid var(--line)}

/* ===================================================================== reset */
:where(.kepts,.kepts *,.kepts *::before,.kepts *::after){box-sizing:border-box}
:where(.kepts) :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote,fieldset){margin:0;padding:0}
:where(.kepts) :where(ul,ol){list-style:none}
:where(.kepts) :where(a){color:inherit;text-decoration:none}
:where(.kepts) :where(img,svg){max-width:100%}
:where(.kepts) :where(button,input,select,textarea){font:inherit;color:inherit}
:where(.kepts) :where(button){cursor:pointer}
:where(.kepts) :where(fieldset){border:0;min-width:0}
:where(.kepts) :where(summary){cursor:pointer}
:where(.kepts) :where(table){border-collapse:collapse}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hd-h) + 16px)}
body.kepts{
  margin:0; background-color:var(--bg); color:var(--fg);
  font-family:var(--font-body); font-size:16px; line-height:1.6; font-weight:400;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility; overflow-x:clip; font-feature-settings:"ss01","cv11";
}
@media (min-width:760px){body.kepts{font-size:17px}}
body.kepts.ks-lock{overflow:hidden}
.kepts ::selection{background:var(--k-sun);color:var(--k-ink)}
.kepts :focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.ks-main{display:block;outline:0}

.ks-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ks-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--k-ink);color:var(--k-paper);padding:10px 16px;border-radius:var(--k-radius-pill);font-weight:600}
.ks-skip:focus{top:12px}
.ks-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* ================================================================= layout */
.ks-wrap{width:min(var(--maxw),100% - var(--gutter)*2);margin-inline:auto}
.ks-wrap--narrow{width:min(820px,100% - var(--gutter)*2)}
.ks-wrap--bleed{width:100%}
.ks-s{position:relative;padding-block:var(--sec-pad)}
.ks-s--tight{padding-block:clamp(28px,2vw + 20px,56px)}
.ks-bg--paper{background-color:var(--bg)}
.ks-bg--sand{background-color:var(--bg-2)}
.ks-bg--card{background-color:var(--surface)}
.ks-bg--ink{background-color:var(--band);color:var(--band-fg);--fg:var(--band-fg);--fg-2:var(--band-fg);--mute:var(--band-mute);--line:var(--band-line);--line-2:var(--band-line);--surface:var(--band-surface);--bg:var(--band);--bg-2:var(--band-surface);
  --ember-t:var(--k-ember);--sun-t:var(--k-sun);--court-t:var(--k-court);--lagoon-t:#5AA4FF;--lilac-t:var(--k-lilac);--rose-t:var(--k-rose);--focus:var(--k-sun)}
.ks-bg--paper+.ks-bg--paper .ks-wrap:not(.ks-wrap--bleed){border-top:1px solid var(--line);padding-top:var(--sec-pad)}
.ks-bg--paper+.ks-bg--paper{padding-top:0}
.ks-bg--sand+.ks-bg--sand{padding-top:0}

/* ============================================================= typography */
.ks-h1,.ks-h2,.ks-h3,.ks-home__title,.ks-band__title,.ks-statement__text,.ks-loop{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;color:var(--fg);text-wrap:balance}
.ks-h1{font-size:clamp(2.55rem,1.4rem + 4.6vw,5.5rem);line-height:.96;letter-spacing:-.03em}
.ks-h2{font-size:clamp(2.05rem,1.3rem + 3vw,4rem);line-height:1;letter-spacing:-.025em}
.ks-h3{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem);line-height:1.12;font-weight:700}
.ks-lead{font-size:clamp(1.08rem,1rem + .35vw,1.3rem);line-height:1.5;color:var(--fg-2);max-width:40em;text-wrap:pretty}
.ks-head{margin-bottom:clamp(28px,2vw + 16px,52px);max-width:52rem}
.ks-head .ks-h2{max-width:18ch}
.ks-head .ks-lead{margin-top:18px}
.ks-head--center{margin-inline:auto;text-align:center}
.ks-head--center .ks-h2,.ks-head--center .ks-lead{margin-inline:auto}
.ks-head__cta{margin-top:16px}

.ks-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px 6px 10px;border-radius:var(--k-radius-pill);background:var(--surface);border:1px solid var(--line);font-size:.8125rem;font-weight:600;letter-spacing:.01em;color:var(--fg)}
.ks-eyebrow svg{color:var(--tone-t,var(--ember-t))}
.ks-eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--k-ember);box-shadow:0 0 0 3px var(--ember-soft)}
:is(.ks-fillbox,.ks-bg--ember,.ks-bg--sun,.ks-bg--court,.ks-bg--lagoon,.ks-bg--lilac,.ks-bg--rose) .ks-eyebrow{background:rgba(255,255,255,.45);border-color:rgba(22,19,29,.18)}
.ks-bg--ink .ks-eyebrow{background:var(--band-surface)}

.ks-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:650;color:var(--fg);text-decoration:underline;text-decoration-color:var(--tone,var(--k-ember));text-decoration-thickness:2px;text-underline-offset:6px}
.ks-arrow svg{transition:transform .25s var(--ease)}
@media (hover:hover){.ks-arrow:hover svg{transform:translateX(4px)}}

.ks-caption{margin-top:12px;font-size:.875rem;color:var(--mute);display:flex;align-items:center;gap:6px}

.ks-ticks{display:grid;gap:12px;margin-top:22px}
.ks-ticks li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.ks-ticks svg{flex:none;margin-top:2px;color:var(--court-t)}
.ks-ticks--rules svg{color:var(--fg)}

.ks-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--k-radius-pill);font-size:.8125rem;font-weight:700;color:var(--k-ink)}
.ks-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.ks-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:var(--k-radius-pill);background:var(--surface);border:1px solid var(--line);font-size:.875rem;font-weight:600}
.ks-chip svg{color:var(--tone-t)}
.ks-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--k-radius-pill);background:var(--k-sun);color:var(--k-ink);font-size:.75rem;font-weight:700}
.ks-badge--promo{background:var(--bg-2);color:var(--fg);border:1px solid var(--line-2)}
.ks-live{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--court-t)}
.ks-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--k-court)}
.ks-dot{display:inline-block;width:12px;height:12px;border-radius:50%}
.ks-avatar{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tone);color:var(--k-ink);font-weight:700;font-size:.875rem;flex:none;border:2px solid var(--bg)}
.ks-after{margin-top:32px;max-width:44rem;color:var(--fg-2)}
.ks-after p+p{margin-top:12px}
.ks-after a,.ks-prose a,.ks-card__body a,.ks-qa__a a,.ks-split__body a,.ks-empty a,.ks-fmsg a,.ks-form__fine a,.ks-bucket__none a,.ks-note a:not(.ks-arrow),.ks-ft__small a,.ks-filter__none a,.ks-check a,.ks-life a,.ks-tile__body a{text-decoration:underline;text-decoration-color:var(--k-ember);text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600}

/* ================================================================ buttons */
.ks-btn{--bh:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--bh);padding:0 24px;border-radius:var(--k-radius-pill);font-family:var(--font-body);font-weight:700;font-size:1rem;line-height:1.1;letter-spacing:-.005em;border:1.5px solid transparent;text-decoration:none;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease);cursor:pointer;position:relative;text-align:center}
.ks-btn svg{flex:none;transition:transform .25s var(--ease)}
.ks-btn--primary{background-color:var(--k-ember);color:var(--k-ink);border-color:var(--k-ember)}
.ks-btn--secondary{background-color:var(--fg);color:var(--bg);border-color:var(--fg)}
.ks-btn--ghost{background-color:transparent;color:var(--fg);border-color:var(--fg)}
.ks-btn--sm{--bh:40px;padding:0 18px;font-size:.9375rem}
.ks-btn--lg{--bh:58px;padding:0 30px;font-size:1.0625rem}
.ks-btn--xl{--bh:66px;padding:0 32px;font-size:1.2rem}
.ks-btn--block{display:flex;width:100%}
@media (hover:hover){
  .ks-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(22,19,29,.45)}
  .ks-btn:hover svg{transform:translateX(3px)}
  .ks-btn--primary:hover{background-color:#FF6B40}
  .ks-btn--ghost:hover{background-color:var(--fg);color:var(--bg)}
}
.ks-btn:active{transform:translateY(0)}
.ks-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
@media (max-width:479px){.ks-ctas .ks-btn{flex:1 1 100%}}

/* ================================================================= header */
.ks-hd{position:sticky;top:0;z-index:70;background-color:var(--bg);border-bottom:1px solid transparent;transition:border-color .25s var(--ease),background-color .25s var(--ease)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.ks-hd{background-color:var(--hd-bg);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px)}}
.ks-hd.is-scrolled{border-bottom-color:var(--line)}
.admin-bar .ks-hd{top:32px}
@media (max-width:782px){.admin-bar .ks-hd{top:46px}}
@media (max-width:600px){.admin-bar .ks-hd{top:0}}
.ks-hd__in{display:flex;align-items:center;gap:20px;height:var(--hd-h)}
.ks-logo{display:inline-flex;align-items:center;gap:10px;flex:none;border-radius:var(--k-radius-pill)}
.ks-logo__word{font-family:var(--font-display);font-weight:800;font-size:1.6rem;letter-spacing:-.03em;line-height:1}
.ks-mark{display:block;flex:none}
.ks-mark .f-ember{fill:var(--k-ember)}
@media (hover:hover){.ks-logo:hover .ks-mark{transform:rotate(-8deg)}.ks-logo .ks-mark{transition:transform .3s var(--ease)}}

.ks-nav{display:none;margin-inline:auto}
.ks-nav__list{display:flex;align-items:center;gap:2px}
.ks-nav__item{position:relative}
.ks-nav__link{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 13px;border-radius:var(--k-radius-pill);font-weight:600;font-size:.9375rem;background:none;border:0;color:var(--fg);transition:background-color .2s var(--ease)}
.ks-nav__link svg{transition:transform .2s var(--ease);opacity:.7}
.ks-nav__link.is-current{box-shadow:inset 0 -2px 0 var(--k-ember);border-radius:0}
.ks-nav__item.is-open>.ks-nav__btn{background-color:var(--bg-2)}
.ks-nav__item.is-open>.ks-nav__btn svg{transform:rotate(180deg)}
@media (hover:hover){.ks-nav__link:hover{background-color:var(--bg-2)}}
.ks-menu{display:none;position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);width:max-content;max-width:min(560px,92vw);min-width:320px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);z-index:5}
.ks-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.ks-nav__item.is-open>.ks-menu{display:block}
.no-js .ks-nav__item:is(:hover,:focus-within)>.ks-menu{display:block}
.ks-menu__list{display:grid;gap:2px}
.ks-menu--grid .ks-menu__list{grid-template-columns:1fr 1fr;min-width:480px}
.ks-menu__a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;transition:background-color .15s var(--ease)}
@media (hover:hover){.ks-menu__a:hover{background:var(--bg-2)}}
.ks-menu__a:focus-visible{outline-offset:-2px}
.ks-menu__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--bg-2);flex:none;color:var(--fg)}
.ks-menu__ic.ks-fill--ember,.ks-menu__ic[class*="ks-fill--"]{color:var(--k-ink)}
.ks-menu__txt{display:grid;line-height:1.3}
.ks-menu__txt strong{font-weight:650;font-size:.9375rem}
.ks-menu__txt span{font-size:.8125rem;color:var(--mute)}
.ks-menu__foot{display:flex;gap:18px;margin:6px 4px 2px;padding:12px 8px 4px;border-top:1px solid var(--line)}
.ks-menu__foot a{display:inline-flex;align-items:center;gap:6px;font-weight:650;font-size:.9rem}
@media (prefers-reduced-motion:no-preference){.ks-nav__item.is-open>.ks-menu{animation:ks-menu-in .2s var(--ease)}}
@keyframes ks-menu-in{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}

.ks-hd__act{display:flex;align-items:center;gap:8px;margin-left:auto}
.ks-hd__login{display:none;font-weight:600;font-size:.9375rem;padding:8px 12px;border-radius:var(--k-radius-pill)}
@media (hover:hover){.ks-hd__login:hover{background:var(--bg-2)}}
.ks-burger{display:inline-grid;place-content:center;gap:6px;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--surface)}
.ks-burger__l{display:block;width:18px;height:2px;border-radius:2px;background:var(--fg);transition:transform .25s var(--ease)}
.ks-burger[aria-expanded="true"] .ks-burger__l:first-of-type{transform:translateY(4px) rotate(45deg)}
.ks-burger[aria-expanded="true"] .ks-burger__l:last-of-type{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:420px){.ks-hd__cta{padding:0 14px}}
@media (min-width:1120px){
  .ks-nav{display:block}
  .ks-hd__login{display:inline-flex}
  .ks-burger{display:none}
  .ks-mnav{display:none!important}
}
.ks-mnav{position:fixed;inset:0;z-index:65;background-color:var(--bg);padding:calc(var(--hd-h) + 12px) 0 calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.admin-bar .ks-mnav{top:46px}
.ks-mnav[hidden]{display:none}
.ks-mnav__in{width:min(640px,100% - var(--gutter)*2);margin-inline:auto;display:flex;flex-direction:column;min-height:100%}
.ks-mnav__list>li{border-bottom:1px solid var(--line)}
.ks-mnav__big{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-family:var(--font-display);font-weight:750;font-size:1.75rem;letter-spacing:-.02em;list-style:none}
.ks-mnav__big::-webkit-details-marker{display:none}
.ks-mnav__grp[open] .ks-mnav__big svg{transform:rotate(180deg)}
.ks-mnav__big svg{transition:transform .2s var(--ease)}
.ks-mnav__sub{display:grid;gap:2px;padding:0 0 16px}
.ks-mnav__sub a{display:flex;align-items:center;gap:12px;padding:10px 4px;font-weight:600}
.ks-mnav__sub svg{color:var(--mute)}
.ks-mnav__cta{display:grid;gap:10px;margin-top:28px}
.ks-mnav__tag{margin-top:auto;padding-top:32px;font-family:var(--font-display);font-weight:800;font-size:2.4rem;letter-spacing:-.03em;color:var(--ember-t)}
@media (prefers-reduced-motion:no-preference){.ks-mnav:not([hidden]){animation:ks-fade .25s var(--ease)}}
@keyframes ks-fade{from{opacity:0}to{opacity:1}}

/* ================================================================== hero */
.ks-s--hero{padding-top:clamp(28px,3vw + 12px,64px);padding-bottom:clamp(56px,4vw + 32px,110px)}
.ks-crumbs{margin-bottom:22px;font-size:.875rem;color:var(--mute)}
.ks-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.ks-crumbs li{display:inline-flex;align-items:center;gap:6px}
.ks-crumbs a{text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
@media (hover:hover){.ks-crumbs a:hover{color:var(--fg);text-decoration-color:var(--k-ember)}}
.ks-hero__grid{display:grid;gap:36px;align-items:center}
@media (min-width:960px){.ks-hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px}.ks-hero__grid--solo{grid-template-columns:minmax(0,1fr)}}
.ks-hero__grid--solo .ks-hero__copy{max-width:60rem}
.ks-hero__lead{margin-top:22px;font-size:clamp(1.12rem,1rem + .5vw,1.4rem);line-height:1.5;color:var(--fg-2);max-width:36em;text-wrap:pretty}
.ks-hero__note{display:flex;align-items:center;gap:8px;margin-top:22px;font-size:.9375rem;color:var(--mute)}
.ks-hero__note svg{color:var(--court-t);flex:none}
.ks-hero__meta{margin-top:20px;font-size:.9375rem;color:var(--mute);font-weight:500}
.ks-hero__art{border-radius:28px;overflow:hidden;background-color:var(--tone-soft);isolation:isolate;box-shadow:var(--shadow)}
.ks-hero__art .ks-art{display:block;width:100%;height:auto}
.ks-hero--article .ks-h1{font-size:clamp(2.3rem,1.3rem + 3.6vw,4.4rem)}
@media (max-width:959px){.ks-hero__art{max-width:560px}}

/* home hero */
.ks-hero--home{padding-top:clamp(20px,2vw + 8px,48px);overflow:clip}
.ks-hero--home::before{content:"";position:absolute;z-index:0;right:-40%;bottom:-6%;width:min(900px,90vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,179,35,.28),rgba(255,90,44,.1) 55%,rgba(255,90,44,0) 72%);pointer-events:none}
.ks-hero--home .ks-wrap{position:relative;z-index:1}
.ks-home{display:grid;gap:12px;align-items:center}
@media (min-width:980px){.ks-home{grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:32px}.ks-hero--home::before{right:-12%;top:-8%;bottom:auto}}
.ks-home__title{font-size:clamp(3.05rem,.9rem + 6.9vw,6.9rem);line-height:.93;letter-spacing:-.035em;margin-top:6px}
.ks-home__title>span,.ks-strike{display:block}
.ks-strike{font-style:normal;color:var(--mute);margin-block:.04em}
.ks-strike span{background-image:linear-gradient(var(--k-ember),var(--k-ember));background-repeat:no-repeat;background-position:0 58%;background-size:100% .1em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ks-mark-plan{position:relative;display:inline-block;isolation:isolate;padding:0 .08em}
.ks-mark-plan::before{content:"";position:absolute;z-index:-1;left:0;right:-.02em;bottom:.06em;height:.42em;background:var(--k-sun);border-radius:.12em;transform:rotate(-1.5deg)}
.ks-home__art{position:relative;max-width:620px;margin-inline:auto;width:100%}
.ks-home__art .ks-art{display:block;width:100%;height:auto;overflow:visible}
@media (max-width:979px){.ks-home__art{max-width:420px;margin-top:8px}}
@media (prefers-reduced-motion:no-preference){
  .ks-strike span{animation:ks-strike .4s var(--ease) .55s both}
  .ks-strike span+span{animation-delay:.8s}
  .ks-mark-plan::before{animation:ks-grow .35s var(--ease) 1.15s both;transform-origin:left center}
}
@keyframes ks-strike{from{background-size:0 .1em}to{background-size:100% .1em}}
@keyframes ks-grow{from{transform:scaleX(0) rotate(-1.5deg)}to{transform:scaleX(1) rotate(-1.5deg)}}

/* ================================================================== art */
.ks-art{display:block;width:100%;height:auto}
.f-ember{fill:var(--k-ember)}.f-sun{fill:var(--k-sun)}.f-court{fill:var(--k-court)}.f-lagoon{fill:var(--k-lagoon)}.f-lilac{fill:var(--k-lilac)}.f-rose{fill:var(--k-rose)}
.f-ink{fill:var(--k-ink)}.f-paper{fill:var(--k-paper)}.f-sand{fill:var(--bg-2)}.f-bg{fill:var(--bg)}.f-fg{fill:var(--fg)}.f-surface{fill:var(--surface)}.f-line{fill:var(--line-2)}
.s-ink{stroke:var(--k-ink)}.s-fg{stroke:var(--fg)}.s-line{stroke:var(--line-2)}.s-ember{stroke:var(--k-ember)}.s-bg{stroke:var(--bg)}
.ks-art text{font-family:var(--font-display);font-weight:700;fill:var(--fg)}
.fw-label{font-size:22px;letter-spacing:-.01em}
.lc-label{font-size:24px}
.h-amt{font-size:40px;font-weight:800}
.h-amt--ink,.h-small--ink{fill:var(--k-ink)!important}
.h-small{font-size:17px;font-family:var(--font-body)!important;font-weight:600!important}
@media (max-width:600px){.h-small{display:none}}
.m-label{font-size:18px;fill:var(--k-ink)!important}
.tr-label{font-size:21px;fill:var(--k-ink)!important}
.nw-you{font-size:22px;fill:var(--bg)!important}
.fr-label{font-size:21px}
.st-ring{font-size:21px;letter-spacing:.24em;fill:var(--k-ink)!important;font-weight:800}
.ks-artbox{border-radius:26px;overflow:hidden;background-color:var(--bg-2);isolation:isolate}
.ks-artbox--ember{background-color:var(--ember-soft)}.ks-artbox--sun{background-color:var(--sun-soft)}.ks-artbox--court{background-color:var(--court-soft)}
.ks-artbox--lagoon{background-color:var(--lagoon-soft)}.ks-artbox--lilac{background-color:var(--lilac-soft)}.ks-artbox--rose{background-color:var(--rose-soft)}
.ks-artbox--paper{background-color:var(--surface);border:1px solid var(--line)}
.ks-artbox--none{background:none;border-radius:0}
.ks-artbox .ks-art{display:block}
.ks-artfig{max-width:900px}

@media (prefers-reduced-motion:no-preference){
  .g-badge{transform-box:fill-box;transform-origin:center;animation:g-in .4s var(--ease) both;animation-delay:var(--d)}
  .g-float{animation:g-float 6s ease-in-out infinite;animation-delay:var(--f)}
  .g-path{animation:g-dash 1.4s linear infinite}
  .g-dot{animation:g-conv 4.2s cubic-bezier(.5,0,.3,1) infinite;animation-delay:var(--d)}
  .g-pulse{transform-box:fill-box;transform-origin:center;animation:g-pulse 2.8s ease-out infinite}
  .g-spark{animation:g-twinkle 3.2s ease-in-out infinite}
  .fw-arc{animation:fw-spin 9s linear infinite}
  .c-ball{animation:c-bob 2.4s ease-in-out infinite}
  .t-flame{transform-box:fill-box;transform-origin:center;animation:t-flick 1.6s ease-in-out infinite alternate}
  .cal-hot{transform-box:fill-box;transform-origin:center;animation:cal-pop 3s ease-in-out infinite;animation-delay:calc(var(--i) * .3s)}
  .nw-node{transform-box:fill-box;transform-origin:center;animation:cal-pop 4s ease-in-out infinite;animation-delay:calc(var(--i) * .45s)}
  .m-zone{transform-box:fill-box;transform-origin:center;animation:g-breathe 4s ease-in-out infinite}
  .ct-pin{animation:c-bob 3s ease-in-out infinite}
  .sp-ray{animation:g-twinkle 2.4s ease-in-out infinite;animation-delay:calc(var(--i) * .2s)}
}
@keyframes g-in{from{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.6)}to{opacity:1;transform:none}}
@keyframes g-float{50%{transform:translateY(-7px)}}
@keyframes g-dash{to{stroke-dashoffset:-22}}
@keyframes g-conv{0%{opacity:0;transform:translate(var(--dx),var(--dy))}18%{opacity:1}78%{opacity:1}100%{opacity:0;transform:none}}
@keyframes g-pulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.5)}}
@keyframes g-twinkle{50%{opacity:.35}}
@keyframes g-breathe{50%{transform:scale(1.05)}}
@keyframes fw-spin{to{stroke-dashoffset:-1056}}
@keyframes c-bob{50%{transform:translateY(-8px)}}
@keyframes t-flick{to{transform:scale(1.25);opacity:.8}}
@keyframes cal-pop{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.14)}}

/* ============================================================= statement */
.ks-s--statement{text-align:center}
.ks-loop{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.08em .22em;font-size:clamp(2.2rem,1rem + 5.4vw,6.2rem);line-height:1;letter-spacing:-.035em}
.ks-loop__i{display:inline-flex;align-items:center;gap:.16em;white-space:nowrap}
.ks-loop__w{display:inline-block;color:var(--fg)}
.ks-loop__i.is-alt .ks-loop__w{color:var(--tone-t)}
.ks-loop__sep{display:inline-grid;place-items:center;width:.62em;height:.62em;border-radius:50%;background:var(--tone);color:var(--k-ink);flex:none}
.ks-loop__sep svg{width:.42em;height:.42em}
.ks-loop__sep--again{background:var(--k-rose)}
.ks-statement__text{font-size:clamp(2rem,1rem + 4vw,4.8rem);line-height:1.02;max-width:20ch;margin-inline:auto}
.ks-statement__sub{margin:26px auto 0;max-width:42em;font-size:clamp(1.05rem,1rem + .3vw,1.25rem);color:var(--fg-2)}
.ks-s--statement .ks-ctas{justify-content:center}
.ks-s--statement .ks-eyebrow{margin-bottom:28px}

/* ================================================================ cards */
.ks-cards{display:grid;gap:16px}
@media (min-width:640px){.ks-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.ks-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ks-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ks-cards--2{gap:20px}}
.ks-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:22px;background:var(--surface);border:1px solid var(--line);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.ks-card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--tone);color:var(--k-ink);margin-bottom:6px}
.ks-card__num{font-family:var(--font-display);font-weight:800;font-size:2.4rem;line-height:1;color:var(--tone-t);letter-spacing:-.03em}
.ks-card__label{align-self:flex-start;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tone-t)}
.ks-card__title{font-family:var(--font-display);font-weight:750;font-size:1.35rem;line-height:1.15;letter-spacing:-.015em}
.ks-card__title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ks-card__body{color:var(--fg-2);font-size:.98rem}
.ks-card__body p+p{margin-top:10px}
.ks-card__foot{margin-top:auto;padding-top:8px;font-size:.875rem;color:var(--mute);font-weight:600}
.ks-card .ks-ticks{margin-top:4px;gap:8px;font-size:.95rem}
.ks-cards--tone .ks-card{background:var(--tone-soft);border-color:transparent}
.ks-cards--numbered .ks-card{padding-top:22px}
@media (hover:hover){.ks-card.is-link:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}}

/* ================================================================ split */
.ks-split{display:grid;gap:40px;align-items:center}
@media (min-width:960px){
  .ks-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
  .ks-split--rev .ks-split__copy{order:2}
  .ks-split--solo{grid-template-columns:minmax(0,1fr);max-width:52rem}
}
.ks-split__copy .ks-h2{max-width:16ch}
.ks-split__copy .ks-lead{margin-top:18px}
.ks-split__body{margin-top:18px;color:var(--fg-2);max-width:38em}
.ks-split__body p+p{margin-top:14px}
.ks-split__link{margin-top:26px}
.ks-split__fig{position:relative;min-width:0}

/* figure: facts / example */
.ks-example{padding:28px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.ks-example__tag{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:700;color:var(--mute);letter-spacing:.02em}
.ks-example__title{margin-top:10px;font-family:var(--font-display);font-weight:750;font-size:1.5rem;line-height:1.15}
.ks-example__rows{margin-top:16px;display:grid}
.ks-example__rows>div{display:grid;grid-template-columns:minmax(0,9em) minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.ks-example__rows dt{font-weight:650;font-size:.9rem;color:var(--mute)}
.ks-example__rows dd{font-size:.95rem}
.ks-example__note{margin-top:14px;font-size:.875rem;color:var(--mute)}
@media (max-width:420px){.ks-example__rows>div{grid-template-columns:1fr;gap:2px}}

/* figure: breakdown */
.ks-breakdown{padding:30px;border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.ks-breakdown__tag{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:700;color:var(--mute)}
.ks-breakdown__total{margin-top:6px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ks-breakdown__num{font-family:var(--font-display);font-weight:800;font-size:clamp(3.4rem,2rem + 5vw,5.4rem);line-height:1;letter-spacing:-.04em}
.ks-breakdown__total span:last-child{font-weight:600;color:var(--mute)}
.ks-breakdown__bar{display:flex;gap:4px;height:56px;margin-top:20px}
.ks-breakdown__seg{flex:0 0 var(--w);border-radius:14px;border:2px solid var(--k-ink)}
.ks-breakdown__seg.ks-fill--paper{background:var(--k-paper)}
.ks-breakdown__legend{margin-top:18px;display:grid;gap:10px}
.ks-breakdown__legend li{display:flex;align-items:center;gap:10px}
.ks-breakdown__legend strong{font-family:var(--font-display);font-size:1.3rem;min-width:2.4em}
.ks-breakdown__legend .ks-dot{border:2px solid var(--k-ink);width:16px;height:16px}
.ks-breakdown__legend .ks-dot.ks-fill--paper{background:var(--k-paper)}
.ks-breakdown__note{margin-top:16px;font-size:.875rem;color:var(--mute)}
@media (prefers-reduced-motion:no-preference){.js .ks-breakdown__seg{transform-origin:left;transition:transform .4s var(--ease)}.js .rv:not(.in) .ks-breakdown__seg{transform:scaleX(.2)}}

/* figure: invite line */
.ks-invite-ex{padding:30px;border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.ks-invite-ex__line{display:flex;gap:14px;align-items:center;margin-top:14px;font-family:var(--font-display);font-weight:750;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.2rem);line-height:1.12;letter-spacing:-.02em}
.ks-invite-ex__line .ks-avatar{width:56px;height:56px;font-size:1.3rem}
.ks-invite-ex__sub{margin-top:14px;color:var(--mute)}

/* figure: tiers */
.ks-tiers{display:grid;gap:10px;counter-reset:t}
.ks-tiers__i{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;padding:18px 20px;border-radius:20px;background:var(--tone-soft);border:1px solid var(--line)}
.ks-tiers__n{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tone);color:var(--k-ink);font-weight:800;font-family:var(--font-display);font-size:1.2rem;border:2px solid var(--k-ink)}
.ks-tiers__t{font-family:var(--font-display);font-weight:750;font-size:1.25rem}
.ks-tiers__d{font-size:.95rem;color:var(--fg-2)}
.ks-tiers__i.ks-tone--sand .ks-tiers__n{background:var(--k-paper)}

/* ================================================================ steps */
.ks-steps{display:grid;gap:14px;counter-reset:s}
@media (min-width:720px){.ks-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.ks-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ks-steps--4,.ks-steps--8{grid-template-columns:repeat(4,minmax(0,1fr))}.ks-steps--5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ks-step{position:relative;padding:24px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.ks-step__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.ks-step__n{font-family:var(--font-display);font-weight:800;font-size:3rem;line-height:.9;letter-spacing:-.04em;color:var(--tone-t,var(--ember-t))}
.ks-step__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tone,var(--k-ember));color:var(--k-ink)}
.ks-step__title{font-family:var(--font-display);font-weight:750;font-size:1.3rem;line-height:1.15;letter-spacing:-.015em}
.ks-step__body{margin-top:8px;color:var(--fg-2);font-size:.97rem}
.ks-step__body p+p{margin-top:8px}
.ks-bg--ink .ks-step,.ks-bg--sand .ks-step{background:var(--surface)}

/* ================================================================ bento */
.ks-bento{display:grid;gap:16px}
@media (min-width:760px){.ks-bento{grid-template-columns:repeat(6,minmax(0,1fr))}.ks-tile--sm{grid-column:span 3}.ks-tile--wide{grid-column:span 6}.ks-tile--half{grid-column:span 3}.ks-tile--tall{grid-column:span 3}}
@media (min-width:1080px){.ks-tile--sm{grid-column:span 2}.ks-tile--wide{grid-column:span 4}.ks-tile--tall{grid-column:span 2;grid-row:span 2}.ks-tile--full{grid-column:span 6}}
.ks-tile{position:relative;display:flex;flex-direction:column;border-radius:28px;padding:28px;min-height:260px;overflow:hidden;isolation:isolate}
.ks-tile__art{margin:-6px -6px 18px;border-radius:18px;overflow:hidden}
.ks-tile__art .ks-art{max-height:240px;width:100%}
.ks-tile--wide{display:grid;gap:24px;align-items:center}
@media (min-width:760px){.ks-tile--full{grid-column:1/-1}.ks-tile--wide,.ks-tile--full{display:grid;gap:24px;align-items:center;grid-template-columns:1fr 1fr}.ks-tile--wide .ks-tile__art,.ks-tile--full .ks-tile__art{order:2;margin:0}}
.ks-tile__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.55);border:2px solid var(--k-ink);margin-bottom:18px;color:var(--k-ink)}
.ks-fill--paper .ks-tile__icon,.ks-fill--card .ks-tile__icon,.ks-fill--sand .ks-tile__icon{background:var(--k-sun)}
.ks-tile__eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.ks-tile__title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.55rem,1.2rem + 1vw,2.15rem);line-height:1.02;letter-spacing:-.025em}
.ks-tile__body{margin-top:12px;font-size:1rem;max-width:34em}
.ks-tile__body p+p{margin-top:10px}
.ks-tile .ks-ticks{margin-top:16px;gap:8px}
.ks-tile .ks-ticks svg{color:currentColor}
.ks-tile__link{margin-top:auto;padding-top:20px}
.ks-tile__link .ks-arrow{text-decoration-color:currentColor}

/* ============================================================= timeline */
.ks-timeline{display:grid;gap:0;position:relative}
.ks-timeline__i{display:grid;gap:12px;padding:28px 0;border-top:1px solid var(--line)}
.ks-timeline__i:last-child{border-bottom:1px solid var(--line)}
@media (min-width:860px){.ks-timeline__i{grid-template-columns:220px minmax(0,1fr);gap:40px}}
.ks-timeline__label{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ks-timeline__label .ks-pill{font-size:.9rem;padding:6px 14px}
.ks-timeline__date{font-size:.875rem;color:var(--mute);font-weight:600}
.ks-timeline__title{font-family:var(--font-display);font-weight:750;font-size:1.5rem;line-height:1.15;margin-bottom:8px}
.ks-timeline__body{color:var(--fg-2);max-width:46em}
.ks-timeline__body p+p{margin-top:10px}
.ks-timeline__body .ks-ticks{margin-top:14px}

/* ================================================================== faq */
.ks-faq{display:grid;gap:28px}
@media (min-width:980px){.ks-faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}.ks-faq__head{position:sticky;top:calc(var(--hd-h) + 32px)}}
.ks-faq__head .ks-head{margin-bottom:18px}
.ks-faq__list{border-top:1px solid var(--line-2)}
.ks-qa{border-bottom:1px solid var(--line-2)}
.ks-qa summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;list-style:none;font-family:var(--font-display);font-weight:700;font-size:clamp(1.1rem,1rem + .4vw,1.3rem);line-height:1.25;letter-spacing:-.01em}
.ks-qa summary::-webkit-details-marker{display:none}
.ks-qa__icon{flex:none;padding:6px;width:36px;height:36px;border-radius:50%;background:var(--bg-2);transition:transform .25s var(--ease),background-color .25s}
.ks-bg--sand .ks-qa__icon{background:var(--surface)}
.ks-qa[open] .ks-qa__icon{transform:rotate(45deg);background:var(--k-sun);color:var(--k-ink)}
.ks-qa__a{padding:0 0 24px;color:var(--fg-2);max-width:44em}
.ks-qa__a p+p{margin-top:10px}
@media (hover:hover){.ks-qa summary:hover .ks-qa__icon{background:var(--k-sun);color:var(--k-ink)}}

/* ============================================================== pricing */
.ks-pricing{display:grid;gap:28px;justify-items:center}
.ks-toggle{display:inline-flex;padding:5px;border-radius:var(--k-radius-pill);background:var(--surface);border:1px solid var(--line)}
.no-js .ks-toggle{display:none}
.ks-toggle__b{min-height:42px;padding:0 20px;border-radius:var(--k-radius-pill);border:0;background:none;font-weight:650;color:var(--fg)}
.ks-toggle__b.is-on{background:var(--fg);color:var(--bg)}
.ks-tiers-grid{display:grid;gap:16px;width:100%}
@media (min-width:680px){.ks-tiers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1180px){.ks-tiers-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ks-tier{display:flex;flex-direction:column;padding:28px;border-radius:28px;position:relative}
.ks-tier__name{font-family:var(--font-display);font-weight:800;font-size:1.6rem;letter-spacing:-.02em}
.ks-tier__blurb{margin-top:6px;min-height:3em;font-size:.95rem}
.ks-tier__price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:18px}
.js .ks-pricing[data-billing="month"] .ks-tier__price[data-show="year"],.js .ks-pricing[data-billing="year"] .ks-tier__price[data-show="month"]{display:none}
.no-js .ks-tier__price[data-show="year"]{margin-top:4px}
.no-js .ks-tier__price[data-show="year"] .ks-tier__amt{font-size:1.6rem}
.ks-tier__amt{font-family:var(--font-display);font-weight:800;font-size:3.2rem;line-height:1;letter-spacing:-.04em}
.ks-tier__per{font-weight:600;font-size:.9rem}
.ks-tier__feats{display:grid;gap:10px;margin:22px 0 26px;padding-top:20px;border-top:1.5px solid var(--line-2);font-size:.95rem}
.ks-tier__feats li{display:flex;gap:10px;align-items:flex-start}
.ks-tier__feats svg{flex:none;margin-top:2px}
.ks-tier__cta{margin-top:auto}
.ks-tier__cta .ks-btn{width:100%}
.ks-pricing__note{max-width:46em;text-align:center;color:var(--mute);font-size:.95rem}

/* ================================================================ table */
.ks-tablewrap{overflow-x:auto;contain:paint;border-radius:22px;border:1px solid var(--line);background:var(--surface);-webkit-overflow-scrolling:touch}
.ks-table{width:100%;min-width:560px;font-size:.97rem}
.ks-table caption{caption-side:top;text-align:left;padding:18px 22px 0;font-weight:700;color:var(--mute);font-size:.875rem}
.ks-table th,.ks-table td{padding:16px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.ks-table thead th{font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);font-weight:700;background:var(--bg-2)}
.ks-table tbody th{font-weight:650;width:36%}
.ks-table tbody tr:last-child>*{border-bottom:0}
.ks-table-note{margin-top:14px;font-size:.9rem;color:var(--mute);max-width:52em}
@media (max-width:699px){
  .ks-table--stack{min-width:0}
  .ks-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ks-table--stack tr{display:block;padding:16px 18px;border-bottom:1px solid var(--line)}
  .ks-table--stack tbody tr:last-child{border-bottom:0}
  .ks-table--stack th,.ks-table--stack td{display:block;width:auto;padding:0;border:0}
  .ks-table--stack tbody th{font-family:var(--font-display);font-size:1.1rem;margin-bottom:8px}
  .ks-table--stack td{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr);gap:12px;padding:4px 0;font-size:.95rem}
  .ks-table--stack td::before{content:attr(data-label);font-weight:650;color:var(--mute);font-size:.85rem}
}

/* ================================================================ stats */
.ks-stats{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.ks-stat{padding:24px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.ks-stat dt{font-weight:600;color:var(--mute);font-size:.9rem}
.ks-stat dd{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,1.6rem + 2vw,3.6rem);line-height:1;letter-spacing:-.04em;margin-top:8px}
.ks-stats__src{margin-top:14px;font-size:.85rem;color:var(--mute)}

/* ============================================================== marquee */
.ks-s--marquee{padding-block:22px}
.ks-marquee{display:flex;gap:28px;overflow:hidden;contain:paint;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ks-marquee__track{display:flex;flex:none;gap:28px;align-items:center;min-width:max-content}
.ks-marquee__i{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:750;font-size:clamp(1.3rem,1.1rem + .8vw,1.9rem);letter-spacing:-.02em;white-space:nowrap}
.ks-marquee__ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--k-ink)}
@media (prefers-reduced-motion:no-preference){.ks-marquee__track{animation:ks-marquee 90s linear infinite}.ks-marquee:hover .ks-marquee__track{animation-play-state:paused}}
@keyframes ks-marquee{to{transform:translateX(calc(-100% - 28px))}}

/* ============================================================= cta band */
.ks-s--cta-band{overflow:clip}
.ks-s--cta-band .ks-wrap{position:relative;display:grid;gap:32px;align-items:center}
@media (min-width:960px){.ks-s--cta-band .ks-wrap:has(.ks-band__art){grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}}
.ks-band__title{font-size:clamp(2.2rem,1.2rem + 4vw,5.2rem);line-height:.98;letter-spacing:-.035em;max-width:18ch}
.ks-band__lead{margin-top:20px;font-size:clamp(1.05rem,1rem + .35vw,1.3rem);max-width:38em;color:var(--fg-2)}
.ks-band__art{max-width:380px;justify-self:center;width:100%}
@media (max-width:959px){.ks-band__art{max-width:220px;justify-self:start}}

/* ================================================================ prose */
.ks-prose-grid{display:grid;gap:40px}
@media (min-width:1080px){.ks-prose-grid{grid-template-columns:240px minmax(0,1fr);gap:72px}.ks-prose-grid--solo{grid-template-columns:minmax(0,1fr)}}
.ks-prose-grid__aside{position:relative}
.ks-toc{padding:20px;border-radius:20px;background:var(--bg-2);font-size:.9rem}
@media (min-width:1080px){.ks-toc{position:sticky;top:calc(var(--hd-h) + 24px);max-height:calc(100vh - var(--hd-h) - 48px);overflow:auto}}
.ks-toc__t{font-weight:700;margin-bottom:10px}
.ks-toc ol{display:grid;gap:6px;counter-reset:toc}
.ks-toc a{color:var(--fg-2)}
@media (hover:hover){.ks-toc a:hover{color:var(--fg);text-decoration:underline}}
.ks-prose{max-width:44rem;font-size:1.0625rem;line-height:1.7;color:var(--fg-2)}
.ks-prose-grid--solo .ks-prose{margin-inline:auto}
@media (min-width:760px){.ks-prose{font-size:1.125rem}}
.ks-prose>*+*{margin-top:1.1em}
.ks-prose h2{margin-top:2.1em;font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,1.3rem + 1.1vw,2.15rem);line-height:1.1;letter-spacing:-.02em;color:var(--fg);scroll-margin-top:calc(var(--hd-h) + 20px)}
.ks-prose h3{margin-top:1.7em;font-family:var(--font-display);font-weight:750;font-size:1.3rem;line-height:1.2;color:var(--fg)}
.ks-prose h2+*,.ks-prose h3+*{margin-top:.6em}
.ks-prose strong{color:var(--fg);font-weight:650}
.ks-prose ul,.ks-prose ol{display:grid;gap:.5em;padding-left:1.4em}
.ks-prose ul{list-style:none;padding-left:1.4em}
.ks-prose ul>li{position:relative}
.ks-prose ul>li::before{content:"";position:absolute;left:-1.1em;top:.66em;width:.45em;height:.45em;border-radius:50%;background:var(--k-ember)}
.ks-prose ol{list-style:decimal}
.ks-prose ol>li::marker{font-weight:700;color:var(--ember-t)}
.ks-prose blockquote{margin-block:1.6em;padding:6px 0 6px 22px;border-left:4px solid var(--k-ember);font-family:var(--font-display);font-weight:700;font-size:1.35rem;line-height:1.3;color:var(--fg)}
.ks-prose .ks-callout{padding:20px 22px;border-radius:18px;background:var(--sun-soft);color:var(--fg)}
.ks-prose .ks-updated{font-size:.9rem;color:var(--mute);font-weight:600}
.ks-prose hr{border:0;border-top:1px solid var(--line);margin-block:2em}
.ks-prose table{width:100%;font-size:.95rem;display:block;overflow-x:auto;contain:paint}
.ks-prose table th,.ks-prose table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ks-prose .ks-head{margin-bottom:0}
.ks-article .ks-prose>p:first-of-type{font-size:1.2em;color:var(--fg)}
.ks-prose img{height:auto;border-radius:16px}

/* ================================================================ links */
.ks-linkcols{display:grid;gap:28px}
@media (min-width:700px){.ks-linkcols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.ks-linkcols{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ks-linkcol__t{font-family:var(--font-display);font-weight:750;font-size:1.3rem;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--fg)}
.ks-linkcol ul{display:grid;gap:2px}
.ks-linkcol li{display:grid;padding:9px 0;border-bottom:1px solid var(--line)}
.ks-linkcol a{font-weight:600}
.ks-linkcol li span{font-size:.875rem;color:var(--mute);margin-top:2px}
@media (hover:hover){.ks-linkcol a:hover{text-decoration:underline;text-decoration-color:var(--k-ember);text-decoration-thickness:2px;text-underline-offset:3px}}

/* ================================================================= note */
.ks-note{display:flex;gap:18px;padding:26px 28px;border-radius:24px;background:var(--surface);border:1.5px dashed var(--line-2)}
.ks-note__icon{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:50%;background:var(--k-sun);color:var(--k-ink)}
.ks-note__title{font-family:var(--font-display);font-weight:750;font-size:1.35rem;line-height:1.2;margin-bottom:8px}
.ks-note p{color:var(--fg-2)}
.ks-note p+p{margin-top:10px}
@media (max-width:520px){.ks-note{flex-direction:column}}

/* ========================================================== calculators */
.ks-calc{display:grid;gap:18px;padding:12px;border-radius:30px;background:var(--bg-2);border:1px solid var(--line)}
.ks-bg--sand .ks-calc{background:var(--surface)}
@media (min-width:940px){.ks-calc{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);padding:14px}}
.ks-calc__in{display:grid;gap:22px;padding:18px 14px}
@media (min-width:640px){.ks-calc__in{padding:22px}}
.ks-calc__out{position:relative;display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:22px;background:var(--band);color:var(--band-fg);--fg:var(--band-fg);--mute:var(--band-mute);--line:var(--band-line)}
.ks-calc__k{font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--band-mute)}
.ks-calc__hold{font-family:var(--font-display);font-weight:800;font-size:clamp(3.4rem,2.4rem + 3vw,5rem);line-height:.95;letter-spacing:-.04em}
.ks-calc__meter{display:flex;height:16px;border-radius:99px;overflow:hidden;background:var(--band-line)}
.ks-calc__back{flex:0 0 var(--w);background:var(--k-court);transition:flex-basis .35s var(--ease)}
.ks-calc__kept{flex:0 0 var(--w);background:var(--k-ember);transition:flex-basis .35s var(--ease)}
.ks-calc__rows{display:grid}
.ks-calc__rows>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--band-line)}
.ks-calc__rows dt{color:var(--band-mute)}
.ks-calc__rows dd{font-weight:700;font-variant-numeric:tabular-nums}
.ks-calc__rows>div:last-child dd{font-size:1.1rem}
.ks-calc__say{font-size:1.05rem;line-height:1.5}
.ks-calc__where{font-size:.9rem;color:var(--band-mute)}
.ks-calc__big{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px;border-top:1px solid var(--band-line)}
.ks-calc__num{font-family:var(--font-display);font-weight:800;font-size:2.2rem;line-height:1;letter-spacing:-.03em;color:var(--k-sun)}
.ks-calc .ks-field>label:not(.ks-check),.ks-calc legend{font-weight:700;font-size:.9375rem;margin-bottom:10px;display:block}
.ks-calc select{width:100%}
.ks-calc output{min-width:2ch;font-family:var(--font-display);font-weight:800;font-size:1.5rem;text-align:right}
.ks-range{display:flex;align-items:center;gap:14px}
.ks-calc input[type=range]{flex:1;min-width:0;accent-color:var(--k-ember);height:32px;margin:0}
.ks-calc__foot{margin-top:auto;padding-top:12px;font-size:.85rem;color:var(--band-mute)}
.ks-calc__foot a{color:var(--band-fg);text-decoration:underline;text-decoration-color:var(--k-ember);text-underline-offset:3px}
.ks-money{display:flex;align-items:center;gap:0;border:1.5px solid var(--line-2);border-radius:14px;background:var(--surface);overflow:hidden}
.ks-money span{padding:0 4px 0 16px;font-weight:700;color:var(--mute)}
.ks-money input{border:0!important;box-shadow:none!important;background:transparent!important;padding-left:4px!important}
.ks-money:focus-within{border-color:var(--k-ember);box-shadow:0 0 0 4px rgba(255,90,44,.25)}
.ks-scen{display:grid;gap:8px}
@media (min-width:520px){.ks-scen{grid-template-columns:1fr 1fr}}
.ks-scen__o{position:relative;display:block}
.ks-scen__o input{position:absolute;opacity:0;inset:0;cursor:pointer}
.ks-scen__o span{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--surface);font-weight:600;font-size:.95rem;line-height:1.25;transition:border-color .15s,background-color .15s}
.ks-scen__o svg{flex:none;color:var(--mute)}
.ks-scen__o input:checked+span{border-color:var(--fg);background:var(--fg);color:var(--bg)}
.ks-scen__o input:checked+span svg{color:var(--k-sun)}
.ks-scen__o input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}

/* segmented radios */
.ks-seg{display:flex;flex-wrap:wrap;gap:8px}
.ks-seg label{position:relative}
.ks-seg input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.ks-seg span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:var(--k-radius-pill);border:1.5px solid var(--line-2);background:var(--surface);font-weight:650;font-size:.95rem;transition:background-color .15s,border-color .15s}
.ks-seg input:checked+span{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.ks-seg input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.ks-seg--big span{min-height:52px;padding:0 22px;font-size:1.02rem}

/* ============================================================ plan cards */
.ks-board{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.ks-board__more{margin-top:28px}
.ks-plan{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:24px;background:var(--surface);border:1px solid var(--line);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
@media (hover:hover){.ks-plan:not(.ks-plan--hero):hover{transform:translateY(-4px);box-shadow:var(--shadow)}}
.ks-plan__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ks-plan__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;color:var(--k-ink);flex:none}
.ks-plan__when{display:grid;line-height:1.2;font-size:.95rem}
.ks-plan__when strong{font-weight:750}
.ks-plan__when span{color:var(--mute);font-weight:500}
.ks-plan__badges{display:flex;gap:6px;margin-left:auto}
.ks-plan__title{font-family:var(--font-display);font-weight:750;font-size:1.4rem;line-height:1.12;letter-spacing:-.015em}
.ks-plan__title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ks-plan__meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--mute);font-size:.9rem}
.ks-plan__meta>span{display:inline-flex;align-items:center;gap:5px}
.ks-plan__spots{display:grid;gap:8px}
.ks-plan__dots{display:flex;flex-wrap:wrap;gap:5px}
.ks-plan__dots i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--line-2)}
.ks-plan__dots i.on{background:var(--tone);border-color:var(--k-ink)}
.ks-plan__left{font-size:.9rem;font-weight:600}
.ks-plan__left em{font-style:normal;color:var(--tone-t);margin-left:6px;font-weight:700}
.ks-plan__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line-2);font-size:.875rem}
.ks-plan__commit{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--k-radius-pill);background:var(--tone-soft);font-weight:700}
.ks-plan__price{font-weight:600}
.ks-plan__host{color:var(--mute);display:inline-flex;align-items:center;gap:6px}
.ks-plan__rating{display:inline-flex;align-items:center;gap:2px;color:var(--fg);font-weight:700}
.ks-plan--hero{padding:24px;box-shadow:var(--shadow-lg)}
.ks-plan--hero .ks-plan__title{font-size:1.6rem}

.ks-empty{display:grid;gap:24px;align-items:center;padding:clamp(22px,3vw,40px);border-radius:28px;border:2px dashed var(--line-2);background:var(--surface)}
.ks-bg--sand .ks-empty{background:var(--bg)}
@media (min-width:880px){.ks-empty{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px}}
.ks-empty__art{max-width:340px}
.ks-empty__title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.2rem);line-height:1.08;letter-spacing:-.02em;color:var(--fg);margin-bottom:10px}
.ks-empty__copy>p:not(.ks-empty__title){color:var(--fg-2);max-width:36em}
.ks-empty .ks-form{margin-top:20px}
.ks-empty .ks-ctas{margin-top:20px}

.ks-buckets{display:grid;gap:36px}
.ks-bucket__t{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.7rem;letter-spacing:-.02em;margin-bottom:16px}
.ks-bucket__t span{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:99px;background:var(--fg);color:var(--bg);font-size:.95rem;font-family:var(--font-body)}
.ks-bucket__none{color:var(--mute);padding:18px 20px;border-radius:18px;border:1.5px dashed var(--line-2)}

/* ============================================================= flywheel */
.ks-fly{display:grid;gap:36px;align-items:center}
@media (min-width:1000px){.ks-fly{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}}
.ks-fly__list{display:grid;gap:14px}
.ks-fly__list li{display:flex;gap:16px;align-items:flex-start}
.ks-fly__n{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;color:var(--k-ink);border:2px solid var(--k-ink)}
.ks-fly__list h3{font-family:var(--font-display);font-weight:750;font-size:1.2rem;line-height:1.2}
.ks-fly__list p{color:var(--fg-2);font-size:.97rem}
.ks-fly__art{max-width:560px;width:100%;justify-self:center}

/* ============================================================ lifecycle */
.ks-life{display:grid;gap:16px}
@media (min-width:980px){.ks-life{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ks-life__col{padding:28px;border-radius:26px;background:var(--surface);border:1px solid var(--line)}
.ks-life__k .ks-pill{font-size:.9rem}
.ks-life__t{margin-top:16px;font-family:var(--font-display);font-weight:800;font-size:1.65rem;line-height:1.05;letter-spacing:-.02em}
.ks-life__b{margin-top:10px;color:var(--fg-2);font-size:.97rem}
.ks-life__list{display:grid;gap:14px;margin-top:22px}
.ks-life__list li{display:flex;gap:12px;align-items:flex-start}
.ks-life__list svg{flex:none;color:var(--tone);margin-top:1px}
.ks-life__list strong{display:block;font-weight:650;line-height:1.35}
.ks-life__list span{display:block;font-size:.92rem;color:var(--mute);margin-top:2px}

/* ================================================================ groups */
.ks-groups{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:720px){.ks-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1120px){.ks-groups{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}}
.ks-group{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:24px;min-height:190px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.ks-group__icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.5);border:2px solid var(--k-ink);margin-bottom:auto}
.ks-group__name{margin-top:18px;font-family:var(--font-display);font-weight:800;font-size:clamp(1.2rem,1rem + .6vw,1.45rem);line-height:1.05;letter-spacing:-.02em}
.ks-group__name a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ks-group__blurb{font-size:.875rem;line-height:1.4}
.ks-group__n{font-size:.8125rem;font-weight:700;display:flex;gap:10px;flex-wrap:wrap}
.ks-group .ks-live{color:var(--k-ink)}
.ks-group .ks-live::before{background:var(--k-ink)}
@media (hover:hover){.ks-group:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:var(--shadow)}}
@media (max-width:479px){.ks-group__blurb{display:none}.ks-group{min-height:150px;padding:16px}}

/* ============================================================ activities */
.ks-filter{display:grid;gap:14px;margin-bottom:36px}
.ks-filter__box{display:flex;align-items:center;gap:12px;padding:0 20px;min-height:60px;border-radius:var(--k-radius-pill);background:var(--surface);border:1.5px solid var(--line-2);max-width:640px}
.ks-filter__box:focus-within{border-color:var(--k-ember);box-shadow:0 0 0 4px rgba(255,90,44,.25)}
.ks-filter__box svg{flex:none;color:var(--mute)}
.ks-filter__box input{flex:1;min-width:0;border:0;background:none;font-size:1.05rem;outline:0;min-height:56px}
.ks-filter__chips{display:flex;gap:8px;overflow-x:auto;contain:paint;padding:4px 2px 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.ks-fchip{flex:none;min-height:40px;padding:0 16px;border-radius:var(--k-radius-pill);border:1.5px solid var(--line-2);background:var(--surface);font-weight:650;font-size:.9rem;color:var(--fg)}
.ks-fchip.is-on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.ks-filter__count{font-size:.9rem;color:var(--mute);min-height:1.4em}
.ks-filter__none{padding:24px;border-radius:20px;border:1.5px dashed var(--line-2);color:var(--fg-2)}
.ks-filter__none[hidden],.ks-actgroup[hidden],.ks-act[hidden]{display:none}
.ks-actgroup+.ks-actgroup{margin-top:40px}
.ks-actgroup__t{margin-bottom:16px}
.ks-actgroup__t a{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:800;font-size:1.6rem;letter-spacing:-.02em}
.ks-actgroup__ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--k-ink)}
@media (hover:hover){.ks-actgroup__t a:hover{text-decoration:underline;text-decoration-color:var(--k-ember);text-underline-offset:5px}}
.ks-acts{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.ks-act{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;border-radius:20px;background:var(--surface);border:1px solid var(--line);transition:transform .2s var(--ease),border-color .2s}
.ks-bg--sand .ks-act{background:var(--bg)}
.ks-act__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--k-ink)}
.ks-act__txt{display:grid;gap:3px}
.ks-act__name{font-family:var(--font-display);font-weight:750;font-size:1.12rem;line-height:1.2}
.ks-act__name::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ks-act__blurb{font-size:.875rem;color:var(--mute);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ks-act__meta{font-size:.8125rem;font-weight:700;padding:4px 9px;border-radius:99px;background:var(--tone-soft);white-space:nowrap;display:grid;gap:4px;justify-items:end}
@media (hover:hover){.ks-act:hover{transform:translateY(-3px);border-color:var(--tone)}}

/* ================================================================ cities */
.ks-cities{display:grid;border-top:1px solid var(--line-2)}
.ks-city a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 20px;padding:22px 4px;border-bottom:1px solid var(--line-2);transition:padding .2s var(--ease),background-color .2s}
@media (min-width:760px){.ks-city a{grid-template-columns:minmax(0,1fr) auto auto auto}}
.ks-city__name{font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,1.3rem + 2vw,3rem);letter-spacing:-.03em;line-height:1}
.ks-city__st{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem}
.ks-city__st i{width:10px;height:10px;border-radius:50%;background:var(--line-2)}
.ks-city--live .ks-city__st i{background:var(--k-court);box-shadow:0 0 0 4px var(--court-soft)}
.ks-city--seeding .ks-city__st i{background:var(--k-sun)}
.ks-city__n{font-size:.9rem;color:var(--mute)}
@media (max-width:759px){.ks-city__st{grid-column:1}.ks-city a>svg{grid-row:1/span 3;grid-column:2}.ks-city__n{grid-column:1}}
@media (hover:hover){.ks-city a:hover{padding-left:14px;background:var(--bg-2)}}
.ks-cities-empty{padding:28px;border-radius:24px;border:2px dashed var(--line-2);max-width:48rem}
.ks-cities-empty p:not(.ks-empty__title){color:var(--fg-2)}
.ks-cities__form{margin-top:32px;max-width:720px}
.ks-cities__more{margin-top:24px}

/* ================================================================ forms */
.ks-form{position:relative;display:grid;gap:18px}
.ks-form__fields{display:grid;gap:16px}
@media (min-width:640px){.ks-form--contact .ks-form__fields,.ks-form--venue .ks-form__fields,.ks-form--signup .ks-form__fields,.ks-form--waitlist:not(.ks-form--compact) .ks-form__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ks-field--full{grid-column:1/-1}}
.ks-field{display:grid;gap:7px;min-width:0;align-content:start}
.ks-field>label{font-weight:650;font-size:.9375rem}
.ks-opt{font-weight:500;color:var(--mute);font-size:.8125rem}
.kepts :is(.ks-field input:not([type=checkbox]):not([type=radio]):not([type=range]),.ks-field select,.ks-field textarea,.ks-searchform input){width:100%;max-width:100%;min-height:52px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--line-2);background-color:var(--surface);color:var(--fg);font-size:16px;line-height:1.4;transition:border-color .15s,box-shadow .15s}
.kepts .ks-field textarea{min-height:130px;resize:vertical}
.kepts .ks-field select{padding-right:12px}
.kepts :is(.ks-field input,.ks-field select,.ks-field textarea):focus{outline:0;border-color:var(--k-ember);box-shadow:0 0 0 4px rgba(255,90,44,.25)}
.kepts .ks-field.is-err :is(input,select,textarea){border-color:var(--rose-t)}
.ks-field ::placeholder{color:var(--mute);opacity:.85}
.ks-hint{font-size:.8125rem;color:var(--mute)}
.ks-ferr{font-size:.875rem;color:var(--rose-t);font-weight:600;min-height:0}
.ks-ferr:empty{display:none}
.ks-form__go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.ks-form__fine{font-size:.85rem;color:var(--mute)}
.ks-check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;line-height:1.45;cursor:pointer}
.ks-check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--k-ember)}
.ks-field--checks{display:flex;flex-wrap:wrap;gap:12px 24px}
.ks-fmsg{display:none;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:16px;font-weight:600;line-height:1.45}
.ks-fmsg.is-ok,.ks-fmsg.is-err{display:flex}
.ks-fmsg svg{flex:none}
.ks-fmsg.is-ok{background:var(--court-soft);color:var(--fg);border:1.5px solid var(--k-court)}
.ks-fmsg.is-ok svg{color:var(--court-t)}
.ks-fmsg.is-err{background:var(--rose-soft);color:var(--fg);border:1.5px solid var(--k-rose)}
.ks-fmsg.is-err svg{color:var(--rose-t)}
:is(.ks-bg--ember,.ks-bg--sun,.ks-bg--court,.ks-bg--lagoon,.ks-bg--lilac,.ks-bg--rose) .ks-fmsg{background:var(--k-paper);color:var(--k-ink)}
.ks-form.is-busy button[type=submit]{opacity:.7;pointer-events:none}
.ks-form.is-done .ks-form__fields,.ks-form.is-done .ks-form__go{display:none}
.ks-form--compact{gap:10px}
.ks-form--compact .ks-form__fields{display:grid;gap:10px}
@media (min-width:560px){.ks-form--compact{grid-template-columns:minmax(0,1fr) auto;align-items:start}.ks-form--compact .ks-fmsg{grid-column:1/-1}.ks-form--compact.ks-form--waitlist .ks-form__fields{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.ks-form--compact .ks-field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ks-form--compact .ks-form__go .ks-btn{min-height:52px}
@media (max-width:559px){.ks-form--compact .ks-form__go .ks-btn{width:100%}}
.ks-formsec{display:grid;gap:36px}
@media (min-width:980px){.ks-formsec{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:start}.ks-formsec--solo{grid-template-columns:minmax(0,1fr);max-width:820px}}
.ks-formsec__form{padding:clamp(20px,3vw,36px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.ks-bg--sand .ks-formsec__form{background:var(--bg)}
.ks-formsec__aside{margin-top:18px;color:var(--fg-2)}
.ks-formsec__aside p+p{margin-top:10px}
.ks-pw{display:flex;align-items:stretch;gap:8px}
.ks-pw input{flex:1}
.ks-pw__tog{display:inline-flex;align-items:center;gap:6px;padding:0 14px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--bg-2);font-weight:650;font-size:.875rem;color:var(--fg)}
.ks-pw__meter{height:6px;border-radius:9px;background:var(--line);overflow:hidden}
.ks-pw__meter i{display:block;height:100%;width:var(--pw,0%);background:var(--pwc,var(--k-rose));border-radius:inherit;transition:width .25s var(--ease),background-color .25s}
.ks-field--other[hidden]{display:none}
.ks-invite-note{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;background:var(--sun-soft);font-weight:600;font-size:.95rem}
.ks-signed{display:grid;gap:14px;justify-items:start}
.ks-signed p{color:var(--fg-2)}

/* ============================================================== compare */
.ks-compare{border-radius:26px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.ks-compare__row{display:grid;gap:10px;padding:18px 22px;border-top:1px solid var(--line)}
.ks-compare__row--head{display:none}
@media (min-width:820px){
  .ks-compare__row{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
  .ks-compare__row--head{display:grid;border-top:0;background:var(--bg-2);font-family:var(--font-display);font-weight:800;font-size:1.2rem}
  .ks-compare__row--head span:last-child{color:var(--ember-t)}
}
.ks-compare__list>.ks-compare__row:first-child{border-top:0}
@media (min-width:820px){.ks-compare__list>.ks-compare__row:first-child{border-top:1px solid var(--line)}}
.ks-compare__row dt{font-weight:750}
.ks-compare__row dd{display:flex;gap:10px;align-items:flex-start;font-size:.97rem}
.ks-compare__row dd svg{flex:none;margin-top:3px}
.ks-compare__l{color:var(--mute)}
.ks-compare__r svg{color:var(--court-t)}

/* ================================================================= chat */
.ks-split--chat{align-items:center}
.ks-chat{max-width:440px;margin-inline:auto;width:100%}
.ks-chat__phone{border-radius:30px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden}
.ks-chat__bar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);font-size:.875rem}
.ks-chat__grp{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.ks-chat__n{color:var(--mute)}
.ks-chat__msgs{display:grid;gap:14px;padding:22px 20px 26px;min-height:360px;align-content:start}
.ks-chat__m{display:flex;align-items:flex-end;gap:10px}
.ks-chat__m .ks-avatar{width:34px;height:34px;font-size:.8rem}
.ks-chat__b{padding:11px 16px;border-radius:20px 20px 20px 6px;background:var(--bg-2);font-size:1rem;line-height:1.35}
.ks-chat__m:nth-child(2) .ks-chat__b{background:var(--k-lagoon);color:var(--k-ink)}
.ks-chat__typing{display:inline-flex;gap:5px;padding:14px 16px;margin-left:44px;border-radius:20px;background:var(--bg-2);justify-self:start}
.ks-chat__typing span{width:7px;height:7px;border-radius:50%;background:var(--mute)}
.ks-chat__silence{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:.8rem;font-weight:700;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
.ks-chat__silence::before,.ks-chat__silence::after{content:"";flex:1;height:1px;background:var(--line)}
.ks-chat__void{height:70px;border-radius:14px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 14px) center/100% 1px no-repeat;opacity:.6}
@media (prefers-reduced-motion:no-preference){
  .ks-chat.is-armed .ks-chat__m,.ks-chat.is-armed .ks-chat__silence,.ks-chat.is-armed .ks-chat__void{opacity:0;transform:translateY(10px)}
  .ks-chat.is-armed .ks-chat__typing{opacity:0}
  .ks-chat.is-play .ks-chat__m{animation:ks-pop .35s var(--ease) both;animation-delay:calc(var(--i) * .75s)}
  .ks-chat.is-play .ks-chat__typing{animation:ks-typing 1.8s ease both;animation-delay:2.3s}
  .ks-chat.is-play .ks-chat__typing span{animation:ks-dot 1s ease-in-out infinite}
  .ks-chat.is-play .ks-chat__typing span:nth-child(2){animation-delay:.15s}
  .ks-chat.is-play .ks-chat__typing span:nth-child(3){animation-delay:.3s}
  .ks-chat.is-play .ks-chat__silence{animation:ks-pop .4s var(--ease) both;animation-delay:4.3s}
  .ks-chat.is-play .ks-chat__void{animation:ks-pop .4s var(--ease) both;animation-delay:4.7s}
}
@keyframes ks-pop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes ks-typing{0%{opacity:0}15%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes ks-dot{50%{transform:translateY(-4px);opacity:.5}}

/* =============================================================== versus */
.ks-versus{display:grid;gap:14px;align-items:stretch}
@media (min-width:880px){.ks-versus{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center}}
.ks-versus__p{padding:clamp(26px,3vw,48px);border-radius:32px;display:flex;flex-direction:column}
@media (min-width:880px){.ks-versus__p{min-height:300px}}
.ks-versus__p--left{border:1px solid var(--line)}
.ks-versus__k{font-family:var(--font-display);font-weight:800;font-size:clamp(3.4rem,2.2rem + 4vw,6rem);line-height:.9;letter-spacing:-.05em}
.ks-versus__p--left .ks-versus__k{color:var(--mute)}
.ks-versus__q{margin-top:auto;padding-top:clamp(18px,3vw,40px);font-family:var(--font-display);font-weight:750;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.6rem);line-height:1.08;letter-spacing:-.02em}
.ks-versus__p--left .ks-versus__q{color:var(--fg-2)}
.ks-versus__s{margin-top:14px;font-size:.97rem}
.ks-versus__vs{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--fg);color:var(--bg);justify-self:center}
@media (max-width:879px){.ks-versus__vs{transform:rotate(90deg);margin-block:-8px;position:relative;z-index:1}}
.ks-versus__after{margin:28px auto 0;max-width:44em;text-align:center;color:var(--fg-2);font-size:1.05rem}

/* ================================================================= hold */
.ks-hold{display:grid;gap:32px}
.ks-hold__art{padding:clamp(16px,3vw,40px) clamp(12px,3vw,48px);border-radius:28px;background:var(--surface);border:1px solid var(--line)}
.ks-hold__art .ks-art{max-width:780px;margin-inline:auto}
.ks-bg--sand .ks-hold__art{background:var(--bg)}
.ks-hold__steps{display:grid;gap:14px}
@media (min-width:860px){.ks-hold__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}
.ks-hold__steps li{display:flex;gap:16px;align-items:flex-start}
.ks-hold__n{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--k-ember);color:var(--k-ink);font-family:var(--font-display);font-weight:800;font-size:1.2rem;border:2px solid var(--k-ink)}
.ks-hold__steps li:nth-child(2) .ks-hold__n{background:var(--k-sun)}
.ks-hold__steps li:nth-child(3) .ks-hold__n{background:var(--k-court)}
.ks-hold__steps h3{font-family:var(--font-display);font-weight:750;font-size:1.3rem;line-height:1.15}
.ks-hold__steps p{margin-top:6px;color:var(--fg-2);font-size:.97rem}

/* ================================================================ bored */
.ks-bored{display:grid;gap:28px}
@media (min-width:980px){.ks-bored{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}}
.ks-bored .ks-h2{font-size:clamp(3rem,2rem + 4vw,6rem);line-height:.9}
.ks-bored .ks-lead{margin-top:20px}
.ks-bored__ui{display:grid;gap:18px;padding:clamp(18px,3vw,30px);border-radius:28px;background:rgba(255,255,255,.4);border:1.5px solid rgba(22,19,29,.2)}
.ks-bored__when legend{font-weight:700;margin-bottom:12px}
.ks-bored__ui .ks-seg span{background:rgba(255,255,255,.6);border-color:rgba(22,19,29,.35)}
.ks-bored__ui .ks-seg input:checked+span{background:var(--k-ink);color:var(--k-paper);border-color:var(--k-ink)}
.ks-bored__ui>.ks-btn{justify-self:start}
.ks-bored__out{display:grid;gap:12px}
.ks-bored__out:empty{display:none}
.ks-bored__msg{font-weight:650}
.ks-idea{position:relative;display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--k-paper);color:var(--k-ink);border:1.5px solid var(--k-ink)}
.ks-idea__ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;flex:none;border:1.5px solid var(--k-ink)}
.ks-idea strong{font-family:var(--font-display);font-size:1.12rem}
.ks-idea span{display:block;font-size:.875rem;color:var(--k-ink-2)}
.ks-idea a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ks-bored .ks-plan{--surface:var(--k-paper);--fg:var(--k-ink);--mute:var(--k-ink-2);color:var(--k-ink);border-color:var(--k-ink)}
@media (prefers-reduced-motion:no-preference){.ks-bored__out>*{animation:ks-pop .3s var(--ease) both}.ks-bored__out>*:nth-child(2){animation-delay:.06s}.ks-bored__out>*:nth-child(3){animation-delay:.12s}.ks-bored__out>*:nth-child(4){animation-delay:.18s}}

/* ================================================================= help */
.ks-help{display:grid;gap:18px}
.ks-help__search{max-width:760px;min-height:68px}
.ks-help__cats ul{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));margin:10px 0 24px}
.ks-help__cat{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);font-weight:650}
.ks-help__cat>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--k-ink);flex:none}
.ks-help__cat em{margin-left:auto;font-style:normal;font-size:.8rem;color:var(--mute);font-weight:700}
@media (hover:hover){.ks-help__cat:hover{border-color:var(--tone)}}
.ks-help__sec{padding-top:24px}
.ks-help__sec[hidden]{display:none}
.ks-help__sec .ks-qa[hidden]{display:none}
.ks-help__t{font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);letter-spacing:-.02em;margin-bottom:10px;scroll-margin-top:calc(var(--hd-h) + 20px)}

/* ================================================================ posts */
.ks-posts{display:grid;gap:28px}
@media (min-width:760px){.ks-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.ks-posts{grid-template-columns:repeat(3,minmax(0,1fr))}.ks-post--lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center}}
.ks-post{position:relative;display:grid;gap:16px;align-content:start}
.ks-post__cover{display:block;border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:var(--bg-2)}
.ks-post__cover .ks-art{width:100%;height:100%}
.ks-post__meta{font-size:.85rem;font-weight:650;color:var(--mute)}
.ks-post__title{margin-top:6px;font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1.08;letter-spacing:-.02em}
.ks-post--lead .ks-post__title{font-size:clamp(2rem,1.4rem + 2vw,3.2rem)}
.ks-post__title a::after{content:"";position:absolute;inset:0}
.ks-post__dek{margin-top:10px;color:var(--fg-2)}
@media (hover:hover){.ks-post:hover .ks-post__title a{text-decoration:underline;text-decoration-color:var(--k-ember);text-decoration-thickness:3px;text-underline-offset:5px}.ks-post .ks-art{transition:transform .4s var(--ease)}.ks-post:hover .ks-art{transform:scale(1.03)}}
.ks-posts__more{margin:64px 0 16px}
.ks-wplist{display:grid;border-top:1px solid var(--line)}
.ks-wplist li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ks-wplist a{font-weight:650}
.ks-wplist span{color:var(--mute);font-size:.9rem}

/* ============================================================ searchbox */
.ks-searchform{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 18px;border-radius:var(--k-radius-pill);background:var(--surface);border:1.5px solid var(--line-2)}
.ks-searchform:focus-within{border-color:var(--k-ember);box-shadow:0 0 0 4px rgba(255,90,44,.25)}
.ks-searchform svg{flex:none;color:var(--mute)}
.kepts .ks-searchform input{border:0;box-shadow:none;background:transparent;min-height:48px;padding:0;flex:1;min-width:0;outline:0}

/* ============================================================ plan page */
.ks-s--planpage{padding-top:clamp(20px,2vw + 8px,48px)}
.ks-planpage{display:grid;gap:36px}
@media (min-width:1000px){.ks-planpage{grid-template-columns:minmax(0,1fr) 400px;column-gap:64px;row-gap:40px;align-items:start}}
.ks-h1--plan{font-size:clamp(2.4rem,1.4rem + 4vw,4.6rem)}
.ks-planpage__sec{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.ks-planpage__main>.ks-planpage__sec:first-child{margin-top:0;padding-top:0;border-top:0}
.ks-planpage__sec .ks-h3{margin-bottom:12px}
.ks-planpage__sec>p{color:var(--fg-2);max-width:40em}
.ks-planpage__sec>p+p{margin-top:10px}
.ks-planpage__sec .ks-ticks{margin-top:12px}
.ks-planpage__sec .ks-hint{margin-top:12px}
@media (min-width:1000px){.ks-planpage__sticky{position:sticky;top:calc(var(--hd-h) + 24px)}}
.ks-planpage__sticky{display:grid;gap:14px}
.ks-planpage__fine{display:flex;gap:8px;align-items:flex-start;font-size:.875rem;color:var(--mute)}
.ks-planpage__fine svg{flex:none;margin-top:2px}
.ks-planpage__hero{grid-column:1/-1}
.ks-planpage__hero .ks-h1{max-width:18ch}
@media (max-width:999px){.ks-planpage__aside{order:0}.ks-planpage__main{order:1}}
.ks-plan--hero .ks-plan__title{display:none}
.ks-planpage__sec>.ks-ticks+p{margin-top:18px}
.ks-share{display:flex;flex-wrap:wrap;gap:8px}
.ks-share [hidden]{display:none}
.ks-share .is-copied{background:var(--k-court);border-color:var(--k-court);color:var(--k-ink)}
.ks-going{display:flex;flex-wrap:wrap;gap:10px 18px}
.ks-going li{display:flex;align-items:center;gap:10px;font-weight:600}
.ks-going__more .ks-avatar{background:var(--bg-2);color:var(--fg)}
.ks-going__none{color:var(--mute)}
.ks-weather{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:18px;background:var(--sun-soft)}
.ks-weather svg{flex:none;color:var(--sun-t)}
.ks-weather__t{font-family:var(--font-display);font-weight:750;font-size:1.3rem;margin-bottom:4px}
.ks-weather p:not(.ks-weather__t){font-size:.93rem;color:var(--fg-2)}
.ks-mapfig{max-width:640px}

/* ============================================================== footer */
.ks-ft{background-color:var(--band);color:var(--band-fg);padding:clamp(56px,6vw,96px) 0 calc(28px + env(safe-area-inset-bottom));--fg:var(--band-fg);--fg-2:var(--band-fg);--mute:var(--band-mute);--line:var(--band-line);--line-2:#3E3849;--surface:var(--band-surface);--bg:var(--band);--bg-2:var(--band-surface);--focus:var(--k-sun);--rose-t:var(--k-rose);--court-t:var(--k-court)}
.ks-ft__top{display:grid;gap:36px;padding-bottom:48px;border-bottom:1px solid var(--band-line)}
@media (min-width:980px){.ks-ft__top{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:end}}
.ks-logo--ft .ks-logo__word{font-size:1.8rem}
.ks-ft__line{margin-top:18px;font-family:var(--font-display);font-weight:800;font-size:clamp(3.2rem,1.6rem + 6vw,7.4rem);line-height:.9;letter-spacing:-.045em;color:var(--k-ember)}
.ks-ft__pitch{margin-top:18px;max-width:34em;color:var(--band-mute)}
.ks-ft__news .ks-ft__h{margin-bottom:6px}
.ks-ft__small{font-size:.9rem;color:var(--band-mute);margin-bottom:14px}
.ks-ft__h{font-weight:700;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--band-mute);margin-bottom:14px}
.ks-ft__cols{display:grid;gap:32px 20px;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:44px;border-bottom:1px solid var(--band-line)}
@media (min-width:760px){.ks-ft__cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1080px){.ks-ft__cols{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ks-ft__col ul{display:grid;gap:9px}
.ks-ft__col a,.ks-ft__cities a{font-weight:500;font-size:.95rem}
@media (hover:hover){.ks-ft__col a:hover,.ks-ft__cities a:hover,.ks-ft__social a:hover{color:var(--k-sun)}}
.ks-ft__cities{padding-block:28px;border-bottom:1px solid var(--band-line)}
.ks-ft__cities ul{display:flex;flex-wrap:wrap;gap:8px 22px}
.ks-ft__cities span{color:var(--band-mute)}
.ks-ft__cities .ks-ft__small{margin:0}
.ks-ft__base{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;padding-top:24px;font-size:.85rem;color:var(--band-mute)}
.ks-ft__social{display:flex;flex-wrap:wrap;gap:16px}
.ks-ft .ks-form--compact .ks-btn--primary{min-height:52px}

/* =========================================================== admin note */
.ks-adminnote{background:var(--k-sun);color:var(--k-ink);font-size:.9rem;font-weight:600}
.ks-adminnote .ks-wrap{display:flex;gap:10px;align-items:center;padding-block:10px}
.ks-adminnote svg{flex:none}

/* ============================================== group, activity, misc */
.ks-group-page .ks-s--hero,.ks-activity-page .ks-s--hero{background-color:var(--bg)}
.ks-type--404 .ks-h1{max-width:14ch}
.ks-legal-meta{color:var(--mute);font-weight:600}
.ks-kv{display:grid;gap:10px}
.ks-colors{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}
.ks-color{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.ks-color__sw{height:96px}
.ks-color p{padding:10px 14px;font-size:.875rem}
.ks-color strong{display:block}
.ks-downloads{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.ks-dl{position:relative;display:grid;gap:12px;padding:16px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.ks-dl__img{display:grid;place-items:center;height:130px;border-radius:14px;background:var(--bg-2)}
.ks-dl__img.is-dark{background:var(--k-ink)}
.ks-dl__img img{max-height:90px;width:auto;max-width:80%}
.ks-dl strong{font-family:var(--font-display);font-size:1.15rem}
.ks-dl span{font-size:.875rem;color:var(--mute)}
.ks-dl a{font-weight:700;display:inline-flex;align-items:center;gap:6px}
.ks-dl a::after{content:"";position:absolute;inset:0}
.ks-founder{display:flex;gap:20px;align-items:center;padding:24px;border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.ks-founder .ks-avatar{width:72px;height:72px;font-size:1.4rem;font-family:var(--font-display)}
.ks-founder strong{display:block;font-family:var(--font-display);font-size:1.4rem}
.ks-founder a{text-decoration:underline;text-decoration-color:var(--k-ember);text-underline-offset:3px}

/* =================================================================== reveal */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(22px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease);transition-delay:var(--rd,0ms)}
  .js .rv.in{opacity:1;transform:none;pointer-events:auto}
}
@media (prefers-reduced-motion:no-preference) and (min-width:1000px){
  .js .rv--l{transform:translateX(-32px)}
  .js .rv--r{transform:translateX(32px)}
}

/* ==================================================================== login */
body.login.kepts-login{margin:0;min-height:100vh;background-color:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.5}
body.login.kepts-login *,body.login.kepts-login *::before,body.login.kepts-login *::after{box-sizing:border-box}
body.login.kepts-login #login{width:min(400px,100% - 32px);margin:0 auto;padding:6vh 0 32px}
body.login.kepts-login h1{margin:0}
body.login.kepts-login h1 a{display:block;width:72px;height:72px;margin:0 auto 18px;background-repeat:no-repeat;background-position:center;background-size:72px 72px;text-indent:-9999px;overflow:hidden;outline:0}
body.login.kepts-login h1 a:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:50%}
body.login.kepts-login form p,body.login.kepts-login .user-pass-wrap{margin:0 0 16px}
body.login.kepts-login label{display:inline-block;margin-bottom:6px}
body.login.kepts-login .input,body.login.kepts-login input[type=text],body.login.kepts-login input[type=password]{width:100%;margin:0;font-family:var(--font-body)}
body.login.kepts-login .wp-pwd{position:relative}
body.login.kepts-login .wp-pwd .input{padding-right:52px}
body.login.kepts-login .button.wp-hide-pw{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;min-height:0;padding:0;border:0;border-radius:10px;background:transparent;cursor:pointer}
body.login.kepts-login .forgetmenot{float:left;display:flex;align-items:center;gap:8px;margin:12px 0 0}
body.login.kepts-login .forgetmenot input{width:18px;height:18px;margin:0}
body.login.kepts-login .forgetmenot label{margin:0;font-weight:500}
body.login.kepts-login .submit{text-align:right;margin:0}
body.login.kepts-login .submit::after{content:"";display:table;clear:both}
body.login.kepts-login .button-primary{cursor:pointer;border:1.5px solid var(--k-ember)}
body.login.kepts-login #nav,body.login.kepts-login #backtoblog{margin:18px 0 0;padding:0}
body.login.kepts-login .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body.login.kepts-login .message,body.login.kepts-login #login_error,body.login.kepts-login .notice{padding:12px 14px;margin:0 0 14px}
body.login.kepts-login form{padding:28px 26px;border-radius:24px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);margin-top:14px}
body.login.kepts-login label{color:var(--fg);font-weight:600;font-size:15px}
body.login.kepts-login input[type=text],body.login.kepts-login input[type=password],body.login.kepts-login input[type=email]{min-height:50px;padding:8px 14px;font-size:16px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--fg);box-shadow:none}
body.login.kepts-login input:focus{border-color:var(--k-ember)!important;box-shadow:0 0 0 4px rgba(255,90,44,.3)!important;outline:0}
body.login.kepts-login .button-primary{min-height:46px;padding:0 24px;border-radius:999px;background:var(--k-ember);border-color:var(--k-ember);color:var(--k-ink);font-weight:700;font-size:15px;text-shadow:none;box-shadow:none}
body.login.kepts-login .button-primary:hover,body.login.kepts-login .button-primary:focus{background:#FF6B40;border-color:#FF6B40;color:var(--k-ink)}
body.login.kepts-login .button.wp-hide-pw{color:var(--fg)}
body.login.kepts-login .button.wp-hide-pw:focus{border-color:var(--k-ember);box-shadow:0 0 0 3px rgba(255,90,44,.3)}
body.login.kepts-login #nav,body.login.kepts-login #backtoblog{font-size:14px;text-align:center}
body.login.kepts-login #nav a,body.login.kepts-login #backtoblog a{color:var(--fg);font-weight:600}
body.login.kepts-login .ks-login-start{color:var(--ember-t)!important}
body.login.kepts-login .message,body.login.kepts-login .notice,body.login.kepts-login #login_error{border-radius:14px;border-left-width:4px;background:var(--surface);color:var(--fg);box-shadow:none}
body.login.kepts-login #login_error{border-left-color:var(--k-rose)}
body.login.kepts-login .message{border-left-color:var(--k-court)}
body.login.kepts-login .ks-login-intro{text-align:center;margin:0 0 8px;font-size:15px;color:var(--mute)}
body.login.kepts-login .ks-login-intro strong{display:block;color:var(--fg);font-size:22px;font-family:var(--font-display);letter-spacing:-.02em}
body.login.kepts-login input[type=checkbox]{accent-color:var(--k-ember)}
body.login.kepts-login .privacy-policy-page-link{display:none}

/* ==================================================================== print */
@media print{.ks-hd,.ks-ft,.ks-mnav,.ks-ctas,.ks-s--marquee,.ks-share{display:none!important}body.kepts{background:#fff;color:#000}}
