:root{
  --bg:#030303;
  --panel:#090909;
  --panel-soft:#111014;
  --line:rgba(255,255,255,.14);
  --line-strong:rgba(255,255,255,.26);
  --text:#fff;
  --muted:#d7cec3;
  --muted2:#a99f96;
  --gold:#e7b45b;
  --gold2:#bf7f18;
  --red:#ff1d2b;
  --red2:#b9000d;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-top:env(safe-area-inset-top,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --brand-orange:#FF7000;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{min-height:100%;margin:0;background:#000;color:var(--text)}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}
button,a{font:inherit}
.app-shell{position:relative;width:100%;max-width:520px;min-height:100dvh;margin:0 auto;background:#020202;overflow:visible;border-left:1px solid #151515;border-right:1px solid #151515}
.app-shell:before{content:"";position:absolute;inset:-20% -20% auto;height:45%;background:radial-gradient(circle at 50% 0,rgba(90,45,145,.38),transparent 62%);pointer-events:none;z-index:0}
.app-header{position:fixed;z-index:80;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:520px;padding:calc(12px + var(--safe-top)) calc(14px + var(--safe-right)) 9px calc(14px + var(--safe-left));display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}
.brand{display:flex;align-items:center;gap:10px;min-width:0;font-size:20px;font-weight:900;letter-spacing:-.03em;text-shadow:0 2px 18px #000;pointer-events:auto;background:transparent;border:0;color:#fff;padding:0;cursor:pointer;text-align:left}.brand strong{display:block;max-width:128px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-logo{width:50px;height:50px;object-fit:cover;border-radius:16px;background:rgba(0,0,0,.68);border:1px solid rgba(255,112,0,.36);box-shadow:0 14px 35px rgba(0,0,0,.62),0 0 24px rgba(255,112,0,.14)}
.header-actions{display:flex;align-items:center;gap:7px;pointer-events:auto}.contact-btn,.icon-btn,.round-btn{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(18,19,23,.58);color:#fff;display:grid;place-items:center;text-decoration:none;font-size:20px;font-weight:900;backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(0,0,0,.45);pointer-events:auto}.contact-btn{font-size:11px;letter-spacing:.02em}.call-btn{font-size:19px;color:#fff;border-color:rgba(255,112,0,.7);background:linear-gradient(180deg,rgba(255,112,0,.86),rgba(178,55,0,.88))}.tg-btn,.ig-btn{color:#fff;border-color:rgba(255,112,0,.34);background:rgba(8,8,10,.62)}.tg-btn:active,.ig-btn:active,.call-btn:active{transform:scale(.96)}
.screen{position:relative;z-index:1;display:none;min-height:100dvh;padding:calc(88px + var(--safe-top)) 18px calc(96px + var(--safe-bottom));overflow:visible;opacity:0;transform:translateX(14px);transition:opacity .28s ease,transform .34s cubic-bezier(.2,.8,.2,1);scrollbar-width:none}
.screen.is-active{display:block;opacity:1;transform:none}.screen::-webkit-scrollbar,.detail-panel::-webkit-scrollbar,.horizontal-cards::-webkit-scrollbar,.chips::-webkit-scrollbar,.thumbs::-webkit-scrollbar{display:none}
.screen h1{margin:0 0 18px;font-size:30px;letter-spacing:-.04em}
.hero-card{position:relative;min-height:min(650px,calc(100svh - 135px));border-radius:32px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background-image:var(--hero);background-size:cover;background-position:center top;box-shadow:0 28px 80px rgba(0,0,0,.82)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18) 32%,rgba(0,0,0,.96) 100%),linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08) 58%,rgba(0,0,0,.42))}
.hero-content{position:absolute;left:22px;right:22px;bottom:24px}.eyebrow{letter-spacing:.23em;color:var(--gold);font-weight:900;font-size:13px;margin:0 0 18px}.hero-card h1{font-family:Georgia,"Times New Roman",serif;font-size:43px;line-height:1.02;margin:0 0 16px;color:#fff;text-shadow:0 4px 20px #000}.hero-card h1 span{color:var(--gold)}.lead{font-size:18px;line-height:1.48;color:#e8ded2;margin:0 0 22px;max-width:390px}.hero-actions{display:flex;gap:13px;align-items:center}.primary,.secondary{border-radius:18px;padding:16px 24px;font-size:17px;font-weight:900;cursor:pointer;min-height:54px}.primary{border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,#ff2c38 0%,#df0c19 48%,#b5000b 100%);color:white;box-shadow:0 14px 32px rgba(220,0,15,.35),inset 0 1px rgba(255,255,255,.28)}.secondary{background:rgba(0,0,0,.70);border:1px solid rgba(202,128,20,.9);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.35)}.wide{width:100%;margin-top:12px}.link{text-decoration:none;display:inline-block;text-align:center}
.section-head,.title-row{display:flex;justify-content:space-between;align-items:center;margin:28px 4px 14px}.section-head h2{margin:0;font-size:22px}.section-head button{background:none;border:none;color:#ff3845;font-weight:800;font-size:14px}.horizontal-cards{display:flex;gap:14px;overflow-x:auto;padding:0 2px 10px}.mini-card{min-width:260px;height:170px;border-radius:19px;overflow:hidden;position:relative;border:1px solid var(--line);background-size:cover;background-position:center;box-shadow:0 16px 42px rgba(0,0,0,.55)}.mini-card::after,.quest-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 30%,rgba(0,0,0,.86))}.mini-card h3{position:absolute;z-index:2;left:16px;bottom:14px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:22px;text-shadow:0 4px 16px #000}.badge{display:inline-flex;background:linear-gradient(180deg,#ff3543,#bf0713);border-radius:12px;padding:6px 10px;font-size:12px;font-weight:900;color:#fff}
.title-row{margin-top:0}.chips{display:flex;gap:9px;overflow:auto;margin-bottom:14px;padding-bottom:2px}.chip{border:1px solid rgba(255,255,255,.16);background:rgba(25,25,25,.92);color:#fff;border-radius:10px;padding:10px 16px;font-weight:800;white-space:nowrap}.chip.is-on{background:linear-gradient(180deg,#f3222e,#bd0712);border-color:rgba(255,255,255,.14)}
.quest-list{display:grid;gap:13px}.quest-card{height:206px;border-radius:18px;overflow:hidden;border:1px solid var(--line);position:relative;background-size:cover;background-position:center;box-shadow:0 18px 50px rgba(0,0,0,.52);animation:rise .42s both}.quest-info{position:absolute;z-index:2;left:20px;right:70px;bottom:16px}.quest-info h2{font-family:Georgia,"Times New Roman",serif;margin:0 0 23px;font-size:34px;line-height:.9;text-shadow:0 4px 18px #000}.quest-meta{display:flex;gap:22px;color:#e1d5c7;font-weight:700;font-size:15px}.arrow{position:absolute;z-index:3;right:16px;bottom:30px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.52);color:white;font-size:26px}.offer-card,.info-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(26,22,24,.9),rgba(0,0,0,.86));border-radius:26px;padding:22px;margin-bottom:18px}.offer-card h2,.info-card h2{margin:10px 0;font-size:25px}.offer-card p,.info-card p{color:var(--muted);line-height:1.5;font-size:17px}.glow{box-shadow:0 0 45px rgba(197,7,20,.18)}.info-card img{width:130px;display:block;margin:0 auto 12px}
.bottom-nav{position:fixed;z-index:90;left:50%;transform:translateX(-50%);right:auto;width:100%;max-width:520px;bottom:0;height:calc(69px + var(--safe-bottom));display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(14,14,14,.96),rgba(3,3,3,.98));backdrop-filter:blur(22px);box-shadow:0 -18px 55px rgba(0,0,0,.82);padding:5px 8px var(--safe-bottom)}.nav-item{background:transparent;border:0;color:#b8b0a8;font-weight:800;font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:16px}.nav-item span{font-size:20px;line-height:1}.nav-item.is-active{color:var(--red)}
.detail-panel{position:fixed;z-index:120;top:0;bottom:0;left:0;right:0;margin:auto;width:100%;max-width:520px;height:100dvh;background:#020202;transform:translateX(110%);transition:.43s cubic-bezier(.2,.82,.2,1);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain;padding-bottom:calc(94px + var(--safe-bottom));scrollbar-width:none}.detail-panel.is-open{transform:none}.detail-bg{height:44vh;min-height:365px;background-size:cover;background-position:center top;position:relative}.detail-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.00) 0%,rgba(0,0,0,.10) 42%,#020202 95%),linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.02) 55%,rgba(0,0,0,.36))}.detail-top{position:absolute;z-index:35;top:calc(14px + var(--safe-top));left:18px;right:18px;display:flex;justify-content:space-between}.detail-icons{display:flex;gap:10px}.detail-top .round-btn{background:rgba(4,4,6,.42);border-color:rgba(255,255,255,.12);box-shadow:none}.detail-content{padding:0 24px 0;position:relative;margin-top:-72px;z-index:34}.detail-content h1{font-family:Georgia,"Times New Roman",serif;font-size:52px;letter-spacing:-.04em;line-height:.92;margin:0 0 16px;text-transform:uppercase;text-shadow:0 5px 22px #000}.genre{letter-spacing:.105em;text-transform:uppercase;color:#d5cec6;font-weight:700;margin:0 0 16px;font-size:15px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:12px 0 16px}.stats div{min-height:54px;color:var(--gold);font-size:17px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.stats .stat-icon{font-size:21px;line-height:1;color:var(--gold);margin-bottom:2px}.stats strong{display:block;color:var(--gold);font-size:17px;line-height:1.05}.stats span{display:block;color:#d8cec0;font-size:12px;line-height:1.12}.stars{letter-spacing:1px;color:var(--gold);font-size:14px;white-space:nowrap}.detail-text{color:#eee3d7;font-size:16px;line-height:1.47;margin:0 0 16px}.thumbs{display:flex;gap:9px;overflow:auto;margin:17px -24px 16px;padding:0 24px}.thumbs img{width:126px;height:92px;border-radius:9px;object-fit:cover;border:1px solid rgba(255,255,255,.20);opacity:.9;flex:0 0 auto}.thumbs img.is-selected{border-color:var(--red);box-shadow:0 0 0 1px rgba(255,29,43,.55);opacity:1}.book-link{display:block;text-align:center;text-decoration:none;margin:10px 0}.detail-panel .secondary{color:var(--gold);background:#060606;border-color:rgba(202,128,20,.92)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:390px){.screen{padding-left:14px;padding-right:14px}.hero-card{min-height:min(590px,calc(100svh - 124px))}.hero-card h1{font-size:38px}.lead{font-size:17px}.primary,.secondary{font-size:16px;padding:14px 18px}.detail-bg{min-height:350px;height:43vh}.detail-content{padding:0 20px;margin-top:-66px}.detail-content h1{font-size:45px}.stats{gap:4px}.thumbs{margin-left:-20px;margin-right:-20px;padding:0 20px}.thumbs img{width:116px;height:86px}.quest-card{height:190px}.quest-info h2{font-size:30px}}


.booking-screen{padding-top:calc(72px + var(--safe-top));}
.booking-hero{position:relative;height:260px;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background-image:var(--booking-hero);background-size:cover;background-position:center;box-shadow:0 20px 55px rgba(0,0,0,.72);margin-bottom:16px}
.booking-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.88)),linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.15),rgba(0,0,0,.58))}
.booking-hero-content{position:absolute;left:20px;right:20px;bottom:18px}
.booking-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:38px;line-height:.98;margin:0 0 10px;text-shadow:0 4px 20px #000}
.booking-hero h1 span{color:var(--gold)}
.booking-hero p:not(.eyebrow){margin:0;color:#efe5d9;font-size:16px;line-height:1.35}
.booking-card{border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden;background:#080808;box-shadow:0 18px 50px rgba(0,0,0,.55)}
.booking-card .quest-booking-wrapper{min-height:950px;background:#080808}
.booking-card .quest-booking-skeleton{background:#080808}
@media (max-width:390px){.booking-hero{height:230px}.booking-hero h1{font-size:34px}}

/* v1.0.2 iPhone scroll fix: the document now scrolls naturally and each page is no longer trapped inside a fixed shell. */
.screen.is-active,.detail-panel.is-open{scrollbar-width:none;}
.info-grid{display:grid;gap:14px;margin-top:16px}.info-row{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:18px;padding:16px}.info-row h3{margin:0 0 8px;color:var(--gold);font-size:16px}.info-row p,.info-row a{margin:0;color:#eee3d7;line-height:1.45;text-decoration:none}.hours{display:grid;gap:8px;margin-top:10px}.hours div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px;color:#eee3d7}.hours div:last-child{border-bottom:0;padding-bottom:0}.hours strong{color:#fff}.hours span{color:var(--gold)}
@supports (-webkit-touch-callout:none){body{min-height:-webkit-fill-available}.detail-panel{height:100svh}}

/* v1.0.4 cinematic image-frame polish: CSS-only, lightweight, non-blocking. */
.hero-card,.mini-card,.quest-card,.detail-bg,.booking-hero{isolation:isolate;}
.hero-card::before,.mini-card::before,.quest-card::before,.detail-bg::before,.booking-hero::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.13),inset 0 0 38px rgba(0,0,0,.56);
}
.hero-card::after,.booking-hero::after{
  content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;z-index:4;
  background:linear-gradient(115deg,transparent 0%,transparent 42%,rgba(255,255,255,.20) 49%,rgba(255,255,255,.06) 53%,transparent 61%,transparent 100%);
  transform:translateX(-130%) skewX(-9deg);animation:frameSweep 7.5s ease-in-out infinite;mix-blend-mode:screen;opacity:.55;
}
.mini-card .frame-sweep,.quest-card .frame-sweep{display:none}
.mini-card::before,.quest-card::before{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 0 28px rgba(0,0,0,.58);}
.quest-card::before,.mini-card::before{background:linear-gradient(115deg,transparent 0%,transparent 43%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.04) 55%,transparent 64%,transparent 100%);background-size:230% 100%;background-position:155% 0;animation:cardFrameSweep 6.8s ease-in-out infinite;}
.quest-wednesday{box-shadow:0 18px 50px rgba(0,0,0,.52),0 0 34px rgba(145,65,190,.18)!important;border-color:rgba(185,105,235,.30)!important}
.quest-stranger{box-shadow:0 18px 50px rgba(0,0,0,.52),0 0 34px rgba(255,45,35,.20)!important;border-color:rgba(255,55,45,.32)!important}
.quest-potter{box-shadow:0 18px 50px rgba(0,0,0,.52),0 0 34px rgba(231,180,91,.18)!important;border-color:rgba(231,180,91,.30)!important}
.detail-bg.quest-wednesday::before{box-shadow:inset 0 0 0 1px rgba(185,105,235,.26),inset 0 -55px 90px rgba(0,0,0,.72),0 0 42px rgba(145,65,190,.15)}
.detail-bg.quest-stranger::before{box-shadow:inset 0 0 0 1px rgba(255,55,45,.26),inset 0 -55px 90px rgba(0,0,0,.72),0 0 42px rgba(255,45,35,.16)}
.detail-bg.quest-potter::before{box-shadow:inset 0 0 0 1px rgba(231,180,91,.25),inset 0 -55px 90px rgba(0,0,0,.72),0 0 42px rgba(231,180,91,.14)}
.detail-panel.is-open .detail-bg::before{animation:detailGlowPulse 1.35s ease-out 1}
@keyframes frameSweep{0%,64%{transform:translateX(-130%) skewX(-9deg)}82%,100%{transform:translateX(130%) skewX(-9deg)}}
@keyframes cardFrameSweep{0%,58%{background-position:155% 0}78%,100%{background-position:-65% 0}}
@keyframes detailGlowPulse{0%{opacity:.58;filter:brightness(1)}45%{opacity:1;filter:brightness(1.18)}100%{opacity:.72;filter:brightness(1)}}
@media (prefers-reduced-motion:reduce){.hero-card::after,.booking-hero::after,.quest-card::before,.mini-card::before,.detail-panel.is-open .detail-bg::before{animation:none!important}}


/* v1.0.9 booking iframe fullscreen fallback: the parent app now promotes the booking iframe itself to a top-layer fullscreen surface when the guest form opens, or when a cross-origin iframe tap/focus suggests the remote modal did not send its modal-open message. This lets the booking UI cover the app header/footer and gives the iframe the full visible viewport. */
.booking-card{overflow:visible;}
.booking-card .quest-booking-wrapper{overflow:visible!important;}
.booking-card .quest-booking-iframe{display:block;-webkit-overflow-scrolling:touch;}
.booking-card .quest-booking-wrapper.rom-modal-parent-active{
  position:fixed!important;
  top:var(--rom-booking-modal-top,0px)!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  width:100vw!important;
  max-width:100vw!important;
  height:var(--rom-booking-modal-height,100dvh)!important;
  max-height:var(--rom-booking-modal-height,100dvh)!important;
  min-height:360px!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#080808!important;
  z-index:1000000!important;
  box-shadow:none!important;
}
body.booking-modal-parent-open{overflow:hidden!important;background:#000;overscroll-behavior:contain;}
body.booking-modal-parent-open .app-header,
body.booking-modal-parent-open .bottom-nav,
body.booking-modal-parent-open .booking-hero{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
.booking-card .quest-booking-wrapper.rom-modal-parent-active .quest-booking-iframe.rom-modal-active{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  max-height:100%!important;
  min-height:100%!important;
  z-index:1!important;
  border-radius:0!important;
  background:#080808!important;
  box-shadow:none!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:auto!important;
}
.booking-overlay-exit{
  display:none;
  position:fixed;
  left:12px;
  bottom:calc(12px + var(--safe-bottom));
  z-index:1000002;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(0,0,0,.62);
  color:#fff;
  font-size:24px;
  line-height:1;
  place-items:center;
  backdrop-filter:blur(16px);
  box-shadow:0 10px 28px rgba(0,0,0,.45);
}
body.booking-modal-parent-open .booking-overlay-exit{display:grid;}
@supports not (height:100dvh){
  .booking-card .quest-booking-wrapper.rom-modal-parent-active{height:100vh!important;max-height:100vh!important;}
}


/* v1.0.10 visual polish: requested #FF7000 accents on the home hero heading and Info page labels/hours. */
:root{--brand-orange:#FF7000;}
#screen-home .hero-card h1,
#screen-home .hero-card h1 span,
#screen-info .info-row h3,
#screen-info .hours span{
  color:var(--brand-orange)!important;
}


/* v1.0.12 app icon, splash and native-feeling contact actions. */
body.splash-visible{overflow:hidden!important;background:#000;}
.app-splash{position:fixed;inset:0;z-index:2000000;display:grid;place-items:center;background:radial-gradient(circle at 50% 36%,rgba(255,112,0,.18),transparent 31%),radial-gradient(circle at 50% 18%,rgba(110,48,165,.16),transparent 36%),#000;color:#fff;overflow:hidden;transition:opacity .42s ease,visibility .42s ease;}
.app-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.splash-light{position:absolute;left:-25%;right:-25%;top:50%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,112,0,.05),rgba(255,112,0,.74),rgba(255,232,180,.92),rgba(255,112,0,.68),rgba(255,112,0,.05),transparent);filter:blur(.2px);transform:translateX(-70%);animation:splashSweep 1.45s cubic-bezier(.2,.85,.2,1) .15s both;}
.splash-card{position:relative;display:grid;justify-items:center;gap:12px;transform:translateY(-2vh);animation:splashRise .72s cubic-bezier(.2,.85,.2,1) both;}
.splash-icon{width:min(38vw,172px);height:min(38vw,172px);border-radius:32px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 28px 90px rgba(0,0,0,.82),0 0 56px rgba(255,112,0,.22);animation:splashPulse 1.35s ease-in-out .18s 2;}
.splash-title{font-weight:950;font-size:26px;letter-spacing:-.04em;text-shadow:0 4px 22px #000;}
.splash-subtitle{font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ffb063;text-shadow:0 4px 22px #000;}
.contact-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.contact-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 14px;border-radius:999px;border:1px solid rgba(255,112,0,.36);background:rgba(0,0,0,.48);color:#fff!important;text-decoration:none;font-weight:900;box-shadow:0 10px 26px rgba(0,0,0,.34)}
@keyframes splashRise{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(-2vh) scale(1)}}
@keyframes splashPulse{0%,100%{filter:brightness(1);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 28px 90px rgba(0,0,0,.82),0 0 42px rgba(255,112,0,.16)}45%{filter:brightness(1.08);box-shadow:0 0 0 1px rgba(255,255,255,.18),0 28px 90px rgba(0,0,0,.82),0 0 74px rgba(255,112,0,.34)}}
@keyframes splashSweep{0%{transform:translateX(-75%);opacity:0}18%{opacity:1}100%{transform:translateX(75%);opacity:.08}}
@media (max-width:370px){.brand strong{max-width:104px;font-size:18px}.brand-logo{width:46px;height:46px;border-radius:15px}.header-actions{gap:5px}.contact-btn{width:38px;height:38px}.screen{padding-left:14px;padding-right:14px}}
@media (prefers-reduced-motion:reduce){.app-splash,.splash-light,.splash-card,.splash-icon{animation:none!important;transition:none!important}}


/* v1.0.13 UI polish: orange action language, icon contact buttons, and removal of the visible filter artefact. */
:root{
  --brand-orange:#FF7000;
  --brand-orange-dark:#D95F00;
  --brand-orange-soft:rgba(255,112,0,.18);
}
.primary,
.secondary,
.badge,
.chip,
.chip.is-on,
.arrow,
.round-btn,
.contact-btn,
.contact-pill,
.section-head button,
.book-link.primary,
.detail-panel .secondary{
  background:var(--brand-orange)!important;
  background-image:none!important;
  border-color:rgba(255,112,0,.9)!important;
  color:#fff!important;
  box-shadow:0 14px 32px rgba(255,112,0,.28), inset 0 1px rgba(255,255,255,.22)!important;
}
.secondary,
.detail-panel .secondary,
.section-head button{
  border:1px solid rgba(255,112,0,.9)!important;
}
.primary:active,
.secondary:active,
.chip:active,
.arrow:active,
.round-btn:active,
.contact-btn:active,
.contact-pill:active,
.section-head button:active{
  transform:scale(.97);
  background:var(--brand-orange-dark)!important;
}
.chip{
  border-radius:12px;
}
.contact-btn{
  width:42px;
  height:42px;
  padding:0;
  overflow:hidden;
}
.contact-btn img{
  width:23px;
  height:23px;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.25));
}
.call-btn img{width:22px;height:22px;}
.ig-btn img{width:24px;height:24px;}
.title-row .icon-btn{display:none!important;}
.nav-item.is-active{
  color:var(--brand-orange)!important;
}
.thumbs img.is-selected{
  border-color:var(--brand-orange)!important;
  box-shadow:0 0 0 1px rgba(255,112,0,.55)!important;
}
.glow{
  box-shadow:0 0 45px rgba(255,112,0,.18)!important;
}
@media (max-width:370px){
  .contact-btn{width:38px;height:38px;}
  .contact-btn img{width:21px;height:21px;}
}


/* v1.0.14 UI refinement: slightly more compact first screen, removed detail utility pills, and black active states. */
#screen-home .hero-card h1{
  font-size:41px!important;
}
#screen-home .hero-actions{
  gap:10px;
}
#screen-home .hero-actions .primary,
#screen-home .hero-actions .secondary{
  min-height:49px!important;
  padding:13px 20px!important;
  border-radius:16px!important;
  font-size:16px!important;
}
.detail-icons{
  display:none!important;
}
.chip.is-on{
  background:#000!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.82)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.12)!important;
}
.chip.is-on:active{
  background:#000!important;
}
@media (max-width:390px){
  #screen-home .hero-card h1{font-size:36px!important;}
  #screen-home .hero-actions .primary,
  #screen-home .hero-actions .secondary{
    min-height:47px!important;
    padding:12px 17px!important;
    font-size:15px!important;
    border-radius:15px!important;
  }
}
@media (max-width:370px){
  #screen-home .hero-card h1{font-size:35px!important;}
  #screen-home .hero-actions{gap:8px;}
  #screen-home .hero-actions .primary,
  #screen-home .hero-actions .secondary{
    padding-left:15px!important;
    padding-right:15px!important;
  }
}

