/* Layout: dark blue and light grey sections in turn with graphite neon bands for the room; scoreboard fact strip; Bungee for headings only */
:root{
  --paper:#F3F5FA;      /* light grey sections */
  --card:#FFFFFF;
  --ink:#1C2030;
  --muted:#5B6275;
  --line:#DCE1EC;
  --orange:#F28A26;     /* logo orange */
  --orange-soft:#FDE6CC;
  --orange-text:#9A520C;
  --blue:#3B66BF;       /* logo blue */
  --night:#0D1537;      /* dark blue sections */
  --night-2:#172249;
  --night-line:#2A3664;
  --deep:#090E27;
  --on-night:#F1F3FA;
  --on-night-muted:#B4B8D2;
  --s4-display:"Bungee","Arial Black",Impact,sans-serif;
  --s4-body:"Kanit","Segoe UI",Helvetica,Arial,sans-serif;
  --s4-r:14px;
  color-scheme:light;
}
/* dark blue sections re-point the same tokens */
body.s4 .dark{--paper:#0D1537;--card:#172249;--ink:#F1F3FA;--muted:#B4B8D2;--line:#2A3664;--orange-soft:#332C42;--orange-text:#F28A26;background:var(--paper);color:var(--ink);color-scheme:dark}
body.s4 *{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.s4 *{transition:none!important;animation:none!important}}
body.s4{background:var(--paper);color:var(--ink);font-family:var(--s4-body);font-size:17px;line-height:1.6;font-weight:300}
body.s4::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
body.s4 .elementor a,body.s4 .s4-header a,body.s4 .s4-footer a{color:inherit}
body.s4 .elementor img,body.s4 .s4-header img,body.s4 .s4-footer img{display:block;max-width:100%}
body.s4 .elementor h1,body.s4 .elementor h2,body.s4 .elementor h3,body.s4 .s4-footer h3{font-family:var(--s4-display);font-weight:400;line-height:1.08;text-wrap:balance;margin:0;letter-spacing:.01em}
body.s4 .elementor h2{font-size:clamp(28px,4.4vw,46px)}
body.s4 .elementor h3{font-size:20px}
body.s4 .elementor p,body.s4 .s4-header p,body.s4 .s4-footer p{margin:0}
body.s4 strong{font-weight:500}
body.s4 .wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
body.s4 .elementor section{padding-block:88px}
body.s4 .kicker{font-family:var(--s4-body);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
body.s4 .lead{font-size:19px;color:var(--muted);max-width:60ch}
body.s4 .btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-family:var(--s4-body);font-weight:500;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s}
body.s4 .btn:hover{transform:translateY(-2px)}
body.s4 .btn:focus-visible,body.s4 button:focus-visible,body.s4 a:focus-visible,body.s4 input:focus-visible,body.s4 select:focus-visible,body.s4 textarea:focus-visible,body.s4 summary:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
body.s4 .btn-main{background:var(--orange);color:#1C1305}
body.s4 .btn-main:hover{background:#F79A3E}
body.s4 .btn-ghost{border-color:currentColor;color:inherit;background:transparent}
body.s4 .arrow{font-size:18px;line-height:1}


/* header */
body.s4 header.s4-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--night);color:var(--on-night)}
body.s4 .bar{display:flex;align-items:center;gap:20px;height:68px}
body.s4 .logo img{height:40px;width:auto}
body.s4 nav.links{display:flex;gap:22px;margin-left:auto}
body.s4 nav.links a{text-decoration:none;font-size:15px;color:var(--on-night-muted);font-weight:400}
body.s4 nav.links a:hover{color:var(--on-night)}
body.s4 .lang{display:flex;border:1px solid var(--night-line);border-radius:999px;overflow:hidden}
body.s4 .lang button{background:none;border:0;color:var(--on-night-muted);font:500 13px var(--s4-body);padding:6px 10px;cursor:pointer;letter-spacing:.06em}
body.s4 .lang button[aria-pressed="true"]{background:var(--on-night);color:var(--night)}
body.s4 .bar .btn{padding:10px 18px;font-size:15px}
@media (max-width:980px){body.s4 nav.links{display:none}body.s4 .lang{margin-left:auto}}
@media (max-width:520px){body.s4 .bar .btn-book-text{display:none}body.s4 .bar .btn{padding:10px 14px}body.s4 .logo img{height:32px}body.s4 .bar{gap:10px}}

/* hero */
body.s4 .hero{background:var(--night);color:var(--on-night);padding-block:56px 0;overflow:hidden}
body.s4 .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
body.s4 .hero h1{font-size:clamp(38px,6.2vw,74px);margin:14px 0 22px}
body.s4 .hero h1 .o{color:var(--orange)}
body.s4 .hero .lead{color:var(--on-night-muted)}
body.s4 .hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
body.s4 .stack{position:relative;height:520px}
body.s4 .stack img{position:absolute;border-radius:var(--s4-r);object-fit:cover;box-shadow:0 20px 50px rgba(0,0,0,.45);border:6px solid #fff}
body.s4 .stack .s1{width:58%;height:78%;left:4%;top:6%;transform:rotate(-5deg)}
body.s4 .stack .s2{width:52%;height:62%;right:2%;top:0;transform:rotate(4deg)}
body.s4 .stack .s3{width:46%;height:50%;right:12%;bottom:2%;transform:rotate(-2deg)}
@media (max-width:880px){body.s4 .hero-grid{grid-template-columns:1fr}body.s4 .stack{height:380px}}
@media (max-width:480px){body.s4 .stack{height:300px}}

/* play row: four looping mini scenes, pure SVG + CSS */
body.s4 .playrow{padding-block:56px}
body.s4 .pr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
body.s4 .pr{margin:0;background:var(--deep);border:1px solid var(--night-line);border-radius:var(--s4-r);overflow:hidden;display:flex;flex-direction:column}
body.s4 .pr svg{display:block;width:100%;height:auto;aspect-ratio:320/200}
body.s4 .pr figcaption{font:500 14px var(--s4-body);color:var(--on-night-muted);padding:8px 14px 10px;border-top:1px solid var(--night-line)}
body.s4 .pr .pop{font-family:var(--s4-display);font-size:26px;fill:var(--orange);opacity:0}
body.s4 .pr .z{font:400 16px var(--s4-display)}
body.s4 .d-dart{offset-path:path("M8 140 Q 150 30 248 99");offset-rotate:auto;opacity:0;animation:dDart 4s cubic-bezier(.35,.1,.55,1) infinite}
body.s4 .d-board{transform-box:fill-box;transform-origin:center;animation:dBoard 4s infinite}
body.s4 .d-pop{animation:pop 4s infinite;--a:28%}
body.s4 .c-bag{offset-path:path("M10 165 Q 130 -20 250 94");opacity:0;animation:cBag 4.6s cubic-bezier(.3,.1,.6,1) infinite;transform-box:fill-box;transform-origin:center}
body.s4 .c-pop{animation:popC 4.6s infinite}
body.s4 .s-puck{offset-path:path("M30 110 L287 110");opacity:0;animation:sPuck 5.2s infinite}
body.s4 .s-pop{animation:popS 5.2s infinite}
body.s4 .h-puck{offset-path:path("M78 100 L150 26 L232 174 L306 100");offset-rotate:0deg;opacity:0;animation:hPuck 3.8s linear infinite}
body.s4 .h-mallet{animation:hMallet 3.8s infinite}
body.s4 .h-pop{animation:popH 3.8s infinite}
@keyframes dDart{0%{offset-distance:0%;opacity:0}5%{opacity:1}28%{offset-distance:100%;transform:rotate(0)}32%{transform:rotate(-6deg)}36%{transform:rotate(4deg)}40%{transform:rotate(-2deg)}44%,86%{offset-distance:100%;transform:rotate(0);opacity:1}92%,100%{offset-distance:100%;opacity:0}}
@keyframes dBoard{0%,27%{transform:translateX(0)}30%{transform:translateX(3px)}33%{transform:translateX(-2px)}36%,100%{transform:translateX(0)}}
@keyframes pop{0%,28%{opacity:0;transform:translateY(8px)}34%{opacity:1;transform:translateY(0)}64%{opacity:1;transform:translateY(-6px)}72%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes cBag{0%{offset-distance:0%;opacity:0;transform:rotate(0) scale(1)}4%{opacity:1}32%{offset-distance:100%;transform:rotate(320deg) scale(1);opacity:1}44%,100%{offset-distance:100%;transform:rotate(360deg) scale(.35);opacity:0}}
@keyframes popC{0%,40%{opacity:0;transform:translateY(8px)}46%{opacity:1;transform:translateY(0)}72%{opacity:1;transform:translateY(-6px)}80%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes sPuck{0%{offset-distance:0%;opacity:0;animation-timing-function:cubic-bezier(.15,.75,.3,1)}4%{opacity:1}42%,84%{offset-distance:100%;opacity:1}92%,100%{offset-distance:100%;opacity:0}}
@keyframes popS{0%,40%{opacity:0;transform:translateY(8px)}46%{opacity:1;transform:translateY(0)}72%{opacity:1;transform:translateY(-6px)}80%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes hPuck{0%{offset-distance:0%;opacity:0}3%{opacity:1}44%{offset-distance:100%;opacity:1}48%,100%{offset-distance:100%;opacity:0}}
@keyframes hMallet{0%{transform:translateX(-14px)}4%{transform:translateX(6px)}12%,100%{transform:translateX(0)}}
@keyframes popH{0%,44%{opacity:0;transform:translateY(8px)}50%{opacity:1;transform:translateY(0)}74%{opacity:1;transform:translateY(-6px)}82%,100%{opacity:0;transform:translateY(-10px)}}
body.s4 .pr-all{justify-content:center;align-items:flex-start;gap:4px;padding:20px 22px;text-decoration:none;color:var(--on-night);background:linear-gradient(160deg,var(--night-2),var(--deep))}
body.s4 .pr-all .pa-n{font-family:var(--s4-display);font-size:64px;line-height:1;color:var(--orange)}
body.s4 .pr-all strong{font-weight:500;font-size:20px;line-height:1.2}
body.s4 .pr-all .pa-l{margin-top:10px;color:var(--orange);font-weight:500;font-size:15px}
body.s4 .pr-all:hover .pa-l{text-decoration:underline}
body.s4 .sj-disc{offset-path:path("M30 106 L288 112");opacity:0;animation:sjDisc 4.8s infinite}
body.s4 .sj-pop{animation:popSj 4.8s infinite}
body.s4 .f-ball{offset-path:path("M100 100 Q 190 54 306 98");opacity:0;animation:fBall 3.4s cubic-bezier(.2,.6,.4,1) infinite}
body.s4 .f-kick{animation:fKick 3.4s infinite}
body.s4 .f-keep{animation:fKeep 3.4s ease-in-out infinite}
body.s4 .f-pop{animation:popF 3.4s infinite}
body.s4 .k-striker{offset-path:path("M150 168 L196 106");opacity:0;animation:kStriker 4.4s infinite}
body.s4 .k-disc{offset-path:path("M202 98 L236 24");offset-distance:0%;animation:kDisc 4.4s infinite;transform-box:fill-box;transform-origin:center}
body.s4 .k-pop{animation:popK 4.4s infinite}
@keyframes sjDisc{0%{offset-distance:0%;opacity:0;animation-timing-function:cubic-bezier(.15,.7,.35,1)}4%{opacity:1}40%,84%{offset-distance:100%;opacity:1}92%,100%{offset-distance:100%;opacity:0}}
@keyframes popSj{0%,38%{opacity:0;transform:translateY(8px)}44%{opacity:1;transform:translateY(0)}72%{opacity:1;transform:translateY(-6px)}80%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes fBall{0%{offset-distance:0%;opacity:0}4%{opacity:1}36%{offset-distance:100%;opacity:1}42%,100%{offset-distance:100%;opacity:0}}
@keyframes fKick{0%{transform:translateX(0)}3%{transform:translateX(9px)}9%,100%{transform:translateX(0)}}
@keyframes fKeep{0%{transform:translateY(0)}20%{transform:translateY(28px)}40%{transform:translateY(22px)}70%{transform:translateY(-10px)}100%{transform:translateY(0)}}
@keyframes popF{0%,36%{opacity:0;transform:translateY(8px)}42%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(-6px)}78%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes kStriker{0%{offset-distance:0%;opacity:0}4%{opacity:1}20%{offset-distance:100%;opacity:1}30%{offset-distance:92%}70%{offset-distance:92%;opacity:1}78%,100%{offset-distance:92%;opacity:0}}
@keyframes kDisc{0%,20%{offset-distance:0%;opacity:1;transform:scale(1)}40%{offset-distance:100%;transform:scale(1)}46%{offset-distance:100%;transform:scale(.3);opacity:0}96%{offset-distance:0%;opacity:0;transform:scale(1)}100%{offset-distance:0%;opacity:1}}
@keyframes popK{0%,42%{opacity:0;transform:translateY(8px)}48%{opacity:1;transform:translateY(0)}74%{opacity:1;transform:translateY(-6px)}82%,100%{opacity:0;transform:translateY(-10px)}}
@media (max-width:880px){body.s4 .pr-grid{grid-template-columns:repeat(2,1fr)}body.s4 .pr-all .pa-n{font-size:48px}body.s4 .pr-all strong{font-size:17px}}
@media (max-width:420px){body.s4 .pr-grid{gap:10px}body.s4 .pr figcaption{font-size:13px;padding:6px 10px 8px}}
@media (prefers-reduced-motion:reduce){
  body.s4 .pr *{animation:none!important}
  body.s4 .d-dart,body.s4 .s-puck,body.s4 .sj-disc{offset-distance:100%;opacity:1}
}

/* scoreboard */
body.s4 .score{background:var(--night-2);color:var(--on-night);margin-top:56px;border-top:1px solid var(--night-line)}
body.s4 .score ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1px;background:var(--night-line)}
body.s4 .score li{flex:1 1 150px;padding:20px 12px;text-align:center;display:flex;flex-direction:column;gap:2px;background:var(--night-2)}
body.s4 .score b{font-family:var(--s4-display);font-weight:400;font-size:24px;color:var(--orange);font-variant-numeric:tabular-nums}
body.s4 .score b small{font-family:var(--s4-body);font-weight:500;font-size:20px}
body.s4 .score span{font-size:14px;color:var(--on-night-muted)}

/* room */
body.s4 .room-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
body.s4 .room-grid > div{min-width:0}
body.s4 .chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 30px;padding:0;list-style:none}
body.s4 .chips li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:15px;font-weight:400}
body.s4 .extras{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}
body.s4 .extras li{display:grid;grid-template-columns:22px 1fr;gap:10px;color:var(--muted)}
body.s4 .extras li::before{content:"";width:10px;height:10px;margin-top:9px;border-radius:50%;background:var(--orange)}
/* honeycomb: 7 pointy-top hexagons, like the room's wall panels */
body.s4 .hive{position:relative;width:100%;max-width:560px;margin:0 auto;aspect-ratio:1/0.9623}
body.s4 .hive img{position:absolute;width:33.333%;height:40%;object-fit:cover;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transform:scale(.94);transition:transform .25s}
body.s4 .hive img:hover{transform:scale(.99)}
body.s4 .h1{left:16.667%;top:0}body.s4 .h2{left:50%;top:0}
body.s4 .h3{left:0;top:30%}body.s4 .h4{left:33.333%;top:30%}body.s4 .h5{left:66.667%;top:30%}
body.s4 .h6{left:16.667%;top:60%}body.s4 .h7{left:50%;top:60%}
@media (max-width:880px){body.s4 .room-grid{grid-template-columns:1fr;gap:36px}}

/* steps */
body.s4 .steps{margin-top:0;background:var(--card);border:1px solid var(--line);border-radius:var(--s4-r);padding:36px}
body.s4 .steps ol{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
body.s4 .steps li{counter-increment:s;min-width:0}
body.s4 .steps li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--s4-display);font-size:20px;margin-bottom:12px}
body.s4 .steps h4{margin:0 0 4px;font-weight:500;font-size:18px}
body.s4 .steps p{color:var(--muted);font-size:16px}
@media (max-width:880px){body.s4 .steps ol{grid-template-columns:1fr 1fr}}
@media (max-width:520px){body.s4 .steps{padding:24px}body.s4 .steps ol{grid-template-columns:1fr}}

/* videos */
body.s4 .videos{margin-top:28px}
body.s4 .vid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
body.s4 .vid{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--s4-r);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s}
body.s4 .vid:hover{transform:translateY(-3px)}
body.s4 .vid .thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--night)}
body.s4 .vid .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
body.s4 .vid .play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:var(--orange);box-shadow:0 8px 24px rgba(0,0,0,.35)}
body.s4 .vid .play::after{content:"";position:absolute;left:26px;top:20px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent #1C1305}
body.s4 .vid .lng{position:absolute;top:10px;left:10px;background:var(--night);color:var(--on-night);font:500 12px var(--s4-body);letter-spacing:.08em;padding:3px 8px;border-radius:6px}
body.s4 .vid .vt{display:flex;flex-direction:column;gap:2px;padding:14px 16px 16px}
body.s4 .vid strong{font-weight:500;font-size:16px}
body.s4 .vid small{font-size:14px;color:var(--muted)}
@media (max-width:720px){body.s4 .vid-grid{grid-template-columns:1fr}}

/* prices */
body.s4 .price-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}
body.s4 .rates{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
body.s4 .rate{border:2px solid var(--line);border-radius:var(--s4-r);padding:24px;display:flex;flex-direction:column;gap:6px}
body.s4 .rate.hot{border-color:var(--orange);background:linear-gradient(180deg,var(--orange-soft),var(--card) 70%)}
body.s4 .rate .when{font-weight:500;font-size:16px}
body.s4 .rate .val{font-family:var(--s4-display);font-size:52px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
body.s4 .rate .val small{font-family:var(--s4-body);font-size:18px;color:var(--muted);font-weight:400}
body.s4 .rate .tag{font-size:14px;color:var(--muted)}
@media (max-width:720px){body.s4 .rates{grid-template-columns:1fr}}

body.s4 .calc{margin-top:28px;display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
body.s4 .calc-form{background:var(--paper);border-radius:var(--s4-r);padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-content:start}
body.s4 .calc-form h3{grid-column:1/-1;font-size:18px}
body.s4 label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;min-width:0}
body.s4 select,body.s4 input,body.s4 textarea{font:400 16px var(--s4-body);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;min-width:0}
body.s4 textarea{resize:vertical;min-height:96px}
body.s4 .calc-out{background:var(--deep);color:var(--on-night);border-radius:var(--s4-r);padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
body.s4 .calc-out .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--night-line);padding-bottom:10px}
body.s4 .calc-out .row span{color:var(--on-night-muted);font-size:15px}
body.s4 .calc-out .row b{font-family:var(--s4-display);font-weight:400;font-size:30px;font-variant-numeric:tabular-nums}
body.s4 .calc-out .row.pp b{color:var(--orange);font-size:40px}
@media (max-width:880px){body.s4 .calc{grid-template-columns:1fr}}
@media (max-width:520px){body.s4 .calc-form{grid-template-columns:1fr 1fr}body.s4 .calc-form label:first-of-type{grid-column:1/-1}}
body.s4 .terms{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;padding:0;list-style:none;color:var(--muted);font-size:15px}
body.s4 .terms li::before{content:"✓ ";color:var(--orange);font-weight:600}

body.s4 .extras2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
body.s4 .extra{border:1px solid var(--line);border-radius:var(--s4-r);display:grid;grid-template-columns:140px 1fr;overflow:hidden;background:var(--card)}
body.s4 .extra img{width:100%;height:100%;object-fit:cover}
body.s4 .extra div{padding:20px;display:flex;flex-direction:column;gap:8px;min-width:0}
body.s4 .extra h3{font-size:18px}
body.s4 .extra p{color:var(--muted);font-size:15px}
body.s4 .extra .meta{color:var(--ink);font-weight:500;font-size:15px}
@media (max-width:880px){body.s4 .extras2{grid-template-columns:1fr}}
@media (max-width:480px){body.s4 .extra{grid-template-columns:1fr}body.s4 .extra img{height:160px}}

body.s4 .cond{margin-top:22px;border:1px solid var(--line);border-radius:var(--s4-r);background:var(--card)}
body.s4 .cond summary{padding:16px 52px 16px 20px;border-bottom:0}
body.s4 .cond summary::after{right:20px;top:10px}
body.s4 .cond[open] summary{border-bottom:1px solid var(--line)}
body.s4 .cond-body{padding:4px 20px 18px;max-width:80ch}
body.s4 .cond-body h4{font-family:var(--s4-body);font-weight:500;font-size:17px;margin:18px 0 6px;color:var(--ink)}
body.s4 .cond-body ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
body.s4 .cond-body li{font-size:15px;color:var(--muted);line-height:1.55;display:grid;grid-template-columns:38px 1fr}
body.s4 .cond-body .n{color:var(--orange);font-variant-numeric:tabular-nums;font-weight:500}

/* catering menus */
body.s4 .menus{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--s4-r);padding:24px}
body.s4 .menus h3{font-size:20px}
body.s4 .menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
body.s4 .menu-grid figure{margin:0;display:flex;flex-direction:column;gap:8px}
body.s4 .zoom{padding:0;border:0;background:none;cursor:zoom-in;border-radius:10px;overflow:hidden;display:block}
body.s4 .zoom img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top;transition:transform .2s}
body.s4 .zoom:hover img{transform:scale(1.03)}
body.s4 .menu-grid figcaption{font-size:15px;font-weight:500}
body.s4 .menus-note{margin-top:14px;font-size:14px;color:var(--muted)}
@media (max-width:720px){body.s4 .menu-grid{grid-template-columns:1fr}}
body.s4 .lightbox{position:fixed;inset:0;z-index:100;background:rgba(4,8,23,.92);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));cursor:zoom-out}
body.s4 .lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
body.s4 .lightbox button{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:calc(env(safe-area-inset-right,0px) + 14px);width:44px;height:44px;border-radius:50%;border:0;background:var(--orange);color:#1C1305;font:400 24px var(--s4-display);cursor:pointer}
/* blog */
body.s4 .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
body.s4 .post{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--s4-r);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s}
body.s4 .post:hover{transform:translateY(-3px)}
body.s4 .post img{aspect-ratio:16/10;object-fit:cover;width:100%}
body.s4 .post .pb{display:flex;flex-direction:column;gap:8px;padding:18px 18px 20px;flex:1}
body.s4 .post time{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
body.s4 .post strong{font-weight:500;font-size:18px;line-height:1.3}
body.s4 .post .ex{font-size:15px;color:var(--muted);line-height:1.5}
body.s4 .post .rm{margin-top:auto;padding-top:6px;color:var(--orange);font-weight:500;font-size:15px}
@media (max-width:880px){body.s4 .posts{grid-template-columns:1fr}}
body.s4 .post{font:inherit;text-align:left;cursor:pointer;padding:0}
body.s4 .reader{position:fixed;inset:0;z-index:100;background:rgba(4,8,23,.85);overflow-y:auto;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
body.s4 .reader article{position:relative;max-width:760px;margin:24px auto;background:var(--paper);color:var(--ink);border-radius:var(--s4-r);overflow:hidden}
body.s4 .reader img{width:100%;aspect-ratio:16/8;object-fit:cover}
body.s4 .reader .rb{padding:28px clamp(18px,5vw,48px) 40px}
body.s4 .reader time{font-size:14px;color:var(--muted)}
body.s4 .reader h2{font-size:clamp(24px,3.6vw,34px);margin:8px 0 18px}
body.s4 .reader h3{font-family:var(--s4-body);font-weight:500;font-size:20px;margin:24px 0 8px}
body.s4 .reader p{font-size:17px;line-height:1.65;color:var(--ink);margin:0 0 14px;max-width:65ch}
body.s4 .reader .x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;background:var(--orange);color:#1C1305;font:400 24px var(--s4-display);cursor:pointer}
body.s4 footer.s4-footer.dark{background:var(--deep)}
body.s4 .priv{margin-top:32px;background:var(--night)}
body.s4 .priv-body h4{font-family:var(--s4-display);font-weight:400;color:var(--orange);font-size:18px}
body.s4 .priv-body h5{font-size:16px;font-weight:500;margin:16px 0 4px;color:var(--ink)}
body.s4 .priv-body p{font-size:15px;color:var(--muted);margin:0 0 8px;line-height:1.55}
body.s4 .priv-body .upd{font-size:13px;margin-top:12px}
body.s4 .consent{font-size:14px;color:var(--muted)}
body.s4 .consent a{color:var(--ink)}

/* events */
body.s4 .ev-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
body.s4 .ev-grid > div{min-width:0}
body.s4 .ev-points{list-style:none;padding:0;margin:26px 0;display:grid;gap:10px}
body.s4 .ev-points li{display:flex;gap:12px;align-items:baseline}
body.s4 .ev-points li::before{content:"";flex:none;width:12px;height:12px;border-radius:3px;background:var(--blue);transform:translateY(1px) rotate(45deg)}
body.s4 .ev-price{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
body.s4 .ev-price div{background:var(--card);border:1px solid var(--line);border-radius:var(--s4-r);padding:16px 22px;min-width:140px}
body.s4 .ev-price span{display:block;font-size:14px;color:var(--muted)}
body.s4 .ev-price b{font-family:var(--s4-display);font-weight:400;font-size:34px;color:var(--orange);font-variant-numeric:tabular-nums}
body.s4 .ev-note{font-size:14px;color:var(--muted);margin-top:12px}
body.s4 .ev-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.s4 .ev-photos img{border-radius:var(--s4-r);width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
body.s4 .ev-photos img:first-child{grid-column:1/-1;aspect-ratio:4/3}
@media (max-width:880px){body.s4 .ev-grid{grid-template-columns:1fr}}

/* games */
body.s4 .filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
body.s4 .filters button{font:500 15px var(--s4-body);padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
body.s4 .filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
body.s4 .games{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:28px}
body.s4 .game{background:var(--card);border:1px solid var(--line);border-radius:var(--s4-r);overflow:hidden;display:flex;flex-direction:column}
body.s4 .game img{aspect-ratio:4/3;object-fit:cover;width:100%}
body.s4 .game > div{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}
body.s4 .game.more{background:var(--deep);color:var(--on-night);border-color:var(--deep);justify-content:center;text-decoration:none;min-height:220px}
body.s4 .game.more h3{color:var(--orange)}
body.s4 .game.more p{color:var(--on-night-muted)}
body.s4 .game h3{font-size:17px}
body.s4 .game p{font-size:15px;color:var(--muted);line-height:1.45}
body.s4 .where{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
body.s4 .more-btn{align-self:flex-start;margin-top:8px;background:none;border:0;padding:4px 0;font:500 15px var(--s4-body);color:var(--orange);cursor:pointer;display:inline-flex;gap:6px;align-items:center}
body.s4 .more-btn::after{content:"+";font-family:var(--s4-display);font-size:18px;line-height:1;transition:transform .2s}
body.s4 .game.open .more-btn::after{transform:rotate(45deg)}
body.s4 .game .full{display:none}
body.s4 .game.open{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start}
body.s4 .game.open img{aspect-ratio:3/4;height:auto;position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px)}
body.s4 .game.open .full{display:block;margin-top:10px;max-width:70ch}
body.s4 .full .intro{color:var(--ink);font-size:16px;margin-bottom:12px}
body.s4 .full .note{font-size:14px;color:var(--muted);font-style:italic;margin-bottom:6px}
body.s4 .full h4{font-family:var(--s4-display);font-weight:400;font-size:18px;color:var(--orange);margin:20px 0 6px}
body.s4 .full h5{font-size:16px;font-weight:500;margin:16px 0 4px;color:var(--ink)}
body.s4 .full p,body.s4 .full li{font-size:15px;color:var(--muted);line-height:1.55}
body.s4 .full p{margin:0 0 8px}
body.s4 .full ul{margin:0 0 8px;padding-left:20px;display:grid;gap:4px}
body.s4 .full strong{color:var(--ink);font-weight:500}
@media (max-width:640px){body.s4 .game.open{grid-template-columns:1fr}body.s4 .game.open img{position:static;aspect-ratio:4/3}}
body.s4 .where span{font-size:12px;font-weight:500;padding:2px 8px;border-radius:6px;background:var(--paper);color:var(--muted)}

/* inquiry */
body.s4 .inq{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}
body.s4 .inq > div{min-width:0}
body.s4 form.req{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body.s4 form.req .full{grid-column:1/-1}
body.s4 fieldset{border:0;padding:0;margin:0;min-width:0}
body.s4 legend{font-size:14px;font-weight:500;margin-bottom:8px}
body.s4 .pick{display:flex;flex-wrap:wrap;gap:8px}
body.s4 .pick label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:15px;cursor:pointer;background:var(--paper)}
body.s4 .pick input{width:auto;accent-color:var(--orange)}
body.s4 .pick label:has(input:checked){border-color:var(--orange);background:var(--orange-soft)}
body.s4 .check{display:flex;gap:10px;align-items:center;font-size:15px}
body.s4 .check input{width:auto;accent-color:var(--orange)}
body.s4 .sent{background:var(--orange-soft);color:var(--orange-text);border-radius:10px;padding:14px 16px;font-size:15px}
@media (max-width:880px){body.s4 .inq{grid-template-columns:1fr}}
@media (max-width:520px){body.s4 form.req{grid-template-columns:1fr}}

/* reviews */
body.s4 .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
body.s4 .review{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--s4-r);padding:24px;display:flex;flex-direction:column;gap:14px}
body.s4 .stars{color:var(--orange);letter-spacing:3px;font-size:16px}
body.s4 .review blockquote{margin:0;font-size:16px;line-height:1.55}
body.s4 .review figcaption{font-size:14px;color:var(--muted);margin-top:auto}
@media (max-width:880px){body.s4 .reviews{grid-template-columns:1fr}}

/* faq */
body.s4 .faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px}
body.s4 .faq-grid > div{min-width:0}
body.s4 details{border-bottom:1px solid var(--line)}
body.s4 summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font-weight:500;font-size:17px;position:relative}
body.s4 summary::-webkit-details-marker{display:none}
body.s4 summary::after{content:"+";position:absolute;right:6px;top:12px;font-family:var(--s4-display);font-size:24px;color:var(--orange);transition:transform .2s}
body.s4 details[open] summary::after{transform:rotate(45deg)}
body.s4 details p{padding:0 0 18px;color:var(--muted);max-width:62ch}
@media (max-width:880px){body.s4 .faq-grid{grid-template-columns:1fr;gap:20px}}

/* footer */
body.s4 footer.s4-footer{background:var(--night);color:var(--on-night);padding-block:64px 32px}
body.s4 .foot{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:40px}
body.s4 .foot > div{min-width:0}
body.s4 .foot h3{font-size:18px;margin-bottom:14px}
body.s4 .foot p,body.s4 .foot li{color:var(--on-night-muted);font-size:16px}
body.s4 .foot ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
body.s4 .foot a{color:var(--on-night)}
body.s4 .foot .map{border-radius:var(--s4-r);overflow:hidden;border:1px solid var(--night-line)}
body.s4 .foot .cap{font-size:14px;margin-top:8px}
body.s4 .team{display:flex;gap:16px;align-items:center;margin-top:18px}
body.s4 .team img{width:84px;height:84px;border-radius:50%;object-fit:cover}
body.s4 .legal{margin-top:48px;padding-top:20px;border-top:1px solid var(--night-line);font-size:14px;color:var(--on-night-muted);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
@media (max-width:880px){body.s4 .foot{grid-template-columns:1fr}}

/* ---- WordPress integration ---- */
body.s4 [hidden]{display:none!important}
body.s4 img{max-width:100%;height:auto}
body.s4 .s4-main{background:var(--paper)}
body.s4.s4-front #content,body.s4.s4-front .site-content,body.s4.s4-front .ast-container{padding:0!important;margin:0!important;max-width:none!important;display:block}
body.s4 .elementor .s4-sec,body.s4 .elementor .s4-sec>.e-con-inner{padding:0!important;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;gap:0!important;max-width:none!important}
body.s4 .elementor .s4-sec .elementor-widget-html{width:100%}
body.s4 .elementor-widget-html .elementor-widget-container{padding:0}
body.s4 .elementor h1,body.s4 .elementor h2,body.s4 .elementor h3,body.s4 .elementor h4,body.s4 .elementor h5,body.s4 .s4-footer h3{color:inherit}
body.s4 .dark{color:var(--ink)}
body.s4 a.btn-main,body.s4 a.btn-main:hover,body.s4 a.btn-main:focus{color:#1C1305}
body.s4 a.btn-ghost{color:inherit}
body.s4 header.s4-header.s4-header a{text-decoration:none}
body.s4 .s4-lang a{display:block;padding:6px 10px;font:500 13px var(--s4-body);letter-spacing:.06em;color:var(--on-night-muted);text-decoration:none}
body.s4 .s4-lang a[aria-current="true"]{background:var(--on-night);color:var(--night)}
body.s4 .s4-reviews{margin-top:28px}
body.s4 .s4-reviews .ti-widget{--ti-bg:transparent}
body.s4 .vid .thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
body.s4 #sent:empty{display:none}
body.s4 .sent.err{background:#5a1e2a;color:#ffd7dd}
body.s4.admin-bar header.s4-header{top:calc(env(safe-area-inset-top,0px) + 32px)}
@media (max-width:782px){body.s4.admin-bar header.s4-header{top:calc(env(safe-area-inset-top,0px) + 46px)}}
/* inner pages (blog posts, privacy policy) */
body.s4:not(.s4-front) #content{background:var(--paper);color:var(--ink)}
body.s4:not(.s4-front) .entry-content{font-family:var(--s4-body);font-size:17px;line-height:1.65}
body.s4:not(.s4-front) .entry-title{font-family:var(--s4-display);font-weight:400}

body.s4 .s4-pagehead{background:var(--night);color:var(--on-night);padding-block:56px 40px}
body.s4 .s4-pagehead h1{font-family:var(--s4-display);font-weight:400;font-size:clamp(28px,4.4vw,46px);line-height:1.1;margin:10px 0 0;color:var(--on-night);text-wrap:balance;max-width:24ch}
body.s4 .s4-pagehead .kicker time{color:var(--on-night-muted)}
body.s4 .s4-pagehead-img{margin-top:28px}
body.s4 .s4-pagehead-img img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--s4-r)}
body.s4:not(.s4-front) .entry-header .entry-title,body.s4:not(.s4-front) .ast-single-post-featured-section,body.s4:not(.s4-front) .post-thumb-img-content{display:none}
body.s4:not(.s4-front) .entry-content{max-width:760px;margin-inline:auto}

/* neutralise theme defaults inside our sections (zero-specificity :where keeps our own rules in charge) */
body.s4 :where(.elementor, .s4-footer) :where(ul, ol){margin:0;padding-left:0}
body.s4 :where(.elementor) :where(label){color:inherit;font-weight:500}
body.s4 :where(.elementor) :where(select, input, textarea){height:auto;line-height:1.4;box-shadow:none}
body.s4 :where(.elementor) :where(select){padding:10px 36px 10px 12px}
body.s4 :where(.elementor) :where(button){text-transform:none;letter-spacing:normal}

/* centre the fact strip */
body.s4 .score ul.wrap{margin-inline:auto;justify-content:center}

body.s4 .price-note{margin-top:10px;font-size:16px;max-width:62ch}

/* Russian pages: Bungee has no Cyrillic, so headings use Russo One (closest blocky match), in capitals like Bungee */
:root:lang(ru){--s4-display:"Russo One","Arial Black",Impact,sans-serif}
html:lang(ru) body.s4 .elementor h1,html:lang(ru) body.s4 .elementor h2,html:lang(ru) body.s4 .elementor h3,html:lang(ru) body.s4 .s4-footer h3,html:lang(ru) body.s4 .s4-pagehead h1{text-transform:uppercase;letter-spacing:.02em}

/* mobile menu */
body.s4 header.s4-header .s4-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 11px;border:1px solid var(--night-line);border-radius:12px;background:transparent;cursor:pointer;flex:none}
body.s4 header.s4-header .s4-burger span{display:block;height:2px;border-radius:2px;background:var(--on-night);transition:transform .2s,opacity .2s}
body.s4 header.s4-header.menu-open .s4-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.s4 header.s4-header.menu-open .s4-burger span:nth-child(2){opacity:0}
body.s4 header.s4-header.menu-open .s4-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:980px){
  body.s4 header.s4-header .s4-burger{display:inline-flex}
  body.s4 header.s4-header nav.links{position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;margin:0;background:var(--night);border-top:1px solid var(--night-line);box-shadow:0 18px 30px rgba(0,0,0,.35);padding-block:6px 12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));max-height:calc(100vh - 140px);overflow-y:auto}
  body.s4 header.s4-header.menu-open nav.links{display:flex}
  body.s4 header.s4-header nav.links a{padding:14px 2px;font-size:18px;color:var(--on-night);border-bottom:1px solid var(--night-line)}
  body.s4 header.s4-header nav.links a:last-child{border-bottom:0}
}
@media (max-width:420px){
  body.s4 .s4-lang a{padding:6px 8px}
  body.s4 header.s4-header .bar{gap:8px}
  body.s4 header.s4-header .logo img{height:28px}
}

