body{margin:0}img{max-width:100%}[hidden]{display:none!important}
.admin-bar nav{top:32px}@media(max-width:782px){.admin-bar nav{top:46px}}

/* Layout: cool "pool-blue" world, each month re-skins the accent; hero = box that opens; then a 12-month collection browser, plans + checkout, and the year content calendar. */
:root{
  --bg:#F2F5FF; --surface:#FFFFFF; --ink:#13173A; --muted:#565D86; --line:#D8DEF5;
  --blue:#2A47E0; --sun:#FFC23A; --coral:#FF6450; --mint:#22B585; --kraft:#C8925A; --kraft-d:#A87342;
  --m:#2A47E0; --m2:#FFC23A; --on-m:#FFFFFF;
  --f-display:"Bagel Fat One","Arial Rounded MT Bold",system-ui,sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"DM Mono",ui-monospace,Menlo,monospace;
  --r:18px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D1130; --surface:#171C45; --ink:#EEF1FF; --muted:#A5ACD6; --line:#2A3166;
  --blue:#7C93FF; --kraft:#B9824C; --kraft-d:#8E5F33; color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#0D1130; --surface:#171C45; --ink:#EEF1FF; --muted:#A5ACD6; --line:#2A3166;
  --blue:#7C93FF; --kraft:#B9824C; --kraft-d:#8E5F33; color-scheme:dark }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;overflow-x:hidden}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:.005em}
h2{font-size:clamp(30px,6vw,52px)}
h3{font-size:24px}
p{margin:0}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
section{padding-block:72px}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lede{color:var(--muted);max-width:60ch;font-size:17px}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:14px 22px;font:700 16px var(--f-body);cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--m2);outline-offset:3px}
.btn-main{background:var(--m);color:var(--on-m);box-shadow:0 5px 0 color-mix(in srgb,var(--m) 60%,#000)}
.btn-main:hover{transform:translateY(-2px)}
.btn-main:active{transform:translateY(3px);box-shadow:0 2px 0 color-mix(in srgb,var(--m) 60%,#000)}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--line)}

/* nav */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:24px;color:var(--ink);text-decoration:none}
.logo svg{width:34px;height:34px}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
nav ul a{color:var(--muted);text-decoration:none;font-weight:600}
nav ul a:hover{color:var(--ink)}
nav .btn{padding:10px 18px;font-size:15px}
@media (max-width:760px){nav ul{display:none}}

/* hero */
.hero{padding-block:40px 56px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center}
.hero h1{font-size:clamp(44px,8.5vw,92px)}
.hero h1 em{font-style:normal;color:var(--m)}
.hero-copy{display:grid;gap:22px;min-width:0}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.badge-month{display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;font-weight:700;width:max-content;max-width:100%}
.badge-month b{background:var(--m);color:var(--on-m);border-radius:999px;padding:3px 10px;font-family:var(--f-mono);font-size:12px;font-weight:500}
.facts{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:14px}
.facts span::before{content:"✓ ";color:var(--mint);font-weight:800}
.stage{position:relative;aspect-ratio:1/0.95;max-width:520px;width:100%;justify-self:center}
.stage .sun{position:absolute;inset:6% 8% auto auto;width:62%;aspect-ratio:1;border-radius:50%;background:var(--m2);opacity:.9}
.stage .pets{position:absolute;left:8%;right:8%;bottom:30%;display:flex;justify-content:center;gap:0;animation:pop 1.1s .35s cubic-bezier(.3,1.6,.5,1) both}
.stage .pets .pet{width:52%;margin:0 -6%}
.stage .pets .pet.cat{transform:translateY(8%)}
.box3d{position:absolute;left:6%;right:6%;bottom:2%;height:42%}
.box3d svg{width:100%;height:100%;overflow:visible}
.lid{transform-origin:12% 30%;animation:lid 1s .1s cubic-bezier(.5,1.6,.5,1) both}
.float{position:absolute;animation:bob 3.4s ease-in-out infinite}
.float svg{width:100%;height:100%}
@keyframes pop{from{transform:translateY(55%)}to{transform:translateY(0)}}
@keyframes lid{from{transform:rotate(0)}to{transform:rotate(-24deg)}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-12px) rotate(8deg)}}
.tail{transform-origin:150px 140px;animation:wag .5s ease-in-out infinite alternate}
.cat .tail{animation-duration:1.4s}
@keyframes wag{from{transform:rotate(-10deg)}to{transform:rotate(14deg)}}
.blink{animation:blink 4s infinite;transform-origin:center 82px;transform-box:view-box}
@keyframes blink{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.stage{max-width:420px}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.step{background:var(--surface);border-radius:var(--r);padding:24px;display:grid;gap:10px;align-content:start;border:2px solid var(--line)}
.step .n{font-family:var(--f-display);font-size:40px;color:var(--m)}
.step p{color:var(--muted)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}

/* collections */
.coll{background:color-mix(in srgb,var(--m) 10%,var(--bg));transition:background .5s}
.coll-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px}
.seg{display:inline-flex;background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:4px}
.seg button{border:0;background:transparent;color:var(--muted);font:700 15px var(--f-body);padding:9px 18px;border-radius:999px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.months{display:flex;gap:8px;overflow-x:auto;padding:22px 2px 8px;scrollbar-width:thin;scroll-snap-type:x mandatory}
.months button{flex:0 0 auto;scroll-snap-align:start;border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:8px 12px;cursor:pointer;display:grid;gap:0;text-align:left;min-width:86px;font-family:var(--f-body)}
.months button small{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.months button b{font-size:15px}
.months button[aria-pressed="true"]{border-color:var(--m);background:var(--m);color:var(--on-m)}
.months button[aria-pressed="true"] small{color:var(--on-m);opacity:.85}
.feature{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;background:var(--surface);border-radius:28px;padding:28px;border:2px solid var(--line);align-items:center}
.feature-art{position:relative;aspect-ratio:1;border-radius:22px;background:var(--m);overflow:hidden;display:grid;place-items:center}
.feature-art .dots{position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--m2) 70%,transparent) 2.5px,transparent 3px);background-size:22px 22px;opacity:.6}
.feature-art .pet{width:78%;position:relative;z-index:1}
.feature-art .tag{position:absolute;left:14px;top:14px;z-index:2;background:var(--m2);color:#13173A;font:500 12px var(--f-mono);padding:5px 10px;border-radius:999px;letter-spacing:.06em;text-transform:uppercase}
.feature-body{display:grid;gap:14px;min-width:0}
.feature-body .lede{font-size:16px}
.feature-body h3{font-size:clamp(30px,5vw,44px)}
.items{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.items li{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--m) 8%,var(--surface))}
.items li i{font-style:normal;font:500 11px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);min-width:76px}
.swap{animation:swap .45s ease both}
@keyframes swap{from{transform:translateY(10px) scale(.98)}to{transform:none}}
@media (max-width:760px){.feature{grid-template-columns:1fr;padding:18px}}

