/* Black T Factory main site · light and inviting · Playfair Display + Inter · BTF black and red */
:root{--bg:#fbfaf7;--card:#fff;--ink:#111827;--ink2:#1f2430;--muted:#5f6673;--line:#e7e5e0;--line2:#efede8;--acc:#E10600;--accd:#B80500;--acct:#FFF1F0;--ok:#15803d;--okt:#ecfdf3;--warn:#b45309;--warnt:#fff7e6;--dark:#0e0e11;--fs:'Playfair Display',Georgia,serif;--fb:Inter,system-ui,sans-serif;--fm:'JetBrains Mono',ui-monospace,monospace;--vh:800px;--chrome:120px;--r:18px;--sh:0 1px 2px rgba(17,24,39,.04),0 8px 30px rgba(17,24,39,.06)}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--ink);font:400 15.5px/1.55 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:"tnum" 0}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%}input,select,textarea{font:inherit;color:inherit}
.ic{flex:none;display:inline-block;vertical-align:-3px}.mono{font-family:var(--fm)}.muted{color:var(--muted)}.small{font-size:13px}
.ex{display:inline-flex;align-items:center;font:600 10px/1 var(--fm);letter-spacing:.06em;text-transform:uppercase;color:#7a5a00;background:#fff6d6;border:1px dashed #e5c35a;padding:3px 6px;border-radius:6px;margin-left:6px;vertical-align:middle;white-space:nowrap}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 11.5px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}.eyebrow b{display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 7px;border-radius:99px;background:var(--acc);color:#fff;font-size:11px;letter-spacing:.04em}
h1,h2,h3{font-family:var(--fs);font-weight:600;letter-spacing:-.015em;margin:0}h1 em,h2 em,h3 em{font-style:italic;color:var(--acc);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:14.5px;white-space:nowrap;transition:transform .15s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(17,24,39,.08)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 8px 24px rgba(225,6,0,.28)}.btn.pri:hover{background:var(--accd)}.btn[disabled]{opacity:.45;pointer-events:none;box-shadow:none}
.btn.ghost{background:#fff}.btn.ghostd{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}.btn.xl{height:54px;padding:0 24px;font-size:16px;border-radius:14px}.btn.sm{height:34px;padding:0 12px;font-size:13px;border-radius:10px}.btn.wide{width:100%}
.lnk{background:none;border:0;padding:0;color:var(--acc);font-weight:600;font-size:13px;cursor:pointer}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;background:#fff;border:1px solid #f3d3dc;color:var(--acc);font:700 12px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase}
.tag{display:inline-block;font:700 10.5px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;background:var(--acc);color:#fff;padding:5px 8px;border-radius:99px}.tag.gray{background:#eceae4;color:var(--ink)}
.seg{display:inline-flex;background:#f1efe9;border-radius:12px;padding:4px;gap:2px}.seg button{border:0;background:none;height:34px;padding:0 14px;border-radius:9px;font-weight:600;font-size:13.5px;color:var(--muted)}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}.seg.sm button{height:28px;padding:0 10px;font-size:12.5px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1px solid var(--line);background:#fff;height:38px;padding:0 16px;border-radius:99px;font-weight:600;font-size:14px}.chips button.on{background:var(--ink);border-color:var(--ink);color:#fff}.chips.sm button{height:30px;padding:0 11px;font-size:12.5px}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* presenter bar (prototype only) */
.pres{position:sticky;top:0;z-index:60;height:44px;display:flex;align-items:center;gap:14px;padding:0 14px;background:var(--dark);color:#fff;font-size:13px}
.pres-l{display:flex;align-items:center;gap:9px;min-width:0}.pres-l img{width:24px;height:24px}.pres-l b{font-weight:700}.pres-l span{color:#9a9aa3;font:500 11.5px var(--fm);white-space:nowrap}
.pres-seg{display:flex;gap:2px;background:rgba(255,255,255,.08);padding:3px;border-radius:10px;margin:0 auto}.pres-seg button{border:0;background:none;color:#c4c4cc;height:28px;padding:0 12px;border-radius:7px;display:flex;align-items:center;gap:6px;font-weight:600}.pres-seg button.on{background:#fff;color:var(--ink)}
.pres-r{display:flex;gap:6px}.pbtn{height:30px;border:0;border-radius:8px;padding:0 10px;background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;gap:6px;font-weight:600}.pbtn.pri{background:var(--acc)}

/* header: solid white */
.hdr{position:sticky;top:44px;z-index:55;background:#fff;border-bottom:1px solid var(--line)}
.hdr-in{height:76px;display:flex;align-items:center;gap:22px;padding:0 clamp(16px,3vw,40px);max-width:1680px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{width:46px;height:46px;flex:none}.brand b{display:block;font:700 18px/1.1 var(--fb);letter-spacing:-.01em}.brand small{display:block;color:var(--muted);font:500 11.5px var(--fm);letter-spacing:.02em;white-space:nowrap}
.nav{display:flex;gap:4px;margin-left:auto}.nav a{height:40px;display:flex;align-items:center;padding:0 14px;border-radius:10px;font-weight:600;font-size:15px;color:#3b4150;white-space:nowrap}.nav a:hover{background:#f6f4ef}.nav a.on{color:var(--acc);background:var(--acct)}
.hdr-a{display:flex;gap:10px;align-items:center}.hbtn{height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:14.5px;white-space:nowrap;position:relative}
.hbtn.pri{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 8px 22px rgba(225,6,0,.25)}.hbtn.icon{width:44px;padding:0;justify-content:center}.hbtn.icon i{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:99px;background:var(--acc);color:#fff;font:700 11px/20px var(--fb);font-style:normal;text-align:center;padding:0 5px}
.menu-btn{display:none!important}.mnav{display:none}
@media (max-width:1240px){.nav a{padding:0 10px;font-size:14.5px}}
@media (max-width:1060px){.nav{display:none}.menu-btn{display:inline-flex!important}.hdr-a{margin-left:auto}.mnav.on{display:flex;flex-direction:column;padding:8px 16px 16px;gap:2px;border-top:1px solid var(--line)}.mnav a{padding:12px 8px;font-weight:600;border-bottom:1px solid var(--line2)}.mnav a.pri{color:var(--acc);border:0}}
@media (max-width:600px){.brand small{display:none}.hdr-in{gap:10px;height:66px}.brand img{width:40px;height:40px}.brand b{font-size:16px}.hbtn.pri span{display:none}.hbtn.pri{width:44px;padding:0;justify-content:center}.pres-l span,.pres-seg span,.pbtn span{display:none}.hdr{top:44px}}

/* one-screen sections on desktop */
.scr{position:relative;padding:clamp(26px,4.2vh,52px) clamp(16px,3.4vw,56px)}
.chap{max-width:1680px;margin:0 auto}
@media (min-width:1100px) and (min-height:640px){.scr{height:var(--vh);min-height:600px;overflow:hidden;display:flex;flex-direction:column}.scr>.sh{flex:none}.scr>*:last-child{flex:1;min-height:0}}
.sh{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(20px,4vw,72px);align-items:end;margin-bottom:clamp(16px,2.6vh,30px)}
.sh h2{font-size:clamp(30px,3.2vw,52px);line-height:1.04;margin-top:12px}.sh-r p{margin:0;color:var(--muted);font-size:clamp(15px,1.05vw,17px);max-width:640px}.sh-cta{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}
@media (max-width:900px){.sh{grid-template-columns:1fr;gap:10px}}

/* hero */
.hero{display:block!important;overflow:hidden;padding-top:clamp(20px,3.6vh,46px)}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}.b1{width:620px;height:620px;left:-160px;top:-200px;background:#ffd6de;animation:drift 18s ease-in-out infinite alternate}.b2{width:520px;height:520px;right:8%;bottom:-260px;background:#ffe6cc;animation:drift 22s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(80px,40px) scale(1.1)}}
.grid-floor{position:absolute;left:-10%;right:-10%;bottom:-30%;height:70%;background-image:linear-gradient(rgba(17,24,39,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(17,24,39,.05) 1px,transparent 1px);background-size:48px 48px;transform:perspective(700px) rotateX(62deg);transform-origin:50% 0;mask-image:linear-gradient(transparent,#000 40%)}
.hero-in{position:relative;height:100%;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,3.4vw,64px);align-items:center;max-width:1680px;margin:0 auto}
.h1{font-size:clamp(46px,5.6vw,98px);line-height:.98;margin:18px 0 18px;letter-spacing:-.025em}.h1 em{font-weight:600}
.h1 .w{display:inline-block;animation:wordIn .8s cubic-bezier(.2,.8,.2,1) both}.h1 .w:nth-child(2){animation-delay:.12s}.h1 .w:nth-child(4){animation-delay:.3s}@keyframes wordIn{from{opacity:0;transform:translateY(30px) rotate(2deg);filter:blur(6px)}}
.lede{font-size:clamp(16px,1.15vw,19px);color:#454c59;max-width:640px;margin:0 0 24px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(18px,3.4vh,40px);padding-top:18px;border-top:1px solid var(--line)}.hero-stats b{display:block;font:600 clamp(26px,2.3vw,40px)/1 var(--fs)}.hero-stats span{display:block;color:var(--muted);font-size:12.5px;margin-top:6px;line-height:1.35}
.hero-win{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1.12fr 1fr;gap:14px;height:min(calc(var(--vh) - 90px),760px);min-height:440px;perspective:1600px}
.win{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(17,24,39,.25),0 2px 6px rgba(17,24,39,.05);display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .4s;animation:winIn .9s cubic-bezier(.2,.8,.2,1) both}
.win:hover{transform:translateY(-4px) rotateX(2deg);box-shadow:0 40px 70px -24px rgba(225,6,0,.35)}
.w-ev{grid-row:1/3;animation-delay:.15s}.w-gs{animation-delay:.3s}.w-sh{animation-delay:.45s}.w-sf{display:none}
@keyframes winIn{from{opacity:0;transform:translateY(40px) scale(.96)}}
.win-h{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line2);font-size:13px;background:#fff;z-index:2}.win-h b{font-weight:700}.win-h small{margin-left:auto;color:var(--muted);font:500 11px var(--fm)}
.dot{width:8px;height:8px;border-radius:50%;background:#d1cfc8}.dot.live{background:var(--acc);box-shadow:0 0 0 0 rgba(225,6,0,.6);animation:pulse 1.8s infinite}@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(225,6,0,0)}100%{box-shadow:0 0 0 0 rgba(225,6,0,0)}}
.win-b{position:relative;flex:1;min-height:0;overflow:hidden;background:#f3f1ec}.win-b canvas{width:100%;height:100%;object-fit:cover;display:block}
.ev-b img.kb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 22s ease-in-out infinite alternate}@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-3%,-2%)}}
.pq{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:16px;padding:12px 14px;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.pq-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px}.pq-h span{font-size:11.5px;color:var(--muted)}.pq-h i{font-style:normal;color:var(--ink);font-weight:700}
.pq-r{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line2);animation:rowIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*60ms)}@keyframes rowIn{from{opacity:0;transform:translateY(8px)}}
.pq-r .av{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 10.5px var(--fb);flex:none}.pq-r b{display:block;font-size:13px;line-height:1.2}.pq-r small{color:var(--muted);font-size:11.5px}.pq-r>div{flex:1;min-width:0}
.pq-r .st{width:64px;height:6px;border-radius:9px;background:#f0eee8;overflow:hidden;flex:none}.pq-r .st em{display:block;height:100%;background:var(--acc);width:0;animation:fillW 2.6s linear forwards}.pq-r:nth-child(1) .st em{animation-duration:.9s;background:var(--ok)}.pq-r:nth-child(1) .st::after{content:''}@keyframes fillW{to{width:100%}}
.pq-f{font-size:11.5px;color:var(--muted);margin-top:6px;display:flex;align-items:center;gap:6px}
.win-chip{position:absolute;left:12px;bottom:12px;background:rgba(14,14,17,.78);color:#fff;font-size:11.5px;padding:6px 10px;border-radius:99px}
.sh-b{background:#fff}.sh-b canvas{object-fit:contain}.zchips{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:6px;flex-wrap:wrap}.zchips span{font-size:11px;font-weight:600;background:#f4f2ed;padding:5px 9px;border-radius:99px}.zchips span.on{background:var(--acc);color:#fff}
.scroll-cue{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;animation:bob 2s ease-in-out infinite}@keyframes bob{50%{transform:translate(-50%,6px)}}
@media (min-width:1500px){.hero-win{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.w-ev{grid-row:auto}.w-sf{display:flex}}
@media (max-width:1100px){.hero-in{grid-template-columns:1fr}.hero-win{height:560px}.scroll-cue{display:none}}
@media (max-width:640px){.hero-win{grid-template-columns:1fr;grid-template-rows:330px 220px 300px;height:auto}.w-ev{grid-row:auto}.hero-stats{grid-template-columns:repeat(2,1fr)}}
.sf-b{background:#fff}.sf-strip{display:flex;gap:8px;height:100%;padding:10px;animation:strip 24s linear infinite}.sf-strip img{height:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;background:#f3f1ec}@keyframes strip{to{transform:translateX(-50%)}}
.pay{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:8px;background:#fff;border-radius:99px;padding:6px 6px 6px 12px;box-shadow:0 10px 24px rgba(0,0,0,.15);font-size:11.5px}.pay b{background:var(--okt);color:var(--ok);padding:4px 9px;border-radius:99px}.pay b.pop{animation:pop .5s}@keyframes pop{40%{transform:scale(1.15)}}

/* 01 events chapter */
.ev-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.85fr);gap:20px;min-height:0}
.ev-film{position:relative;border-radius:22px;overflow:hidden;background:#111;min-height:380px;box-shadow:var(--sh)}.ev-film img.kb2{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 26s ease-in-out infinite alternate}
.ev-film::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(10,10,12,.78))}
.ev-tl{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;color:#fff}
.tl-i{opacity:.35;transition:opacity .4s}.tl-i span{display:block;font-size:11px;color:#ff9a94}.tl-i b{display:block;font-size:14.5px;margin:3px 0 1px}.tl-i small{display:block;font-size:11.5px;color:#d4d4d8;line-height:1.3}
.ev-tl.run .tl-i{animation:tlOn 10s infinite;animation-delay:calc(var(--i)*1.8s)}@keyframes tlOn{0%,2%{opacity:.35}6%,100%{opacity:1}}
.tl-bar{grid-column:1/-1;height:3px;background:rgba(255,255,255,.2);border-radius:3px;overflow:hidden;order:-1}.tl-bar em{display:block;height:100%;width:0;background:var(--acc)}.ev-tl.run .tl-bar em{animation:tlBar 10s linear infinite}@keyframes tlBar{0%{width:0}90%,100%{width:100%}}
.ev-badge{position:absolute;top:16px;left:16px;z-index:2;display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:8px 14px 8px 8px;box-shadow:0 10px 30px rgba(0,0,0,.25)}.ev-badge b{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--acc);color:#fff;font-size:17px}.ev-badge span{font-weight:600;font-size:13.5px}
.plan{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}
.pl-h b{display:block;font:600 24px/1.2 var(--fs);margin-top:8px}
.pl-types{display:flex;flex-wrap:wrap;gap:6px}.pl-types button{border:1px solid var(--line);background:#fff;height:32px;padding:0 12px;border-radius:99px;font-size:13px;font-weight:600}.pl-types button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pl-sl{display:flex;align-items:center;gap:10px}.pl-sl input{flex:1;accent-color:var(--acc)}.pl-sl b{font-size:22px;min-width:56px;text-align:right}.pl-sl small{color:var(--muted)}
.pr-c{border:1px solid #f6cfd8;background:linear-gradient(180deg,#fff,#fff7f6);border-radius:18px;padding:16px;animation:fadeUp .4s both}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}}
.pr-top{display:flex;justify-content:space-between;align-items:center}.pr-top span.mono{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.pr-c h3{font-size:30px;margin:6px 0 10px}.pr-c h3 small{font:500 14px var(--fb);color:var(--muted)}
.pr-k{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.pr-k div{background:#fff;border:1px solid var(--line2);border-radius:12px;padding:8px 10px}.pr-k b{display:block;font-size:19px}.pr-k small{color:var(--muted);font-size:11.5px}
.cred{margin-bottom:12px}.cred-h b{display:block;font-size:15px}.cred-h small{color:var(--muted);font-size:12.5px}.cred-bar{display:flex;gap:3px;height:10px;margin:8px 0}.cred-bar i{border-radius:4px}.cred-bar .h{background:var(--acc)}.cred-bar .g{background:#ff9a94}.cred small.muted{font-size:12px;display:block;line-height:1.4}
@media (max-width:1100px){.ev-grid{grid-template-columns:1fr}.ev-film{height:440px}.ev-tl{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.ev-tl .tl-i:nth-child(n+4){display:none}.ev-tl{grid-template-columns:repeat(3,1fr)}}

/* green screen */
.gsx .gs{min-height:0}
.gs{position:relative;display:flex;flex-direction:column;gap:12px;min-height:0;height:100%}
.gs-stage{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 250px 270px;gap:18px;align-items:center;background:radial-gradient(900px 400px at 30% 40%,#fff,#f4f1ea);border:1px solid var(--line);border-radius:24px;padding:18px 20px;overflow:hidden}
.gs-ring{position:absolute;left:4%;top:50%;width:52%;aspect-ratio:1;transform:translateY(-50%);pointer-events:none}.gs-ring i{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0) 54%,rgba(255,244,214,.75) 60%,rgba(255,255,255,0) 66%);filter:blur(4px);animation:ring 3.2s ease-in-out infinite}@keyframes ring{50%{opacity:.55;transform:scale(1.03)}}
.gs-mon{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;min-height:0;height:100%;justify-content:center}
.gs-bezel{position:relative;width:100%;max-height:100%;aspect-ratio:3/2;background:#0b0b0d;border-radius:14px;padding:10px;box-shadow:0 30px 60px -18px rgba(0,0,0,.45),inset 0 0 0 1px #26262b}
.gs-bezel canvas{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px;background:#2a7d3c}
.gs-stand{width:22%;height:16px;background:linear-gradient(#2a2a2f,#121214);border-radius:0 0 10px 10px;margin-top:-1px}
.gs-scan{position:absolute;top:10px;bottom:10px;left:10px;right:10px;pointer-events:none;opacity:0}.gs-scan.on{opacity:1}.gs-scan::before{content:'';position:absolute;top:0;bottom:0;left:0;width:3px;background:#fff;box-shadow:0 0 18px 6px rgba(225,6,0,.7),0 0 2px #fff}
.gs-scan{transform-origin:left}.gs-scan{will-change:transform}
.gs-flash{position:absolute;inset:0;background:#fff;opacity:0;border-radius:14px;pointer-events:none}.gs.flash .gs-flash{animation:flash .42s ease-out}@keyframes flash{0%{opacity:.95}100%{opacity:0}}
.gs-hud{position:absolute;display:flex;align-items:center;gap:7px;font-size:11.5px;color:#fff;background:rgba(10,10,12,.62);backdrop-filter:blur(6px);padding:5px 9px;border-radius:8px}.gs-hud.tl{top:20px;left:20px}.gs-hud.tr{top:20px;right:20px}.gs-hud.bl{bottom:20px;left:20px}
.gs-hud .gs-hud .rec{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.2}}
.gs-kiosk{position:relative;z-index:1;background:#fff;border-radius:22px;padding:12px;border:8px solid #16161a;box-shadow:0 24px 50px -16px rgba(0,0,0,.4);align-self:center;overflow:hidden}
.gk-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.gk-h b{font-size:13.5px}.gk-h small{color:var(--muted);font-size:11px}
.gk-g{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gk-t{position:relative;border:2px solid transparent;border-radius:10px;padding:0;overflow:hidden;background:#eee;aspect-ratio:4/3;transition:transform .2s,border-color .2s}.gk-t img{width:100%;height:100%;object-fit:cover;display:block}.gk-t span{position:absolute;left:0;right:0;bottom:0;font-size:9.5px;font-weight:700;color:#fff;padding:12px 6px 4px;background:linear-gradient(transparent,rgba(0,0,0,.7));text-align:left}.gk-t.on{border-color:var(--acc);transform:scale(1.04)}
.gk-print{margin-top:8px;width:100%;height:38px;border:0;border-radius:10px;background:var(--acc);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}.gk-print.tap{animation:pop .45s}
.gk-tap{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:2px solid var(--acc);background:rgba(225,6,0,.18);opacity:0;pointer-events:none}.gk-tap.go{animation:tap .7s ease-out}@keyframes tap{0%{opacity:1;transform:scale(.4)}100%{opacity:0;transform:scale(1.8)}}
.gs-out{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px}
.gs-slot{position:absolute;top:8px;left:10%;right:10%;height:10px;border-radius:6px;background:#1a1a1e;box-shadow:inset 0 3px 6px rgba(0,0,0,.6)}
.gs-card{background:#fff;padding:8px 8px 10px;border-radius:6px;box-shadow:0 18px 40px -12px rgba(0,0,0,.35);transform:translateY(-120%) rotate(-2deg);opacity:0;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .4s}.gs-card canvas{width:100%;display:block;border-radius:2px;aspect-ratio:3/2}
.gs-cardf{display:flex;align-items:center;gap:6px;font-size:10.5px;margin-top:6px}.gs-cardf b{font-weight:800}.gs-cardf span{color:var(--muted)}.gs-cardf .ex{margin-left:auto}
.gs-mug{position:relative;background:#fff;border-radius:16px;border:1px solid var(--line);opacity:0;transform:translateY(20px) scale(.92);transition:transform .8s .35s cubic-bezier(.2,.8,.2,1),opacity .6s .35s}.gs-mug canvas{width:100%;display:block;aspect-ratio:1;border-radius:16px}
.gs-ready{position:absolute;left:10px;bottom:10px;background:var(--okt);color:var(--ok);font-size:11px;padding:5px 9px;border-radius:99px;display:flex;align-items:center;gap:5px}
.gs-out.on .gs-card{transform:none;opacity:1}.gs-out.on .gs-mug{transform:none;opacity:1}
.gs-bar{display:flex;align-items:center;gap:16px;flex:none}
.gs-steps{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;margin:0;padding:0}.gs-steps li{display:flex;align-items:center;gap:9px;position:relative;padding-bottom:7px;color:var(--muted);transition:color .3s}.gs-steps b{font:700 12px var(--fm);color:var(--acc)}.gs-steps span{font-weight:600;font-size:14px}
.gs-steps i{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line);border-radius:2px;overflow:hidden}.gs-steps em{display:block;height:100%;width:0;background:var(--acc)}.gs-steps li.on{color:var(--ink)}.gs-steps li.on em{animation:fillW 3s linear forwards}.gs-steps li.done{color:var(--ink)}.gs-steps li.done em{width:100%}
.gs-ctl{display:flex;gap:8px}.gbtn{height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap}
@media (max-width:1300px){.gs-stage{grid-template-columns:minmax(0,1fr) 220px 220px}}
@media (max-width:1100px){.gs-stage{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.gs-mon{grid-column:1/-1}.gs-ring{display:none}.gs-out{height:auto}.gs-bar{flex-direction:column;align-items:stretch}}
@media (max-width:640px){.gs-stage{grid-template-columns:1fr;padding:12px}.gs-steps{grid-template-columns:repeat(2,1fr)}.gs-hud.bl{display:none}.gs-out{flex-direction:row}.gs-out>*{flex:1}.gs-ctl{flex-wrap:wrap}}

/* 03 shop chapter */
.shop-x{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.8fr);gap:20px;min-height:0}
.wall{display:flex;flex-direction:column;gap:12px;overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--line);padding:12px 0;min-height:360px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.wr{display:flex;gap:12px;flex:1;min-height:0;width:max-content;animation:wallMove var(--dur) linear infinite;animation-direction:var(--dir)}@keyframes wallMove{to{transform:translateX(-50%)}}.wall:hover .wr{animation-play-state:paused}
.wc{position:relative;height:100%;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#f6f5f2;flex:none}.wc img{width:100%;height:100%;object-fit:contain;padding:8%;transition:transform .4s}.wc:hover img{transform:scale(1.06)}.wc span{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:space-between;font-size:10.5px;background:rgba(255,255,255,.92);padding:4px 7px;border-radius:8px}.wc span b{font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wc span small{color:var(--acc);font-weight:700;white-space:nowrap}.wc.noimg{display:none}
.shop-side{display:flex;flex-direction:column;gap:12px;min-height:0}
.srch{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px 6px 6px 14px;box-shadow:var(--sh)}.srch input{flex:1;border:0;outline:0;background:none;height:40px;min-width:0;font-size:15px}.srch.big{max-width:1680px;margin:18px auto 0}.srch.big input{height:48px;font-size:16.5px}.srch.sm{padding:3px 3px 3px 10px;box-shadow:none}.srch.sm input{height:32px;font-size:13.5px}
.depts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dp{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:13.5px;transition:border-color .2s}.dp:hover{border-color:var(--acc)}.dp small{color:var(--muted);font:500 11.5px var(--fm)}
.zone-card{background:var(--ink);color:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;margin-top:auto}.zone-card>b{font:600 18px var(--fs)}.zp{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.zp span{display:flex;justify-content:space-between;font-size:13px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:5px}.zp i{font-style:normal;color:#c4c4cc}.zp em{font-style:normal;font-weight:700;color:#ff9a94}
@media (max-width:1100px){.shop-x{grid-template-columns:1fr}.wall{height:520px}}

/* 04 storefronts chapter */
.sf-wall{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;overflow:hidden;border-radius:22px;min-height:360px;mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent)}
.sfc{display:flex;flex-direction:column;gap:14px;animation:col 30s linear infinite;animation-direction:normal}.sfc:nth-child(even){animation-direction:reverse}.sfc img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;background:#f0eee8;box-shadow:0 10px 30px rgba(0,0,0,.08)}@keyframes col{to{transform:translateY(-50%)}}
.sf-ledger{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:300px;background:#fff;border-radius:20px;padding:16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.35);border:1px solid var(--line)}
.sl-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.slr{display:grid;grid-template-columns:1fr auto auto;gap:10px;font-size:13px;padding:7px 0;border-top:1px solid var(--line2);animation:rowIn .45s both}.slr em{font-style:normal;color:var(--muted)}.slr b{color:var(--ok)}
.sl-t{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;border-top:2px solid var(--ink);font-weight:600}.sl-t b{font:600 24px var(--fs);color:var(--ok)}
@media (max-width:900px){.sf-wall{grid-template-columns:repeat(3,1fr);height:520px}.sfc:nth-child(n+4){display:none}.sf-ledger{position:relative;right:auto;top:auto;transform:none;width:auto;grid-column:1/-1}}

/* 05 why */
.why{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,1fr);gap:20px;min-height:0}
.why-ph{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:340px}.why-ph figure{margin:0;border-radius:18px;overflow:hidden;background:#ddd;animation:fadeUp .8s both;animation-delay:calc(var(--i)*.1s)}.why-ph figure:first-child{grid-row:1/3}.why-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.why-ph figure:hover img{transform:scale(1.06)}
.why-r{display:flex;flex-direction:column;gap:14px;min-height:0}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.facts div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.facts b{display:block;font:600 28px/1.1 var(--fs)}.facts span{color:var(--muted);font-size:13px}
.avail{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;flex:1;min-height:0;overflow:auto}.av-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}.av-h .muted{font-size:12.5px}.av-h .ex{margin-left:auto}
.av-g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.av-g button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:1px}.av-g small{font-size:10px;color:var(--muted)}.av-g b{font-size:16px}.av-g i{font-style:normal;font-size:9.5px;font-weight:700}
.av-g .op i{color:var(--ok)}.av-g .op:hover{border-color:var(--acc);background:var(--acct)}.av-g .bk{background:#f4f3ef;color:#a3a3a3}.av-g .bk i{color:var(--acc)}.av-g .ts{background:#faf9f6;color:#b8b8b8}
@media (max-width:1100px){.why{grid-template-columns:1fr}.why-ph{height:420px}}

/* final band */
.final{background:var(--dark);color:#fff;position:relative;overflow:hidden}.final::before{content:'';position:absolute;inset:-40%;background:radial-gradient(circle at 30% 40%,rgba(225,6,0,.35),transparent 40%),radial-gradient(circle at 75% 60%,rgba(249,115,22,.2),transparent 40%);animation:drift 16s ease-in-out infinite alternate}
.fin-in{position:relative;max-width:1100px;margin:0 auto;padding:clamp(60px,10vh,110px) 24px;text-align:center}.fin-in h2{font-size:clamp(36px,4.6vw,72px);line-height:1.04}.fin-in h2 em{color:#ff9a94}.fin-in p{color:#c4c4cc;font-size:18px;margin:16px 0 28px}.fin-in .cta{justify-content:center}

/* footer */
.ftr{background:#fff;border-top:1px solid var(--line)}.ftr-in{max-width:1680px;margin:0 auto;padding:48px clamp(16px,3.4vw,56px) 28px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);gap:40px}
.ftr-b{display:flex;gap:16px}.ftr-b img{width:72px;height:72px}.ftr-b b{font-size:18px}.ftr-b p{color:var(--muted);margin:6px 0;max-width:420px;font-size:14px}.ftr-c{display:flex;flex-wrap:wrap;gap:14px;font-size:13.5px}.ftr-c a,.ftr-c span{display:inline-flex;align-items:center;gap:6px}
.ftr-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.ftr-cols h5{margin:0 0 10px;font:700 11.5px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.ftr-cols a{display:block;padding:4px 0;font-size:14px}.ftr-cols a:hover{color:var(--acc)}
.ftr-f{max-width:1680px;margin:0 auto;padding:16px clamp(16px,3.4vw,56px) 26px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12.5px;border-top:1px solid var(--line2);flex-wrap:wrap}
@media (max-width:900px){.ftr-in{grid-template-columns:1fr}.ftr-cols{grid-template-columns:1fr 1fr}}

/* events page */
.evh{display:block!important}.evh-in{height:100%;max-width:1680px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,3.4vw,60px);align-items:center}
.evh-k{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.evh-k b{display:block;font:600 clamp(24px,2vw,34px)/1 var(--fs)}.evh-k span{color:var(--muted);font-size:12.5px}
.evh-film{position:relative;height:min(calc(var(--vh) - 90px),740px);min-height:440px;border-radius:26px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(17,24,39,.45);background:#111}
.xf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.4s,transform 7s linear}.xf img.on{opacity:1;transform:scale(1.18) translate(-2%,-1%)}
.evh-film::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 50%,rgba(0,0,0,.55))}
.press{position:absolute;top:16px;left:16px;z-index:2;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.95);border-radius:18px;padding:10px 16px 10px 10px;box-shadow:0 16px 40px rgba(0,0,0,.3)}.press .ring{position:relative;width:58px;height:58px}.press svg{width:100%;height:100%;transform:rotate(-90deg)}.rt{fill:none;stroke:#f1efe9;stroke-width:9}.rp{fill:none;stroke:var(--acc);stroke-width:9;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:327}.press .ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:12px}
.press span.mono{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--acc)}.press b#pressn{display:block;font-size:15px}.press small{color:var(--muted);font-size:12px}
.ev-q{left:auto;right:16px;bottom:16px;width:300px;z-index:2}
@media (max-width:1100px){.evh-in{grid-template-columns:1fr}.evh-film{height:520px}}
@media (max-width:640px){.evh-k{grid-template-columns:repeat(2,1fr)}.ev-q{left:12px;right:12px;width:auto}.press{right:12px}}
.day{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:20px;min-height:0}
.day-stage{position:relative;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);min-height:380px;box-shadow:var(--sh)}
.ds{position:absolute;inset:0;animation:fadeUp .6s both}.ds-ph img{width:100%;height:100%;object-fit:cover}.ds-cap{position:absolute;left:18px;bottom:18px;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 12px 30px rgba(0,0,0,.25)}.ds-cap span{display:block;font-size:11px;color:var(--acc)}.ds-cap b{display:block;font-size:17px}.ds-cap small{color:var(--muted)}
.ds-book{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:28px;align-items:center;background:radial-gradient(600px 300px at 20% 20%,#FFF1F0,#fff)}
.mini-cal{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--sh)}.mc-h{font-size:12px;margin-bottom:8px;color:var(--muted)}.mc-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.mc-g b{font-size:10.5px;color:var(--muted)}.mc-g i{font-style:normal;font-size:12.5px;padding:6px 0;border-radius:8px}.mc-g i.bk{color:#c4c4c4;text-decoration:line-through}.mc-g i.sel{background:var(--acc);color:#fff;font-weight:700;animation:pop .6s .5s both}
.ds-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--sh);animation:fadeUp .6s .3s both}.ds-card span.mono{font-size:11px;color:var(--muted)}.ds-card>b{display:block;font:600 20px var(--fs);margin:4px 0 10px}.ds-card .row{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid var(--line2);font-size:14px}.ok{color:var(--ok)}
.ds-qr{display:flex;align-items:center;justify-content:center;gap:40px;background:radial-gradient(600px 300px at 70% 30%,#FFF1F0,#fff)}
.phone{width:230px;height:430px;border-radius:34px;background:#0e0e11;padding:10px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);animation:fadeUp .6s .2s both}.ph-top{color:#9a9aa3;font-size:10px;text-align:center;padding:4px 0 8px}.ph-b{background:#fff;border-radius:24px;height:calc(100% - 26px);padding:14px;display:flex;flex-direction:column;gap:8px}.ph-b b{font-size:15px}.ph-b small{color:var(--muted);font-size:11.5px}.ph-g{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ph-g span{border:1px solid var(--line);border-radius:10px;padding:6px;aspect-ratio:1}.ph-g canvas{width:100%;height:100%}.ph-btn{margin-top:auto;background:var(--acc);color:#fff;border-radius:10px;padding:10px;font-size:12.5px;font-weight:700;text-align:center;display:flex;gap:6px;justify-content:center}
.qrbox{width:190px;height:190px;background:#fff;border-radius:16px;padding:10px;box-shadow:var(--sh);animation:pop .6s .4s both}.qrbox svg{width:100%;height:100%}.qr-l{position:absolute;bottom:20px;font-size:11.5px;color:var(--muted)}
.ds-done{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:12px;padding:20px;background:#fff}.ds-done>div{position:relative;background:#f7f6f3;border-radius:14px;display:grid;place-items:center;animation:pop .5s both;animation-delay:calc(var(--j)*.15s)}.ds-done img{max-height:80%;max-width:80%;mix-blend-mode:multiply}.ds-done span{position:absolute;left:8px;top:8px;font-size:10.5px;background:var(--okt);color:var(--ok);padding:3px 7px;border-radius:99px}
.done-k{position:absolute;right:20px;bottom:20px;background:var(--ink);color:#fff;border-radius:14px;padding:10px 14px}.done-k b{display:block;font-size:18px}.done-k span{font-size:12px;color:#c4c4cc}
.day-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-height:0}.day-l li{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;cursor:pointer;transition:border-color .3s,box-shadow .3s;flex:1;display:flex;flex-direction:column;justify-content:center}.day-l span{font-size:11px;color:var(--muted)}.day-l b{font-size:16px}.day-l small{color:var(--muted);font-size:13px}
.day-l li i{position:absolute;left:14px;right:14px;bottom:0;height:2px;overflow:hidden}.day-l li i em{display:block;height:100%;width:0;background:var(--acc)}.day-l li.on{border-color:var(--acc);box-shadow:0 10px 30px rgba(225,6,0,.12)}.day-l li.on i em{animation:fillW 4.2s linear forwards}.day-l li.on.held i em{animation:none;width:100%}.day-l li.done span{color:var(--acc)}
@media (max-width:1100px){.day{grid-template-columns:1fr}.day-stage{height:440px}.day-l{flex-direction:row;overflow-x:auto}.day-l li{min-width:180px}}
@media (max-width:640px){.ds-book{grid-template-columns:1fr;padding:16px}.ds-qr{gap:14px}.qrbox{width:120px;height:120px}.phone{width:180px;height:340px}.ds-done{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-content:start;overflow:auto;min-height:0}
.pc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;cursor:pointer;transition:transform .25s,box-shadow .25s}.pc:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.pc-i{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#fff}.pc-i img,.pc-i canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.pc-i canvas{opacity:0;transition:opacity .6s}.pc.pressed .pc-i canvas{opacity:1}
.pc>b{display:block;font-size:13.5px;margin:8px 2px 4px}.pc-m{display:flex;flex-wrap:wrap;gap:5px}.mt{font:700 10px/1 var(--fm);letter-spacing:.04em;text-transform:uppercase;padding:4px 6px;border-radius:6px}.mt.transfer{background:#eef2ff;color:#3730a3}.mt.sublimation{background:#FFF1F0;color:var(--accd)}.cr{font-size:11px;color:var(--muted)}
.pk{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pkc{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px}.pkc.pop{border:2px solid var(--acc);box-shadow:0 20px 50px -20px rgba(225,6,0,.4)}.pkc .tag{position:absolute;top:-10px;left:16px}
.pk-h b{display:block;font:600 24px var(--fs)}.pk-h small{color:var(--muted)}.pk-p b{font:600 34px/1 var(--fs)}.pk-p small{display:block;color:var(--muted);font-size:12.5px;margin-top:4px}
.pk-c{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pk-c div{background:#f7f6f3;border-radius:10px;padding:7px}.pk-c b{display:block;font-size:18px}.pk-c small{font-size:10.5px;color:var(--muted);line-height:1.2;display:block}
.pkc p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}.pkc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:13px}.pkc li{display:flex;gap:6px;align-items:flex-start}.pkc li .ic{color:var(--ok);margin-top:2px}.pkc .btn{margin-top:auto}
.pkc.custom{background:var(--ink);color:#fff;border-color:var(--ink)}.pkc.custom p,.pkc.custom small{color:#c4c4cc}.pkc.custom .btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.credit-lab{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;min-height:0}
.cl-l h3{font-size:22px;margin:6px 0 10px}.cl-ct{display:flex;gap:14px;align-items:center;margin-top:12px}.cl-ct p{margin:4px 0;font-size:13px}
.dial{--p:0;position:relative;width:96px;height:96px;border-radius:50%;background:conic-gradient(var(--acc) calc(var(--p)*360deg),#f1efe9 0);display:grid;place-items:center;flex:none;transition:--p .4s}.dial::before{content:'';position:absolute;inset:10px;border-radius:50%;background:#fff}.dial b,.dial small{position:relative;line-height:1}.dial b{font-size:26px;display:block;text-align:center}.dial small{font-size:10.5px;color:var(--muted);position:absolute;bottom:24px;left:0;right:0;text-align:center}
.cl-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;overflow:auto;align-content:start;min-height:0}
.clp{position:relative;border:1px solid var(--line);background:#fff;border-radius:12px;padding:6px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11.5px;font-weight:600;transition:transform .15s,border-color .2s}.clp img{width:100%;aspect-ratio:1;object-fit:contain}.clp em{position:absolute;top:5px;right:5px;font-style:normal;font:700 10.5px var(--fm);background:var(--ink);color:#fff;width:20px;height:20px;border-radius:50%;display:grid;place-items:center}
.clp.on{border-color:var(--acc);background:var(--acct)}.clp[disabled]{opacity:.35}.clp:active{transform:scale(.96)}.clp .n{position:absolute;top:5px;left:5px;font-style:normal;font-size:10.5px;background:var(--acc);color:#fff;border-radius:99px;padding:2px 6px;display:flex;align-items:center;gap:3px}
@media (max-width:1300px){.pk{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1100px){.credit-lab{grid-template-columns:1fr}}
@media (max-width:640px){.pk{grid-template-columns:1fr}}
.kit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(280px,.9fr);gap:12px;min-height:0}
.kit figure{margin:0;position:relative;border-radius:18px;overflow:hidden;background:#222;animation:fadeUp .8s both;animation-delay:calc(var(--i)*.12s);min-height:300px}.kit img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.kit figure:hover img{transform:scale(1.06)}
.kit figcaption{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(255,255,255,.95);border-radius:12px;padding:10px 12px}.kit figcaption b{display:block;font-size:14.5px}.kit figcaption span{display:block;color:var(--muted);font-size:12px;line-height:1.35}
.kit-c{background:var(--ink);color:#fff;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}.kit-c>b{font:600 22px var(--fs)}.kit-c ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px}.kit-c li{display:flex;gap:8px}.kit-c li .ic{color:#ff9a94}.kit-c .btn{margin-top:auto}
@media (max-width:1100px){.kit{grid-template-columns:repeat(2,1fr)}.kit-c{grid-column:1/-1}}
.faq-s{padding:clamp(40px,7vh,80px) clamp(16px,3.4vw,56px)}.faq{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:16px;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq details[open] summary .ic{transform:rotate(180deg)}.faq p{margin:10px 0 0;color:var(--muted)}.faq p a{color:var(--acc);font-weight:600}
@media (max-width:900px){.faq{grid-template-columns:1fr}}

/* booking */
.bkp{padding:clamp(20px,3.4vh,40px) clamp(16px,3.4vw,56px) 60px}.bk-in{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}.bk-in.one{grid-template-columns:minmax(0,900px)}
.bk-top h1{font-size:clamp(32px,3.2vw,50px);margin:8px 0 18px}
.bk-steps{list-style:none;margin:0 0 18px;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.bk-steps li{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;cursor:pointer}.bk-steps b{width:22px;height:22px;border-radius:50%;background:#f1efe9;display:grid;place-items:center;font-size:11.5px}.bk-steps li.on{border-color:var(--acc);color:var(--ink)}.bk-steps li.on b{background:var(--acc);color:#fff}.bk-steps li.done b{background:var(--ok);color:#fff}
.bk-body{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(16px,2.4vw,30px);box-shadow:var(--sh);animation:fadeUp .35s both}.st h2{font-size:28px;margin-bottom:6px}.st>p.muted{margin:0 0 16px}
.bk-nav{display:flex;align-items:center;gap:12px;margin-top:14px}.bk-nav .btn.pri{margin-left:auto}.bk-err{color:var(--acc);font-weight:600;font-size:14px}.bk-err.shake{animation:shake .4s}@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.bk-sum{position:sticky;top:140px}.sum-c{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:10px}
.sum-r{display:flex;justify-content:space-between;gap:12px;font-size:14px}.sum-r span{color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}.sum-r b{text-align:right}.sum-r.big b{font:600 24px var(--fs);color:var(--acc)}.sum-r.big span{color:var(--ink);font-weight:600}
.sum-pk{display:flex;justify-content:space-between;align-items:center;background:#f7f6f3;border-radius:14px;padding:12px}.sum-pk small{display:block;color:var(--muted);font-size:12.5px}.sum-pk>b{font:600 20px var(--fs)}
.sum-cr{border:1px dashed #f6c4c1;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.cr-row{display:flex;justify-content:space-between;font-size:13px}.cr-bar{height:6px;border-radius:9px;background:#f1efe9;overflow:hidden}.cr-bar i{display:block;height:100%;background:var(--acc);transition:width .4s}
.sum-t{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:6px}.sum-f{font-size:12.5px;color:var(--muted);margin:0}.sum-f a{color:var(--acc);font-weight:600}
.sum-carol{margin-top:10px;width:100%;border:1px dashed var(--line);background:none;border-radius:14px;height:44px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted)}
.cal-w{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px}.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-h b{font:600 20px var(--fs)}.cal-h button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-g>b{text-align:center;font-size:11.5px;color:var(--muted);font-weight:600}.cal-g button{position:relative;aspect-ratio:1.15;border:1px solid var(--line);background:#fff;border-radius:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .15s}.cal-g button small{font-size:9.5px;color:var(--acc);font-weight:700}
.cal-g .op:hover{border-color:var(--acc);transform:translateY(-2px)}.cal-g .bk{background:#f4f3ef;color:#b3b3b3}.cal-g .ts{background:#faf9f6;color:#c8c8c8;border-style:dashed}.cal-g .sel{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 10px 24px rgba(225,6,0,.35)}
.cal-side{display:flex;flex-direction:column;gap:14px}.cal-key{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.cal-key span{display:flex;align-items:center;gap:8px}.cal-key i{width:14px;height:14px;border-radius:4px;border:1px solid var(--line)}.cal-key i.bk{background:#f4f3ef}.cal-key i.ts{border-style:dashed}
.picked{display:flex;gap:10px;align-items:flex-start;background:var(--okt);color:var(--ok);border-radius:14px;padding:12px;animation:fadeUp .4s both}.picked b{display:block;color:var(--ink)}.picked small{color:var(--muted)}
.fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.fl{display:flex;flex-direction:column;gap:5px}.fl.w2{grid-column:1/-1}.fl span{font-size:12.5px;font-weight:600;color:#3b4150}
.fl input,.fl select,.fl textarea{height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff;outline:0;transition:border-color .2s,box-shadow .2s}.fl textarea{height:auto;padding:10px 12px}.fl input:focus,.fl select:focus,.fl textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(225,6,0,.12)}
.bpk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.bp{position:relative;text-align:left;border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:2px;transition:border-color .2s,transform .2s}.bp:hover{transform:translateY(-2px)}.bp .tag{position:absolute;top:-9px;left:12px}.bp>b{font:600 22px var(--fs)}.bp>small{color:var(--muted)}.bp>em{font-style:normal;font:600 26px var(--fs);margin:6px 0}.bp ul{margin:4px 0 0;padding-left:16px;font-size:12.5px;color:#3b4150}.bp.on{border:2px solid var(--acc);background:var(--acct)}
.ao{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;border:1px solid var(--line);border-radius:20px;padding:16px}.ao.on{border-color:var(--acc)}.ao-i{position:relative;border-radius:14px;overflow:hidden;background:#2a7d3c;aspect-ratio:3/2}.ao-i img,.ao-i canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ao-i canvas{opacity:0;transition:opacity .6s}.ao-i canvas.on{opacity:1}
.ao-h{display:flex;justify-content:space-between;align-items:baseline}.ao-h b{font:600 22px var(--fs)}.ao-h em{font-style:normal;font-weight:700;color:var(--acc);font-size:18px}.ao-b p{color:var(--muted);font-size:14px}.ao-b ul{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:6px;font-size:14px}.ao-b li{display:flex;gap:8px}.ao-b li .ic{color:var(--ok)}
.ao-up{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.ao-up b{display:block}.ao-bgs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ao-bgs button{width:76px;height:56px;border-radius:10px;overflow:hidden;border:1px solid var(--line);padding:0}.ao-bgs img{width:100%;height:100%;object-fit:cover}.ao-add{width:76px;height:56px;border-radius:10px;border:1px dashed #d4a3b0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--acc);cursor:pointer}
.dsl{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:12px}.dslot{border:1px dashed #d8d5ce;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:8px}.dslot.on{border:1px solid var(--line);background:#fff}.ds-pv{position:relative;aspect-ratio:1;background:#f7f6f3;border-radius:12px;overflow:hidden}.ds-pv canvas{width:100%;height:100%}.ds-pv span{position:absolute;inset:0;display:grid;place-items:center;font:600 34px var(--fs);color:#d3d0c8}.ds-a{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ds-a b{width:100%;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-a small{width:100%;font-size:12px}.ds-a small.ok{color:var(--ok)}.ds-a small.warn{color:var(--warn)}
.gift-h{display:flex;align-items:center;gap:16px;margin:10px 0 14px}.gift-h b{display:block}
.rv-g{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}.rv-g>div{background:#f7f6f3;border-radius:14px;padding:12px 14px}.rv-g h4{margin:0 0 4px;font:700 11px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.rv-g p{margin:0 0 4px;font-size:14px}
.bpay{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px}.pay-r{display:flex;justify-content:space-between}.pay-r.big b{font:600 28px var(--fs);color:var(--acc)}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:14px;background:#fff8f0;border-radius:12px;padding:12px}.agree input{width:18px;height:18px;margin-top:2px;accent-color:var(--acc)}.agree a{color:var(--acc);font-weight:600}
.testmode{display:flex;gap:8px;align-items:center;font-size:12.5px;color:#3730a3;background:#eef2ff;border-radius:12px;padding:10px 12px}
@media (max-width:1100px){.bk-in{grid-template-columns:1fr}.bk-sum{position:static}.bpk{grid-template-columns:repeat(2,1fr)}.cal-w{grid-template-columns:1fr}.ao{grid-template-columns:1fr}}
@media (max-width:640px){.fg{grid-template-columns:1fr}.rv-g{grid-template-columns:1fr}.bpk{grid-template-columns:1fr}.bk-nav{position:sticky;bottom:0;background:var(--bg);padding:10px 0}}
.bkp.bkp.done{text-align:center}.done-in{max-width:1100px;margin:0 auto}.stamp{width:84px;height:84px;margin:10px auto 16px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;animation:stamp .6s cubic-bezier(.2,1.6,.4,1) both;box-shadow:0 0 0 10px var(--okt)}@keyframes stamp{from{transform:scale(2.2) rotate(-20deg);opacity:0}}
.done h1{font-size:clamp(34px,3.6vw,56px);margin:10px 0}.done .lede{margin:0 auto 24px}.done-g{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:14px;text-align:left}.dg-c{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px}.dg-c ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:14px}.dg-c ol span{display:block;font-size:11px;color:var(--acc)}.dg-c.qr #guestqr svg{width:170px;height:170px}
.track{display:flex;justify-content:center;gap:0;margin:20px 0}.tk{display:flex;flex-direction:column;align-items:center;gap:6px;width:120px;position:relative;color:var(--muted)}.tk::before{content:'';position:absolute;top:15px;left:-50%;right:50%;height:2px;background:var(--line)}.tk:first-child::before{display:none}.tk i{position:relative;width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:12px}.tk.on{color:var(--ink)}.tk.on i{background:var(--ok);border-color:var(--ok);color:#fff}.tk.next i{border-color:var(--acc);animation:pulse 1.8s infinite}
.done-items{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.done-items div{width:150px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}.done-items img{width:100%;border-radius:8px}.done-items b{display:block;font-size:12.5px}.done-items small{font-size:11px;color:var(--muted)}
@media (max-width:900px){.done-g{grid-template-columns:1fr}}

/* shop */
.shop-h{padding:clamp(22px,3.6vh,40px) clamp(16px,3.4vw,56px) 0;background:linear-gradient(180deg,#fff,var(--bg))}.shop-h-in{max-width:1680px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:30px;align-items:end}.shop-h h1{font-size:clamp(34px,3.6vw,58px);line-height:1.04;margin:10px 0 12px}.shop-h .lede{margin:0}
.shop-k{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.shop-k div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.shop-k b{display:block;font:600 26px/1 var(--fs)}.shop-k span{font-size:12px;color:var(--muted)}
.dept-r{max-width:1680px;margin:14px auto 0;display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.dept-r button{flex:none;height:38px;padding:0 16px;border-radius:99px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:14px}.dept-r button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.dshelf{max-width:1680px;margin:18px auto 0;padding:0 clamp(16px,3.4vw,56px)}.ds-h{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:10px}.ds-h h3{font-size:24px;margin-top:6px}
.ds-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}.mk{background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;transition:transform .2s,box-shadow .2s}.mk:hover{transform:translateY(-3px);box-shadow:var(--sh)}.mk canvas{width:100%;aspect-ratio:5/6;display:block;border-radius:10px;background:#f6f5f2}.mk b{display:block;font-size:13.5px;margin:8px 2px 0}.mk small{display:block;color:var(--muted);font-size:11.5px;margin:0 2px}.mk.noimg{display:none}
.shop-b{max-width:1680px;margin:18px auto 60px;padding:0 clamp(16px,3.4vw,56px);display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.flt{position:sticky;top:136px;max-height:calc(100vh - 150px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:14px}.fb h5{margin:0 0 8px;font:700 11px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.fb>b{display:block}
.ck{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13.5px;cursor:pointer}.ck input{accent-color:var(--acc)}.ck span{flex:1}.ck em{font-style:normal;font:500 11px var(--fm);color:var(--muted)}
.fams{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.fams button{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9.5px;color:var(--muted)}.fams i{width:26px;height:26px;border-radius:50%;background:var(--c);border:1px solid rgba(0,0,0,.12)}.fams button.on i{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--acc)}
.res-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-size:15px}.res-a{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}.res-a select{height:36px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff}
.chip-x{height:30px;border:1px solid #f6c4c1;background:var(--acct);color:var(--accd);border-radius:99px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s;content-visibility:auto;contain-intrinsic-size:340px}.card:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.card-i{position:relative;aspect-ratio:4/5;background:#f6f5f2}.card-i img{width:100%;height:100%;object-fit:contain;padding:6%}.card-i.noimg img{visibility:hidden}.card-i.noimg::after{content:'Photo on the live site';position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px}
.card-go{position:absolute;right:10px;bottom:10px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;padding:7px 10px;border-radius:99px;display:flex;gap:5px;align-items:center;opacity:0;transform:translateY(6px);transition:all .2s}.card:hover .card-go{opacity:1;transform:none}
.card-b{padding:10px 12px 12px}.card-b small{color:var(--muted);font-size:11.5px}.card-b b{display:block;font-size:14px;line-height:1.3;margin:2px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
.card-f{display:flex;justify-content:space-between;align-items:center;gap:6px}.pr{font-size:12.5px;color:var(--muted)}.pr em{font-style:normal;font-weight:700;color:var(--ink);font-size:16px}.dots{display:flex;align-items:center;gap:2px}.dots i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}.dots small{font-size:10.5px;color:var(--muted);margin-left:3px}
.more{text-align:center;margin:20px 0}.empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:50px 20px;color:var(--muted);text-align:center}.empty b{color:var(--ink);font-size:18px}
@media (max-width:1100px){.shop-h-in{grid-template-columns:1fr}.shop-b{grid-template-columns:1fr}.flt{position:static;max-height:none}}
@media (max-width:640px){.shop-k{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr);gap:10px}.ds-h{flex-direction:column;align-items:flex-start}}
/* product */
.pd{max-width:1500px;margin:0 auto;padding:16px clamp(16px,3.4vw,56px) 60px}.pd-x{padding:60px 20px}.crumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:14px;flex-wrap:wrap}.crumb a:hover{color:var(--acc)}
.pd-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:36px;align-items:start}
.pd-l{position:sticky;top:136px}.stage{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;aspect-ratio:4/5;max-height:calc(100vh - 230px);margin:0 auto}.stage canvas{width:100%;height:100%;object-fit:contain;display:block}
.zbox{position:absolute;inset:0;pointer-events:none}.zr{position:absolute;pointer-events:auto;border:1.5px dashed rgba(225,6,0,.55);background:rgba(225,6,0,.04);border-radius:6px;padding:0;transition:background .2s}.zr span{position:absolute;top:-22px;left:0;font-size:10.5px;font-weight:700;color:var(--acc);background:#fff;padding:2px 6px;border-radius:6px;white-space:nowrap;opacity:0;transition:opacity .2s}.zr:hover{background:rgba(225,6,0,.1)}.zr:hover span,.zr.pick span{opacity:1}.zr.used{border-color:transparent;background:none}.zr.used:hover{border-color:rgba(225,6,0,.55)}.zr.pick{border-style:solid;border-color:var(--acc);background:rgba(225,6,0,.08)}
.st-load{position:absolute;inset:0;display:none;place-items:center;background:rgba(255,255,255,.7);font-weight:600;color:var(--muted);gap:8px}.st-load.on{display:grid}
.views{display:flex;gap:6px;justify-content:center;margin-top:10px}.views button{height:34px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:13px}.views button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.views button[disabled]{opacity:.4}
.pd-note{display:flex;gap:8px;font-size:12.5px;color:var(--muted);max-width:560px;margin:10px auto 0}
.pd-r h1{font-size:clamp(28px,2.6vw,40px);margin:4px 0 8px;line-height:1.1}.pd-r>small{color:var(--muted)}.pd-pr{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.pd-pr b{font:600 34px var(--fs);color:var(--acc)}.pd-pr span{color:var(--muted);font-size:14px}
.pd-blk{border-top:1px solid var(--line);padding:14px 0}.blk-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:14px}.blk-h span{font-size:13px}
.sw{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto;padding:3px}.sw button{width:30px;height:30px;border-radius:50%;padding:3px;border:1px solid transparent;background:none}.sw i{display:block;width:100%;height:100%;border-radius:50%;background:var(--c);border:1px solid rgba(0,0,0,.15)}.sw button.on{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}.sw button.oos{opacity:.35}
.zl{display:flex;flex-direction:column;gap:6px}.zrow{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:12px;padding:4px 4px 4px 12px;background:#fff}.zrow.on{border-color:#f6c4c1;background:#fffafa}.zrow.pick{border-color:var(--acc)}.zr-m{flex:1;text-align:left;border:0;background:none;padding:6px 0;min-width:0}.zr-m b{display:block;font-size:14px}.zr-m small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zr-a{height:32px;border-radius:9px;border:1px solid var(--line);background:#fff;padding:0 10px;font-weight:600;font-size:12.5px;display:flex;align-items:center;gap:4px}.zr-x{width:32px;height:32px;border-radius:9px;border:0;background:#f4f2ed;display:grid;place-items:center}
.zch{border:1px solid var(--acc);border-radius:14px;padding:10px;background:#fff;animation:fadeUp .25s both}.zch-t{display:flex;gap:4px;margin-bottom:10px}.zch-t button{height:32px;border-radius:9px;border:1px solid var(--line);background:#fff;padding:0 10px;font-weight:600;font-size:12.5px;display:flex;align-items:center;gap:5px}.zch-t button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.zch-g{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:6px}.zch-g button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:4px;aspect-ratio:1}.zch-g button:hover{border-color:var(--acc)}.zch-g canvas{width:100%;height:100%}
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px dashed #e7b3c0;border-radius:12px;padding:20px;text-align:center;cursor:pointer;color:var(--acc)}.drop b{color:var(--ink)}.drop small{color:var(--muted)}
.zch-txt{display:flex;gap:6px}.zch-txt input{flex:1;min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px}.zch-txt select{height:38px;border:1px solid var(--line);border-radius:10px;background:#fff}
.szg{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px}.sz{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:12px;padding:6px;background:#fff}.sz span{font-weight:700;font-size:13px}.sz small{font-size:11px;color:var(--muted)}.sz input{width:100%;height:32px;border:1px solid var(--line);border-radius:8px;text-align:center;margin-top:4px}
.pd-tot{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px}.pt-r{display:flex;justify-content:space-between;font-size:14px}.pt-r b{font:600 22px var(--fs)}
.pd-d{border-top:1px solid var(--line);padding:12px 0}.pd-d summary{list-style:none;display:flex;justify-content:space-between;font-weight:600;cursor:pointer}.pd-d summary::-webkit-details-marker{display:none}.pd-d ul,.pd-d p{color:var(--muted);font-size:14px}
@media (max-width:1000px){.pd-in{grid-template-columns:1fr}.pd-l{position:static}.stage{max-height:none}}
/* cart + checkout */
.cart{position:fixed;inset:0;z-index:80;pointer-events:none}.cart-bg{position:absolute;inset:0;background:rgba(14,14,17,.4);opacity:0;transition:opacity .3s}.cart-p{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.cart.on{pointer-events:auto}.cart.on .cart-bg{opacity:1}.cart.on .cart-p{transform:none}
.cart-h{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.cart-h b{font:600 22px var(--fs)}.cart-l{flex:1;overflow:auto;padding:12px 20px}.ci{display:grid;grid-template-columns:70px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line2)}.ci img,.ci .ph{width:70px;height:88px;object-fit:cover;border-radius:10px;background:#f6f5f2}.ci b{display:block;font-size:14px}.ci small{display:block;color:var(--muted);font-size:12px}.ci-r{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.cart-f{padding:16px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;text-align:center}
.cko{padding:clamp(20px,3.4vh,40px) clamp(16px,3.4vw,56px) 60px}.ck-in{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}.ck-m h1{font-size:clamp(30px,3vw,46px);margin:8px 0 16px}.ck-m .st{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}.ck-m h3{font-size:20px;margin:6px 0 4px}
.opt{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.opt label{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer}.opt label.on{border:2px solid var(--acc);background:var(--acct)}.opt input{display:none}.opt span{color:var(--muted);font-size:13px}
.ck-s{position:sticky;top:140px}.ck-i{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;font-size:13.5px}.ck-i img{width:52px;height:64px;object-fit:cover;border-radius:8px}.ck-i small{display:block;color:var(--muted)}
@media (max-width:1000px){.ck-in{grid-template-columns:1fr}.ck-s{position:static}}
.sfp iframe{display:block;width:100%;height:var(--vh);border:0;background:#fbfaf7}

/* modal, toasts */
.mdl{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px}.mdl-bg{position:absolute;inset:0;background:rgba(14,14,17,.45);opacity:0;transition:opacity .25s}.mdl.on .mdl-bg{opacity:1}
.mdl-c{position:relative;background:#fff;border-radius:22px;padding:26px;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 40px 80px rgba(0,0,0,.3);transform:translateY(16px);opacity:0;transition:all .3s cubic-bezier(.2,.8,.2,1)}.mdl.on .mdl-c{transform:none;opacity:1}.mdl.wide .mdl-c{width:min(900px,100%)}
.mdl-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:10px;border:0;background:#f4f2ed;display:grid;place-items:center}
.pol h2{font-size:30px;margin:6px 0 2px}.pol-b h4{margin:18px 0 6px;font-size:15px}.pol-b ul{margin:0;padding-left:18px;color:#3b4150;font-size:14.5px;display:flex;flex-direction:column;gap:5px}
.lib h2,.tm h2{font-size:28px;margin:6px 0 14px}.lib-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.lib-g button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:2px}.lib-g button:hover{border-color:var(--acc)}.lib-g canvas{width:100%;height:auto;aspect-ratio:1}.lib-g b{font-size:13px}.lib-g small{font-size:11px;color:var(--muted)}
.tm-l{display:flex;flex-direction:column;gap:8px}.tm-l button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 16px}.tm-l button:hover{border-color:var(--acc)}.tm-l b{flex:1;font-size:15.5px}.tm-l small{color:var(--muted)}.tm-l .ic{color:var(--acc)}
#toasts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:95;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:14px;font-size:14px;box-shadow:0 16px 40px rgba(0,0,0,.3);animation:fadeUp .3s both;max-width:90vw}.toast.out{opacity:0;transition:opacity .3s}.toast .ic{color:#86efac}.toast.bad .ic{color:#ff9a94}
body.touring #toasts{bottom:170px}

/* Carol: BTF black and red */
.cf-c{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ff4d45,#B80500);color:#fff;display:grid;place-items:center;font:italic 700 20px var(--fs);flex:none;box-shadow:0 0 0 3px rgba(225,6,0,.25)}.cf-c.sm{width:28px;height:28px;font-size:14px}
.carol{position:fixed;right:16px;bottom:16px;top:136px;width:min(410px,calc(100vw - 32px));z-index:75;background:var(--dark);color:#fff;border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.45);display:flex;flex-direction:column;overflow:hidden;transform:translateX(120%);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.carol.on{transform:none}
.cr-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.cr-h b{display:block}.cr-h small{color:#9a9aa3;font-size:12px}.carol .mdl-x{position:static;margin-left:auto;background:rgba(255,255,255,.08);color:#fff}
.cr-b{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.cr-hi b{font:600 22px var(--fs)}.cr-hi p{color:#c4c4cc;font-size:14px}
.cm{font-size:14px;line-height:1.5;animation:fadeUp .3s both}.cm.me{align-self:flex-end;background:var(--acc);padding:9px 13px;border-radius:16px 16px 4px 16px;max-width:85%}.cm.ai{display:flex;gap:9px}.cm.ai>div{background:#1b1b20;border:1px solid #26262c;padding:10px 13px;border-radius:4px 16px 16px 16px;min-width:0}.cm.ai b{color:#fff}.cm .warn{color:#fcd34d}
.cm.typing>div{display:flex;gap:4px;align-items:center;height:38px}.cm.typing i{width:7px;height:7px;border-radius:50%;background:#9a9aa3;animation:blink .9s infinite}.cm.typing i:nth-child(2){animation-delay:.15s}.cm.typing i:nth-child(3){animation-delay:.3s}
.cr-a{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.carol .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}.dchip{border:1px solid rgba(255,255,255,.25);background:none;color:#fff;border-radius:99px;padding:3px 10px;font-size:12.5px;margin:3px 2px 0}
.cr-t{width:100%;border-collapse:collapse;margin:10px 0;font-size:12.5px}.cr-t th{color:rgba(255,255,255,.55);font-weight:600;text-align:left;padding:4px 6px;font-size:11px}.cr-t td{padding:5px 6px;border-top:1px solid rgba(255,255,255,.1)}
.cr-p{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.cr-p a{background:#fff;color:var(--ink);border-radius:10px;padding:6px;font-size:11px}.cr-p img{width:100%;aspect-ratio:4/5;object-fit:contain}.cr-p b{display:block;font-size:11.5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cr-p small{color:var(--muted);font-size:10.5px}
.cr-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;scrollbar-width:none}.cr-chips button{flex:none;border:1px solid rgba(255,255,255,.18);background:none;color:#e4e4e7;border-radius:99px;padding:6px 11px;font-size:12.5px}
.cr-f{display:flex;gap:8px;padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.08)}.cr-f input{flex:1;min-width:0;height:42px;border-radius:12px;border:1px solid #2a2a30;background:#16161a;color:#fff;padding:0 12px;outline:0}.cr-f .btn{height:42px;width:46px;padding:0}
@media (max-width:600px){.carol{top:auto;height:78vh;right:8px;left:8px;width:auto;bottom:8px}}

/* back office */
body.office{background:#f5f4f0}.of{display:grid;grid-template-columns:240px minmax(0,1fr) 380px;height:calc(100vh - 44px)}
.of-nav{background:#fff;border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:2px;overflow:auto}.of-b{display:flex;gap:10px;align-items:center;padding:4px 8px 16px}.of-b img{width:38px;height:38px}.of-b b{display:block}.of-b small{color:var(--muted);font-size:12px}
.of-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14px;color:#3b4150;position:relative}.of-nav a:hover{background:#f6f4ef}.of-nav a.on{background:var(--acct);color:var(--acc)}.nd{width:8px;height:8px;border-radius:50%;background:var(--acc);display:inline-block}.of-nav .nd{margin-left:auto}.of-f{margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}.of-f a{font-size:13px;color:var(--muted)}
.of-m{overflow:auto;padding:24px 28px 60px;display:flex;flex-direction:column;gap:16px}
.of-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.of-h h1{font-size:32px;margin:6px 0 4px}.of-h p{margin:0;max-width:720px}.of-ha{display:flex;gap:8px;align-items:center}
.saved{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--ok);background:var(--okt);padding:6px 10px;border-radius:99px;opacity:0}.saved.on{animation:savedA 2.2s both}@keyframes savedA{10%,75%{opacity:1}100%{opacity:0}}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.kpi span{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:12.5px;font-weight:600}.kpi b{display:block;font:600 28px/1.1 var(--fs);margin:6px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi small{color:var(--muted);font-size:12px}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.panel.flush{padding:0;overflow:auto}.ph{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px}.ph h3{font-size:19px}.of-g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.evr{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line2);font-size:13.5px}.evr>div:nth-child(2),.evr>div:nth-child(3){flex:1;min-width:0}.evr small{display:block;color:var(--muted);font-size:12px}.evd{width:46px;text-align:center;background:#f7f6f3;border-radius:10px;padding:4px 0;flex:none!important}.evd b{display:block;font:600 20px var(--fs)}.evd small{font-size:10.5px}
.pkt{font-size:11px;font-weight:700;background:#f1efe9;padding:4px 8px;border-radius:99px;white-space:nowrap}.pkt.gs{background:#ecfdf3;color:var(--ok)}.st-ok{color:var(--ok);font-size:12px;font-weight:600;white-space:nowrap}
.nr{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line2)}.nr .ic{color:var(--acc)}.nr b{display:block;font-size:14px}.nr small{color:var(--muted);font-size:12.5px}.nr.carolhint{background:var(--acct);border-radius:12px;padding:10px;border:0;margin-top:6px}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;font:700 10.5px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:#fbfaf7;position:sticky;top:0;white-space:nowrap}.tbl td{padding:9px 12px;border-bottom:1px solid var(--line2);vertical-align:middle}.tbl td small{display:block;color:var(--muted);font-size:12px}.tbl tr.new td{background:#fffafa}.tbl tr.ov td{background:#fffbf3}
.newtag{font-size:10.5px;font-weight:700;background:var(--acc);color:#fff;padding:3px 7px;border-radius:99px;margin-left:6px}
.ti{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 9px;background:#fff;outline:0}.ti:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(225,6,0,.12)}.ti.ov{border-color:#f0b35a;background:#fffbf3}.w3{width:60px}.w4{width:76px}.w5{width:86px}.w8{width:120px}.w10{width:170px}textarea.ti{height:auto;width:100%;padding:8px 10px;margin-top:8px}.pre{color:var(--muted);margin-right:3px}
.timg{width:38px;height:46px;object-fit:contain;background:#f6f5f2;border-radius:6px}.by{color:var(--warn)!important}.pos{color:var(--ok)}.neg{color:var(--acc)}
.aoe{border-top:1px solid var(--line2);padding:10px 0}.aoe-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tg{display:inline-flex;gap:6px;align-items:center;font-size:13px;font-weight:600}.tg input{accent-color:var(--acc)}
.rules{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.rules label{display:flex;justify-content:space-between;align-items:center;font-size:14px}.rules span{display:flex;align-items:center;gap:6px}
.bdates{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bdates span{display:inline-flex;align-items:center;gap:4px;background:#f4f3ef;border-radius:99px;padding:4px 6px 4px 10px;font-size:12.5px;font-weight:600}.bdates button{border:0;background:#fff;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;padding:0}.bdates input{height:32px;border:1px solid var(--line);border-radius:8px;padding:0 6px}
.pcr{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.pcr-i{display:flex;align-items:center;gap:10px;border:1px solid var(--line2);border-radius:12px;padding:6px}.pcr-i img{width:44px;height:44px;object-fit:contain}.pcr-i>div{flex:1;min-width:0}.pcr-i b{display:block;font-size:13px}.pcr-i select{border:0;background:none;font-size:12px;color:var(--muted);padding:0}
.eng-g{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.eng-i{display:flex;flex-direction:column;gap:3px;background:#f7f6f3;border-radius:12px;padding:10px}.eng-i span{font-size:12px;color:var(--muted);font-weight:600}.eng-i input{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 8px;width:100%}.eng-i small{font-size:11px;color:var(--muted)}.eng-i.fix b{font-size:18px;padding:5px 0}
.ptools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ptools select{height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 10px;max-width:220px}.ptools .srch{flex:1;min-width:220px}
.pager{display:flex;justify-content:center;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.plog{display:flex;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line2);font-size:13.5px}.plog span{font-size:11.5px;color:var(--muted);width:130px;flex:none}.plog small{color:var(--muted)}.plog .lnk{margin-left:auto}
.zedit{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.zedit label{background:#f7f6f3;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.dlib{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.dl{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.dl.on{border-color:#f6c4c1}.dl>canvas{width:100%;display:block;background:#faf9f6}.dl-b{padding:12px;display:flex;flex-direction:column;gap:6px}.dl-b small{font-size:12px}.dl-m{display:flex;align-items:center;gap:10px}.dl-m canvas{width:60px;height:72px;border-radius:8px;background:#f6f5f2}
.of-carol{background:var(--dark);color:#fff;display:flex;flex-direction:column;min-height:0}.oc-h{display:flex;gap:10px;align-items:center;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}.oc-h b{display:block}.oc-h small{color:#9a9aa3;font-size:11.5px}.oc-b{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.prop{margin-top:10px;background:#fff;color:var(--ink);border-radius:12px;padding:6px 10px}.pr-row{display:grid;grid-template-columns:34px 1fr auto 14px auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line2);font-size:12.5px}.pr-row:last-of-type{border:0}.pr-row img{width:34px;height:40px;object-fit:contain}.pr-row b{display:block;font-size:12px;line-height:1.2}.pr-row small{font-size:11px;color:var(--muted)}.pr-row em{font-style:normal;color:var(--muted);text-decoration:line-through}.pr-row b.up{color:var(--ok)}.pr-row b.dn{color:var(--acc)}.prop>small{display:block;padding:4px 0}
@media (max-width:1300px){.of{grid-template-columns:200px minmax(0,1fr) 320px}.eng-g{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1000px){.of{grid-template-columns:1fr;height:auto}.of-nav{flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.of-b,.of-f{display:none}.of-nav a{white-space:nowrap}.of-carol{min-height:520px}.kpis{grid-template-columns:repeat(2,1fr)}.of-g2{grid-template-columns:1fr}.zedit{grid-template-columns:repeat(2,1fr)}.of-m{padding:16px}.of-h{flex-direction:column;align-items:flex-start}}

/* director strip tour (approved v7.2 pattern) */
#tour{position:fixed;inset:0;z-index:100;pointer-events:none;display:none}#tour.on{display:block}
body.touring{padding-bottom:148px}
.t-spot{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px rgba(12,12,16,.25),0 0 0 2px var(--acc);transition:all .45s cubic-bezier(.2,.8,.2,1)}
.t-dir{position:fixed;left:0;right:0;bottom:0;height:148px;pointer-events:auto;background:#0e0e11;color:#fff;font-family:var(--fb)}.t-dir.busy .td-tx{opacity:.35}
.td-prog{position:absolute;inset:0 0 auto;display:flex;gap:3px;height:5px;padding:0 3px}.td-prog i{flex:1;background:rgba(255,255,255,.14);cursor:pointer;position:relative;overflow:hidden}.td-prog i.done,.td-prog i.cur em{background:var(--acc)}.td-prog i em{position:absolute;inset:0;width:0}.td-prog i.cur em{width:100%}.td-prog i em.run{width:0;animation:tdFill linear forwards}@keyframes tdFill{to{width:100%}}
.td-in{height:100%;padding:22px 34px 18px;display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:34px;align-items:center}
.td-ch{border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:6px}.td-ch span{font:700 11px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:#ff4d45}.td-ch b{font:600 34px var(--fs)}.td-ch small{font:500 14px var(--fb);color:#8b8b95}
.td-tx h4{margin:0 0 6px;font:600 26px var(--fs)}.td-tx p{margin:0;font-size:15px;line-height:1.5;color:#c4c4cc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.td-ctl{display:flex;gap:10px;align-items:center}.td-b{height:46px;min-width:46px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font:600 14px var(--fb);padding:0 16px;cursor:pointer}.td-b[disabled]{opacity:.3}.td-next{background:var(--acc)}.td-x{border:0;background:none;color:#8b8b95;cursor:pointer}
@media (max-width:900px){body.touring{padding-bottom:190px}.t-dir{height:190px}.td-in{grid-template-columns:1fr;gap:10px;padding:16px 18px}.td-ch{flex-direction:row;border:0;align-items:baseline}.td-ch b{font-size:20px}.td-tx h4{font-size:20px}.td-tx p{font-size:13.5px}}
section[id],.scr{scroll-margin-top:var(--chrome)}

.gs-out:not(.on) .gs-card,.gs-out:not(.on) .gs-mug{opacity:.5;transform:none;filter:grayscale(1)}
.gs-out:not(.on) .gs-card canvas,.gs-out:not(.on) .gs-mug canvas{visibility:hidden}.gs-out:not(.on) .gs-card{border:1.5px dashed #d6d3cb;box-shadow:none;background:transparent}.gs-out:not(.on) .gs-mug{border:1.5px dashed #d6d3cb;background:transparent}
.gs-out:not(.on) .gs-card::after{content:'4x6 keepsake prints here';position:absolute;inset:0;display:grid;place-items:center;font:600 12px var(--fm);color:#9a978f}.gs-card{position:relative}
.gs-out:not(.on) .gs-mug::after{content:'Pressed onto a mug';position:absolute;inset:0;display:grid;place-items:center;font:600 12px var(--fm);color:#9a978f}.gs-out:not(.on) .gs-ready{display:none}
.credit-lab .cl-g{max-height:100%}
.gs.printing .gs-out:not(.on) .gs-card{opacity:0;transform:translateY(-120%) rotate(-2deg);border-color:transparent;transition:none}.gs.printing .gs-out:not(.on) .gs-mug{opacity:0;transform:translateY(20px) scale(.92);transition:none}.gs.printing .gs-out:not(.on) .gs-card::after,.gs.printing .gs-out:not(.on) .gs-mug::after{display:none}
.gs-out.on .gs-card,.gs-out.on .gs-mug{filter:none}
.of-m>*{flex:none}.of-carol .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}.of-carol .cr-chips button{border-color:rgba(255,255,255,.18);color:#e4e4e7}
.of-carol .cr-f input{flex:1;min-width:0;height:42px;border-radius:12px;border:1px solid #2a2a30;background:#16161a;color:#fff;padding:0 12px;outline:0}
.zr:not(.pick){border-color:transparent;background:none}.stage:hover .zr:not(.used){border-color:rgba(225,6,0,.45);background:rgba(225,6,0,.03)}
body.r-storefronts .carol{display:none}
@media (max-width:1100px){.bk-in,.ck-in{grid-template-columns:minmax(0,1fr)}.hero-in,.evh-in{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1000px){.of{grid-template-columns:minmax(0,1fr)}.panel.flush{max-width:100%}}
@media (max-width:640px){.cal-g{gap:4px}.cal-g button{aspect-ratio:1;border-radius:9px;font-size:13px}.cal-g button small{display:none}.st h2{font-size:23px}.bk-body{padding:14px}}
.evh{overflow:hidden}@media (max-width:1100px){.day,.ev-grid,.shop-x,.why{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1300px){.pk{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.pk{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.pk{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1100px) and (min-height:640px){.pgrid{grid-template-columns:repeat(10,minmax(0,1fr));overflow:visible}.pc{padding:8px}.pc>b{font-size:12.5px}.pc-m{gap:3px}}
@media (min-width:1100px) and (max-height:960px){.plan{padding:16px;gap:9px}.pl-h b{font-size:21px}.pr-c{padding:13px}.pr-c h3{font-size:25px;margin:2px 0 8px}.pr-k{margin-bottom:8px}.pr-k b{font-size:17px}.cred{margin-bottom:8px}.cred small.muted{display:none}.pl-types button{height:29px;font-size:12.5px}
  .av-g{gap:4px}.av-g button{padding:4px 2px}.av-g i{display:none}.facts div{padding:10px 12px}.facts b{font-size:23px}.clp{padding:4px}.cl-g{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.dial{width:80px;height:80px}}
@media (min-width:1100px) and (max-height:800px){.plan .pl-h .eyebrow{display:none}.pl-h b{margin-top:0;font-size:19px}.pr-top{display:none}.pr-k small{font-size:10.5px}.pr-k div{padding:6px 8px}.plan .btn{height:40px}.cred-h small{display:none}
  .clp span{font-size:10px;line-height:1.15}.clp img{aspect-ratio:1.25}.cl-l h3{font-size:19px}.cl-ct{margin-top:6px}}
.gs-bezel{width:auto;height:calc(100% - 18px);max-width:100%;max-height:none}.gs-bezel canvas{object-fit:contain;background:#0b0b0d}
@media (max-width:1100px){.gs-bezel{height:auto;width:100%;aspect-ratio:3/2}}
@media (min-width:1101px){.gs-stage{grid-template-rows:minmax(0,1fr)}.gs-out{min-height:0;overflow:hidden}.gs-card,.gs-mug{flex:0 1 auto;min-height:0}.gs-mug canvas{max-height:calc((var(--vh) - 330px) * .5);width:auto;margin:0 auto}.gs-card canvas{max-height:calc((var(--vh) - 330px) * .42);width:100%;object-fit:cover}.gs-kiosk{max-height:100%}}
@media (max-width:640px){.gs-hud.tr{display:none}}
@media (min-width:1101px) and (max-height:900px){.gk-t{aspect-ratio:16/10}.gs-kiosk{padding:10px;border-width:6px}.gk-print{height:34px}}
.ev-film{background:#0b0b0d}.ev-film img.kb2{object-fit:cover;object-position:50% 45%}.w-ev .ev-b{background:#0b0b0d}.w-ev .ev-b img.kb{object-fit:cover;object-position:45% 40%}
.evh-film .xf img{object-position:50% 45%}.ds-ph img{object-position:50% 45%}
.w-ev .pq{left:10px;right:10px;bottom:10px;padding:9px 11px}.w-ev .pq-r:nth-child(n+3){display:none}.w-ev .pq-f{display:none}
.kit figure:nth-child(3) img{object-position:22% 50%}.kit figure:nth-child(4) img{object-position:50% 12%}
.zrow.off{opacity:.55;background:#faf9f6}.zrow.off small{white-space:normal}

/* v2: Carol is one small red C in the header, nothing floating */
.carol-c{width:26px;height:26px;border-radius:50%;border:0;padding:0;background:var(--acc);color:#fff;display:grid;place-items:center;font:italic 700 14px/1 var(--fs);flex:none;box-shadow:0 0 0 3px rgba(225,6,0,.14);transition:transform .15s,box-shadow .2s;margin-right:4px}.carol-c:hover{transform:scale(1.08);box-shadow:0 0 0 5px rgba(225,6,0,.18)}
/* v2 spacing: every section breathes. More room above and below, a clear gap between the heading and the content,
   a hairline between sections, and content held to a comfortable measure on wide screens. */
.scr{padding:clamp(40px,6.6vh,84px) clamp(24px,5vw,104px) clamp(36px,5.6vh,72px)}
.scr+.scr,.scr+section,.hero+.scr{border-top:1px solid var(--line2)}
.chap{max-width:1600px}
.sh{margin-bottom:clamp(26px,4.6vh,50px);gap:clamp(28px,5vw,104px)}
.sh h2{font-size:clamp(30px,2.85vw,50px);margin-top:14px}
.sh-r p{line-height:1.65}
.sh-cta{margin-top:20px}
.pr-k{grid-template-columns:repeat(4,1fr)}
.sh{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
@media (min-width:1100px){.depts{grid-template-columns:repeat(3,1fr)!important}.depts .dp{padding:8px 11px!important}.depts .dp b{font-size:13.5px}.zone-card{padding:14px 16px;gap:8px}.zp span{padding-bottom:4px}}
@media (min-width:1100px) and (max-height:820px){.pkc>p{display:none}}
/* package cards: name and price share the top row so every card fits the screen with room to breathe */
.pkc{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;column-gap:10px}.pkc>*{grid-column:1/-1}.pkc>.pk-h{grid-column:1}.pkc>.pk-p{grid-column:2;text-align:right}.pkc>.pk-p small{margin-top:6px}
.pkc>.btn{margin-top:auto;align-self:end}.pkc{grid-template-rows:auto auto auto auto 1fr}
@media (min-width:1100px) and (max-height:800px){.day-l li{padding:7px 14px}.day-l li small:last-child{display:none}.depts .dp{padding:6px 10px!important}.zp span:nth-child(n+5){display:none}.zone-card>b{font-size:16px}}
@media (min-width:1100px) and (max-height:800px){.scr{padding-top:34px;padding-bottom:26px}.sh{margin-bottom:24px}.sh h2{font-size:clamp(28px,2.6vw,40px)}}
@media (min-width:1100px) and (max-height:800px){.day-l{gap:4px}.day-l li{padding:5px 12px}.shop-side{gap:8px}.srch{height:46px}.zone-card{padding:12px 14px}}
/* green screen output: the printer slot sits above the card, the mug always shows whole */
@media (min-width:1101px){.gs-out{display:grid;grid-template-rows:auto minmax(0,1fr);padding-top:24px;gap:14px;overflow:visible}.gs-slot{top:4px}.gs-card canvas{max-height:none!important;width:100%;height:auto}
.gs-mug{min-height:0;display:flex;align-items:center;justify-content:center;padding:6px}.gs-mug canvas{height:100%!important;width:auto!important;max-width:100%;max-height:100%!important;aspect-ratio:1;object-fit:contain}}
.gs-cardf{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px}.gs-cardf b{white-space:nowrap}.gs-cardf .gs-cardev{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
@media (min-width:1101px){.gs-out{grid-template-rows:minmax(0,1fr) minmax(0,1.15fr);height:100%}.gs-card{display:flex;flex-direction:column;min-height:0}.gs-card canvas{flex:1;min-height:0;height:0!important;aspect-ratio:auto!important;object-fit:cover}.gs-cardf{flex:none}}
@media (min-width:1101px){.gs-stage{grid-template-columns:minmax(0,1fr) 250px 320px}.gs-out{grid-template-rows:minmax(0,1.3fr) minmax(0,1fr)}.gs-card canvas{object-fit:fill}}
/* keepsake and mug as a still life: the 4x6 card in true 3:2, the mug in front of its lower corner */
@media (min-width:1101px){.gs-out{display:block!important;position:relative;height:100%;padding:0}.gs-slot{top:6px;left:4%;right:20%}
.gs-card{position:absolute!important;top:24px;left:0;width:84%;display:block}.gs-card canvas{height:auto!important;aspect-ratio:3/2!important;flex:none}
.gs-mug{position:absolute!important;right:0;bottom:0;width:60%;aspect-ratio:1;padding:4px;display:block;box-shadow:0 18px 40px -16px rgba(0,0,0,.35)}.gs-mug canvas{width:100%!important;height:auto!important}}
/* back office: the one controller, full height under the presenter bar */
.office-f{height:calc(100vh - 44px)}.office-f iframe{display:block;width:100%;height:100%;border:0;background:#f5f4f0}
@media (max-width:600px){.sh-cta{flex-direction:column;align-items:flex-start}.sh-cta .btn{white-space:normal;max-width:100%}.sh-r .seg,.sh .seg{flex-wrap:wrap;max-width:100%;height:auto}.sh-r{min-width:0}.sh>*{min-width:0}}
/* corporate product page: the shared customizer (same page every store uses), full height under the header */
.pdz{max-width:1680px;margin:0 auto;padding:14px clamp(16px,3.4vw,56px) 0}
.pdz .crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:10px}.pdz .crumb a:hover{color:var(--acc)}.pdz .crumb span{color:var(--ink);font-weight:600}
.crumb-r{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)!important;font-weight:500!important}
#czf{display:block;width:100%;height:calc(var(--vh) - 44px);min-height:640px;border:0;background:var(--bg);border-radius:16px}
@media (max-width:900px){#czf{height:calc(100vh - 140px);min-height:720px}.crumb-r{display:none}}
/* catalog mockups from the one mockup engine */
.mk-i{position:relative;display:grid;place-items:center;background:#f7f6f3;overflow:hidden}.mk-i img{width:100%;height:100%;object-fit:cover;display:block;animation:mkin .5s ease}@keyframes mkin{from{opacity:0;transform:scale(1.03)}}
.mk-sp{width:22px;height:22px;border-radius:50%;border:2px solid #e5e2db;border-top-color:var(--acc);animation:mkspin .8s linear infinite}@keyframes mkspin{to{transform:rotate(360deg)}}
@media (max-width:600px){.pr-k{grid-template-columns:repeat(2,1fr)}}
/* v2.1: the hero copy scales to the screen's height as well as its width, so the stats never fall off on wide, short screens */
@media (min-width:1100px){.h1{font-size:calc(clamp(46px,5.6vw,98px) * var(--hf,1));margin:calc(18px * var(--hf,1)) 0}.hero .lede{font-size:calc(clamp(16px,1.15vw,19px) * max(var(--hf,1),.86));margin-bottom:calc(24px * var(--hf,1))}.hero-stats{margin-top:calc(clamp(18px,3.4vh,40px) * var(--hf,1));padding-top:calc(18px * var(--hf,1))}.hero-stats b{font-size:calc(clamp(26px,2.3vw,40px) * max(var(--hf,1),.8))}}
/* v2.1 section rhythm: more air above and below every section, and alternating grounds so each one reads as its own band */
.scr{padding-top:clamp(52px,8.4vh,116px);padding-bottom:clamp(48px,7.4vh,100px)}
/* full-bleed bands even when the section itself is held to a measure: a hairline on top, white or warm ground alternating */
main .scr+.scr{border-top:0;box-shadow:0 0 0 100vmax var(--bg),0 -1px 0 100vmax var(--line);clip-path:inset(-1px -100vmax 0)}
main>.scr:nth-of-type(even):not(.hero){background:#fff;box-shadow:0 0 0 100vmax #fff,0 -1px 0 100vmax var(--line)}
@media (min-width:1100px) and (max-height:800px){.scr{padding-top:44px;padding-bottom:36px}}
/* host gift dial: the count and the word "left" stack with room between them */
.dial{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:104px;height:104px}.dial::before{inset:9px}.dial b{font-size:28px!important;line-height:1!important;margin:0}.dial small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1;margin:0}
.gs-up{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 6px 0 12px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--ink)}.gs-up[hidden]{display:none}.gs-up span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-up button{display:inline-flex;align-items:center;gap:4px;border:0;background:var(--acct);color:var(--acc);font-weight:700;font-size:12px;height:28px;padding:0 10px;border-radius:8px}
/* booking: the guest menu step */
.mn-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 18px}.mn-k{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:10px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:118px}.mn-k b{font-size:22px;line-height:1}.mn-k small{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.1em}.mn-k.full{border-color:var(--acc);background:var(--acct)}.mn-h p{margin:0;flex:1;min-width:220px}
.mn-c{display:grid;gap:12px}.mn-cat{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#fff;transition:border-color .2s,opacity .2s}.mn-cat.on{border-color:var(--acc)}.mn-cat.locked{opacity:.55}.mn-ch{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.mn-ch b{font:600 18px var(--fs)}.mn-ch small{color:var(--muted);font-size:12.5px;display:inline-flex;align-items:center;gap:5px}
.mn-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.mn-p{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12.5px;text-align:center;transition:border-color .2s,transform .15s}.mn-p:hover:not([disabled]){transform:translateY(-1px);border-color:#d6d3cb}.mn-p img{width:64px;height:64px;object-fit:contain}.mn-p span{font-weight:600;line-height:1.25}.mn-p em{font-style:normal;color:var(--muted);font-size:11px}.mn-p.on{border:2px solid var(--acc);background:var(--acct)}.mn-p i{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center}.mn-p[disabled]{opacity:.45;cursor:not-allowed}
/* the event page the guest QR code opens */
.ep{background:var(--bg)}.ep-hero{background:radial-gradient(900px 400px at 15% 0,rgba(225,6,0,.35),transparent 60%),#0e0e11;color:#fff;padding:clamp(40px,7vh,80px) clamp(20px,5vw,96px)}.ep-in{max-width:980px;margin:0 auto}.ep-hero h1{font-size:clamp(34px,4.6vw,64px);line-height:1.04;margin:10px 0 16px}.ep-hero p{color:rgba(255,255,255,.75);max-width:640px;font-size:16px}
.ep-live{display:inline-flex;align-items:center;gap:8px;font:700 11px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:#7ee2a8;margin-bottom:14px}.ep-live i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.2)}.ep-hero .ex{display:table;margin:0 0 14px}
.ep-meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:15px;color:#fff;margin-bottom:6px}.ep-meta span{display:inline-flex;align-items:center;gap:7px}
.ep-body{max-width:980px;margin:0 auto;padding:clamp(28px,5vh,56px) clamp(16px,4vw,40px) 70px;display:grid;gap:clamp(28px,4.5vh,48px)}
.ep-how{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ep-how div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:4px}.ep-how span{width:28px;height:28px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;margin-bottom:4px}.ep-how small{color:var(--muted);line-height:1.45}
.ep-sh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.ep-sh h2{font-size:clamp(24px,2.6vw,34px)}
.ep-cat{margin-bottom:16px}.ep-cat>b{display:block;font:700 11.5px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:8px}.ep-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ep-p{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ep-p img{width:96px;height:96px;object-fit:contain}.ep-p span{font-weight:600;font-size:14px}.ep-p small{color:var(--muted);font-size:12px}
.ep-ds{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.ep-ds div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;text-align:center;font-weight:600;font-size:13.5px}.ep-ds canvas{width:100%;height:auto;display:block;margin-bottom:6px}
.ep-gs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px}.ep-gs img{width:100%;border-radius:14px;aspect-ratio:4/3;object-fit:cover}.ep-gs h3{font-size:24px;margin:6px 0 8px}
.ep-f{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px}.ep-f img{width:40px;height:40px}.ep-f div{flex:1}.ep-f b{display:block}.ep-f small{color:var(--muted)}
.ep-x{padding:90px 20px}.dg-c.qr #guestqr{display:block;width:fit-content;margin:8px auto;cursor:pointer}
@media (max-width:700px){.ep-how,.ep-gs{grid-template-columns:1fr}}
/* add-on preview: a white ground, so a small or transparent upload never shows the green screen photo behind it */
.ao-i{background:#fff!important;aspect-ratio:3/2;align-self:start}.ao-i:has(canvas.on) img{visibility:hidden}.ao-i canvas{object-fit:contain;background:#fff}
.ao-bgs button,.ao-bgs img{background:#fff}
/* wide, short screens: product tiles size to the height too, so both rows always show */
@media (min-width:1100px) and (min-height:640px){.pc-i{aspect-ratio:auto;height:min(calc((100vw - 260px) / 10 - 20px),calc((var(--vh) - 380px) / 2 - 64px));min-height:64px}}

/* unified v1: chapter headings stack on phones and small tablets (a later spacing rule had put them back in two columns) */
@media (max-width:900px){.sh{grid-template-columns:1fr;gap:12px}}
