/* Кейс GeoProfit — оформление. Подключается только на странице кейса. Префикс gp-. Сцена макета — 1920 */

@font-face{font-family:'GP Play';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/play-cyrillic-400-normal.woff2) format('woff2');
unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GP Play';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/play-latin-400-normal.woff2) format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GP Play';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/play-cyrillic-700-normal.woff2) format('woff2');
unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GP Play';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/play-latin-700-normal.woff2) format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Lato: латиница — Lato, кириллица — Carlito (на основе Lato) */
@font-face{font-family:'GP Lato';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/carlito-cyrillic-400-normal.woff2) format('woff2');
unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GP Lato';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/lato-latin-400-normal.woff2) format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GP Lato';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/carlito-cyrillic-700-normal.woff2) format('woff2');
unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GP Lato';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/lato-latin-700-normal.woff2) format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

.gp{
--lime:#d3ff57; --blue:#4554e5; --dk:#0f1428; --dk2:#111832; --ink:#1c1c20; --ln:#3a415a;
--u:calc(min(var(--cw,100vw),1920px)/1920);
--gut:max(0px,(var(--cw,100vw) - 1920*var(--u))/2);
position:relative;background:var(--dk);color:#fff;
font-family:'GP Lato','Lato',var(--font,'Inter'),system-ui,sans-serif;font-weight:400;
-webkit-font-smoothing:antialiased;overflow:hidden;isolation:isolate}
.gp :where(p,h2,ul,li){margin:0;padding:0}
.gp :where(ul){list-style:none}
.gp :where(button){font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
.gp :where(img){display:block;width:100%;height:100%;max-width:none}
.gp :where(i,em,b){font-style:normal}

.gp-st{position:relative;width:calc(1920*var(--u));margin:0 auto}
.gp-b{position:relative;height:calc(var(--h)*var(--u));isolation:isolate;overflow-x:visible;overflow-y:clip}
.gp-b::before{content:'';position:absolute;top:0;bottom:0;left:-100vmax;right:-100vmax;background:var(--bg,#0f1428);z-index:-1}
.gp-b--ad{--bg:#111832}
.gp-i{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u))}
.gp-i[style*="--w"]{width:calc(var(--w)*var(--u))}
.gp-i[style*="--h"]{height:calc(var(--h)*var(--u))}
.gp-k{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));height:calc(var(--h)*var(--u))}

/* заголовки секций и линия-стрелка */
.gp-ttl{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));text-align:center;white-space:nowrap;
font:700 calc(21*var(--u))/calc(24*var(--u)) 'GP Play',system-ui,sans-serif;text-transform:uppercase;letter-spacing:0;z-index:4}
.gp-vl{position:absolute;left:calc(var(--x)*var(--u) - 3.68*var(--u));top:calc(var(--y)*var(--u));width:calc(7.36*var(--u));height:calc(45.5*var(--u));pointer-events:none;transform-origin:50% 0;z-index:4}
.gp-vl img{position:absolute;left:0;top:0;width:calc(45.5*var(--u));height:calc(7.36*var(--u));transform-origin:0 0;transform:translateX(calc(7.36*var(--u))) rotate(90deg)}
.gp-dust{mix-blend-mode:color-dodge;opacity:.15;pointer-events:none;transform:rotate(var(--rot,180deg))}

