:root{--c-bg:#f5f5f7;--c-surface:#ffffff;--c-text:#1d1d1f;--c-muted:#6e6e73;--c-accent:#0066cc;--c-accent-text:#ffffff;--c-border:#d2d2d7;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--s-xs:4px;--s-sm:8px;--s-md:12px;--s-lg:16px;--s-xl:24px;--s-xxl:32px;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-full:999px;--sh-sm:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.08);--sh-md:0 4px 12px rgba(0,0,0,.1);--sh-lg:0 12px 32px rgba(0,0,0,.16)}
@media(prefers-color-scheme:dark){:root{--c-bg:#000000;--c-surface:#1c1c1e;--c-text:#f5f5f7;--c-muted:#a1a1a6;--c-accent:#2997ff;--c-accent-text:#000000;--c-border:#38383a;}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:not([class]){text-decoration:underline;text-underline-offset:2px}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;background:none;padding:0;margin:0;cursor:pointer}
h1,h2,h3,p,figure,blockquote,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%;height:auto;object-fit:cover}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip:focus{position:fixed;top:8px;left:8px;z-index:50;padding:12px 16px;border-radius:var(--r-md);background:var(--c-accent);color:var(--c-accent-text)}
.bgfix{position:fixed;inset:0;z-index:-1}
main{min-height:60dvh}
.wrap{width:100%;max-width:var(--w,560px);margin:0 auto;padding:0 16px}
.w-narrow{--w:560px}.w-medium{--w:840px}.w-wide{--w:1120px}
.blk{margin-top:var(--s-lg);margin-bottom:var(--s-lg)}
.sec>.wrap>.blk:first-child{margin-top:0}
.sec>.wrap>.blk:last-child{margin-bottom:0}
.pad-xs{padding-block:var(--s-xs)}.pad-sm{padding-block:var(--s-sm)}.pad-md{padding-block:var(--s-md)}.pad-lg{padding-block:var(--s-lg)}.pad-xl{padding-block:var(--s-xl)}.pad-xxl{padding-block:var(--s-xxl)}
.top{border-bottom:1px solid var(--c-border);background:var(--c-surface)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-sm) var(--s-lg);padding-top:var(--s-md);padding-bottom:var(--s-md)}
.brand{font-weight:700;font-size:1.125rem;min-height:44px;display:inline-flex;align-items:center}
.top ul{display:flex;flex-wrap:wrap;gap:var(--s-xs) var(--s-lg);align-items:center}
.top li a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
.foot{margin-top:var(--s-xxl);border-top:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text)}
.foot .wrap{padding-top:var(--s-xl);padding-bottom:var(--s-xl);display:flex;flex-direction:column;gap:var(--s-lg)}
.foot ul{display:flex;flex-wrap:wrap;gap:var(--s-xs) var(--s-lg)}
.foot a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:2px}
.foot .social a{text-decoration:none}
.t-sm{font-size:.875rem}.t-md{font-size:1rem}.t-lg{font-size:1.25rem}.t-xl{font-size:1.75rem;line-height:1.2}
.b{font-weight:600}
.tone-muted{color:var(--c-muted)}.tone-accent{color:var(--c-accent)}
.al-start{text-align:left}.al-center{text-align:center}.al-end{text-align:right}
.pl{white-space:pre-line}
h1{font-size:1.875rem;line-height:1.15;font-weight:700}
h2{font-size:1.5rem;line-height:1.2;font-weight:700}
h3{font-size:1.125rem;line-height:1.3;font-weight:600}
.lc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ic{flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-sm);min-height:44px;padding:10px 20px;border-radius:999px;font-weight:600;text-align:center;border:2px solid var(--c-accent);transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}
.btn:active{transform:scale(.98)}
.btn-solid{background:var(--c-accent);color:var(--c-accent-text)}
.btn-soft{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border)}
.btn-outline{background:transparent;color:var(--c-accent)}
.btn[disabled]{opacity:.5}
.btn.done{opacity:.7}
.btns{display:flex;flex-wrap:wrap;gap:var(--s-md)}
.btns.al-center{justify-content:center}.btns.al-end{justify-content:flex-end}
.stack{display:flex;flex-direction:column;gap:var(--s-md)}
.card{display:flex;flex-direction:column;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}
.card-b{display:flex;flex-direction:column;gap:var(--s-xs);padding:var(--s-md)}
.card-r{display:flex;justify-content:space-between;align-items:center;gap:var(--s-sm)}
.avatar{width:96px;height:96px;border-radius:999px}
.prof{display:flex;flex-direction:column;gap:var(--s-sm);align-items:flex-start}
.prof.al-center{align-items:center}.prof.al-end{align-items:flex-end}
.social{display:flex;flex-wrap:wrap;gap:var(--s-sm)}
.social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:var(--c-surface);border:1px solid var(--c-border)}
hr{border:0;height:1px;background:var(--c-border);margin:0}
.r-square{aspect-ratio:1/1}.r-4_3{aspect-ratio:4/3}.r-16_9{aspect-ratio:16/9}.r-3_4{aspect-ratio:3/4}
.rd-sm{border-radius:var(--r-sm)}.rd-md{border-radius:var(--r-md)}.rd-lg{border-radius:var(--r-lg)}.rd-full{border-radius:999px}
img.fill{width:100%}
.grid{display:flex;flex-wrap:wrap;gap:var(--s-md);--g:var(--s-md)}
.gc1>*{flex:0 0 100%}
.gc2>*{flex:0 0 calc((100% - var(--g))/2)}
.gc3>*{flex:0 0 calc((100% - 2*var(--g))/3)}
.gc4>*{flex:0 0 calc((100% - 3*var(--g))/4)}
@media(min-width:720px){
.gm1>*{flex:0 0 100%}
.gm2>*{flex:0 0 calc((100% - var(--g))/2)}
.gm3>*{flex:0 0 calc((100% - 2*var(--g))/3)}
.gm4>*{flex:0 0 calc((100% - 3*var(--g))/4)}
h1{font-size:2.5rem}
.top .wrap{flex-wrap:nowrap}
}
.rail{display:flex;gap:var(--s-md);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start;flex:0 0 min(220px,70%)}
.hero{padding-block:var(--s-xxl)}
.hero .wrap{display:flex;flex-direction:column;gap:var(--s-lg)}
.hero.al-center .wrap{align-items:center}.hero.al-end .wrap{align-items:flex-end}
.hero p.sub{font-size:1.125rem;color:var(--c-muted);max-width:40rem}
.hero.has-bg p.sub{color:inherit}
.cta{padding-block:var(--s-xxl);text-align:center}
.cta .wrap{display:flex;flex-direction:column;align-items:center;gap:var(--s-md)}
.sec-h{margin-bottom:var(--s-md)}
.feat{display:flex;flex-direction:column;gap:var(--s-xs);padding:var(--s-md);background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.feat .ic{color:var(--c-accent)}
.tier{display:flex;flex-direction:column;gap:var(--s-md);padding:var(--s-lg);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}
.tier.hl{border:2px solid var(--c-accent);box-shadow:var(--sh-md)}
.price{font-size:1.75rem;font-weight:700;line-height:1.1}
.price small{font-size:.875rem;font-weight:400;color:var(--c-muted)}
.tier li{display:flex;gap:var(--s-sm);align-items:flex-start}
.tier li::before{content:"\2713";color:var(--c-accent);font-weight:700}
.tier ul{display:flex;flex-direction:column;gap:var(--s-xs);flex:1}
.gal figure{display:flex;flex-direction:column;gap:var(--s-xs)}
.gal figcaption{font-size:.875rem;color:var(--c-muted)}
details{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md)}
details+details{margin-top:var(--s-sm)}
summary{cursor:pointer;padding:var(--s-md);min-height:44px;font-weight:600;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--c-accent)}
details[open] summary::after{content:"\2212"}
details>p{padding:0 var(--s-md) var(--s-md);color:var(--c-muted)}
.quote{display:flex;flex-direction:column;gap:var(--s-md);padding:var(--s-lg);background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.quote blockquote{font-size:1.125rem}
.quote figcaption{display:flex;align-items:center;gap:var(--s-md);font-size:.875rem;color:var(--c-muted)}
.quote figcaption b{display:block;color:var(--c-text)}
.quote .avatar{width:48px;height:48px}
.form{display:flex;flex-direction:column;gap:var(--s-md);padding:var(--s-lg);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}
.fld{display:flex;flex-direction:column;gap:var(--s-xs)}
.fld label{font-weight:600;font-size:.875rem}
.fld input,.fld select,.fld textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--c-muted);background:var(--c-bg)}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.msg{padding:var(--s-md);border-radius:var(--r-md);background:var(--c-bg);border:1px solid var(--c-border)}
.msg[hidden]{display:none}
.map{display:flex;flex-direction:column;gap:var(--s-md);padding:var(--s-lg);background:var(--c-surface);border-radius:var(--r-lg);border:1px solid var(--c-border)}
.map address{font-style:normal}
.vid{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:#000}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.empty{padding:var(--s-lg);border:1px dashed var(--c-border);border-radius:var(--r-lg);color:var(--c-muted);text-align:center}
.post-meta{font-size:.875rem;color:var(--c-muted)}
.post-body{display:flex;flex-direction:column;gap:var(--s-md)}
.fl{position:fixed;z-index:20;padding:16px;display:flex}
.fl-br{right:0;bottom:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.fl-bl{left:0;bottom:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.fl-bc{left:50%;bottom:0;transform:translateX(-50%);padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.fl-tr{right:0;top:0}.fl-tl{left:0;top:0}
.fab{display:inline-flex;align-items:center;gap:var(--s-sm);min-height:48px;padding:10px 18px;border-radius:999px;background:var(--c-accent);color:var(--c-accent-text);font-weight:600;box-shadow:var(--sh-md)}
[data-bind=cart_count]{min-width:1.25rem;text-align:center}
[data-bind=cart_count][hidden]{display:none}
[data-hover=lift]{transition:transform .2s ease,box-shadow .2s ease}
[data-hover=lift]:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}
[data-hover=scale]:hover{transform:scale(1.03)}
[data-hover=glow]:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--c-accent) 28%,transparent)}
[data-enter]{transition:opacity .6s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .6s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
@media(scripting:enabled){
[data-enter]:not(.shown){opacity:0}
[data-enter=fade_up]:not(.shown){transform:translateY(16px)}
[data-enter=scale_in]:not(.shown){transform:scale(.94)}
[data-enter=slide_left]:not(.shown){transform:translateX(24px)}
[data-enter=slide_right]:not(.shown){transform:translateX(-24px)}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-enter]:not(.shown){opacity:1!important;transform:none!important}
}
dialog.cx{border:0;padding:0;border-radius:20px 20px 0 0;width:min(520px,100%);max-height:88dvh;margin:auto auto 0;background:var(--c-surface);color:var(--c-text);box-shadow:var(--sh-lg)}
@media(min-width:720px){dialog.cx{margin:auto;border-radius:20px}}
dialog.cx::backdrop{background:rgba(0,0,0,.4)}
.cx-in{padding:20px;display:flex;flex-direction:column;gap:12px}
.cx-r{display:flex;gap:12px;align-items:center;justify-content:space-between}
.cx-q{display:flex;gap:8px;align-items:center}
.cx-b{padding:10px 18px;min-height:44px;border-radius:999px;background:var(--c-accent);color:var(--c-accent-text);font-weight:600}
.cx-g{background:var(--c-bg);color:var(--c-text);padding:6px 12px;min-height:44px;border-radius:999px}
.cx input,.cx textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--c-muted);background:var(--c-bg)}
.cx-e{color:var(--c-text);white-space:pre-line;font-size:.875rem;border-left:4px solid var(--c-accent);padding-left:8px}
.cx-m{color:var(--c-muted);font-size:.875rem}
