/* Shared gutters and stable responsive layouts for the supplied site. */
:root { --page-width:1240px; --page-gutter:clamp(16px,4vw,40px); }
.wrap { width:min(var(--page-width),calc(100% - var(--page-gutter)*2)); }
.header-in { gap:16px; }
.brand img { width:164px; height:auto; }
.desk-nav { min-width:0; justify-content:center; gap:0; }
.nav-link { padding:11px 8px; font-size:13px; letter-spacing:0; }
.nav-drop,.nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop { visibility:hidden; opacity:0; pointer-events:none; }
.nav-item.topen .nav-drop { visibility:visible; opacity:1; pointer-events:auto; transform:translateX(-50%); }
.nav-drop { min-width:280px; top:calc(100% + 12px); max-height:calc(100dvh - 96px); overflow-y:auto; border-radius:16px; background:#121812; }
.nav-item::after { content:""; position:absolute; top:100%; left:0; right:0; height:16px; }
.nav-drop .nav-overview { border-bottom:1px solid var(--line); border-radius:0; margin-bottom:6px; color:var(--green-hi); font-size:12px; }
.nav-drop a { border-radius:10px; }
.nav-drop small { white-space:normal; }
main [id] { scroll-margin-top:96px; }
main section[id] { scroll-margin-top:0; }
.d-heading { display:flex; align-items:center; gap:12px; }
.d-heading .d-link { min-width:0; flex:1; border-bottom:0; }
.d-group { border-bottom:1px solid var(--line); }
.d-toggle { flex:none; width:44px; height:44px; border:1px solid var(--line2); border-radius:10px; color:var(--green-hi); background:#152019; font-size:24px; cursor:pointer; }
.d-sub[hidden] { display:none!important; }
.drawer .d-sub { padding-top:0; }
.drawer .d-sub a { min-height:44px; }
.drawer .d-link { transform:none; transition:none; }
.nav-link:focus-visible,.burger:focus-visible,.d-toggle:focus-visible,a:focus-visible,button:focus-visible { outline:2px solid var(--green-hi); outline-offset:4px; }
.header-cta { flex-shrink:0; gap:8px; }
.header-cta .btn { padding:10px 18px; font-size:13px; }
.burger { min-width:44px; min-height:44px; justify-content:center; align-items:center; }
.drawer { visibility:hidden; pointer-events:none; background:#090d0a; transition:transform .35s var(--ease),visibility .35s; }
.tabs { scroll-margin-top:96px; }
body.menu-open .drawer { visibility:visible; pointer-events:auto; }
body.menu-open .site-header { z-index:96; background:#080b09; }
body.menu-open .lm-chat { visibility:hidden; }
.shead h2 { padding-right:0; }
.grid2>*,.grid3>*,.grid4>*,.grid5>*,.feat4>*,.feat-split>*,.foot-grid>*,.apanel>*,.fpanel>* { min-width:0; }
.grid3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.feat4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.grid5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.form { width:100%; }
.foot-contact a,.trust-row p,.lm-legal p { overflow-wrap:anywhere; }
.doors { width:min(var(--page-width),calc(100% - var(--page-gutter)*2)); max-width:var(--page-width); margin-inline:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.door { min-width:0; }
.door-copy { width:100%; max-width:none; padding:40px; }
.door-copy h2 { font-size:clamp(32px,3.7vw,50px); max-width:10ch; min-height:2.08em; }
.door-copy p { max-width:34ch; min-height:4.8em; }
.doors:has(.door:hover) .door-or { left:50%; }
.duel { max-width:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.duel-side { min-width:0; }
.duel-in h3 { white-space:normal; }
/* Content must remain visible when a reveal observer has not fired. */
.rv,.rv-blur,.rv-pop { opacity:1; filter:none; transform:none; }
.pwrap,.twrap { max-width:100%; overscroll-behavior-x:contain; }
@media (max-width:1350px) {
  .desk-nav { display:none; }
  .burger { display:flex; }
}
@media (max-width:1080px) {
  .grid5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feat4,.grid3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stat b { font-size:clamp(30px,5vw,52px); }
}
@media (max-width:960px) {
  .duel { grid-template-columns:1fr; min-height:0; }
  .duel-side { min-height:440px; }
  .duel-side:first-child .duel-in { padding:40px 28px 60px; }
  .duel-side:last-child .duel-in { padding:80px 28px 36px; }
  .duel-side:last-child .duel-tag { top:52px; left:28px; }
}
@media (max-width:860px) {
  .doors { grid-template-columns:1fr; min-height:0; }
  .door { min-height:400px; }
  .door-copy { padding:32px 24px; }
  .door-copy h2 { max-width:none; min-height:0; }
  .door-copy p { min-height:0; }
  .door:first-child .door-copy { padding-bottom:48px; }
  .door:last-child .door-copy { padding-top:48px; }
  .door-or { width:48px; height:48px; }
}
@media (max-width:700px) {
  .pwrap { border-radius:16px; }
  table.ptable { table-layout:fixed; width:896px; min-width:896px; }
  .ptable tr>:first-child { width:136px; }
  .ptable thead th { padding:20px 10px; }
  .ptable tbody td { padding:14px 10px; font-size:13px; }
  .ptable tbody td.lbl { white-space:normal; line-height:1.4; }
  .ptable tbody td.lbl .lic { display:none; }
  .ptable .asize { font-size:22px; }
  .ptable .badge-pop { max-width:100%; white-space:normal; font-size:9px; padding:5px 8px; }
  .ptable tfoot td,.ptable .tprice td { padding-inline:10px; }
  .ptable tfoot .btn { padding:12px; }
  .swipe-hint { margin:0 0 12px; letter-spacing:.03em; color:var(--muted); }
}
@media (max-width:640px) {
  .header-in { gap:12px; }
  .hero-doors { padding:112px 0 56px; }
  h1 { font-size:clamp(36px,10vw,56px); line-height:1.08; }
  h2 { font-size:clamp(28px,7.5vw,40px); line-height:1.12; }
  .shead { margin-bottom:32px; }
  .hero-doors .doors { margin-top:32px; }
  .hero-doors .trust-strip { gap:12px 16px; margin-top:28px; padding:20px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trust-strip span { font-size:12px; align-items:flex-start; }
  .trust-strip .ck { flex:none; }
  .grid2,.grid3,.grid4,.grid5,.feat4 { grid-template-columns:1fr; gap:20px; }
  .card,.spec,.step,.feat { padding:24px; }
  .stat-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .stat { padding:24px 12px; }
  .stat b { font-size:clamp(28px,8vw,40px); }
  .stat span.lbl,.stat>span { letter-spacing:.08em; font-size:10px; }
  .tabs { width:100%; gap:2px; padding:5px; margin-bottom:24px; }
  .tab { min-width:0; flex:1; justify-content:center; padding:12px 6px; font-size:12px; gap:4px; }
  .adetail { padding:36px 20px 24px; border-radius:20px; }
  .aspecs>div { padding:16px 12px; }
  .aspecs dt { font-size:10px; letter-spacing:.07em; }
  .aspecs dd { font-size:17px; }
  .adeposit { font-size:64px; }
  .cine-banner .copy { padding:32px 24px 6px; }
  .cine-banner .copy h2 { font-size:32px; }
  .cine-banner .copy p { font-size:16px; }
  .acct-card { padding:20px; }
  .duel-side { min-height:440px; }
  .duel-in h3 { font-size:30px; }
  .duel-specs>div { gap:12px; font-size:13px; }
  .duel-specs dt,.duel-specs dd { max-width:50%; }
  .trust-row { grid-template-columns:auto minmax(0,1fr); gap:14px; padding:20px; }
  .trust-row .trust-tick { display:none; }
  .cta-band { padding:56px 24px; border-radius:20px; }
  .cta-band .row .btn { width:100%; }
  .form { padding:28px 20px; }
  .field input,.field select,.field textarea { font-size:16px; }
  .foot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
  .foot-brand { grid-column:1/-1; }
  .foot-brand img { max-width:100%; height:auto; width:200px; }
  .site-footer { padding:56px 0 88px; }
  .foot-base { flex-direction:column; }
  .drawer { padding:92px var(--page-gutter) 32px; }
  .drawer .d-link { font-size:26px; }
  .drawer .d-sub a { padding:10px 12px; }
  .drawer-cta { flex-wrap:wrap; }
  .drawer-cta .btn { min-width:120px; padding-inline:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .drawer { transition:none; }
}
