/* Editorial agency direction: restrained type, generous spacing, clear offers. */
:root{--black:#fff;--dark:#f4f7fb;--card:#fff;--card2:#edf3f9;--violet:#145da0;--purple:#267bc0;--pink:#4d8fc8;--white:#142d45;--muted:#5c7186;--border:#d9e3ec;--glow:#eaf2f9;--nav:#fffffff2;--shadow:0 12px 38px #1539580c}
:root[data-theme=dark]{--black:#101923;--dark:#151f2a;--card:#1b2733;--card2:#222f3c;--violet:#8bbff0;--purple:#a7d0f5;--pink:#78ace0;--white:#f1f5f8;--muted:#afbbc6;--border:#344351;--glow:#253443;--nav:#101923f2;--shadow:0 14px 40px #0003}
body{font-family:Inter,Arial,sans-serif;letter-spacing:-.01em}
h1,h2,h3,h4{font-family:Inter,Arial,sans-serif;font-weight:650!important;letter-spacing:-.012em!important}
nav{height:82px;border-bottom:1px solid var(--border);box-shadow:none!important}
.nav-logo img{width:184px;height:68px;background:transparent}
.btn-primary,.btn-nav,.svc-cta-primary{border-radius:6px;font-weight:600;letter-spacing:-.01em}
.btn-outline{border-radius:6px}
section{max-width:1440px;margin-inline:auto;padding:112px clamp(28px,7vw,100px);scroll-margin-top:92px}
.section-tag{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:650;color:var(--violet);margin-bottom:18px}
.section-title{font-size:clamp(34px,4vw,54px);line-height:1.08;margin:0 0 17px;max-width:850px}
.section-sub{font-size:17px;line-height:1.65;max-width:670px;margin:0 0 42px;color:var(--muted);white-space:normal}
#hero{position:relative;width:100%;max-width:1680px;min-height:min(790px,calc(100vh - 82px));padding:128px clamp(28px,7vw,100px) 78px;background:var(--black);overflow:hidden}
.hero-content{width:min(760px,calc(100% - min(440px,34vw) - 48px));max-width:760px}
.hero-title{font-size:clamp(46px,4.8vw,62px)!important;line-height:1.03!important;letter-spacing:-.012em!important;font-weight:650!important;max-width:720px;margin:28px 0 24px}
.hero-title .grad{color:var(--violet);-webkit-text-fill-color:var(--violet)}
.hero-badge{border:0;border-radius:3px;background:var(--glow);padding:9px 12px;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:650}
.hero-sub{font-size:18px;line-height:1.7;max-width:590px;color:var(--muted)}
.hero-ctas{gap:12px;margin-top:28px}
.hero-photo-wrap{width:min(34vw,440px);top:52%;right:clamp(28px,7vw,100px)}
.hero-photo-wrap img{height:min(560px,65vh);border:0;border-radius:4px;background:var(--card2);box-shadow:none;object-fit:cover;object-position:center top}
.hero-grid{opacity:.15}
.hero-stats{max-width:760px;margin-top:44px;padding-top:25px;gap:clamp(20px,4vw,56px);border-top:1px solid var(--border)}
.stat-num{font-size:clamp(26px,3vw,38px);font-weight:650}
.stat-label{max-width:150px;line-height:1.45;color:var(--muted)}
#forwho{max-width:none;background:var(--dark)}
.tilt-card,.svc-card,.case-card,.review-card,.blog-card,.calc-card{position:relative;border-radius:8px;box-shadow:none!important;transform:none!important;transition:transform .22s cubic-bezier(.2,.75,.25,1),box-shadow .22s ease,border-color .22s ease;transform-origin:center center}
.tilt-card{padding:30px;background:var(--card);border-color:var(--border)}
.tilt-card:hover{border-color:var(--violet);box-shadow:none;transform:translateY(-2px)}
.tilt-glow{display:none}
.fw-icon,.svc-icon{filter:saturate(.55)}
#services{max-width:none;background:var(--black)}
.svc-card{padding:28px 25px;border:1px solid var(--border);background:var(--card)}
.svc-grid .svc-card.is-featured{box-shadow:none!important;border-color:var(--border)!important}
.svc-ribbon{position:absolute;top:14px;right:14px;width:auto;height:auto;overflow:visible;z-index:2}
.svc-ribbon span{position:static;display:inline-flex;align-items:center;transform:none;border-radius:999px;padding:7px 11px;letter-spacing:.04em;white-space:nowrap}
.svc-price{font-weight:650;letter-spacing:-.05em}
.svc-divider{background:var(--border)}
.svc-cta{border-radius:5px}
#cases{max-width:none;background:var(--dark)}
.case-card{border-color:var(--border);background:var(--card)}
.case-img{min-height:160px}
.metric-val{letter-spacing:-.04em}
#reviews{max-width:none;background:var(--black)}
.review-card{border-color:var(--border);background:var(--card)}
#calculator{max-width:none;background:var(--dark)}
.calc-card{border:1px solid var(--border);background:var(--card)}
#blog{max-width:none;background:var(--black)}
#blog .blog-dots{display:none}
.blog-card{border-color:var(--border);background:var(--card)}
#cta-banner{max-width:none;padding-inline:clamp(28px,7vw,100px);background:#0f5790;color:#fff}
#cta-banner .section-title,#cta-banner .cta-title{color:#fff!important}
#cta-banner .section-tag{color:#d9ecff!important}
#cta-banner .section-sub,#cta-banner .cta-sub{color:#e6f1fc!important;opacity:1}
#cta-banner .btn-outline,#cta-banner .btn-outline:hover{color:#fff!important;border-color:#ffffffa6;background:transparent}
#cta-banner .btn-primary{background:#2375b8!important;color:#fff!important;box-shadow:none}
#cta-banner .btn-primary:hover{background:#1b639f!important;transform:translateY(-2px)}
#contact{max-width:none;background:var(--dark)}
.contact-form{border-radius:8px;box-shadow:none}
.contact-item,.contact-card{border-radius:8px}
.tilt-card:hover,.svc-card:hover,.case-card:hover,.review-card:hover,.blog-card:hover,
.tilt-card:focus-within,.svc-card:focus-within,.case-card:focus-within,.review-card:focus-within,.blog-card:focus-within{z-index:5;border-color:var(--violet)!important;box-shadow:0 0 0 1px var(--violet),0 18px 42px color-mix(in srgb,var(--violet) 18%,transparent)!important;transform:translateY(-3px) scale(1.025)!important}
@media(hover:none),(pointer:coarse){.tilt-card:hover,.svc-card:hover,.case-card:hover,.review-card:hover,.blog-card:hover{transform:none!important;box-shadow:none!important}}
.forwho-grid,.svc-grid,.cases-grid,.reviews-grid,.blog-grid,.cases-scroll,.reviews-scroll{width:100%;max-width:1280px;margin-inline:auto}
.calc-card,.contact-grid{width:100%;max-width:1280px;margin-inline:auto}
#forwho .section-tag,#forwho .section-title,#forwho .section-sub,#services .section-tag,#services .section-title,#services .section-sub,#cases .section-tag,#cases .section-title,#cases .section-sub,#cases .filter-bar,#reviews .section-tag,#reviews .section-title,#reviews .section-sub,#calculator .section-tag,#calculator .section-title,#calculator .section-sub,#blog .section-tag,#blog .section-title,#blog .section-sub,#contact .section-tag,#contact .section-title,#contact .section-sub{width:100%;max-width:1280px;margin-left:auto;margin-right:auto}
.filter-bar{width:100%;max-width:1280px;margin-inline:auto}
#forwho .section-sub,#services .section-sub,#cases .section-sub,#reviews .section-sub,#calculator .section-sub,#blog .section-sub,#contact .section-sub{max-width:1280px;margin-left:auto;margin-right:auto}
#local-preview-controls{position:fixed;right:18px;bottom:18px;z-index:5000}
.mobile-preview-launch{border:0;border-radius:6px;padding:12px 16px;background:#0f5790;color:#fff;font:600 13px Inter,Arial,sans-serif;box-shadow:0 8px 30px #08253b3b;cursor:pointer}
.mobile-preview-dialog{width:min(500px,calc(100% - 24px));max-width:500px;padding:18px;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--white)}
.mobile-preview-dialog::backdrop{background:#06172bcc;backdrop-filter:blur(5px)}
.mobile-preview-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 2px 14px;font-size:14px;font-weight:600}
.mobile-preview-close{border:1px solid var(--border);border-radius:5px;background:var(--card2);color:var(--white);padding:7px 10px;cursor:pointer}
.mobile-preview-frame-wrap{display:grid;place-items:center;max-height:calc(100vh - 130px);overflow:auto;padding:6px;background:var(--dark);border-radius:8px}
.mobile-preview-frame{display:block;width:390px;max-width:100%;height:min(780px,calc(100vh - 170px));min-height:620px;border:5px solid #142d45;border-radius:28px;background:#fff}
@media(max-width:700px){#local-preview-controls{right:12px;bottom:12px}.mobile-preview-dialog{padding:12px}.mobile-preview-frame{height:min(740px,calc(100vh - 130px));min-height:520px}}
@media(max-width:1100px){section{padding:88px 36px}.hero-photo-wrap{width:34vw;right:36px}.hero-title{font-size:clamp(43px,6.3vw,66px)!important}.hero-content{width:calc(100% - 34vw - 46px);max-width:none}.hero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){nav{height:72px}.nav-logo img{width:145px;height:56px}section{padding:74px 22px}.section-title{font-size:clamp(32px,9vw,42px)}.section-sub{font-size:16px;max-width:100%;line-height:1.65;margin-bottom:28px;overflow-wrap:anywhere}.hero-content{width:100%;max-width:none}.hero-photo-wrap{display:none}#hero{min-height:0;padding:106px 22px 58px}.hero-title{font-size:clamp(44px,12vw,60px)!important;line-height:1.02!important;margin:24px 0 20px;max-width:600px}.hero-sub{font-size:17px}.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas a{width:100%!important}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;margin-top:35px;padding-top:22px}.stat-num{font-size:30px}.stat-label{font-size:12px}.tilt-card{padding:23px}.svc-grid{gap:14px}.svc-card{padding:23px 20px}.case-img{min-height:135px}#cta-banner{padding:72px 22px}}
@media(max-width:700px){
  #calculator{padding:54px 18px!important}
  #calculator .section-title{font-size:clamp(30px,8.5vw,38px);line-height:1.08}
  #calculator .section-sub{margin-bottom:20px}
  .calc-card{border-radius:16px}
  .calc-left{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px;padding:17px!important}
  .calc-left-head,.calc-left .budget-group,.calc-left .margin-group{grid-column:1/-1}
  .calc-left-head p{font-size:12px}
  .calc-left .form-group{min-width:0}
  .calc-left .form-input{min-height:42px;padding:9px 12px;font-size:16px}
  .calc-left .form-label{font-size:12px}
  .calc-left .form-group small{font-size:11px;line-height:1.4}
  .calc-left .budget-group{gap:8px}
  .calc-right{padding:16px!important}
  .result-head{font-size:12px;margin-bottom:12px}
  .result-big-box{padding:14px;margin-bottom:10px}
  .result-big{font-size:34px}
  .result-grid{gap:8px;margin-bottom:10px}
  .result-box{padding:9px}
  .result-box-val{font-size:18px}
  .result-row{gap:10px;padding:8px 0}
  .result-key{font-size:12px;line-height:1.4}
  .result-val{font-size:13px}
  .cac-bar-wrap{margin:3px 0 8px}
  .result-plan-box{padding:9px;margin:8px 0}
  .result-plan-name{font-size:12px;line-height:1.5}
  .forwho-scroll,.svc-scroll,.cases-scroll,.reviews-scroll,.blog-scroll{touch-action:pan-x pan-y;overscroll-behavior-x:contain;cursor:grab;scroll-padding-inline:28px;user-select:none;-webkit-user-select:none}
  .forwho-scroll.is-dragging,.svc-scroll.is-dragging,.cases-scroll.is-dragging,.reviews-scroll.is-dragging,.blog-scroll.is-dragging{cursor:grabbing;scroll-snap-type:none!important;scroll-behavior:auto!important}
  .forwho-scroll .tilt-card{width:min(78vw,300px)!important;opacity:.82;transform:scale(.97)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s ease}
  .svc-scroll .svc-card{width:min(82vw,320px)!important;max-width:none;min-width:0;padding:19px 17px;opacity:.82;transform:scale(.97)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s ease}
  .svc-scroll .svc-card .svc-tagline{margin-bottom:14px;min-height:0}
  .svc-scroll .svc-card .svc-price{font-size:32px}
  .svc-scroll .svc-card .svc-price-sub{margin-bottom:15px}
  .svc-scroll .svc-card .svc-divider{margin-bottom:13px}
  .svc-scroll .svc-card .svc-features{gap:7px;margin-bottom:18px}
  .cases-scroll .case-card{width:min(78vw,285px)!important;max-width:none;opacity:.82;transform:scale(.97)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s ease}
  .cases-scroll .case-img{height:125px;min-height:125px}
  .cases-scroll .case-body{padding:16px}
  .reviews-scroll .review-card{width:min(80vw,300px)!important;max-width:none;padding:19px;opacity:.82;transform:scale(.97)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s ease}
  .blog-scroll .blog-card-mobile{width:min(78vw,300px);max-width:none;scroll-snap-align:center;opacity:.82;transform:scale(.97);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s ease}
  .forwho-scroll .tilt-card.is-active,.svc-scroll .svc-card.is-active,.cases-scroll .case-card.is-active,.reviews-scroll .review-card.is-active,.blog-scroll .blog-card-mobile.is-active{z-index:3;opacity:1;border-color:var(--violet)!important;box-shadow:0 0 0 1px var(--violet),0 12px 28px color-mix(in srgb,var(--violet) 18%,transparent)!important;transform:scale(1.015)!important}
  .carousel-dots::after,.svc-scroll-dots::after,.cases-dots::after,.reviews-dots::after,.blog-dots::after{content:'Гортай →';margin-left:6px;color:var(--muted);font-size:10px;align-self:center;white-space:nowrap}
  .carousel-dots,.svc-scroll-dots,.cases-dots,.reviews-dots,.blog-dots{display:flex;align-items:center;justify-content:center;gap:6px;min-height:24px;margin-top:14px}
  .blog-dots .dot[hidden]{display:none}
  .map-box.map-link{min-height:200px;max-height:none;align-items:center;justify-content:center;gap:9px;padding:24px;text-align:center;text-decoration:none;color:var(--white);background:linear-gradient(145deg,var(--card),var(--glow));border-color:var(--border)}
  .map-pin{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--glow);color:var(--violet);font-size:30px;line-height:1}
  .map-link-title{font-size:18px;font-weight:700}
  .map-link-address{font-size:14px;color:var(--muted)}
  .map-link-action{margin-top:5px;color:var(--violet);font-size:13px;font-weight:700}
  .dot{cursor:pointer;touch-action:manipulation}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
