/* 11F: /start — Plan, Pay, Live. Dark Kelmo subscribe design (owner's "Subscribe" canvas: computer 1280×800, phone 390×844). */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter/inter-latin.woff2) format("woff2")}
:root{--bg:#0A0709;--damson:#82326C;--damson-h:#672654;--accent:#E2A4CD;--text:#F7F5F2;--text-2:#D8D1D5;--label:#BDB3B9;--quiet:#8F858B;--line:#2E2229;--line-2:#3A2C35;--well:#140D12;--seg:#1A1217;--paper:#F7F5F2;--ink:#1F1B16;--ink-2:#4B4741;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}a:hover{color:var(--text)}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.k{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "rail" "left" "bar";grid-template-rows:auto auto auto 1fr;position:relative;overflow-x:hidden}
.k-glow{position:absolute;top:40px;left:-60px;right:-60px;height:360px;background:radial-gradient(50% 50% at 50% 50%,rgba(130,50,108,.4),rgba(10,7,9,0) 70%);pointer-events:none}
.k-top{grid-area:top;position:relative;display:flex;align-items:center;justify-content:space-between;padding:calc(18px + env(safe-area-inset-top)) 20px 0}
.k-logo{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}.k-logo svg{width:18px;height:18px}.k-logo b{font-size:19px;font-weight:600;letter-spacing:-.045em}
.k-pills{display:none;list-style:none;margin:0;padding:0;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.k-pills li{padding:6px 12px;border-radius:999px;transition:all .25s;color:var(--quiet);border:1px solid var(--line)}
.k-pills li.on{background:var(--damson);color:#fff;border-color:var(--damson)}.k-pills li.done{color:var(--accent);border-color:#4C1B3E}
.k-dots{display:flex;list-style:none;margin:0;padding:0;gap:6px}
.k-dots li{position:relative;height:8px;width:8px;border-radius:4px;background:var(--line-2);transition:all .3s}.k-dots li.on{width:24px;background:var(--accent)}.k-dots li.done{background:var(--accent)}
/* Ticket rail */
.k-rail{grid-area:rail;position:relative;display:flex;justify-content:center;margin-top:22px}
.k-rail-bar{position:absolute;top:0;left:36px;right:36px;height:8px;border-radius:4px;background:#2A1F27;box-shadow:inset 0 1px 0 rgba(247,245,242,.08)}
.k-rail-glow{display:none}
.k-ticket{position:relative;margin:4px 0 0;width:262px;transform:rotate(1.4deg);transform-origin:50% 0}
.k-clip{display:none;position:absolute;top:-12px;left:50%;width:46px;height:22px;margin-left:-23px;border-radius:4px;background:var(--line-2)}
.k-paper{background:var(--paper);color:var(--ink);padding:18px 18px 14px;font-family:var(--mono);font-size:13px;line-height:1.55;position:relative;box-shadow:0 24px 50px -18px rgba(0,0,0,.6)}
.k-paper .row{display:flex;justify-content:space-between;gap:8px}.k-paper .soft{color:var(--ink-2)}
.k-paper .hd{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.k-dash{border-top:1.5px dashed #BDB3B9;margin:9px 0}
.k-sum{display:flex;justify-content:space-between;align-items:baseline;font-weight:700}.k-sum span:first-child{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.k-total{font-size:26px;font-family:Inter,system-ui,sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.k-note{font-size:11px;color:var(--ink-2)}
.k-inc{display:none;flex-direction:column;font-size:13px}
.k-fee{font-size:11px;color:var(--ink-2)}
.k-stamp{position:absolute;right:12px;top:56px;padding:4px 10px;border:3px solid var(--damson);border-radius:7px;color:var(--damson);font-family:Inter,system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:.06em;transform:rotate(-10deg);background:rgba(247,245,242,.85)}
.k-perf{height:10px;transform:rotate(180deg);background:radial-gradient(circle at 8px 0,transparent 7px,var(--paper) 7.5px) 0 0/16px 12px repeat-x}
/* Left column */
.k-left{grid-area:left;position:relative;padding:26px 20px 0}
.k-block{display:flex;flex-direction:column;gap:20px}
.k-h1{margin:0;font-size:34px;line-height:1.05;letter-spacing:-.04em;font-weight:500}
.k-lede{margin:0;font-size:15px;line-height:1.5;color:var(--text-2)}
.k-lede .d,.k-h1 br{display:none}.k-desk{display:none !important}
.k-label{font-size:13px;font-weight:600;color:var(--label)}
.k-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;border-radius:999px;background:var(--seg);border:1px solid var(--line)}
.k-seg button{height:44px;padding:0 20px;border:0;border-radius:999px;font-size:15px;font-weight:600;background:transparent;color:var(--label);transition:background-color .2s,color .2s}
.k-seg button[aria-pressed="true"]{background:var(--paper);color:var(--ink)}
.k-locs{display:flex;align-items:center;justify-content:space-between;gap:18px}
.k-locs .k-label{font-size:15px;color:var(--text)}
.k-step{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line-2);background:var(--well)}
.k-step button{width:48px;height:48px;border:0;border-radius:999px;background:transparent;color:var(--text);font-size:22px;line-height:1;transition:background-color .15s}
.k-step button:hover{background:#2A1D25}.k-step button:disabled{opacity:.35;cursor:default;background:transparent}
.k-step b{min-width:32px;text-align:center;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.k-per{display:none;font-size:15px;color:var(--label)}
.k-btn{height:58px;padding:0 30px;border:0;border-radius:999px;background:var(--damson);color:#fff;font-size:17px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;transition:transform .15s ease,background-color .15s ease}
.k-btn:hover{background:var(--damson-h);color:#fff}.k-btn:active{transform:scale(.98)}.k-btn[aria-busy="true"]{opacity:.8;cursor:progress}
.k-cta{display:flex;align-items:center;gap:20px;margin-top:8px}
.k-small{font-size:14px;line-height:1.5;color:var(--label)}
.k-err{margin:0;font-size:14px;color:#F2B8C6}
.k-bar{grid-area:bar;align-self:end;position:sticky;bottom:0;padding:16px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;background:linear-gradient(rgba(10,7,9,0),var(--bg) 30%)}
.k-bar .k-btn{width:100%}.k-bar .k-small{text-align:center;font-size:13px}
/* Live */
.k-bell{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.k-bell svg{transform-origin:50% 20%}
.k-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);font-size:15px}
.k-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.k-list .n{width:24px;font-family:var(--mono);font-size:12px;color:var(--accent)}.k-list .t{flex:1}.k-list .h{display:none;font-size:14px;color:var(--label)}
[hidden]{display:none !important}
/* Checkout */
.k-over{position:fixed;inset:0;z-index:50;background:rgba(10,7,9,.7);display:flex;align-items:flex-end;justify-content:center}
.k-sheet{width:100%;max-height:94vh;max-height:94dvh;overflow:auto;border-radius:28px 28px 0 0;background:#fff;color:var(--ink);padding:14px 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px;box-shadow:0 40px 80px -20px rgba(0,0,0,.7)}
.k-grab{align-self:center;width:40px;height:5px;border-radius:3px;background:#CDD1D8}
.k-sheet-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.k-sheet-hd small{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6B655E}
.k-sheet-hd h2{margin:2px 0 0;font-size:20px;font-weight:600;letter-spacing:-.02em}
.k-x{flex:none;width:44px;height:44px;border:0;border-radius:22px;background:var(--paper);color:var(--ink);display:grid;place-items:center}
.k-mount{min-height:420px}
.k-wait{height:56px;border-radius:999px;background:var(--paper);display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:600}
.k-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid #E7E1E4;border-top-color:var(--damson);animation:kSpin .8s linear infinite}
.k-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--ink-2);font-size:15px}
/* Motion (150 to 500 ms; all off for Reduce motion) */
.k-print{animation:kPrint .32s cubic-bezier(.2,.8,.2,1) both}
@keyframes kPrint{from{opacity:0;transform:translateY(-6px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
.bA{animation:kBumpA .26s ease-out}.bB{animation:kBumpB .26s ease-out}
@keyframes kBumpA{0%{transform:translateY(5px);opacity:.3}100%{transform:none;opacity:1}}
@keyframes kBumpB{0%{transform:translateY(5px);opacity:.3}100%{transform:none;opacity:1}}
.k-stamp.go{animation:kStamp .42s cubic-bezier(.2,1.5,.4,1) both}
@keyframes kStamp{0%{opacity:0;transform:rotate(-10deg) scale(1.9)}100%{opacity:1;transform:rotate(-10deg) scale(1)}}
.k-up{animation:kUp .4s cubic-bezier(.2,.8,.2,1) both}
@keyframes kUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.k-ring{animation:kRing 1s ease-in-out 2}
@keyframes kRing{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
@keyframes kSpin{to{transform:rotate(360deg)}}
.k-over.go{animation:kFade .22s ease-out both}@keyframes kFade{from{opacity:0}to{opacity:1}}
.k-over.go .k-sheet{animation:kSheetUp .3s cubic-bezier(.2,.8,.2,1) both}@keyframes kSheetUp{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.k-print,.bA,.bB,.k-stamp.go,.k-up,.k-ring,.k-over.go,.k-over.go .k-sheet{animation:none}.k-spin{animation-duration:2s}*{transition:none !important}}
/* Computer */
@media (min-width:960px){
 .k{grid-template-columns:minmax(0,1fr) 520px;grid-template-areas:"top rail" "left rail";grid-template-rows:auto 1fr}
 .k-glow,.k-bar{display:none}
 .k-top{padding:48px 64px 0}.k-logo svg{width:22px;height:22px}.k-logo b{font-size:23px}
 .k-pills{display:flex}.k-dots{display:none}
 .k-rail{margin-top:0;align-items:flex-start;padding-bottom:64px}
 .k-rail-glow{display:block;position:absolute;inset:80px -120px -80px -40px;background:radial-gradient(50% 45% at 50% 45%,rgba(130,50,108,.42),rgba(10,7,9,0) 70%);pointer-events:none}
 .k-rail-bar{top:96px;left:40px;right:40px;height:10px;border-radius:5px}
 .k-ticket{margin-top:100px;width:330px;transform:rotate(1.6deg)}.k-clip{display:block}
 .k-paper{padding:26px 24px 20px;font-size:14px;line-height:1.6;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
 .k-paper .row{gap:12px}.k-paper .hd{font-size:12px}.k-dash{margin:12px 0}
 .k-sum span:first-child{font-size:13px}.k-total{font-size:30px}.k-note,.k-fee{font-size:12px}.k-inc{display:flex}
 .k-stamp{right:18px;top:118px;padding:6px 14px;border-radius:8px;font-size:30px}.k-perf{height:12px}
 .k-left{padding:64px 64px 64px}.k-block{gap:28px;max-width:560px}
 .k-h1{font-size:64px;line-height:1;letter-spacing:-.045em}.k-h1 br{display:inline}
 .k-lede{font-size:18px;line-height:1.55;max-width:46ch}.k-lede .d{display:inline}.k-lede .p{display:none}
 .k-desk{display:flex !important}.k-phone-only{display:none}.k-seg{display:inline-flex;align-self:flex-start}
 .k-locs{flex-direction:column;align-items:flex-start;gap:10px}.k-locs .k-label{font-size:13px;color:var(--label)}.k-locs-row{display:flex;align-items:center;gap:18px}
 .k-step button{width:52px;height:52px;font-size:24px}.k-step b{min-width:44px;font-size:26px}.k-per{display:inline}
 .k-btn{height:60px}
 .k-bell{font-size:12px}.k-list{font-size:17px}.k-list li{gap:16px;padding:16px 0}.k-list .n{width:28px;font-size:13px}.k-list .h{display:inline}
 .k-over{align-items:center}.k-sheet{width:520px;max-height:90vh;border-radius:24px;padding:28px}.k-grab{display:none}
 .k-sheet-hd small{font-size:12px}.k-sheet-hd h2{font-size:22px}
 .k-over.go .k-sheet{animation-name:kSheetIn}@keyframes kSheetIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
}
