:root{
  --bg:#141619; --bg2:#1B1E23; --panel:#20242A; --line:#2E333B;
  --yellow:#F5B800; --yellow2:#FFC933; --ink:#EDEDE8; --mut:#9BA1AA; --dark:#131518;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Onest',Arial,sans-serif;font-size:17px;line-height:1.6;overflow-x:hidden;}
h1,h2,h3{font-family:'Unbounded',sans-serif;line-height:1.12;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
::selection{background:var(--yellow);color:var(--dark);}

/* ---------- topbar ---------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(20,22,25,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Unbounded';font-weight:700;font-size:19px;letter-spacing:.5px;}
.logo .box{width:30px;height:30px;background:var(--yellow);border-radius:6px;display:grid;place-items:center;color:var(--dark);font-size:17px;transform:rotate(-4deg);transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.logo:hover .box{transform:rotate(4deg) scale(1.08);}
.topnav{display:flex;gap:26px;font-size:15px;color:var(--mut);}
.topnav a{transition:color .2s;}
.topnav a:hover{color:var(--yellow);}
.topcall{font-family:'IBM Plex Mono';font-weight:600;font-size:15px;color:var(--ink);border:1px solid var(--line);padding:9px 16px;border-radius:6px;transition:border-color .2s,color .2s;}
.topcall:hover{border-color:var(--yellow);color:var(--yellow);}

/* ---------- hero ---------- */
.hero{position:relative;padding:170px 0 90px;background:
  radial-gradient(900px 480px at 82% -10%, rgba(245,184,0,.10), transparent 60%),
  var(--bg);}
.hero .kicker{display:inline-flex;align-items:center;gap:10px;font-family:'IBM Plex Mono';font-size:13px;letter-spacing:2.5px;color:var(--yellow);text-transform:uppercase;margin-bottom:26px;}
.hero .kicker::before{content:"";width:34px;height:2px;background:var(--yellow);}
.hero h1{font-size:clamp(34px,5.4vw,64px);font-weight:900;max-width:900px;}
.hero h1 .yl{color:var(--yellow);}
.hero p.lead{margin:28px 0 40px;font-size:clamp(17px,1.6vw,21px);color:var(--mut);max-width:640px;}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px;padding:16px 28px;border-radius:8px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;}
.btn-y{background:var(--yellow);color:var(--dark);box-shadow:0 10px 30px rgba(245,184,0,.22);}
.btn-y:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(245,184,0,.32);}
.btn-o{border:1.5px solid var(--line);color:var(--ink);}
.btn-o:hover{transform:translateY(-3px);border-color:var(--yellow);color:var(--yellow);}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:44px;}
.tag{font-family:'IBM Plex Mono';font-size:13px;color:var(--mut);border:1px solid var(--line);border-radius:100px;padding:7px 15px;transition:all .25s;}
.tag:hover{color:var(--dark);background:var(--yellow);border-color:var(--yellow);transform:translateY(-2px);}
.hero .ghost{position:absolute;right:-40px;bottom:-26px;font-family:'Unbounded';font-weight:900;font-size:clamp(80px,12vw,170px);color:transparent;-webkit-text-stroke:1px rgba(245,184,0,.10);letter-spacing:2px;user-select:none;pointer-events:none;white-space:nowrap;}

/* ---------- hazard divider ---------- */
.hazard{height:14px;background:repeating-linear-gradient(-45deg,var(--yellow) 0 18px,var(--dark) 18px 36px);opacity:.92;}

/* ---------- marquee ---------- */
.marquee{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:14px 0;}
.marquee-track{display:flex;gap:48px;white-space:nowrap;font-family:'IBM Plex Mono';font-size:14px;letter-spacing:3px;color:var(--mut);animation:mq 28s linear infinite;width:max-content;}
.marquee-track span b{color:var(--yellow);font-weight:600;}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{padding:96px 0;}
.sec-head{display:flex;align-items:baseline;gap:20px;margin-bottom:52px;flex-wrap:wrap;}
.sec-num{font-family:'IBM Plex Mono';font-size:14px;color:var(--yellow);letter-spacing:2px;}
.sec-head h2{font-size:clamp(26px,3.4vw,40px);font-weight:700;}
.sec-sub{color:var(--mut);max-width:640px;margin:-34px 0 52px;}