/* hero spacing: less empty space under the header, none under the fact strip */
body.s4 .elementor section.hero{padding-top:56px;padding-bottom:0}
@media (max-width:980px){body.s4 .elementor section.hero{padding-top:28px}}
/* orange line under the header so it stands out from dark sections */
body.s4 header.s4-header{border-bottom:2px solid var(--orange)}

/* ---------- Õhuhoki floating button ---------- */
button.s4g-fab{position:fixed;left:18px;bottom:18px;z-index:9990;display:inline-flex;align-items:center;gap:10px;padding:7px 18px 7px 7px;border:0;border-radius:999px;background:#F28A26;color:#1C1305;font:600 15px/1 Kanit,"Segoe UI",Helvetica,Arial,sans-serif;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.35);transition:transform .18s,background .18s,opacity .2s;-webkit-tap-highlight-color:transparent}
button.s4g-fab:hover,button.s4g-fab:focus{background:#F79A3E;transform:translateY(-2px)}
button.s4g-fab:focus-visible{outline:3px solid #F1F3FA;outline-offset:3px}
.s4g-fab .ic{width:38px;height:38px;border-radius:50%;background:#0D1537;display:grid;place-items:center;flex:none}
.s4g-fab .ic svg{width:26px;height:26px;transition:transform .3s}
.s4g-fab:hover .ic svg{transform:rotate(-12deg) scale(1.08)}
button.s4g-fab.hint{animation:s4gpulse 1.8s ease-out 2}
@keyframes s4gpulse{0%{box-shadow:0 10px 28px rgba(0,0,0,.35),0 0 0 0 rgba(242,138,38,.55)}100%{box-shadow:0 10px 28px rgba(0,0,0,.35),0 0 0 16px rgba(242,138,38,0)}}
button.s4g-fab.off{opacity:0;pointer-events:none}
@media (max-width:600px){button.s4g-fab{left:12px;bottom:12px;font-size:14px;padding:6px 14px 6px 6px;gap:8px}.s4g-fab .ic{width:34px;height:34px}}
@media (prefers-reduced-motion:reduce){.s4g-fab,.s4g-fab .ic svg{transition:none}button.s4g-fab.hint{animation:none}}
button.s4g-fab:active{background:#F28A26;color:#1C1305}
button.s4g-fab{text-transform:none;min-height:0;margin:0}
button.s4g-fab.wait .ic svg{animation:s4gspin .8s linear infinite}
@keyframes s4gspin{to{transform:rotate(360deg)}}
@media print{button.s4g-fab{display:none}}