/* v1.0.16 offline information/image asset layer: local quest content, cached lightweight imagery, and booking fallback. */
.offline-banner{
  position:fixed;
  z-index:85;
  top:calc(76px + var(--safe-top));
  left:50%;
  transform:translate(-50%,-10px);
  width:calc(100% - 28px - var(--safe-left) - var(--safe-right));
  max-width:492px;
  display:none;
  padding:10px 13px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.84);
  color:#fff;
  font-size:13px;
  line-height:1.32;
  box-shadow:0 14px 40px rgba(0,0,0,.55),0 0 22px rgba(255,112,0,.13);
  backdrop-filter:blur(18px);
}
body.is-offline .offline-banner{display:block;}
body.is-offline .screen{padding-top:calc(128px + var(--safe-top));}
.offline-booking-message{
  display:none;
  border:1px solid rgba(255,112,0,.38);
  background:linear-gradient(180deg,rgba(255,112,0,.16),rgba(0,0,0,.86));
  border-radius:22px;
  padding:18px;
  margin:4px 0 14px;
  box-shadow:0 18px 42px rgba(0,0,0,.38);
}
.offline-booking-message strong{display:block;font-size:20px;margin-bottom:8px;color:#fff;letter-spacing:-.02em;}
.offline-booking-message p{margin:0;color:#e6d9cc;font-size:16px;line-height:1.45;}
body.is-offline .offline-booking-message{display:block;}
body.is-offline .booking-card .quest-booking-wrapper{display:none!important;}
body.is-offline .quest-booking-skeleton{display:none!important;}
.offline-contact-actions{margin-top:14px;}
.offline-detail-card{
  border:1px solid rgba(255,112,0,.25);
  background:linear-gradient(180deg,rgba(255,112,0,.10),rgba(10,10,10,.70));
  border-radius:20px;
  padding:16px;
  margin:16px 0;
}
.offline-detail-card h2{margin:0 0 8px;font-size:19px;letter-spacing:-.02em;}
.offline-detail-card p{margin:0 0 10px;color:#e6d9cc;line-height:1.42;font-size:15px;}
.offline-detail-card ul{margin:0;padding-left:19px;color:#f3e8dc;font-size:15px;line-height:1.42;}
.offline-detail-card li{margin:6px 0;}
.detail-source{margin-top:12px!important;color:#aaa098!important;font-size:12px!important;}
.detail-source a{color:#ffb063;text-decoration:none;font-weight:900;}
.stats .stat-icon{font-weight:900;letter-spacing:-.04em;}
.stats div:nth-child(5) .stat-icon{font-size:12px;margin-top:2px;}
@media (max-width:390px){
  .offline-banner{font-size:12px;top:calc(72px + var(--safe-top));}
  .stats{gap:4px;}
  .stats strong{font-size:16px;}
  .stats span{font-size:11px;}
}

/* v1.0.17 repair: make app icon rendering independent of <img> tags, remove broken-image placeholders, and add per-quest galleries. */
.brand-logo,
.splash-icon{
  display:block;
  background-image:url('icons/app-icon-512.png?v=21');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.brand-logo{
  flex:0 0 auto;
  background-color:#0b0908;
}
.splash-icon{
  background-color:#0b0908;
}
.contact-btn svg{
  width:24px;
  height:24px;
  display:block;
  overflow:visible;
}
.call-btn svg{width:22px;height:22px;fill:#fff;}
.tg-btn svg{width:26px;height:26px;}
.ig-btn svg{width:27px;height:27px;}
.contact-btn img{display:none!important;}
.detail-gallery{margin:18px 0 16px;}
.detail-gallery h2{margin:0 0 10px;font-size:20px;letter-spacing:-.02em;color:#fff;}
.detail-gallery .thumbs{gap:12px;margin:0 -24px 18px;padding:0 24px 4px;scroll-snap-type:x proximity;}
.detail-gallery .thumbs img{
  width:min(78vw,320px);
  height:178px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.22);
  object-fit:cover;
  object-position:center;
  opacity:.96;
  scroll-snap-align:start;
  box-shadow:0 16px 36px rgba(0,0,0,.42);
}
.detail-gallery .thumbs img.is-selected{
  border-color:#FF7000!important;
  box-shadow:0 0 0 1px rgba(255,112,0,.55),0 18px 42px rgba(0,0,0,.48)!important;
  opacity:1;
}
@media (max-width:390px){
  .detail-gallery .thumbs{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;}
  .detail-gallery .thumbs img{width:min(80vw,304px);height:168px;}
}


/* v1.0.18 route layer: Yandex Maps only, offline-aware route card. */
.route-row{
  background:linear-gradient(180deg,rgba(255,112,0,.08),rgba(255,255,255,.04))!important;
  border-color:rgba(255,112,0,.24)!important;
}
.route-card{
  display:flex;
  gap:12px;
  align-items:center;
  margin:14px 0 4px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,112,0,.26);
  background:radial-gradient(circle at 16% 20%,rgba(255,112,0,.20),transparent 38%),rgba(0,0,0,.42);
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.route-pin{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#000;
  background:#FF7000;
  font-weight:950;
  font-size:21px;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 12px 26px rgba(255,112,0,.25);
}
.route-card strong{
  display:block;
  color:#fff;
  font-size:16px;
  letter-spacing:-.02em;
  margin-bottom:3px;
}
.route-card span{
  display:block;
  color:#d7cec3;
  font-size:13px;
  line-height:1.32;
}
.route-actions{
  margin-top:12px;
}
.route-actions .contact-pill{
  min-height:46px;
  padding-left:15px;
  padding-right:15px;
}
.route-actions .secondary-map{
  background:#000!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.12)!important;
}
.route-offline-message{
  display:none;
  margin-top:12px!important;
  padding:12px 13px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.58);
  color:#f4e6d8!important;
  font-size:14px!important;
  line-height:1.38!important;
}
body.is-offline .route-offline-message,
.route-offline-message.is-visible{
  display:block;
}
@media (max-width:390px){
  .route-card{padding:13px;gap:10px;}
  .route-pin{width:39px;height:39px;flex-basis:39px;border-radius:13px;font-size:20px;}
  .route-actions .contact-pill{width:100%;}
}

/* v1.0.20 Akcii page gamification: stronger Web Audio cues, countdown, local score and win/loss feedback. */
.offer-game-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,112,0,.32);
  background:
    radial-gradient(circle at 16% 2%,rgba(87,55,150,.32),transparent 32%),
    radial-gradient(circle at 84% 12%,rgba(255,112,0,.22),transparent 35%),
    linear-gradient(180deg,rgba(26,22,24,.95),rgba(0,0,0,.9));
  border-radius:28px;
  padding:20px;
  margin-bottom:18px;
  box-shadow:0 0 48px rgba(255,112,0,.17),0 22px 58px rgba(0,0,0,.44);
}
.offer-game-card:before{
  content:"";
  position:absolute;
  inset:-50% -24% auto;
  height:52%;
  background:linear-gradient(90deg,transparent,rgba(255,112,0,.20),transparent);
  transform:rotate(-9deg) translateX(-60%);
  animation:gameSweep 5.8s ease-in-out infinite;
  pointer-events:none;
}
.game-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.sound-toggle{
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.54);
  color:#fff;
  font-weight:900;
  font-size:13px;
  box-shadow:0 10px 24px rgba(0,0,0,.32);
}
.sound-toggle[aria-pressed="false"]{opacity:.68;background:#000!important;border-color:rgba(255,255,255,.55)!important;}
.offer-game-card h2{position:relative;z-index:2;margin:8px 0 7px;font-size:29px;letter-spacing:-.045em;}
.game-intro{position:relative;z-index:2;margin:0 0 14px;color:#e7dcd0;font-size:16px;line-height:1.45;}
.race-picks{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 16px;}
.race-pick{
  min-width:0;
  min-height:86px;
  border-radius:18px;
  padding:10px 8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(10,10,12,.66);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  box-shadow:0 12px 28px rgba(0,0,0,.34);
}
.race-pick .pick-icon{font-size:28px;line-height:1;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45));}
.race-pick strong{display:block;font-size:14px;line-height:1;letter-spacing:-.02em;}
.race-pick small{display:block;color:#cfc4b9;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.06em;}
.race-pick.is-selected{
  background:#000!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.08) inset!important;
}
.race-track{position:relative;z-index:2;display:grid;gap:9px;margin:0 0 14px;}
.race-lane{
  position:relative;
  overflow:hidden;
  min-height:54px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(0,0,0,.48);
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.24);
}
.race-lane:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 18px);
  opacity:.24;
}
.lane-eleven{background:linear-gradient(90deg,rgba(17,31,54,.82),rgba(87,12,24,.58));}
.lane-wednesday{background:linear-gradient(90deg,rgba(33,20,48,.88),rgba(10,10,12,.70));}
.lane-hermione{background:linear-gradient(90deg,rgba(48,31,7,.82),rgba(92,54,6,.54));}
.lane-name{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  z-index:1;
  color:rgba(255,255,255,.42);
  font-weight:950;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.race-token{
  position:absolute;
  z-index:3;
  left:8px;
  top:50%;
  width:42px;
  height:42px;
  transform:translate(0,-50%);
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(0,0,0,.66);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 24px rgba(0,0,0,.38),0 0 18px rgba(255,112,0,.10);
  font-size:25px;
  transition:transform 1400ms cubic-bezier(.17,.84,.31,1);
  will-change:transform;
}
.finish-line{
  position:absolute;
  right:12px;
  top:8px;
  bottom:8px;
  width:4px;
  border-radius:999px;
  background:repeating-linear-gradient(180deg,#fff 0 6px,#000 6px 12px);
  opacity:.72;
  box-shadow:0 0 18px rgba(255,255,255,.22);
}
.race-lane.is-winner{
  border-color:rgba(255,112,0,.82)!important;
  box-shadow:0 0 0 1px rgba(255,112,0,.38),0 0 26px rgba(255,112,0,.28),inset 0 1px rgba(255,255,255,.10);
}
.race-lane.is-winner .race-token{animation:winnerBounce .78s ease-in-out 2;box-shadow:0 14px 30px rgba(0,0,0,.45),0 0 32px rgba(255,112,0,.40);}
.race-result{
  position:relative;
  z-index:2;
  min-height:44px;
  margin:12px 0 0;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.54);
  color:#f2e7dc;
  font-size:15px;
  line-height:1.36;
}
.race-result strong{color:#fff;}
.race-actions{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.race-actions .secondary{min-height:44px!important;padding:11px 12px!important;border-radius:15px!important;font-size:14px!important;}
@keyframes gameSweep{0%,46%{transform:rotate(-9deg) translateX(-70%);opacity:0}58%{opacity:1}100%{transform:rotate(-9deg) translateX(70%);opacity:0}}
@keyframes winnerBounce{0%,100%{filter:brightness(1);transform:translate(var(--race-x,0px),-50%) scale(1)}50%{filter:brightness(1.18);transform:translate(var(--race-x,0px),-58%) scale(1.08)}}
@media (max-width:390px){
  .offer-game-card{padding:18px;border-radius:26px;}
  .offer-game-card h2{font-size:27px;}
  .race-pick{min-height:80px;padding-left:5px;padding-right:5px;border-radius:16px;}
  .race-pick .pick-icon{font-size:26px;}
  .race-pick strong{font-size:13px;}
  .race-pick small{font-size:9px;}
  .race-token{width:39px;height:39px;border-radius:15px;font-size:23px;}
  .lane-name{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  .offer-game-card:before,.race-lane.is-winner .race-token{animation:none!important;}
  .race-token{transition-duration:260ms!important;}
}


/* v1.0.20 mini-game polish */
.race-stats{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:8px;
  margin:10px 0 12px;
}
.race-stats span{
  flex:1;
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(0,0,0,.42);
  color:#fff;
  font-size:12px;
  font-weight:950;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.25);
}
.race-track.is-counting .race-lane{filter:brightness(.74);}
.race-track.is-racing .race-lane:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,112,0,.16),transparent);
  transform:translateX(-120%);
  animation:raceLaneSweep .7s linear infinite;
  pointer-events:none;
}
.race-countdown{
  position:absolute;
  z-index:9;
  left:50%;
  top:50%;
  min-width:78px;
  height:78px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%) scale(.86);
  border-radius:28px;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(0,0,0,.78);
  color:#fff;
  font-size:31px;
  font-weight:1000;
  letter-spacing:-.06em;
  opacity:0;
  pointer-events:none;
  box-shadow:0 18px 45px rgba(0,0,0,.48),0 0 34px rgba(255,112,0,.34);
}
.race-countdown.is-visible{opacity:1;}
.race-countdown.is-pop{animation:countdownPop .34s ease-out both;}
.offer-game-card.is-win{border-color:rgba(255,112,0,.82);box-shadow:0 0 0 1px rgba(255,112,0,.28),0 0 58px rgba(255,112,0,.26),0 24px 60px rgba(0,0,0,.5);}
.offer-game-card.is-loss{border-color:rgba(255,255,255,.28);}
.race-result.is-win{border-color:rgba(255,112,0,.74);background:linear-gradient(180deg,rgba(255,112,0,.22),rgba(0,0,0,.62));}
.race-result.is-loss{border-color:rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(80,80,86,.22),rgba(0,0,0,.62));}
.offer-game-card.winner-eleven .race-lane.is-winner{box-shadow:0 0 0 1px rgba(255,112,0,.40),0 0 28px rgba(76,153,255,.26),inset 0 1px rgba(255,255,255,.1);}
.offer-game-card.winner-wednesday .race-lane.is-winner{box-shadow:0 0 0 1px rgba(255,112,0,.38),0 0 30px rgba(126,84,255,.30),inset 0 1px rgba(255,255,255,.1);}
.offer-game-card.winner-hermione .race-lane.is-winner{box-shadow:0 0 0 1px rgba(255,112,0,.38),0 0 32px rgba(255,194,64,.30),inset 0 1px rgba(255,255,255,.1);}
@keyframes raceLaneSweep{to{transform:translateX(120%)}}
@keyframes countdownPop{0%{transform:translate(-50%,-50%) scale(.68);opacity:0}45%{transform:translate(-50%,-50%) scale(1.08);opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}
@media (max-width:390px){
  .race-stats{gap:7px;margin-top:8px;}
  .race-stats span{font-size:11px;padding-left:7px;padding-right:7px;}
  .race-countdown{min-width:70px;height:70px;border-radius:24px;font-size:28px;}
}
@media (prefers-reduced-motion:reduce){
  .race-track.is-racing .race-lane:after,.race-countdown.is-pop{animation:none!important;}
}

/* v1.0.21 detail page polish: cleaner, symmetrical quest stats block. */
.detail-content .stats{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  margin:12px 0 18px!important;
  padding:9px 8px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,112,0,.08),rgba(5,5,5,.90))!important;
  box-shadow:0 18px 46px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.06)!important;
  overflow:hidden;
}
.detail-content .stats .stat-tile{
  min-height:62px!important;
  padding:7px 4px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.10);
}
.detail-content .stats .stat-tile:last-child{border-right:0;}
.detail-content .stats .stat-label{
  display:block!important;
  margin:0 0 5px!important;
  color:#d8cec0!important;
  font-size:9px!important;
  line-height:1.05!important;
  letter-spacing:.085em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.detail-content .stats strong{
  display:block!important;
  margin:0!important;
  color:#FF7000!important;
  font-size:20px!important;
  line-height:.95!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
.detail-content .stats .stat-note{
  display:block!important;
  margin:5px 0 0!important;
  color:#eee3d7!important;
  font-size:10px!important;
  line-height:1.05!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.detail-content .stats .stat-icon{display:none!important;}
.detail-text{margin-top:2px;}
@media (max-width:390px){
  .detail-content .stats{padding:8px 6px!important;border-radius:20px!important;}
  .detail-content .stats .stat-tile{min-height:58px!important;padding:6px 2px!important;}
  .detail-content .stats .stat-label{font-size:8px!important;letter-spacing:.055em!important;}
  .detail-content .stats strong{font-size:18px!important;}
  .detail-content .stats .stat-note{font-size:9px!important;}
}
@media (max-width:340px){
  .detail-content .stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .detail-content .stats .stat-tile:nth-child(3){border-right:0;}
  .detail-content .stats .stat-tile:nth-child(n+4){border-top:1px solid rgba(255,255,255,.10);}
}


/* v1.0.22 privacy policy page */
.privacy-cta-row{
  background:linear-gradient(180deg,rgba(255,112,0,.09),rgba(0,0,0,.38));
}
.privacy-link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  margin-top:12px;
  padding:12px 16px;
  border:1px solid rgba(255,112,0,.86);
  border-radius:999px;
  background:#FF7000;
  color:#fff;
  font-weight:950;
  letter-spacing:-.01em;
  box-shadow:0 14px 32px rgba(255,112,0,.24), inset 0 1px rgba(255,255,255,.18);
}
.privacy-link-btn:active{transform:scale(.98);background:#D95F00;}
.privacy-screen h1{margin-bottom:18px;}
.privacy-card{
  border:1px solid rgba(255,112,0,.24);
  border-radius:28px;
  padding:22px 18px;
  background:linear-gradient(180deg,rgba(255,112,0,.08),rgba(9,9,11,.92));
  box-shadow:0 22px 58px rgba(0,0,0,.48);
}
.privacy-card h2{
  margin:20px 0 8px;
  color:#fff;
  font-size:20px;
  line-height:1.14;
  letter-spacing:-.035em;
}
.privacy-card h2:first-of-type{margin-top:10px;}
.privacy-card p{
  margin:0 0 12px;
  color:#e9e0d7;
  font-size:16px;
  line-height:1.55;
  font-weight:650;
}
.privacy-updated{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(0,0,0,.38);
  color:#ffbd82!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:900!important;
}
.privacy-contact-box{
  display:grid;
  gap:8px;
  margin:18px 0 20px;
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(255,112,0,.24);
  background:rgba(0,0,0,.36);
  color:#fff;
}
.privacy-contact-box strong{font-size:18px;color:#fff;}
.privacy-contact-box span{color:#e9e0d7;font-size:15px;line-height:1.35;font-weight:700;}
.privacy-contact-box a{color:#ffb063;text-decoration:none;font-weight:900;}
@media (max-width:390px){
  .privacy-card{padding:19px 16px;border-radius:24px;}
  .privacy-card h2{font-size:18px;}
  .privacy-card p{font-size:15px;}
}


/* v1.0.24 gift certificate page */
.gift-teaser-card{position:relative;overflow:hidden;}
.gift-teaser-card::after{content:"";position:absolute;right:-80px;top:-90px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,112,0,.32),transparent 68%);pointer-events:none;}
.gift-price-strip{display:grid;gap:8px;margin:14px 0 16px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);}
.gift-price-strip p{margin:0;color:#f3ede7;font-size:14px;line-height:1.45;font-weight:700;}
.gift-price-strip strong{color:#ffb063;font-weight:1000;}
.gift-screen h1{margin-bottom:16px;}
.gift-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(26,22,24,.94),rgba(0,0,0,.9));border-radius:28px;padding:22px;margin-bottom:22px;overflow:hidden;position:relative;}
.gift-card::before{content:"";position:absolute;inset:-120px -100px auto auto;width:240px;height:240px;background:radial-gradient(circle,rgba(255,112,0,.26),transparent 70%);pointer-events:none;}
.gift-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;position:relative;z-index:1;}
.gift-validity{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);background:#070707;color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;white-space:nowrap;}
.gift-card h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;line-height:1.02;margin:8px 0 10px;position:relative;z-index:1;}
.gift-lead{color:var(--muted);font-size:16px;line-height:1.5;margin:0 0 18px;position:relative;z-index:1;}
.gift-form-grid{display:grid;gap:12px;position:relative;z-index:1;}
.gift-field{display:grid;gap:7px;}
.gift-field span{font-size:13px;color:#ffb063;font-weight:900;letter-spacing:.02em;text-transform:uppercase;}
.gift-field small{color:#bdb3aa;font-weight:800;text-transform:none;letter-spacing:0;}
.gift-field select,.gift-field input{width:100%;box-sizing:border-box;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:#090909;color:#fff;padding:14px 13px;font-size:16px;font-weight:800;outline:none;}
.gift-field select:focus,.gift-field input:focus{border-color:#FF7000;box-shadow:0 0 0 3px rgba(255,112,0,.18);}
.gift-preview{position:relative;z-index:1;margin:18px 0;border-radius:24px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,112,0,.18),rgba(8,8,8,.98) 38%,rgba(255,255,255,.055));box-shadow:0 20px 60px rgba(0,0,0,.45);overflow:hidden;}
.gift-preview::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,transparent 43%,rgba(255,255,255,.12) 50%,transparent 58%,transparent 100%);background-size:220% 100%;animation:cardFrameSweep 7s ease-in-out infinite;pointer-events:none;}
.gift-preview-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 18px 10px;position:relative;z-index:1;}
.gift-preview-top span{display:block;color:#ffb063;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.gift-preview-top strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:25px;color:#fff;line-height:1.05;margin-top:3px;}
.gift-preview-top em{font-style:normal;background:#FF7000;color:#fff;border-radius:16px;padding:10px 12px;font-weight:1000;box-shadow:0 10px 24px rgba(255,112,0,.23);white-space:nowrap;}
.gift-preview-body{display:grid;grid-template-columns:1fr 132px;gap:14px;padding:8px 18px 18px;align-items:end;position:relative;z-index:1;}
.gift-preview-text p{margin:10px 0 4px;color:#bdb3aa;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.gift-preview-text strong{display:block;color:#fff;font-size:17px;line-height:1.15;}
.gift-qr-box{display:grid;gap:7px;justify-items:center;align-self:stretch;}
.gift-qr{width:124px;height:124px;border-radius:16px;background:#fff;padding:7px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 32px rgba(0,0,0,.38);}
.gift-qr svg{width:100%;height:100%;display:block;border-radius:8px;}
.gift-qr.qr-fallback{color:#050505;font-weight:1000;text-align:center;font-size:12px;line-height:1.15;word-break:break-word;}
.gift-qr-box span{color:#d9cfc4;font-size:12px;font-weight:900;text-align:center;}
.gift-recipient-line{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.1);padding:12px 18px;color:#fff;font-weight:900;background:rgba(0,0,0,.22);}
.gift-rules{position:relative;z-index:1;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:20px;padding:16px;margin:14px 0;}
.gift-rules h3{margin:0 0 9px;color:#ffb063;font-size:16px;}
.gift-rules ul{margin:0;padding-left:20px;color:#e8ded3;line-height:1.45;font-size:15px;}
.gift-rules li+li{margin-top:6px;}
.gift-status{position:relative;z-index:1;border-radius:17px;border:1px solid rgba(255,255,255,.12);background:#070707;color:#eee3d7;padding:13px 14px;font-weight:800;line-height:1.35;margin:13px 0;}
.gift-status.is-visible{border-color:rgba(255,112,0,.55);box-shadow:0 0 0 3px rgba(255,112,0,.1);}
.gift-actions{position:relative;z-index:1;display:grid;gap:10px;}
.gift-actions .gift-call{justify-content:center;width:100%;box-sizing:border-box;text-align:center;}
.gift-telegram{text-decoration:none;text-align:center;}
@media (max-width:390px){
  .gift-card{padding:19px 16px;border-radius:26px;}
  .gift-card h2{font-size:25px;}
  .gift-preview-body{grid-template-columns:1fr 112px;gap:10px;padding-left:14px;padding-right:14px;}
  .gift-preview-top{padding-left:14px;padding-right:14px;}
  .gift-qr{width:108px;height:108px;border-radius:14px;padding:6px;}
  .gift-preview-top strong{font-size:22px;}
  .gift-preview-top em{padding:9px 10px;font-size:14px;}
  .gift-preview-text strong{font-size:16px;}
}