/* кнопки макета */
.gp-btn{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));height:calc(var(--h)*var(--u));
display:flex;align-items:center;justify-content:center;padding-top:calc(2*var(--u));box-sizing:border-box;border-radius:calc(5*var(--u));
background:var(--lime);color:var(--ink);font:700 calc(18*var(--u))/1 'GP Play',system-ui,sans-serif;text-transform:uppercase;white-space:nowrap;user-select:none;
box-shadow:0 calc(3*var(--u)) 0 #94b92b,inset 0 calc(2*var(--u)) calc(1*var(--u)) #e5ff9b;transition:box-shadow .25s,filter .25s}
.gp-btn:hover{filter:brightness(1.07);box-shadow:0 calc(5*var(--u)) 0 #94b92b,inset 0 calc(2*var(--u)) calc(1*var(--u)) #e5ff9b}
.gp-btn--v{background:#4553e5;color:#fff;box-shadow:0 calc(3*var(--u)) 0 #2d3ac3,inset 0 calc(2*var(--u)) calc(1*var(--u)) #5867ff}
.gp-btn--v:hover{box-shadow:0 calc(5*var(--u)) 0 #2d3ac3,inset 0 calc(2*var(--u)) calc(1*var(--u)) #5867ff}

/* посимвольное появление */
.gp .gp-c{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.gp .gp-c__i{display:inline-block;will-change:transform}

/* ---------- 01 первый экран ---------- */
.gp-hbg{z-index:0}
.gp-ov{position:absolute;pointer-events:none}
.gp-ov--l{left:calc(142*var(--u));top:calc(674*var(--u));width:calc(1778*var(--u));height:calc(573*var(--u));background:linear-gradient(180deg,rgba(15,20,40,0) 0,#0f1428 35.95%)}
.gp-ov--e{left:calc(-142*var(--u));top:calc(-715*var(--u));width:calc(2204*var(--u));height:calc(2204*var(--u));border-radius:50%;
background:radial-gradient(circle calc(1328*var(--u)) at 50% 50%,rgba(15,20,40,0),#0f1428)}
.gp-tags{position:absolute;left:0;top:calc(90*var(--u));width:100%;height:calc(16*var(--u));z-index:4}
.gp-tags li{position:absolute;left:calc(var(--x)*var(--u));top:0;font:700 calc(14*var(--u))/calc(16*var(--u)) 'GP Play',system-ui,sans-serif;text-transform:uppercase;white-space:nowrap}
.gp-tags .gp-tags__r{left:auto;right:calc(var(--r)*var(--u))}
.gp-scene{z-index:3}
.gp-card{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:calc(50*var(--u));overflow:hidden;transform:translateZ(0)}
.gp-card::after{content:'';position:absolute;inset:0;border:calc(5*var(--u)) solid var(--dk2);border-radius:inherit;pointer-events:none}
.gp-scene>p,.gp-scene>h2{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));white-space:nowrap}
.gp-sub{font:400 calc(19.8*var(--u))/calc(26*var(--u)) 'GP Lato',sans-serif}
.gp-h1{font:700 calc(96*var(--u))/calc(100*var(--u)) 'GP Play',system-ui,sans-serif;text-transform:uppercase;letter-spacing:0}
.gp-h1 .gp-l{display:block}
.gp-a{color:var(--blue)}
.gp-n60{font:700 calc(96*var(--u))/calc(96*var(--u)) 'GP Lato',sans-serif;color:var(--lime)}
.gp-cap{font:700 calc(34.8*var(--u))/calc(43*var(--u)) 'GP Play',system-ui,sans-serif}
.gp-cap span{color:var(--blue)}
.gp-acc{display:flex;align-items:baseline;font:400 calc(20*var(--u))/calc(26*var(--u)) 'GP Lato',sans-serif}
.gp-acc i{color:var(--lime);margin:0 calc(9*var(--u)) 0 calc(8*var(--u))}

/* ---------- 02 типографика и цвета ---------- */
.gp-ghost{margin:0;color:#111832;text-align:center;white-space:nowrap;pointer-events:none;font-weight:700}
.gp-ghost--play{font-family:'GP Play',system-ui,sans-serif;font-size:calc(250*var(--u));line-height:calc(289*var(--u))}
.gp-ghost--lato{font-family:'GP Lato',sans-serif;font-size:calc(228*var(--u));line-height:calc(274*var(--u))}
.gp-spec{white-space:nowrap}
.gp-spec__l{display:block;font:400 calc(21*var(--u))/calc(24*var(--u)) 'GP Play',system-ui,sans-serif;color:var(--lime)}
.gp-spec__p{display:block;margin-top:calc(6*var(--u));font:700 calc(96*var(--u))/calc(111*var(--u)) 'GP Play',system-ui,sans-serif;color:#fefefe}
.gp-spec--lato .gp-spec__l{font:400 calc(23*var(--u))/calc(25*var(--u)) 'GP Lato',sans-serif}
.gp-spec--lato .gp-spec__p{margin-top:0;font:700 calc(96*var(--u))/calc(115*var(--u)) 'GP Lato',sans-serif}
.gp-sw{display:block;cursor:copy;border-radius:calc(2*var(--u))}
.gp-sw__t{position:absolute;left:0;top:0;width:100%;display:block;height:calc(24*var(--u));text-align:center;font:400 calc(16*var(--u))/calc(24*var(--u)) 'GP Play',system-ui,sans-serif;color:#fff}
.gp-sw__b{position:absolute;left:0;top:calc(50*var(--u));width:100%;height:calc(60*var(--u));display:block}
.gp-sw__b i{display:block;height:calc(15*var(--u))}
.gp-sw:is(:hover,:focus-visible) .gp-sw__b{filter:brightness(1.18)}
.gp-sw:focus-visible{outline:2px solid var(--lime);outline-offset:4px}

/* ---------- 03 сетка и страница ---------- */
.gp-b--pg::after{content:'';position:absolute;left:-100vmax;right:-100vmax;top:0;height:calc(1093*var(--u));background:#111832;z-index:-1}
.gp-gl{white-space:nowrap;text-transform:uppercase;font:700 calc(16*var(--u))/calc(19*var(--u)) 'GP Play',system-ui,sans-serif;color:#fff}
.gp-gl--c{text-align:center}
.gp-gh{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));height:max(1px,calc(1*var(--u)));background:var(--ln);transform-origin:0 50%}
.gp-gc{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));height:calc(var(--h)*var(--u));box-sizing:border-box;
background:#121935;border-left:max(1px,calc(1*var(--u))) solid var(--ln);border-right:max(1px,calc(1*var(--u))) solid var(--ln);transform-origin:50% 0}
.gp-pg{z-index:1}
.gp-pop{z-index:3;filter:drop-shadow(0 calc(40*var(--u)) calc(50*var(--u)) rgba(13,19,43,.3))}

/* ---------- 04 адаптив ---------- */
.gp-man{z-index:0;overflow:hidden}
.gp-strip{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.gp-win{overflow:hidden;background:#111832;transform:translateZ(0);--bc:#111832}
.gp-win::after{content:'';position:absolute;inset:0;border:calc(5*var(--u)) solid var(--bc);border-radius:inherit;pointer-events:none;z-index:2}
.gp-win__p{position:absolute;left:0;top:calc(var(--off)*var(--u));width:100%;height:calc(var(--ph)*var(--u));will-change:transform}
.gp-win--ph{border-radius:calc(30*var(--u));--bc:#172147}
.gp-win--tb{border-radius:calc(50*var(--u))}
.gp-win--s[data-gp-op="0.2"]{opacity:.2}

/* ---------- 05 UI/UX ---------- */
.gp-ov--t{left:0;top:calc(909*var(--u));width:calc(1920*var(--u));height:calc(501*var(--u));background:linear-gradient(180deg,#0f1429 0,rgba(19,25,52,0) 100%)}
.gp-logo{opacity:.3;pointer-events:none}
.gp-burger{display:block}
.gp-burger i{position:absolute;left:0;width:100%;height:calc(3*var(--u));border-radius:calc(2*var(--u));background:var(--lime)}
.gp-burger i:nth-child(1){top:0}
.gp-burger i:nth-child(2){top:calc(18*var(--u))}
.gp-burger i:nth-child(3){top:calc(36*var(--u))}
.gp-form{border-radius:calc(10*var(--u));overflow:hidden;transform:translateZ(0)}
.gp-fh{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));text-align:center;
font:700 calc(30*var(--u))/calc(35*var(--u)) 'GP Play',system-ui,sans-serif;color:#fff}
.gp-fh span{color:var(--lime)}
.gp-fi{box-sizing:border-box;padding-left:calc(20*var(--u));border-radius:calc(10*var(--u));background:#fff;color:#8b8da0;
font:400 calc(17.6*var(--u))/calc(50*var(--u)) 'GP Lato',sans-serif;white-space:nowrap}
.gp-fc{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));text-align:center;
font:400 calc(13.2*var(--u))/calc(16*var(--u)) 'GP Lato',sans-serif;color:var(--ink)}
.gp-free{pointer-events:none}
.gp-free img{position:absolute;left:calc(53*var(--u));top:calc(10*var(--u));width:calc(46*var(--u));height:calc(42*var(--u))}
.gp-free p{position:absolute;right:calc(4*var(--u));top:0;text-align:right;white-space:nowrap;font:700 calc(19.8*var(--u))/calc(22*var(--u)) 'GP Lato',sans-serif;color:#fbfbfb}
.gp-free p span{color:var(--lime);text-transform:uppercase}
.gp-vid{border-radius:calc(20*var(--u));overflow:hidden;transform:translateZ(0)}
.gp-vid::after{content:'';position:absolute;inset:0;border:calc(5*var(--u)) solid var(--dk2);border-radius:inherit;pointer-events:none}
.gp-vid__i{position:absolute;left:calc(-67*var(--u));top:0;width:calc(750*var(--u));height:calc(377*var(--u))}
.gp-play{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(180*var(--u));height:calc(180*var(--u))}
.gp-play b,.gp-play s{position:absolute;border-radius:50%;box-sizing:border-box;text-decoration:none}
.gp-play b:nth-child(1){left:0;top:0;width:100%;height:100%;border:calc(2*var(--u)) solid rgba(255,255,255,.1)}
.gp-play b:nth-child(2){left:calc(24*var(--u));top:calc(24*var(--u));width:calc(131*var(--u));height:calc(131*var(--u));border:calc(2*var(--u)) solid rgba(255,255,255,.4)}
.gp-play b:nth-child(3){left:calc(42*var(--u));top:calc(42*var(--u));width:calc(95*var(--u));height:calc(95*var(--u));background:rgba(88,103,255,.4)}
.gp-play b:nth-child(4){left:calc(58*var(--u));top:calc(58*var(--u));width:calc(64*var(--u));height:calc(64*var(--u));background:#4553e5;
box-shadow:0 calc(3*var(--u)) 0 #2d3ac3,inset 0 calc(2*var(--u)) calc(1*var(--u)) #5867ff}
.gp-play s{left:calc(77*var(--u));top:calc(76*var(--u));width:calc(27*var(--u));height:calc(28*var(--u));border-radius:0;background:#fff;clip-path:polygon(0 4%,92% 50%,0 96%)}
@keyframes gp-ring{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.07);opacity:.55}}
.gp-play b:nth-child(1){animation:gp-ring 3.4s ease-in-out infinite}
.gp-play b:nth-child(2){animation:gp-ring 3.4s ease-in-out .5s infinite}

/* копирование цвета */
.gp-toast{position:fixed;left:50%;bottom:28px;z-index:50;padding:12px 20px;border-radius:12px;background:var(--dk2);color:#fff;font:400 14px/1.3 'GP Lato',system-ui,sans-serif;
box-shadow:0 8px 30px rgba(0,0,0,.35);transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.gp-toast.is-on{opacity:1;transform:translate(-50%,0)}

/* шире 1920px сцена по центру — края картинок гасим */
@media (min-width:1921px){
.gp-edge-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%);mask-image:linear-gradient(90deg,transparent,#000 12%)}
.gp-edge{-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}}


/* ---------- < 1000 px: каждая секция — своё окно сцены (--sw — ширина видимой части, --cx — её центр) ---------- */
@media (max-width:999px){
.gp-st{width:100%}
.gp-b{--u:calc(min(var(--cw,100vw),640px)/var(--sw,1920));width:calc(1920*var(--u));margin-left:calc(var(--cw,100vw)/2 - var(--cx,960)*var(--u))}
.gp-ttl{font-size:15px;line-height:18px}
.gp-b--hero{--sw:760;--cx:760}
.gp-tags li{font-size:12px;line-height:14px}
.gp-tags li:first-child{left:calc(400*var(--u))!important}
.gp-tags .gp-tags__r{left:auto!important;right:calc(790*var(--u))!important}
/* 02 */
.gp-b--ty{--sw:640;--h:1180!important}
.gp-b--ty>:nth-child(4){--x:777!important;--y:190!important}
.gp-b--ty>:nth-child(5){--x:799!important;--y:580!important}
.gp-b--ty>:nth-child(6){--x:864!important;--y:331!important}
.gp-b--ty>:nth-child(7){--x:865.5!important;--y:710!important}
.gp-b--ty .gp-spec{text-align:center}
.gp-b--ty>:nth-child(8){--x:670!important;--y:960!important;--w:180!important}
.gp-b--ty>:nth-child(9){--x:870!important;--y:960!important;--w:180!important}
.gp-b--ty>:nth-child(10){--x:1070!important;--y:960!important;--w:180!important}
.gp-sw__t{font-size:calc(22*var(--u))}
/* 03 */
.gp-b--pg{--sw:1100}
.gp-gl{font-size:11px;line-height:13px}
.gp-b--pg .gp-pop{--x:1130!important}
.gp-grid>:nth-child(3){--x:1330!important}
/* 04 */
.gp-b--ad{--sw:800;--h:2520!important}
.gp-man,.gp-strip{display:none}
.gp-b--ad>:nth-child(5){--x:660!important}
.gp-b--ad>:nth-child(6){--x:980!important}
.gp-b--ad>:nth-child(8){--x:576!important;--y:1180!important}
.gp-b--ad>:nth-child(9){--x:576!important;--y:1850!important}
/* 05 */
.gp-b--ui{--sw:640;--h:2500!important}
.gp-b--ui>:nth-child(1){--x:410!important;--y:1990!important;--w:1100!important;--h:496!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.gp-b--ui>:nth-child(11){--x:935!important}
.gp-b--ui>:nth-child(2){top:calc(1934*var(--u))}
.gp-logo{display:none}
.gp-b--ui>:nth-child(16){--x:730!important;--y:920!important}
.gp-b--ui>:nth-child(17){--x:815!important;--y:620!important}
.gp-b--ui>:nth-child(18){--x:815!important;--y:687!important}
.gp-b--ui>:nth-child(19){--x:815!important;--y:780!important}
.gp-b--ui>:nth-child(20){--x:660!important;--y:1560!important}
}

/* ---------- состояния до анимации (только при включённом JS) ---------- */
.is-js [data-gp-in]{opacity:0;transform:translateY(calc(24*var(--u)))}
.is-js [data-gp-rise]{opacity:0;transform:translateY(calc(90*var(--u)))}
.is-js [data-gp-pop]{opacity:0;transform:scale(.8)}
.is-js [data-gp-hin],.is-js [data-gp-tag]{opacity:0}
.is-js [data-gp-fi]{opacity:0}

@media (prefers-reduced-motion:reduce){
.is-js [data-gp-in],.is-js [data-gp-rise],.is-js [data-gp-pop],.is-js [data-gp-hin],.is-js [data-gp-tag],.is-js [data-gp-fi]{opacity:1;transform:none}
.gp-play b{animation:none!important}}

/* обложка кейса (первый экран шаблона) */
.case-cover [data-cover="geoprofit"] img{object-position:50% 40%}
