@font-face{font-family:"Golos Text";src:url("assets/fonts/GolosText-Variable.ttf") format("truetype");font-weight:400 900;font-display:swap}

/* Cinematic: one living light source behind the page; type is light and quiet, panels are smoked glass. */
:root{
 --void:#050508;--ink:#0a0a10;
 --text:#f1effa;--soft:#b9b5cc;--faint:#8f8ba6;
 --glass:rgba(255,255,255,.045);--glass-strong:rgba(255,255,255,.09);--edge:rgba(255,255,255,.12);
 --violet:#9d86ff;--gold:#ffc46b;
 --font:"Golos Text","Segoe UI",system-ui,sans-serif;
 --ease:cubic-bezier(.16,1,.3,1);
 --side:max(18px,4vw);
 color-scheme:dark;
}
*{box-sizing:border-box}
html{scrollbar-color:#3c3953 var(--void)}
body{margin:0;background:radial-gradient(120% 80% at 50% 0%,#120e24 0%,var(--void) 60%) fixed,var(--void);color:var(--text);font:400 16px/1.6 var(--font);overflow-x:clip}
h1,h2,h3,p,figure,ol{margin:0}
h1,h2,h3{font-weight:400;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit;color:inherit}
img,video{display:block;max-width:100%}
svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
svg.fill{fill:currentColor;stroke:none}
::selection{background:var(--violet);color:var(--ink)}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:fixed;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:999px;background:var(--text);color:var(--ink)}.skip:focus{top:12px}

.scene{position:fixed;inset:0;width:100vw;height:100svh;z-index:-1;pointer-events:none}

.glass{background:var(--glass);border:1px solid var(--edge);border-radius:20px;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--edge);border-radius:999px;background:var(--glass);font-size:13px;color:var(--soft);backdrop-filter:blur(12px)}
.glass-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--edge);background:var(--glass-strong);cursor:pointer;font-size:15px;font-weight:500;text-decoration:none;backdrop-filter:blur(14px);transition:background-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.glass-btn:hover{background:rgba(255,255,255,.16)}
.glass-btn:active{transform:scale(.98)}
.glass-btn-light{background:var(--text);color:var(--ink);border-color:transparent;box-shadow:0 0 0 0 rgba(157,134,255,0)}
.glass-btn-light:hover{background:#fff;box-shadow:0 0 32px 2px rgba(157,134,255,.45)}

.nav{position:fixed;inset:14px var(--side) auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav-brand{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 16px 0 14px;border:1px solid var(--edge);border-radius:999px;background:rgba(10,10,16,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-weight:500;font-size:15px;text-decoration:none;letter-spacing:-.01em}
.spark{width:10px;height:10px;border-radius:50%;background:var(--text);box-shadow:0 0 12px 3px var(--violet)}
.nav-pill{display:flex;gap:4px;padding:5px;border:1px solid var(--edge);border-radius:999px;background:rgba(10,10,16,.45);backdrop-filter:blur(16px)}
.nav-pill a{padding:7px 14px;border-radius:999px;font-size:14px;color:var(--soft);text-decoration:none;transition:background-color .25s var(--ease),color .25s var(--ease)}
.nav-pill a:hover{background:var(--glass-strong);color:var(--text)}
.nav .glass-btn{min-height:40px;padding:0 18px;font-size:14px}

/* Hero: the swarm floats above; the offer sits centred in the lower third. */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:18px;padding:120px var(--side) 72px;text-align:center}
.hero h1{max-width:15ch;font-size:clamp(40px,6.2vw,92px);font-weight:400;letter-spacing:-.04em;line-height:.98;text-shadow:0 0 40px rgba(5,5,8,.8)}
.hero-benefits{font-size:clamp(19px,1.9vw,26px);letter-spacing:-.015em}
.hero-slogan{font-size:15px;color:var(--soft)}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px}
.hero-hint{margin-top:18px;font-size:13px;color:var(--faint)}
.hint-touch{display:none}@media(hover:none){.hint-hover{display:none}.hint-touch{display:inline}}

.block{width:100%;max-width:1240px;margin:0 auto;padding:110px var(--side) 0}
.block-head{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:40px;text-align:center}
.block-head h2{font-size:clamp(34px,4.6vw,64px);max-width:18ch}
.block-head p:not(.chip){max-width:52ch;color:var(--soft)}

.video-card{position:relative;overflow:hidden;padding:10px}
.live-video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#000}
.video-cta{position:absolute;left:50%;bottom:28px;transform:translateX(-50%)}
.video-cta:active{transform:translateX(-50%) scale(.98)}

.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{display:flex;flex-direction:column;overflow:hidden;padding:10px}
.card>img,.card-img{position:relative;width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden}
.card img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.card img.focus-left{object-position:28% 50%}
.card figcaption{display:grid;gap:6px;padding:16px 10px 10px}
.card h3{font-size:22px}
.card p{color:var(--soft);font-size:15px}

.why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.why{padding:30px 28px;display:grid;gap:10px;align-content:start}
.why h3{font-size:clamp(22px,2.2vw,30px)}
.why p{color:var(--soft)}

.block-head a{color:var(--text)}
.block-head .glass-btn{color:var(--text)}
.for-grid .why{display:flex;flex-direction:column;gap:12px}
.for-grid .note{font-size:14px;color:var(--faint)}
.for-grid .glass-btn{margin-top:auto;align-self:flex-start}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.steps li{padding:26px 24px;display:grid;gap:8px;align-content:start}
.step-n{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--edge);font-size:14px;color:var(--soft);margin-bottom:6px}
.steps h3{font-size:21px}
.steps p{color:var(--soft);font-size:15px}