/* box spec */
.spec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.spec-svg{width:100%;max-width:480px;justify-self:center}
.spec-svg text{font-family:var(--f-mono);font-size:11px;fill:var(--muted)}
.mix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.mix div{border:2px solid var(--line);border-radius:14px;padding:14px;background:var(--surface)}
.mix b{display:block;font-family:var(--f-display);font-weight:400;font-size:28px;color:var(--m)}
.mix span{color:var(--muted);font-size:14px}
@media (max-width:760px){.spec{grid-template-columns:1fr}}

/* plans */
.plans{background:var(--ink);color:var(--bg)}
.plans .eyebrow,.plans .lede{color:color-mix(in srgb,var(--bg) 70%,var(--ink))}
.cfg{display:grid;gap:20px;margin-top:28px}
.cfg-row{display:grid;gap:10px}
.cfg-row > span{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:2px solid color-mix(in srgb,var(--bg) 25%,transparent);background:transparent;color:var(--bg);border-radius:999px;padding:9px 16px;font:700 15px var(--f-body);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--m2);border-color:var(--m2);color:#13173A}
.plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.plan{position:relative;text-align:left;border:2px solid color-mix(in srgb,var(--bg) 22%,transparent);background:color-mix(in srgb,var(--bg) 6%,var(--ink));color:var(--bg);border-radius:var(--r);padding:18px;cursor:pointer;display:grid;gap:6px;align-content:start;font-family:var(--f-body)}
.plan[aria-pressed="true"]{border-color:var(--m2);box-shadow:0 0 0 3px color-mix(in srgb,var(--m2) 35%,transparent)}
.plan .pn{font-weight:800;font-size:17px}
.plan .pp{font-family:var(--f-display);font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}
.plan .pp small{font-family:var(--f-body);font-size:13px;opacity:.7}
.plan .pd{font-size:13px;opacity:.75}
.plan .flag{position:absolute;top:-11px;right:12px;background:var(--coral);color:#fff;font:500 11px var(--f-mono);padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:900px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan:last-child{grid-column:1/-1}}
.summary{margin-top:8px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;background:var(--bg);color:var(--ink);border-radius:24px;padding:24px;align-items:center}
.summary dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.summary dt{color:var(--muted);font-size:14px}
.summary dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.summary .total dd{font-family:var(--f-display);font-weight:400;font-size:28px;color:var(--m)}
.pay{display:grid;gap:10px}
.pay button{width:100%;justify-content:center}
.pay .mp{background:#00A6E6;color:#fff;box-shadow:0 5px 0 #0478A6}
.pay .fl{background:var(--surface);color:var(--ink);border:2px solid var(--ink)}
.pay-note{font-size:13px;color:var(--muted)}
.demo{margin-top:6px;border-left:4px solid var(--mint);background:color-mix(in srgb,var(--mint) 10%,var(--surface));padding:12px 14px;border-radius:10px;font-size:14px}
@media (max-width:760px){.summary{grid-template-columns:1fr;padding:18px}}

/* calendar */
.cal-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cal-tools button{border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 14px;font:600 14px var(--f-body);cursor:pointer}
.cal-tools button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.cm{background:var(--surface);border:2px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:10px;align-content:start;min-width:0}
.cm header{display:flex;align-items:center;gap:12px}
.cm .num{width:44px;height:44px;flex:0 0 44px;border-radius:12px;display:grid;place-items:center;font-family:var(--f-display);font-size:20px;color:#13173A}
.cm h3{font-size:20px}
.cm .theme{font-size:13px;color:var(--muted)}
.cm ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}
.hito{display:flex;gap:8px}
.hito time{font-family:var(--f-mono);font-size:12px;color:var(--muted);min-width:54px;padding-top:2px}
.post{display:flex;gap:8px;align-items:flex-start}
.post.dim{opacity:.25}
.ch{flex:0 0 auto;font:500 10.5px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:6px;background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue);margin-top:1px;min-width:62px;text-align:center}
.cut{font:500 12px var(--f-mono);color:var(--coral);border-top:1px dashed var(--line);padding-top:8px}
@media (max-width:900px){.cal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cal{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:10px;margin-top:24px;max-width:820px}
details{background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:4px 18px}
summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";font-family:var(--f-display);font-size:22px;color:var(--m);line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted);padding-bottom:16px}
footer{border-top:1px solid var(--line);padding-block:36px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.note-proto{font-family:var(--f-mono);font-size:12px}

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