/* services grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:26px 22px;position:relative;overflow:hidden;transition:transform .3s,border-color .3s;}
.card:hover{transform:translateY(-6px);border-color:rgba(245,184,0,.55);}
.card .ic{width:46px;height:46px;border-radius:9px;background:rgba(245,184,0,.10);display:grid;place-items:center;margin-bottom:18px;transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .3s;}
.card:hover .ic{transform:rotate(-8deg) scale(1.12);background:var(--yellow);}
.card .ic svg{width:23px;height:23px;stroke:var(--yellow);transition:stroke .3s;}
.card:hover .ic svg{stroke:var(--dark);}
.card h3{font-size:16px;font-weight:600;margin-bottom:8px;font-family:'Onest';}
.card p{font-size:14.5px;color:var(--mut);line-height:1.5;}
.card .idx{position:absolute;top:18px;right:18px;font-family:'IBM Plex Mono';font-size:11px;color:var(--line);letter-spacing:1px;transition:color .3s;}
.card:hover .idx{color:var(--yellow);}

/* directions */
.dirs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.dir{border:1px solid var(--line);border-radius:14px;padding:34px 28px;background:linear-gradient(160deg,var(--panel),var(--bg2));position:relative;overflow:hidden;transition:transform .3s,border-color .3s;}
.dir:hover{transform:translateY(-6px);border-color:var(--yellow);}
.dir .dm{font-family:'IBM Plex Mono';font-size:12px;letter-spacing:2.5px;color:var(--yellow);text-transform:uppercase;margin-bottom:16px;}
.dir h3{font-size:21px;font-weight:700;margin-bottom:14px;}
.dir p{color:var(--mut);font-size:15px;}
.dir ul{margin-top:16px;list-style:none;}
.dir li{font-size:14.5px;color:var(--ink);padding:7px 0 7px 26px;position:relative;border-top:1px dashed var(--line);}
.dir li::before{content:"→";position:absolute;left:0;color:var(--yellow);font-family:'IBM Plex Mono';}
.dir .stripe{position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--yellow) 0 10px,transparent 10px 20px);opacity:0;transition:opacity .3s;}
.dir:hover .stripe{opacity:1;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:st;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.step{padding:34px 26px;background:var(--bg2);border-right:1px solid var(--line);position:relative;transition:background .3s;}
.step:last-child{border-right:none;}
.step:hover{background:var(--panel);}
.step .n{font-family:'Unbounded';font-weight:900;font-size:44px;color:transparent;-webkit-text-stroke:1.5px var(--yellow);margin-bottom:16px;display:block;}
.step h3{font-size:17px;font-family:'Onest';font-weight:700;margin-bottom:10px;}
.step p{font-size:14.5px;color:var(--mut);}

/* why */
.why{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start;}
.why-list{display:flex;flex-direction:column;gap:4px;}
.wl{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);transition:padding-left .25s;}
.wl:hover{padding-left:10px;}
.wl .wn{font-family:'IBM Plex Mono';color:var(--yellow);font-size:14px;padding-top:3px;min-width:34px;}
.wl h3{font-size:17px;font-family:'Onest';font-weight:700;margin-bottom:6px;}
.wl p{font-size:15px;color:var(--mut);}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:sticky;top:96px;}
.fact{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:26px 22px;text-align:center;transition:transform .3s,border-color .3s;}
.fact:hover{transform:translateY(-4px);border-color:rgba(245,184,0,.5);}
.fact .fv{font-family:'Unbounded';font-weight:700;font-size:30px;color:var(--yellow);}
.fact .fl{font-size:13.5px;color:var(--mut);margin-top:8px;line-height:1.4;}

/* price cta */
.pricecta{background:linear-gradient(120deg,rgba(245,184,0,.12),rgba(245,184,0,.03)),var(--bg2);border:1px solid rgba(245,184,0,.35);border-radius:18px;padding:56px 48px;display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;position:relative;overflow:hidden;}
.pricecta::after{content:"₽";position:absolute;right:26px;bottom:-46px;font-family:'Unbounded';font-weight:900;font-size:190px;color:transparent;-webkit-text-stroke:1px rgba(245,184,0,.14);pointer-events:none;}
.pricecta h2{font-size:clamp(24px,3vw,34px);margin-bottom:12px;}
.pricecta p{color:var(--mut);max-width:540px;}

/* contacts */
.contact{background:var(--bg2);border-top:1px solid var(--line);}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;}
.contact h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:18px;}
.contact .big-phone{font-family:'Unbounded';font-weight:700;font-size:clamp(22px,3vw,34px);color:var(--yellow);display:inline-block;margin:16px 0 6px;transition:transform .25s;}
.contact .big-phone:hover{transform:translateX(6px);}
.c-line{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px dashed var(--line);color:var(--mut);font-size:15.5px;}
.c-line b{color:var(--ink);font-weight:600;}
.c-line .cl-ic{color:var(--yellow);font-family:'IBM Plex Mono';min-width:22px;}

footer{padding:34px 0;border-top:1px solid var(--line);}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;color:var(--mut);font-size:13.5px;}
footer .mono{letter-spacing:1.5px;}

/* reveal animation */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.rv.on{opacity:1;transform:none;}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

@media(max-width:960px){
  .grid{grid-template-columns:repeat(2,1fr);}
  .dirs{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .step{border-bottom:1px solid var(--line);}
  .why{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .topnav{display:none;}
}
@media(max-width:600px){
  .grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .facts{grid-template-columns:1fr 1fr;position:static;}
  .pricecta{padding:38px 26px;}
  section{padding:66px 0;}
}