.faq{max-width:860px;margin:0 auto;padding:8px 26px}
.faq details+details{border-top:1px solid var(--edge)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding-block:16px;cursor:pointer;list-style:none;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{transition:transform .3s var(--ease)}.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 32px 20px 0;color:var(--soft)}

.final{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:120px var(--side);text-align:center}
.final h2{font-size:clamp(44px,7vw,108px);letter-spacing:-.045em;line-height:.95}
.final p{max-width:44ch;color:var(--soft)}

.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:28px var(--side);font-size:13px;color:var(--faint)}
.motion-toggle{background:none;border:0;padding:8px 0;cursor:pointer;font-size:13px;color:var(--faint);text-decoration:underline;text-underline-offset:4px}

.glass-dialog{border:1px solid var(--edge);border-radius:22px;padding:24px;max-width:94vw;max-height:92svh;overflow:auto;background:rgba(14,13,22,.92);color:var(--text);backdrop-filter:blur(24px)}
.glass-dialog::backdrop{background:rgba(3,3,6,.75);backdrop-filter:blur(6px)}
.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}
.dialog-head h2{font-size:26px}
.dialog-close{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--edge);background:var(--glass);cursor:pointer}
.video-dialog{width:min(1100px,94vw);padding:14px}
.video-dialog video{width:100%;max-height:74svh;border-radius:12px;background:#000}
.video-error{margin-top:10px;color:var(--soft);font-size:14px}
.inquiry-dialog{width:min(620px,94vw)}
.dialog-intro{color:var(--soft);font-size:15px;margin-bottom:20px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid label,.request-label{display:grid;gap:6px;font-size:13px;color:var(--soft)}
.form-grid .wide{grid-column:1/-1}
input,select,textarea{width:100%;min-height:46px;padding:10px 14px;border-radius:12px;border:1px solid var(--edge);background:rgba(255,255,255,.05);font-size:16px;color:var(--text)}
select option{background:var(--ink)}
textarea{min-height:150px;font-size:14px;line-height:1.6;resize:vertical}
.request-label{margin-top:18px}
.send-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.send-row>*{flex:1 1 220px}
.contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:min(100%,560px)}
.contacts>*{flex:1 1 230px}
.contacts .contacts-note{flex-basis:100%;margin:0;font-size:14px;color:var(--soft);text-align:center}
.contacts[hidden],[data-contacts][hidden]{display:none!important}
.foot a{color:var(--soft)}
.copy-status{margin-top:12px;font-size:14px}.copy-status:empty{display:none}
.request-note{margin-top:8px;font-size:13px;color:var(--faint)}
.noscript{padding:24px}

@media (max-width:900px){.nav-pill{display:none}.cards,.steps{grid-template-columns:minmax(0,1fr)}.why-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){
 .hero{padding-bottom:48px;gap:14px}
 .hero-actions{width:100%}.hero-actions .glass-btn{flex:1 1 100%}
 .block{padding-top:84px}
 .video-cta{position:static;transform:none;width:100%;margin-top:10px}.video-cta:active{transform:scale(.98)}
 .why{padding:24px 20px}.faq{padding:4px 18px}
 .form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}
 .glass-dialog{padding:18px}
}
/* Phone: the main action stays one thumb away once the hero has scrolled past, and steps aside at the finale. */
.dock-cta{display:none}
@media (max-width:767px){
 .dock-cta{display:inline-flex;position:fixed;z-index:25;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 10px 30px rgba(0,0,0,.45);transform:translateY(150%);transition:transform .4s var(--ease)}
 .dock-cta.on{transform:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
