.burger{display:none}

@media (max-width:900px){

  .burger{display:flex;align-items:center;justify-content:center;
    width:46px;height:46px;padding:0;background:none;border:0;cursor:pointer;
    margin-left:4px;z-index:1001;color:var(--text,#e8e6e1)}
  .burger svg,.burger img{display:block;flex:0 0 auto;width:var(--mi-glyph);height:var(--mi-glyph);
    transition:transform .35s cubic-bezier(.16,1,.3,1)}
  .burger:active svg{transform:scale(.9)}
  .burger.x{color:var(--accent,#fe7200)}

  .site-nav{position:fixed;top:0;right:0;bottom:0;height:100dvh;
    width:min(82vw,340px);z-index:1000;
    display:flex;flex-direction:column;justify-content:flex-start;gap:2px;
    padding:calc(74px + env(safe-area-inset-top,0px)) 22px
            calc(26px + env(safe-area-inset-bottom,0px));
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    background:#0c0c0e;

    border-left:1px solid var(--line-strong);
    transform:translateX(102%);transition:transform .42s cubic-bezier(.16,1,.3,1)}
  @supports (backdrop-filter: blur(14px)){
    .site-nav{background:rgba(10,10,11,.94);backdrop-filter:blur(16px)}
  }
  .site-nav.open{transform:none;box-shadow:-40px 0 90px rgba(0,0,0,.6)}
  .site-nav a{flex:0 0 auto;padding:15px 14px;font-size:16px;font-family:var(--disp);
    letter-spacing:1.2px;text-transform:uppercase;border:0;border-radius:10px;
    border-bottom:1px solid var(--line-soft)}
  .site-nav a:active{background:rgba(255,106,0,.12);color:var(--accent)}
  body.nav-lock{overflow:hidden}

  .site-top .navlink{font-size:10px;padding:8px 4px}
  .site-top .wrap{gap:10px;padding:0 14px}

  .hero{height:min(64vh,520px);min-height:300px;
    background:linear-gradient(135deg,#141416,#0a0a0b)}
  .hero h1{font-size:clamp(30px,9vw,46px)}
  .hero-cta .btn{width:100%;text-align:center;padding:15px 20px}

  .hero-cta{flex-direction:column;width:100%;max-width:420px}

  .pgrid,.instr-grid{grid-template-columns:1fr 1fr;gap:12px}

  .pcat-row{position:relative}
  .pcat-row::after{content:'';position:absolute;top:34px;right:0;bottom:0;width:36px;
    background:linear-gradient(90deg,transparent,var(--bg));pointer-events:none}
  .rev-grid{grid-template-columns:1fr}
  .cat-filter{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;
    -webkit-overflow-scrolling:touch;padding-bottom:6px}
  .cat-filter::-webkit-scrollbar{display:none}
  .cat-chip{flex:0 0 auto;padding:11px 16px}

  .item-page{padding:0}
  .item-modal-inner{min-height:100vh;min-height:100dvh;padding:18px 16px 40px;
    padding-top:calc(18px + env(safe-area-inset-top))}
  .item-back{padding:12px 0;font-size:13px}
  .ih-gallery .g{width:60px;height:46px}
  .ih-actions .btn{flex:1;text-align:center;padding:14px}

  .vmodal-card{width:100%;max-width:100%;max-height:100vh;max-height:100dvh;border:0}

  .vmodal .vmodal-card:not(.wform-card){width:100%;max-width:100%}
  .vmodal .vmodal-card.vertical{max-width:100%}
  .vmodal{width:100%}
  .vmodal-card .vplayer,.vmodal-card .rdp,.vmodal-card .rdp video,.vmodal-card iframe{max-width:100%}
  .vmodal-x{top:calc(10px + env(safe-area-inset-top));right:14px;z-index:5;
    background:rgba(10,10,11,.7);padding:10px 14px;font-size:14px}

  .bigmap{height:70vh}

  .map-legend{left:12px;right:12px;top:12px;bottom:auto;max-width:none;padding:12px 14px}
  .contacts-strip .in{grid-template-columns:1fr;gap:18px;padding:26px 18px}
  .about-hero{padding:56px 18px 40px}

  input,select,textarea{font-size:16px;padding:12px}
  .rowf{flex-direction:column;gap:0}

  .b2d-layout{grid-template-columns:1fr !important;display:grid}
  .slot-dot{width:26px !important;height:26px !important;margin:-13px 0 0 -13px !important}

}

@media (max-width:520px){

  .instr-grid{grid-template-columns:1fr}
  .sec-head h2{font-size:22px}
}

@media (max-width:900px){
  .sec-head{margin-left:18px;margin-right:18px}

  .pcat-head{margin-left:18px;margin-right:18px}

  .cat-filter{padding-left:18px;padding-right:18px}

  .pcat-row::after{right:0}
}

@media (hover:none){
  .pcard:hover .pc-media img,.pcard:hover .pc-media video,
  .vcard:hover .vthumb img,.ncard:hover .nthumb img,
  .feat-card:hover .fc-media img,.feat-card:hover .fc-media video{transform:none}
  .pcard::before,.vcard::before,.ncard::before{display:none}
  .harrow,.hs-nav{display:none}

  .pcard,.vcard,.ncard,.feat-card{ touch-action:manipulation }
  .pcard:active .pc-media img,.pcard:active .pc-media video,
  .vcard:active .vthumb img,.ncard:active .nthumb img,
  .feat-card:active .fc-media img,.feat-card:active .fc-media video{ transform:none }
  .pc-media img,.pc-media video,.vthumb img,.nthumb img,
  .fc-media img,.fc-media video,.fc-media .pc-hover{
    transition:none; will-change:auto }
}

.pc-media img,.pc-media video,.vthumb img,.nthumb img{
  -webkit-user-drag:none;
  -webkit-user-select:none; user-select:none;
}

html.pwa body{padding-bottom:env(safe-area-inset-bottom)}
html.pwa .site-top{height:auto;padding-top:env(safe-area-inset-top)}

html.pwa .site-nav{padding-top:calc(74px + env(safe-area-inset-top,0px))}

html.pwa #vmodal.stage .vmodal-card{--sh-safe:calc(env(safe-area-inset-bottom) / 2)}

.site-top, #b2d .site-top, .top{
  padding-top: env(safe-area-inset-top);
  background: rgba(10,10,11,.96) !important;
}
html{ background: #0a0a0b }
body{ overscroll-behavior-y: none }
@media (max-width:900px){

  .site-nav{ padding-top: calc(90px + env(safe-area-inset-top)) }
}

@media (max-width:900px){
  .site-top .logo, .top .brand{ font-size:13px; letter-spacing:1.5px; gap:6px }
  .site-top .logo .m, .top .brand .m{ width:7px; height:15px }

}
@media (max-width:400px){
  .site-top .logo, .top .brand{ font-size:11.5px; letter-spacing:1px; gap:5px }
}

@media (max-width:860px){
  #b2d{ grid-template-rows:auto 1fr; height:100dvh }
  .b2d-stage{ grid-template-columns:1fr !important;
    grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden }

  .b2d-rail{ border-right:0; border-bottom:1px solid var(--line);
    padding:6px 10px; overflow:visible }
  .b2d-rail h4{ display:none }
  .wpick{ display:flex; gap:6px; overflow-x:auto; padding:0;
    scrollbar-width:none; -webkit-overflow-scrolling:touch }
  .wpick::-webkit-scrollbar{ display:none }
  .wbtn{ flex:0 0 auto; width:auto; margin:0; padding:7px 14px; white-space:nowrap; font-size:12px }

  .b2d-canvas{ min-height:0; position:relative;
    display:flex; align-items:center; justify-content:center }
  .scene{ max-width:96%; max-height:100% }
  .scene img.base{ max-height:56vh }
  .b2d-hint{ display:none }

  body.has-sum .b2d-panel{
    padding-bottom:calc(64px + env(safe-area-inset-bottom,0px)) }
  body.has-sum{ padding-bottom:0 }

  .b2d-panel{ border-left:0; border-top:1px solid var(--line);
    max-height:none; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)) }
  #panel-title{ font-size:10px; margin-bottom:8px }
  #mod-list{ display:flex; gap:8px; overflow-x:auto; padding-bottom:4px;
    scrollbar-width:none; -webkit-overflow-scrolling:touch }
  #mod-list::-webkit-scrollbar{ display:none }
  #mod-list .slot-empty{ flex:0 0 auto }
  .mod-card{ flex:0 0 108px; margin-bottom:0; padding:10px 8px;
    flex-direction:column; text-align:center; gap:8px }
  .mod-card img{ width:100%; height:60px }
  .slot-dot{ width:32px; height:32px; margin:-16px 0 0 -16px }

  #b2d .site-top .navlink{ font-size:10px }
  #b2d #b2d-name{ display:none }
}

@media (max-width:860px){
  #app{ height:100dvh }
}

@media (max-width:900px){
  .vmodal-x,.nm-x{
    position:fixed;left:auto;right:12px;
    top:calc(env(safe-area-inset-top,0px) + 12px);
    z-index:20;width:42px;height:42px;padding:0;border-radius:50%;
    background:rgba(10,10,11,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.18);color:#fff;

    letter-spacing:0;text-indent:0;line-height:1;
    font-size:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
  .vmodal-x::before,.nm-x::before,
  .vmodal-x::after, .nm-x::after{
    content:'';position:absolute;left:50%;top:50%;
    width:15px;height:1.6px;background:currentColor;border-radius:2px;
    transform:translate(-50%,-50%) rotate(45deg)}
  .vmodal-x::after,.nm-x::after{transform:translate(-50%,-50%) rotate(-45deg)}
  .vmodal-card{padding-top:calc(env(safe-area-inset-top,0px) + 8px)}

  .nm-inner{padding-top:calc(env(safe-area-inset-top,0px) + 78px)}
}

@media (max-width:900px){
  .site-top{margin-bottom:0}
  .hero{margin-top:0}
  .hero .hero-media{background:#000}
  .hero .hs-slide{background-color:#000}
}

@media (max-width:900px){
  .vgrid, .ngrid, .pgrid, .feat-grid{
    display:flex;
    grid-template-columns:none;
    overflow-x:auto;

    scroll-snap-type:x mandatory;
    touch-action:pan-x pan-y;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    gap:12px;
    padding-bottom:10px;
    scrollbar-width:none;
    scroll-padding-left:14px;
  }
  .vgrid::-webkit-scrollbar, .ngrid::-webkit-scrollbar,
  .pgrid::-webkit-scrollbar, .feat-grid::-webkit-scrollbar{display:none}
  .vgrid > *, .ngrid > *, .pgrid > *, .feat-grid > *{
    flex:0 0 78%;
    max-width:78%;
    scroll-snap-align:start;
  }

  .feat-grid > *{flex:0 0 66%;max-width:66%}
  .feat-grid .fc-name{font-size:15px;line-height:1.2}
  .feat-grid .fc-sub{font-size:11.5px}
  .feat-grid .fc-body{padding:14px}

  .pgrid > *{flex:0 0 62%;max-width:62%}
  .pgrid .pc-name{font-size:14.5px;line-height:1.25}
  .pgrid .pc-sub{font-size:12px}

  .vgrid .reveal, .ngrid .reveal, .pgrid .reveal, .feat-grid .reveal{
    opacity:1 !important;transform:none !important;transition:none !important}
  .vgrid img, .ngrid img, .pgrid img, .feat-grid img{
    -webkit-user-drag:none;user-select:none}

}

@media (max-width:900px){
  .vmodal-card{
    max-height:100dvh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-bottom:calc(env(safe-area-inset-bottom,0px) + 28px);
  }
  .wform{padding-bottom:8px}

  .vmodal-card .vplayer,.vmodal-card .rdp{
    max-height:calc(100dvh - 150px);
  }
  .vmodal-card .rdp video{object-fit:contain;max-height:calc(100dvh - 150px)}

  .vmodal-card.vertical{width:100%;max-width:100%;max-height:100dvh;
    background:#000;border:0;padding:0}
  .vmodal-card.vertical .vmodal-x{top:calc(8px + env(safe-area-inset-top,0px));
    right:12px;z-index:40;position:fixed}
  .vmodal-card.vertical .rdp,
  .vmodal-card .rdp.rdp-vertical{
    height:calc(100dvh - 52px);
    max-height:none;
    aspect-ratio:9/16;
    width:auto;
    max-width:100vw;
    margin:0 auto;
  }
  .vmodal-card.vertical .rdp video{max-height:100%;height:100%}
  .vmodal-card.vertical .vm-meta,.vmodal-card.vertical #vm-meta{padding:6px 12px;font-size:12px}
}

@media (hover:none){

  input,select,textarea{font-size:16px !important}

  .btn,.navlink,.more,.more-cat{min-height:44px;display:inline-flex;
    align-items:center;justify-content:center}
}

@media (display-mode: standalone){

  .site-top{height:auto;padding-top:env(safe-area-inset-top)}
  .site-nav{padding-top:calc(74px + env(safe-area-inset-top,0px))}
}

@media (max-width:900px){
  .vmodal-x{top:calc(8px + env(safe-area-inset-top,0px))}
}

@media (max-width:700px){

  .site-top .wrap,.top,.top .wrap{
    display:flex;align-items:center;gap:8px;
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
    max-width:100vw;overflow:hidden}
  .top .seg{flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
  .top .seg::-webkit-scrollbar{display:none}

  .conf-actions,.b2d-actions{display:flex;gap:8px;align-items:center}
  .conf-actions .btn,.b2d-actions .btn{flex:1 1 0;min-width:0;white-space:nowrap}
}

@media (hover:none){
  .pcard,.vcard,.ncard,.sitem,.feat-card{
    -webkit-user-select:none;user-select:none;
    -webkit-touch-callout:none;
    -webkit-user-drag:none}
  .pcard *,.vcard *,.ncard *,.sitem *,.feat-card *{
    -webkit-user-drag:none;-webkit-touch-callout:none}
}

.burger img{width:var(--mi-glyph);height:var(--mi-glyph);object-fit:contain}
.burger svg{width:var(--mi-glyph);height:var(--mi-glyph)}

@media (max-width:900px){

  body{ overflow-x:clip; max-width:100% }

  .site-top{ backdrop-filter:none; -webkit-backdrop-filter:none;
             background:#0d0d0e }
}

@media (max-width:900px){
  .shorts{ position:static; border-left:0; border-right:0 }
  .shorts-list{
    max-height:none; overflow-y:visible;
    display:flex; gap:10px; overflow-x:auto; padding:10px 12px;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain; scrollbar-width:none }
  .shorts-list::-webkit-scrollbar{ display:none }
  .sitem{ flex:0 0 118px; max-width:118px; flex-direction:column; gap:8px;
    padding:0; border-bottom:0; scroll-snap-align:start }
  .sthumb{ width:118px; height:184px }
  .sitem .stitle{ font-size:12px; line-height:1.25;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden }
  .sitem .sviews{ font-size:10.5px }
}

@media (max-width:640px){

  .account-tabs{display:flex;flex-wrap:nowrap;gap:5px;margin-bottom:18px;
    align-items:stretch;overflow:visible}

  .account-tabs button{flex:1 1 0;min-width:0;padding:9px 4px;font-size:9.5px;
    letter-spacing:.6px;line-height:1.25;text-align:center;
    display:flex;align-items:center;justify-content:center;

    overflow-wrap:normal;word-break:normal;hyphens:none}
  .account-tabs button.on{box-shadow:none}

  .account-wrap{padding:32px 14px 48px}
}
@media (max-width:380px){

  .account-tabs button{font-size:8.5px;letter-spacing:0;padding:8px 5px}
}

.site-nav .soc-in-nav{margin:auto 0 4px;padding-top:18px;width:100%;flex:0 0 auto;
  border-top:1px solid var(--line,#26262b)}
.site-nav .soc-in-nav .soc-row{justify-content:center;gap:12px;flex-wrap:wrap}

.site-nav .soc-in-nav .soc{
  width:var(--soc-size,44px);height:var(--soc-size,44px);
  min-width:44px;min-height:44px;box-sizing:border-box;
  padding:0;border-radius:50%;
  border:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);
  font-size:0;letter-spacing:0;text-transform:none;
  display:flex;align-items:center;justify-content:center}
.site-nav .soc-in-nav .soc::after{content:none;display:none}
.site-nav .soc-in-nav .soc:active{background:var(--panel-2);color:var(--accent)}
.site-nav .soc-in-nav .soc img{width:100%;height:100%;object-fit:contain;
  padding:22%;box-sizing:border-box;display:block}
.site-nav .soc-in-nav .soc.soc-cover{border-color:transparent;background:none}
.site-nav .soc-in-nav .soc.soc-cover img{object-fit:cover;padding:0}
