:root{--bg:#111d1e;--deep:#101819;--panel:#172627;--line:#304142;--cream:#f0eadc;--muted:#aeb8b2;--gold:#d5b67b;--gold-light:#f3dba8;--ink:#172326;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.site-shell{max-width:1250px;margin:auto;min-height:100vh;padding:0 clamp(18px,5vw,66px)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid #ffffff1e;gap:12px}.brand{display:flex;align-items:center;gap:12px;color:var(--cream);background:none;border:none;text-align:left;padding:0}.brand-monogram{border:1px solid var(--gold);color:var(--gold-light);border-radius:50%;height:44px;width:44px;display:grid;place-items:center;font:600 16px var(--serif);letter-spacing:-1px}.brand-name{display:block;font-size:19px;letter-spacing:.08em;line-height:1.1;font-weight:400}.brand-name strong{font-weight:700}.brand-name small{display:block;color:var(--gold);font-size:8px;letter-spacing:.23em;padding-top:6px}.header-ticket{border:1px solid #d3b77f80;color:var(--gold-light);padding:12px 16px;background:transparent;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.08em}.header-ticket span{margin-left:4px}.view{display:none;animation:enter .28s ease-out}.view.active{display:block}@keyframes enter{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}
.intro-label{margin:30px 0 25px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.2em}.dot{width:7px;height:7px;background:var(--gold);border-radius:50%}.mini-line{height:1px;background:#8b937b66;width:36px;display:inline-block;margin:0 5px}.intro{display:grid;grid-template-columns:1fr minmax(300px,.84fr);gap:clamp(30px,5vw,78px);align-items:center}.intro-content{padding:34px 0 55px}.edition-pill{padding:9px 13px;color:var(--gold-light);border:1px solid #c9af7d66;background:#d0b17c10;font-size:10px;letter-spacing:.16em;border-radius:99px;font-weight:700}.intro h1,.page-head h1{font:500 clamp(54px,7vw,98px)/1.04 var(--serif);letter-spacing:-.04em;margin:28px 0}.intro h1 em,.page-head h1 em,h2 em{color:var(--gold);font-style:italic}.intro p{max-width:460px;font-size:15px;line-height:1.8;color:#bac4bd}.intro-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:5px;padding:15px 20px;font-size:12px;font-weight:700;letter-spacing:.035em;min-height:46px;text-decoration:none;transition:transform .18s,background .18s}.btn:active{transform:scale(.98)}.btn-gold{color:#20221e;background:var(--gold)}.btn-gold:hover{background:#edce91}.btn-outline{background:transparent;border:1px solid #758780;color:var(--cream)}.btn-outline:hover{border-color:var(--gold)}.btn-dark{background:var(--ink);color:var(--cream)}.full{width:100%}.hero-art{position:relative;min-height:460px;max-width:475px;justify-self:center;border-radius:135px 135px 7px 7px;background:#334147;overflow:hidden;box-shadow:0 21px 80px #040d1050;border:1px solid #a8926440}.hero-art img{display:block;width:100%;height:470px;object-fit:cover;object-position:center 36%;filter:saturate(.85)}.hero-art:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#091516bb);pointer-events:none}.hero-art-caption{position:absolute;z-index:1;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em;font-weight:700}.hero-art-caption span{color:var(--gold-light)}.slim-stats{display:flex;align-items:center;justify-content:space-around;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:62px 0 90px;padding:26px 0;gap:12px}.slim-stats>div{display:flex;align-items:center;gap:16px}.stat-number{font:500 39px var(--serif);color:var(--gold-light);line-height:1}.stat-star{font:17px var(--sans)}.stat-label{font-size:9px;letter-spacing:.12em;color:#b1bbb3}.stat-divider{height:39px;width:1px;background:var(--line)}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-top h2,.coffee-promo h2{font:500 clamp(35px,4vw,52px)/1.12 var(--serif);margin:11px 0 0}.text-link,.muted-link{background:none;color:var(--gold);border:0;padding:6px 0;text-decoration:underline;text-underline-offset:5px;font-size:12px}.home-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.home-event{display:grid;grid-template-columns:136px 1fr;min-height:205px;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.home-event .mini-poster{width:100%;height:100%;min-height:205px;object-fit:cover}.home-event-content{padding:23px 21px}.event-id{font-size:10px;letter-spacing:.16em;color:var(--gold);font-weight:700}.home-event h3{font:500 26px/1.13 var(--serif);margin:11px 0}.home-event .event-meta{margin:10px 0;color:var(--muted);font-size:11px}.mini-price{display:inline-block;color:var(--gold-light);font-size:12px;margin-top:8px}.poster-fallback{height:100%;min-height:205px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#c88e5945,transparent 45%),linear-gradient(135deg,#343b39,#132524);color:#dfc99c;font:80px var(--serif)}
.coffee-promo{margin:90px 0 70px;border-radius:8px;background:#e2cc9e;color:var(--ink);display:grid;grid-template-columns:1fr .7fr;align-items:center;gap:40px;padding:60px clamp(28px,5vw,75px)}.coffee-promo .eyebrow{color:#514629}.coffee-promo h2 em{color:#70552d}.coffee-promo p{color:#35423a;font-size:13px;max-width:430px;line-height:1.8;margin:19px 0 28px}.promo-stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;transform:rotate(-9deg)}.promo-stamps span{width:51px;height:51px;border:1px dashed #765f37;border-radius:50%;display:grid;place-items:center;color:#765f37;font-size:23px}.promo-stamps .last-stamp{color:#e3c994;background:#253331;border:0;font-size:27px}
.page-head{padding:75px 0 45px;max-width:790px}.page-head h1{margin:18px 0;font-size:clamp(52px,6vw,75px)}.page-head p{color:var(--muted);line-height:1.7;font-size:15px;max-width:540px}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:8px;padding:4px;gap:3px;margin-bottom:30px}.seg{border:0;border-radius:5px;color:#adbab6;padding:11px 18px;background:transparent;font-size:12px}.seg.active{color:var(--ink);background:var(--gold)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-bottom:90px}.event-tile{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.event-photo{width:100%;aspect-ratio:3/3.7;object-fit:cover;display:block}.event-placeholder{aspect-ratio:3/3.7;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#cd90504f,transparent 40%),linear-gradient(165deg,#3a453b,#192827);color:#dbc699;text-align:center;padding:30px}.event-placeholder b{font:500 35px var(--serif)}.event-placeholder small{display:block;margin-top:15px;letter-spacing:.2em}.event-body{padding:22px}.event-body h3{font:500 25px/1.2 var(--serif);margin:13px 0 10px}.event-body p{color:var(--muted);line-height:1.65;font-size:12px;min-height:44px}.event-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:20px;font-size:11px}.event-bottom strong{color:var(--gold)}.empty{color:var(--muted);grid-column:1/-1;line-height:1.7;padding:24px;border:1px solid var(--line);border-radius:8px}
.loyalty-card{background:linear-gradient(145deg,#dbc38f,#eedaaf 47%,#c6a974);border-radius:12px;max-width:610px;color:#1d2b2b;padding:30px clamp(20px,4vw,42px);border:1px solid #f6db9e;box-shadow:0 20px 80px #040a0a40}.loyalty-card-top{display:flex;align-items:center;justify-content:space-between}.card-kicker{letter-spacing:.18em;font-size:11px;font-weight:700}.card-icon{font-size:34px}.loyalty-title{font:500 clamp(25px,5vw,39px) var(--serif);margin:24px 0 23px}.loyalty-title em{font-style:italic;color:#6a542d}.stamp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.stamp{display:grid;place-items:center;border:1.5px dashed #655a416f;border-radius:50%;aspect-ratio:1;max-width:72px;width:100%;font-size:25px;color:#837252}.stamp.filled{color:#ebd3a0;background:#203b3a;border-color:#203b3a;border-style:solid}.stamp.reward{border:1.5px solid #574d38;color:#403b30}.stamp.reward.filled{color:#f7dca4}.card-progress{display:flex;justify-content:space-between;gap:9px;font-size:9px;letter-spacing:.07em;font-weight:700;margin-top:23px}.card-divider{height:1px;background:#473d2e54;margin:28px 0}.code-row{display:flex;justify-content:space-between;align-items:end}.code-label{display:block;font-size:9px;letter-spacing:.13em;margin-bottom:8px}.code-row strong{font-size:clamp(21px,4vw,31px);font-weight:700;letter-spacing:.08em}.icon-button{border:1px solid #6b624b80;background:transparent;color:var(--ink);width:42px;height:42px;border-radius:5px;font-size:26px}.reward-message{margin-top:20px;padding:13px;background:#203b3a;color:#f9e3ac;border-radius:6px;font-size:12px}.card-actions{max-width:610px;margin-top:20px}.restore-row{text-align:center;margin-top:17px}.restore-form{margin-top:19px}.restore-form label,.staff-login label,.editor-form label,#staff-card-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.inline-input{display:flex;gap:9px}.inline-input input{flex:1;min-width:0}.micro-status{font-size:12px;color:var(--muted);min-height:18px;line-height:1.5}.instruction-note{margin:31px 0 95px;max-width:610px;display:flex;align-items:start;gap:13px;padding:19px;border:1px solid var(--line);border-radius:8px}.instruction-note>span{color:var(--gold);font-size:25px}.instruction-note strong{font-size:13px}.instruction-note p{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px 0 35px}.gallery-piece{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel);margin:0}.gallery-piece img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.gallery-piece figcaption{padding:12px 14px;font-size:12px;line-height:1.5;color:var(--gold-light)}.gallery-disclaimer{font-size:11px;color:var(--muted);margin:0 0 90px}.info-panel{border:1px solid var(--line);border-radius:8px;padding:30px;max-width:750px;margin:0 0 18px;background:var(--panel)}.info-panel h2{font:500 36px var(--serif);margin:17px 0}.info-panel p{line-height:1.75;color:#c1cbc6}.info-panel.quiet{background:transparent}.info-panel.quiet strong{color:var(--gold-light)}.info-panel.quiet p{font-size:13px;color:var(--muted);margin-bottom:0}.view[data-view=info]{padding-bottom:80px}
.staff-login,.staff-panel{max-width:710px;border:1px solid var(--line);border-radius:8px;padding:25px;margin-bottom:80px;background:var(--panel)}.staff-topline{display:flex;justify-content:space-between;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.12em}.staff-panel h3{font:500 28px var(--serif);margin:32px 0 15px}.staff-panel hr{border:0;border-top:1px solid var(--line);margin:33px 0}.staff-panel input,.staff-panel textarea,.staff-panel select,.staff-login input,.restore-form input{background:#0d1b1c;color:var(--cream);border:1px solid #596a65;border-radius:5px;padding:13px;width:100%;font-size:14px;outline-offset:3px}.staff-btn-row{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.staff-panel .muted{color:var(--muted);font-size:12px;line-height:1.7}.editor-form{display:grid;gap:12px}.editor-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor-form label input,.editor-form label textarea,.editor-form label select{margin-top:7px;display:block}.staff-panel .staff-subheading{font:500 20px var(--serif)}.staff-panel #event-picker{margin:0 0 20px}
.footer{display:flex;flex-wrap:wrap;align-items:center;gap:25px;padding:34px 0 110px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.footer-brand{font:500 22px var(--serif);letter-spacing:.04em;color:var(--cream)}.footer-brand span{color:var(--gold)}.staff-link{background:none;border:0;text-decoration:underline;color:var(--gold);font-size:11px}.footer-small{margin-left:auto}.bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;background:#122021f2;border-top:1px solid #435450;display:flex;justify-content:center;padding:10px 10px max(12px,env(safe-area-inset-bottom));gap:clamp(9px,4vw,50px);backdrop-filter:blur(20px)}.bottom-nav button{min-width:55px;color:#91a09a;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:10px;background:transparent;border:0;padding:4px 9px}.bottom-nav button span{font-size:23px}.bottom-nav button.active{color:var(--gold-light)}.bottom-nav button.nav-highlight{color:var(--gold-light)}.toast{position:fixed;bottom:105px;left:50%;transform:translate(-50%,30px);border:1px solid #a99865;background:#1b302d;color:#f5e4bd;padding:13px 17px;border-radius:7px;box-shadow:0 12px 40px #0007;z-index:99;opacity:0;pointer-events:none;font-size:12px;max-width:90vw;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.intro{grid-template-columns:1fr .8fr;gap:22px}.hero-art{min-height:390px}.hero-art img{height:390px}.intro h1{font-size:62px}.slim-stats{margin:45px 0 66px}.home-event-grid{grid-template-columns:1fr 1fr}.home-event{grid-template-columns:120px 1fr}.event-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:630px){.site-shell{padding:0 20px}.topbar{padding:16px 0}.brand-name{font-size:16px}.brand-monogram{height:39px;width:39px}.header-ticket{font-size:10px;padding:10px 11px}.header-ticket span{display:none}.intro-label{margin:24px 0}.eyebrow{font-size:9px}.intro{display:flex;flex-direction:column;align-items:stretch}.intro-content{padding:5px 0 12px}.intro h1{font-size:clamp(56px,13vw,75px);margin:20px 0}.intro p{font-size:14px;line-height:1.75}.intro-actions{margin-top:23px}.hero-art{width:100%;max-width:none;min-height:0;height:300px;border-radius:105px 105px 6px 6px}.hero-art img{height:300px;object-position:center 31%}.slim-stats{margin:39px 0 60px;padding:19px 0;gap:6px}.slim-stats>div{display:block;text-align:center}.stat-number{font-size:27px}.stat-label{font-size:8px;display:block;margin-top:6px}.stat-divider{height:34px}.section-top{align-items:end}.section-top h2{font-size:37px}.text-link{font-size:10px}.home-event-grid{grid-template-columns:1fr;gap:14px}.home-event{grid-template-columns:115px 1fr;min-height:174px}.home-event .mini-poster,.poster-fallback{min-height:174px}.home-event-content{padding:16px}.home-event h3{font-size:22px}.coffee-promo{margin:64px 0 50px;display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:35px 27px}.promo-stamps{width:fit-content;max-width:100%;gap:8px;transform:rotate(-5deg)}.promo-stamps span{width:43px;height:43px;font-size:19px}.page-head{padding:46px 0 30px}.page-head h1{font-size:clamp(50px,11vw,65px)}.page-head p{font-size:13px}.event-grid{grid-template-columns:1fr 1fr;gap:12px}.event-body{padding:13px}.event-body h3{font-size:20px}.event-body p{font-size:11px}.event-bottom{display:block}.event-bottom strong{display:block;margin-top:7px}.seg{padding:9px 12px}.stamp-grid{gap:10px}.stamp{font-size:19px}.card-progress{font-size:8px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.editor-form .field-row{grid-template-columns:1fr}.footer{gap:10px;display:block;text-align:center;padding-top:30px}.footer>div,.footer>button{margin:7px}.footer-small{display:block}}
@media(max-width:370px){.intro h1{font-size:54px}.intro-actions .btn{padding:12px 15px}.promo-stamps span{width:37px;height:37px}.code-row strong{font-size:20px}.bottom-nav{gap:2px;padding-left:1px;padding-right:1px}.bottom-nav button{padding:4px 5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.checkbox-label{display:flex!important;align-items:flex-start;gap:12px;line-height:1.5;color:var(--cream)!important}.checkbox-label input{width:auto!important;margin:3px 0 0!important;flex:0 0 auto}.staff-panel input[type="file"]{font-size:12px}.staff-panel input[type="file"]::file-selector-button{background:#ccb178;color:#142322;border:0;border-radius:4px;padding:8px;margin-right:12px;cursor:pointer}.staff-panel #photo-remove{margin-top:12px}


/* V2 · public mobile design */
:root{--bg:#0c1316;--deep:#080d10;--panel:#152024;--line:#3f4342;--cream:#f5eee3;--muted:#bdb7ac;--gold:#d9b878;--gold-light:#ffe4ab;--ink:#172326}
body{background:radial-gradient(ellipse at 90% 2%,#26373a 0,transparent 35%),#0c1316}
.topbar{position:relative;z-index:15;padding:12px 0;min-height:77px;border-bottom-color:#d4b4772e}
.brand{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.brand-logo{display:block;object-fit:contain;object-position:left center;width:158px;height:53px;mix-blend-mode:screen}
.brand-subtitle{font-size:7px;color:#d9b878;letter-spacing:.2em;line-height:1;margin:-2px 0 0 4px}
.topbar-actions{display:flex;align-items:center;gap:12px}
.header-ticket{display:inline-flex;align-items:center;gap:7px;border-radius:50px;padding:10px 14px;min-height:43px;letter-spacing:.07em}
.header-ticket span{margin-left:0}.ticket-icon{font-size:16px!important}
.menu-toggle{display:inline-flex;align-items:center;gap:9px;justify-content:center;min-height:44px;border:1px solid #cba76588;background:#d6b77915;color:#f6db9e;border-radius:5px;padding:10px 13px;letter-spacing:.14em;font-size:10px;font-weight:800}
.hamburger{display:flex;flex-direction:column;gap:4px}.hamburger i{display:block;width:19px;height:1.7px;background:currentColor;border-radius:2px}.menu-label{font-size:10px}
.drawer-backdrop{position:fixed;inset:0;z-index:80;background:#02090bcc;backdrop-filter:blur(8px)}
.drawer-backdrop[hidden]{display:none}
.menu-drawer{position:fixed;top:0;bottom:0;right:0;max-width:410px;width:min(90vw,410px);z-index:81;overflow:auto;background:linear-gradient(145deg,#1a2b2c,#0b1416 75%);border-left:1px solid #dcb97770;box-shadow:-15px 0 60px #0009;padding:24px 25px max(32px,env(safe-area-inset-bottom));transform:translateX(104%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;display:flex;flex-direction:column}
.menu-drawer.is-open{transform:translateX(0);visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcb9773d;padding-bottom:20px}.drawer-head img{width:180px;height:82px;object-fit:contain;object-position:left;mix-blend-mode:screen}.drawer-close{width:44px;height:44px;border:1px solid #dcb9777c;border-radius:50%;background:transparent;color:var(--cream);font-size:20px}.drawer-kicker{font-size:10px;letter-spacing:.2em;color:var(--gold);margin:24px 0 9px}.drawer-links{display:flex;flex-direction:column}.drawer-links button{border:0;border-bottom:1px solid #ffffff21;display:flex;align-items:center;gap:16px;padding:19px 0;text-align:left;background:transparent;color:var(--cream);font:400 25px var(--serif)}.drawer-links button span{font:700 10px var(--sans);color:var(--gold)}.drawer-links button b{font:400 21px var(--sans);margin-left:auto;color:var(--gold)}.drawer-links button:hover,.drawer-links button:focus-visible{color:var(--gold)}.drawer-foot{margin-top:auto;padding-top:48px;color:var(--gold);font-size:10px;letter-spacing:.13em}.drawer-foot p{font-size:12px;letter-spacing:0;color:var(--muted)}.drawer-foot button{background:transparent;border:0;color:var(--gold-light);text-decoration:underline;padding:12px 0;font-size:12px}
body.menu-open{overflow:hidden}
.intro h1,.page-head h1{letter-spacing:-.055em}.intro h1 em,.page-head h1 em,h2 em{color:#efd097}
.hero-art{border-color:#d9b87873;box-shadow:0 18px 55px #0007;cursor:pointer}.hero-art img{filter:none}
.edition-pill{background:#caa96320}.bottom-nav{max-width:600px;left:50%;right:auto;transform:translateX(-50%);width:100%;border:1px solid #a58b5870;border-bottom:0;border-radius:19px 19px 0 0;background:#111b1eea;justify-content:space-around;gap:0;padding-top:11px;box-shadow:0 -6px 30px #01080860;z-index:40}.bottom-nav button{font-size:11px;min-width:76px;padding:5px 17px;gap:6px}.bottom-nav button .nav-icon{font-size:24px;line-height:1}.bottom-nav button.active{color:#ffe4ab}.bottom-nav button.active .nav-icon{transform:translateY(-2px)}
.home-event,.event-tile{transition:transform .2s,border-color .2s}.home-event:hover,.event-tile:hover{transform:translateY(-2px);border-color:#a89067}
.event-whatsapp{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;border:1px solid #bba36f;border-radius:4px;text-decoration:none;color:var(--gold-light);font-size:11px;padding:9px 12px;font-weight:700}
.event-whatsapp:hover{background:#c9a9661c}
.contact-panel{background:linear-gradient(145deg,#17312a,#192727)}.contact-panel .btn{margin-top:13px}
.preview-ribbon{background:#d7b776;color:#1d2726;text-align:center;font-size:10px;padding:8px 15px;letter-spacing:.12em;font-weight:750}
@media(max-width:630px){.site-shell{padding:0 18px}.topbar{padding:8px 0;min-height:70px}.brand-logo{width:135px;height:45px}.brand-subtitle{font-size:6.5px}.topbar-actions{gap:7px}.header-ticket{padding:7px 11px;min-height:42px}.header-ticket .ticket-icon{font-size:17px}.menu-toggle{min-height:43px;padding:8px 11px}.menu-label{display:none}.intro-label{margin:25px 0 16px}.intro h1{font-size:clamp(58px,13vw,72px);line-height:1.01;margin:19px 0}.intro-content{padding:0 0 6px}.intro p{font-size:14px}.hero-art{height:350px;border-radius:95px 95px 8px 8px}.hero-art img{height:350px;object-position:center 34%}.hero-art-caption{font-size:9px}.bottom-nav{padding-bottom:max(11px,env(safe-area-inset-bottom))}.bottom-nav button{min-width:78px}.page-head h1{font-size:clamp(52px,12vw,68px)}.drawer-head img{height:65px;width:150px}}
@media(max-width:380px){.site-shell{padding:0 15px}.brand-logo{width:116px}.brand-subtitle{font-size:6px}.header-ticket{padding:7px 9px}.menu-toggle{padding:8px 9px}.hero-art{height:315px}.hero-art img{height:315px}}

@media(max-width:630px){.header-ticket .ticket-icon{display:inline!important}.menu-drawer .drawer-head img{mix-blend-mode:screen}}

/* SOUL CAFÉ V3 · mobile-first polish, empty stamps and QR */
.stamp:not(.reward):not(.filled){background:transparent;color:transparent;border:1.5px dashed #6e5d3875;}
.stamp.filled{background:#1c3936;border:1.5px solid #1c3936;box-shadow:inset 0 0 0 3px #f7ddb427;}
.stamp-mark{font-family:Georgia,serif;font-size:29px;line-height:1;color:#eac883;text-shadow:0 0 1px #f6ddb3;}
.stamp.reward{background:#e9d6ab24;}
.stamp.reward-ready{border:2px solid #ac8037;background:#d7a85b50;box-shadow:0 0 0 5px #af813528;}
.stamp-coffee{font-size:24px;line-height:1;}
.card-qr-panel{margin-top:22px;padding:14px 0 0;border-top:1px solid #4e432d44;display:flex;align-items:center;gap:17px;}
.card-qr-panel[hidden]{display:none!important;}
.card-qr{background:#fff;border-radius:10px;flex:none;width:152px;height:152px;overflow:hidden;box-shadow:0 5px 18px #30271125;}
.card-qr svg{display:block;width:100%;height:100%;}
.card-qr-copy{display:flex;flex-direction:column;gap:9px;min-width:0;color:#243434;}
.card-qr-copy strong{font:500 19px/1.17 var(--serif);}
.card-qr-copy span{font-size:11px;line-height:1.55;color:#3d493e;}
.scan-help{font-size:12px;line-height:1.65;color:#c9d4cd;border-left:2px solid #d2b478;padding:9px 12px;background:#d7b77610;border-radius:0 6px 6px 0;}
.hint{font-size:11px;line-height:1.65;color:var(--muted);margin:-1px 0 12px;}
#event-editor input[type=file],#photo-editor input[type=file]{padding:10px;border:1px dashed #8d9a8c;border-radius:6px;max-width:100%;background:#162a29;}
#event-editor input[type=file]::file-selector-button,#photo-editor input[type=file]::file-selector-button{border:1px solid #b8a06f;border-radius:5px;background:#e2c88e;color:#1a2625;margin-right:9px;padding:8px 10px;font-weight:700;}
@media(max-width:630px){
 .intro-label{margin:16px 0 12px;letter-spacing:.12em}.intro-content{padding:4px 0 2px;}
 .intro h1{font-size:clamp(46px,11vw,62px);margin:14px 0 12px;line-height:.98;}
 .intro p{font-size:13px;line-height:1.55;max-width:340px;}
 .intro-actions{margin-top:17px;gap:8px}.intro-actions .btn{padding:11px 13px;font-size:11px;min-height:42px;}
 .edition-pill{font-size:9px;padding:7px 11px}.hero-art{height:260px;min-height:260px;border-radius:80px 80px 7px 7px;}
 .hero-art img{height:260px;object-position:center 30%;}.slim-stats{margin:28px 0 42px;padding:17px 0;}.stat-number{font-size:28px;}.stat-label{font-size:8px;}.slim-stats>div{gap:5px;flex-direction:column;text-align:center;}.stat-divider{height:32px;}
 .card-qr{width:132px;height:132px;}.card-qr-copy strong{font-size:17px;}.card-qr-copy span{font-size:10px;}
}
@media(max-width:390px){.card-qr{width:120px;height:120px}.card-qr-panel{gap:12px}.card-qr-copy span{font-size:9px}.code-row strong{font-size:20px;letter-spacing:.06em}}
