/* Alterra VR | page-scoped «Просто игра» (standalone catalog, all breakpoints) */
:root{--pg-cyan:#46e4f3;--pg-bg:#02111e;--pg-ink:#f5faff;--pg-soft:#adcad8;--pg-line:rgba(69,219,242,.23)}
.pg-page{background:#020e19;color:var(--pg-ink)}
.pg-page section[hidden]{display:none!important}
.pg-page button,.pg-page a{-webkit-tap-highlight-color:transparent}
.pg-page button:focus-visible,.pg-page a:focus-visible{outline:3px solid #9af5ff;outline-offset:4px}
.pg-shell{width:min(1420px,calc(100% - 96px));margin-inline:auto}
.pg-kicker{display:flex;align-items:center;gap:14px;margin:0;color:var(--pg-cyan);letter-spacing:.19em;text-transform:uppercase;font-size:11px;font-weight:900}
.pg-kicker span{display:inline-block;height:2px;width:32px;flex:none;background:var(--pg-cyan)}
.pg-btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:0 28px;min-height:59px;font-size:14px;font-weight:900;border-radius:12px;border:1px solid var(--pg-cyan);transition:transform .24s,box-shadow .24s,background .24s;white-space:nowrap}
.pg-btn span{font-size:20px;font-weight:600;line-height:1}
.pg-btn-primary{background:linear-gradient(180deg,#72f0fb,#37d8e9);color:#031b28;box-shadow:0 0 36px rgba(64,230,244,.13)}
.pg-btn-outline{background:rgba(2,21,35,.63);color:#eafdff}
@media (hover:hover){.pg-btn:hover{transform:translateY(-2px)}.pg-btn-primary:hover{box-shadow:0 0 42px rgba(64,230,244,.38)}.pg-btn-outline:hover{background:rgba(37,192,212,.11)}}
/* 01 | cinematic hero */
.pg-hero{position:relative;isolation:isolate;min-height:800px;min-height:max(800px,98svh);display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 80% 40%,#073847,#02111e 69%)}
.pg-hero-visual{position:absolute;z-index:-3;inset:0;background-image:url('assets/play-hero.webp');background-position:center center;background-size:cover}
.pg-hero::before{position:absolute;content:"";inset:0;z-index:-2;background:linear-gradient(90deg,#02111efa 0%,rgba(2,17,30,.93) 21%,rgba(2,17,30,.57) 46%,rgba(2,17,30,.12) 78%),linear-gradient(0deg,#02111e 0%,transparent 23%,rgba(1,12,23,.22) 100%)}
.pg-grid-overlay{position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.19;background:linear-gradient(90deg,rgba(74,225,248,.17) 1px,transparent 1px),linear-gradient(rgba(74,225,248,.11) 1px,transparent 1px);background-size:140px 140px;mask-image:linear-gradient(90deg,#000 0%,transparent 70%)}
.pg-hero-content{position:relative;width:min(1420px,calc(100% - 96px));margin:0 auto;padding:160px 0 160px}
.pg-title-meta{margin:35px 0 17px;color:#9ebbc7;letter-spacing:.15em;font-weight:900;font-size:12px}
.pg-hero h1{max-width:900px;margin:0;text-transform:uppercase;letter-spacing:-.07em;line-height:.96;font-size:clamp(76px,7.5vw,130px);font-weight:950;color:#f4faff;text-shadow:0 6px 40px rgba(0,0,0,.22)}
.pg-hero h1 em{display:inline-block;font-style:normal;color:var(--pg-cyan);text-shadow:0 0 50px rgba(66,236,255,.14)}
.pg-hero-lead{max-width:660px;color:#d3e6ef;font-size:clamp(18px,1.55vw,21px);line-height:1.6;margin:30px 0 0;text-wrap:pretty}
.pg-hero-stats{display:flex;align-items:center;flex-wrap:wrap;gap:19px;margin:35px 0 0;color:#bed1d9;font-size:11px;letter-spacing:.07em;font-weight:850}
.pg-hero-stats b{color:#53e4f4;font-size:23px;margin-right:8px;letter-spacing:-.03em}
.pg-hero-stats i{width:1px;height:22px;background:rgba(90,218,239,.35)}
.pg-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:35px}
.pg-hero-note{max-width:620px;color:#9cb5c3;font-size:12px;line-height:1.55;margin:20px 0 0}
.pg-hero-note span{color:var(--pg-cyan);font-size:9px;margin-right:6px}
.pg-hero-bottom{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:min(1420px,calc(100% - 96px));display:flex;align-items:center;gap:16px;color:#9ab3c3;font-size:10px;letter-spacing:.17em;font-weight:850}
.pg-bottom-line{height:1px;background:linear-gradient(90deg,rgba(71,230,242,.8),transparent);flex:1}
/* 02 | library */
.pg-library{background:radial-gradient(ellipse 70% 24% at 50% 0%,rgba(22,123,162,.15),transparent 80%),#02111e;padding:102px 0 94px}
.pg-library-head{max-width:900px;margin-bottom:32px}
.pg-library h2,.pg-booking h2{font-weight:950;line-height:.99;letter-spacing:-.052em;font-size:clamp(42px,4.8vw,73px);text-transform:uppercase;margin:25px 0 18px}
.pg-library h2 em,.pg-booking h2 em{color:var(--pg-cyan);font-style:normal}
.pg-library-head>p:last-child{font-size:clamp(15px,1.28vw,18px);line-height:1.6;color:#bbd0dc;max-width:740px}
.pg-filters{display:flex;align-items:center;flex-wrap:wrap;gap:9px;position:sticky;top:0;z-index:8;border:1px solid rgba(79,206,237,.2);border-radius:16px;background:rgba(3,20,34,.95);padding:11px;box-shadow:0 16px 35px rgba(0,0,0,.2);backdrop-filter:blur(14px)}
.pg-filter{border:1px solid rgba(99,211,236,.26);background:rgba(6,31,45,.74);color:#d5e7ef;min-height:45px;padding:0 18px;border-radius:11px;font-size:13px;font-weight:850;cursor:pointer;transition:color .2s,background .2s,border-color .2s}
.pg-filter:hover{border-color:rgba(80,229,248,.63)}
.pg-filter.is-active{background:#47e3f3;border-color:#47e3f3;color:#021824}
.pg-filter small{margin-left:9px;opacity:.6;font-size:10px}
.pg-result-line{color:#829fad;margin:17px 0 0;font-size:11px;letter-spacing:.07em}
.pg-category{padding-top:67px;scroll-margin-top:92px}
.pg-category+.pg-category{margin-top:5px;border-top:1px solid rgba(62,183,213,.09)}
.pg-category-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.pg-category-header h2{font-size:clamp(35px,4.05vw,59px);margin:21px 0 12px;max-width:1100px}
.pg-category-header h2 em{white-space:normal}
.pg-category-header p:last-child{color:#a9c6d3;font-size:15px;line-height:1.5;margin:0}
.pg-category-count{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;color:rgba(77,218,239,.45);font-weight:950;font-size:54px;line-height:.9}
.pg-category-count small{font-size:11px;letter-spacing:.17em;color:#98b5c1}
.pg-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pg-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(69,207,239,.26);border-radius:20px;background:linear-gradient(165deg,rgba(9,39,57,.95),rgba(2,20,34,.94));box-shadow:0 14px 34px rgba(0,0,0,.12);transition:border-color .24s,box-shadow .24s,transform .24s}
.pg-cover-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#061d2d}
.pg-cover-wrap img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s cubic-bezier(.22,.6,.3,1)}
.pg-cover-wrap::after{position:absolute;inset:48% 0 0;content:"";background:linear-gradient(0deg,rgba(0,14,24,.55),transparent);pointer-events:none}
.pg-cover-corner{position:absolute;z-index:1;right:12px;bottom:11px;font-size:10px;font-weight:950;letter-spacing:.16em;padding:6px 7px;border:1px solid rgba(123,250,255,.33);background:rgba(0,15,26,.65);border-radius:6px;color:#82f2ff}
.pg-card-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:20px 20px 16px}
.pg-card-topline{color:#54deee;letter-spacing:.12em;font-size:9px;font-weight:900;text-transform:uppercase;display:flex;align-items:center;gap:6px;min-height:16px}
.pg-demo{color:#ffce8f;font-size:9px;border:1px solid rgba(255,197,111,.45);border-radius:4px;padding:1px 4px}
.pg-card h3{margin:12px 0 3px;font-size:clamp(17px,1.42vw,21px);font-weight:900;line-height:1.22;letter-spacing:-.025em;overflow-wrap:anywhere}
.pg-card-hook{margin:7px 0 10px;font-size:13px;font-weight:800;color:#e7faff;line-height:1.4}
.pg-description{flex:1;margin:0;color:#aec7d4;line-height:1.55;font-size:13px}
.pg-card-footer{border-top:1px solid rgba(80,216,235,.16);margin-top:20px;padding-top:11px;display:flex;align-items:center;justify-content:space-between;color:#83a7ba;text-transform:uppercase;font-weight:900;font-size:10px;letter-spacing:.09em}
.pg-card-footer>span:last-child{color:#58dfef;font-size:17px}
@media(hover:hover){.pg-card:hover{border-color:rgba(84,228,244,.62);box-shadow:0 20px 50px rgba(24,162,204,.1);transform:translateY(-3px)}.pg-card:hover img{transform:scale(1.05)}}
.pg-selection-notice{display:flex;align-items:flex-start;gap:15px;background:rgba(4,29,43,.65);padding:21px 24px;border:1px solid rgba(85,216,237,.24);border-radius:16px;margin-top:62px}
.pg-selection-icon{flex:none;width:33px;height:33px;display:grid;place-items:center;color:#67ecfb;border:1px solid rgba(81,229,243,.3);border-radius:50%;font-size:19px}
.pg-selection-notice p{margin:0;color:#a8c4d2;font-size:13px;line-height:1.7}
.pg-selection-notice b{color:#eaf9ff}
/* 03 | booking */
.pg-booking{position:relative;overflow:hidden;isolation:isolate;padding:106px 0 115px;background:#031522}
.pg-booking-glow{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 84% 52%,rgba(29,170,201,.2),transparent 48%),linear-gradient(135deg,#03111e,#062839 71%,#03111e)}
.pg-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(36px,6vw,100px);align-items:center}
.pg-booking h2{max-width:790px}
.pg-booking-lead{max-width:680px;font-size:clamp(16px,1.45vw,19px);line-height:1.65;color:#bdd2dd}
.pg-booking-actions{display:flex;flex-wrap:wrap;gap:14px;margin:29px 0 0}
.pg-booking-caption{color:#8eacbd;font-size:12px;line-height:1.55;margin-top:20px}
.pg-booking-graphic{min-width:0;aspect-ratio:1.15;display:flex;align-items:center;justify-content:center}
.pg-booking-graphic-inner{position:relative;width:100%;height:85%;background:radial-gradient(circle,rgba(42,185,225,.19),transparent 65%);border-radius:22px}
.pg-booking-graphic-inner img{position:absolute;object-fit:cover;aspect-ratio:16/9;width:67%;height:auto;border:1px solid rgba(83,222,242,.46);border-radius:14px;box-shadow:0 16px 38px rgba(0,0,0,.38)}
.pg-booking-graphic-inner img:first-child{left:2%;top:1%;transform:rotate(-9deg)}
.pg-booking-graphic-inner img:nth-child(2){right:0;top:18%;transform:rotate(7deg)}
.pg-booking-graphic-inner img:nth-child(3){left:12%;bottom:4%;transform:rotate(-2deg)}
.pg-booking-signal{position:absolute;left:40%;bottom:8%;z-index:2;display:flex;flex-direction:column;gap:8px;background:rgba(3,23,37,.94);border:1px solid rgba(76,232,248,.44);padding:18px 25px;border-radius:14px;box-shadow:0 15px 40px rgba(0,0,0,.3)}
.pg-booking-signal span{font-size:10px;font-weight:900;letter-spacing:.17em;color:#5ce6f3}
.pg-booking-signal b{font-size:19px;line-height:1.13}
/* footer */
.pg-footer{background:#020d17;border-top:1px solid rgba(70,196,223,.22);padding:35px 0}
.pg-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.pg-footer-meta,.pg-footer-links{display:flex;gap:15px;flex-direction:column;color:#9db7c5;font-size:12px}
.pg-footer-links a{color:#6be9f3}
/* responsiveness */
@media(max-width:1199px){.pg-shell,.pg-hero-content,.pg-hero-bottom{width:calc(100% - 72px)}.pg-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-hero h1{font-size:clamp(66px,7vw,106px)}.pg-hero{min-height:730px}}
@media(max-width:900px){.pg-hero{min-height:0;align-items:flex-end}.pg-hero-visual{background-position:68% top;background-size:auto 61%,cover;background-repeat:no-repeat}.pg-hero::before{background:linear-gradient(0deg,#02111e 0%,rgba(2,17,30,.9) 45%,rgba(2,17,30,.12) 77%),linear-gradient(90deg,#02111e,transparent 60%)}.pg-hero-content{padding:320px 0 91px}.pg-hero h1{font-size:clamp(58px,9vw,89px)}.pg-hero-lead{max-width:630px}.pg-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pg-card-body{padding:15px}.pg-booking-layout{grid-template-columns:1fr}.pg-booking-graphic{max-width:580px;justify-self:center;width:100%;aspect-ratio:1.5}.pg-footer-inner{align-items:flex-start}}
@media(max-width:700px){.pg-shell,.pg-hero-content,.pg-hero-bottom{width:calc(100% - 34px)}.pg-hero-content{padding:270px 0 80px}.pg-hero h1{font-size:clamp(47px,10.5vw,76px)}.pg-title-meta{font-size:10px;margin:21px 0 12px}.pg-hero-lead{font-size:15px;margin-top:20px}.pg-hero-stats{gap:12px;font-size:10px;margin-top:24px}.pg-hero-stats b{font-size:17px}.pg-hero-stats i{height:18px}.pg-hero-actions{margin-top:24px}.pg-btn{min-height:52px;font-size:13px;padding:0 17px}.pg-hero-note{font-size:11px}.pg-hero-bottom span:last-child{display:none}.pg-library{padding:73px 0}.pg-library h2,.pg-booking h2{font-size:clamp(38px,8.3vw,55px)}.pg-filters{flex-wrap:nowrap;overflow-x:auto;gap:7px;scrollbar-width:none;border-radius:12px;padding:7px;top:0;margin-inline:-2px}.pg-filters::-webkit-scrollbar{display:none}.pg-filter{flex:0 0 auto;min-height:39px;padding:0 12px;font-size:12px}.pg-category{padding-top:55px}.pg-category-header{align-items:flex-start}.pg-category-header h2{font-size:clamp(31px,7vw,43px)}.pg-category-header p:last-child{font-size:13px}.pg-category-count{font-size:35px;padding-top:24px}.pg-category-count small{font-size:9px}.pg-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.pg-card{border-radius:13px}.pg-card-body{padding:13px 11px 11px}.pg-card h3{font-size:16px;line-height:1.2}.pg-card-hook{font-size:12px}.pg-description{font-size:12px;line-height:1.4}.pg-card-footer{margin-top:11px}.pg-cover-corner{right:7px;bottom:7px;padding:4px;font-size:8px}.pg-booking{padding:75px 0}.pg-booking-layout{gap:28px}.pg-booking-graphic{aspect-ratio:1.2}.pg-footer{padding:30px 0}.pg-footer-inner{gap:20px}.pg-footer-meta{flex:1 1 100%}}
@media(max-width:390px){.pg-hero-content{padding-top:252px}.pg-hero-visual{background-size:auto 52%,cover;background-position:64% top}.pg-hero h1{font-size:clamp(39px,11.2vw,46px)}.pg-hero-stats i{display:none}.pg-hero-stats{gap:8px 13px}.pg-hero-actions .pg-btn{width:100%}.pg-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pg-card h3{font-size:14px}.pg-card-body{padding:11px 9px}.pg-description{font-size:11px}.pg-card-topline{font-size:8px}.pg-category-header h2{font-size:31px}.pg-category-count{font-size:29px}}
@media(max-width:345px){.pg-card-grid{grid-template-columns:1fr}.pg-card-body{padding:15px}.pg-card h3{font-size:19px}.pg-card-hook{font-size:13px}.pg-description{font-size:13px}.pg-booking-graphic{display:none}.pg-hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.pg-btn,.pg-card,.pg-cover-wrap img,.pg-filter{transition:none!important;transform:none!important}}
