*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{font-family:'Manrope',system-ui,sans-serif;font-size:16px;line-height:1.6;color:#0A1628;background:#F4F7FB;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}ul{list-style:none}img,svg{max-width:100%;display:block}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.025em;line-height:1.15;color:#0A1628}
p,li,span,td,th,div,label,a{word-break:normal;overflow-wrap:break-word}
.container{max-width:1240px;margin:0 auto;padding:0 28px;width:100%}.container--narrow{max-width:940px}
.text-accent{color:#FF6B47}.text-center{text-align:center}.mt-lg{margin-top:40px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:100px;font-family:inherit;font-size:15px;font-weight:700;border:2px solid transparent;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);text-align:center;white-space:nowrap}
.btn--accent{background:linear-gradient(135deg,#FF7A55,#FF6B47);color:#fff;box-shadow:0 10px 30px rgba(255,107,71,.35)}
.btn--accent:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(255,107,71,.45)}
.btn--outline{background:transparent;color:#0A1628;border-color:rgba(15,35,66,.15)}
.btn--outline:hover{background:#0A1628;color:#fff;border-color:#0A1628}
.btn--sm{padding:10px 20px;font-size:13.5px}.btn--lg{padding:17px 36px;font-size:16px}.btn--full{width:100%}
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(15,35,66,.06);transition:box-shadow .3s}
.header.is-scrolled{box-shadow:0 8px 30px rgba(10,22,40,.06);background:rgba(255,255,255,.96)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;flex-shrink:0}
.logo__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:linear-gradient(135deg,#00C9A7,#00A88C);border-radius:12px;font-size:20px;color:#fff;box-shadow:0 4px 12px rgba(0,168,140,.25)}
.logo__accent{color:#00A88C}.logo--footer{color:#fff}
.nav{display:flex;gap:32px}.nav__link{font-weight:600;font-size:14.5px;color:#334E7A;transition:color .2s;white-space:nowrap;position:relative}
.nav__link:hover{color:#0A1628}
.header__actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.header__phone{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:#0A1628;padding:8px 14px;border-radius:100px;background:#F4F7FB;white-space:nowrap}
.header__phone:hover{background:#EAF1F8}.header__phone-icon{font-size:14px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;border-radius:10px;flex-shrink:0}
.burger span{display:block;width:22px;height:2px;background:#0A1628;border-radius:2px;transition:.3s}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{padding:calc(76px + 80px) 0 100px;position:relative;overflow:hidden;background:radial-gradient(ellipse at top left,#1A2F52 0%,#0F2342 45%,#0A1628 100%);color:#fff}
.hero::before{content:'';position:absolute;top:-30%;right:-10%;width:620px;height:620px;background:radial-gradient(circle,rgba(0,201,167,.35) 0%,transparent 60%);border-radius:50%;filter:blur(40px);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-20%;left:-10%;width:520px;height:520px;background:radial-gradient(circle,rgba(255,107,71,.28) 0%,transparent 60%);border-radius:50%;filter:blur(40px);pointer-events:none}
.hero__inner{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}
.hero__badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:100px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);color:#fff;font-size:13px;font-weight:600;margin-bottom:28px}
.hero__title{font-size:clamp(34px,5vw,60px);font-weight:800;line-height:1.08;letter-spacing:-.03em;margin-bottom:24px;color:#fff}
.hero__title .text-accent,.hero__title span{background:linear-gradient(135deg,#00C9A7,#5EEAD4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero__subtitle{font-size:17px;color:rgba(255,255,255,.72);margin-bottom:36px;max-width:520px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px}
.hero__actions .btn--outline{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.2)}
.hero__actions .btn--outline:hover{background:#fff;color:#0A1628;border-color:#fff}
.hero__stats{display:grid;grid-template-columns:repeat(3,auto);gap:48px;justify-content:start;padding-top:36px;border-top:1px solid rgba(255,255,255,.1)}
.hero__stat strong{display:block;font-size:36px;font-weight:800;line-height:1;margin-bottom:8px;letter-spacing:-.03em;background:linear-gradient(135deg,#FFF,#A7F3E4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__stat span{font-size:12.5px;color:rgba(255,255,255,.55);line-height:1.35}
.hero__visual{display:flex;flex-direction:column;gap:18px}
.hero__card{display:flex;align-items:center;gap:16px;padding:22px 24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(20px);border-radius:20px;color:#fff;transition:transform .35s}
.hero__card:hover{transform:translateY(-4px);background:rgba(255,255,255,.1)}
.hero__card--2{margin-left:48px}.hero__card--3{margin-left:24px}
.hero__card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:24px;background:rgba(0,201,167,.15);border-radius:14px;flex-shrink:0}
.hero__card-text strong{display:block;font-size:15px;font-weight:700;color:#fff}
.hero__card-text span{font-size:13px;color:#00C9A7;font-weight:600}
.section{padding:100px 0}.section--alt{background:#fff}
.section__header{text-align:center;max-width:680px;margin:0 auto 56px}
.section__badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:100px;background:rgba(0,168,140,.08);color:#00A88C;font-size:12.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin-bottom:20px}
.section__title{font-size:clamp(28px,3.5vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px;color:#0A1628}
.section__subtitle{color:#64748B;font-size:16.5px}
.section__subtitle a{color:#00A88C;text-decoration:underline;text-decoration-color:rgba(0,168,140,.4);text-underline-offset:3px;font-weight:600}
.grid{display:grid;gap:24px}.grid--3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 1px 3px rgba(10,22,40,.04),0 2px 8px rgba(10,22,40,.03);transition:box-shadow .3s,transform .3s,border-color .3s;border:1px solid rgba(15,35,66,.08);display:flex;flex-direction:column;min-width:0}
.card:hover{box-shadow:0 20px 40px rgba(10,22,40,.1);transform:translateY(-6px);border-color:rgba(0,168,140,.2)}
.card__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;font-size:32px;background:linear-gradient(135deg,#F4F7FB,#EAF1F8);border-radius:18px;margin-bottom:22px;transition:transform .3s}
.card:hover .card__icon{transform:scale(1.06) rotate(-4deg)}
.card__icon--round{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,rgba(0,201,167,.12),rgba(0,201,167,.05));font-size:28px}
.card__title{font-size:19px;font-weight:800;line-height:1.3;letter-spacing:-.02em;margin-bottom:10px}
.card__text{font-size:14.5px;color:#64748B;line-height:1.6;margin-bottom:20px}
.card__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(15,35,66,.08)}
.card__link{background:none;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:700;color:#00A88C;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color .2s,gap .3s;text-decoration:none}
.card__link:hover{color:#FF6B47;gap:8px}.card__link--muted{color:#64748B;font-weight:600}
.card__link--muted:hover{color:#0A1628}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{padding:28px 24px;background:#fff;border:1px solid rgba(15,35,66,.08);border-radius:20px;transition:transform .3s,box-shadow .3s,border-color .3s}
.step:hover{transform:translateY(-4px);box-shadow:0 4px 16px rgba(10,22,40,.06);border-color:rgba(0,168,140,.2)}
.step__num{font-size:42px;font-weight:800;line-height:1;letter-spacing:-.04em;margin-bottom:18px;background:linear-gradient(135deg,#00C9A7,#00A88C);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.step__title{font-size:18px;font-weight:800;margin-bottom:8px;letter-spacing:-.02em}
.step__text{font-size:14px;color:#64748B;line-height:1.55}
.faq{display:flex;flex-direction:column;gap:12px}
.faq__item{background:#fff;border-radius:14px;border:1px solid rgba(15,35,66,.08);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.faq__item[open]{border-color:rgba(0,168,140,.25);box-shadow:0 4px 16px rgba(0,168,140,.06)}
.faq__item summary{padding:22px 26px;font-size:16px;font-weight:700;color:#0A1628;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;letter-spacing:-.01em}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:'+';flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#F4F7FB;color:#00A88C;font-size:20px;border-radius:50%;line-height:1;transition:background .25s,color .25s,transform .3s}
.faq__item[open] summary::after{content:'−';background:#00C9A7;color:#fff;transform:rotate(180deg)}
.faq__item summary:hover{color:#00A88C}
.faq__body{padding:0 26px 22px;color:#64748B;font-size:15px;line-height:1.7}
.card--review{text-align:left;position:relative}
.card--review::before{content:'"';position:absolute;top:12px;right:24px;font-size:72px;line-height:1;color:#D4F6EF;font-family:Georgia,serif;font-weight:800;pointer-events:none}
.review__stars{margin-bottom:14px;font-size:14px;letter-spacing:2px}
.review__text{font-size:15px;color:#1A2F52;line-height:1.65;margin-bottom:20px;position:relative;z-index:1}
.review__name{font-size:14px;color:#0A1628;font-weight:700;display:inline-block;padding-top:16px;border-top:1px solid rgba(15,35,66,.08);width:100%}
.section--cta{background:radial-gradient(ellipse at top right,#1A2F52 0%,#0F2342 50%,#0A1628 100%);color:#fff;position:relative;overflow:hidden}
.section--cta::before{content:'';position:absolute;bottom:-200px;right:-100px;width:560px;height:560px;background:radial-gradient(circle,rgba(255,107,71,.2) 0%,transparent 65%);border-radius:50%;filter:blur(40px);pointer-events:none}
.section--cta::after{content:'';position:absolute;top:-150px;left:-100px;width:460px;height:460px;background:radial-gradient(circle,rgba(0,201,167,.2) 0%,transparent 65%);border-radius:50%;filter:blur(40px);pointer-events:none}
.cta__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}
.cta__title{font-size:clamp(28px,3.5vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px;color:#fff}
.cta__subtitle{font-size:17px;color:rgba(255,255,255,.7);margin-bottom:32px}
.cta__list{display:flex;flex-direction:column;gap:12px;font-size:15px;color:rgba(255,255,255,.9)}
.form{display:flex;flex-direction:column;gap:16px}
.form--card{background:#fff;border-radius:28px;padding:40px;box-shadow:0 20px 40px rgba(10,22,40,.1)}
.form__title{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}
.form__subtitle{font-size:14.5px;color:#64748B;margin-bottom:24px}
.form__bullets{display:flex;flex-direction:column;gap:0;margin-bottom:24px;text-align:left}
.form__bullets li{font-size:14.5px;color:#1A2F52;padding:12px 0;border-bottom:1px solid rgba(15,35,66,.08)}
.form__bullets li:last-child{border-bottom:none}
.form__note{font-size:12.5px;color:#94A3B8;text-align:center}
.form--cta{text-align:center}
.page-hero{padding:calc(76px + 80px) 0 60px;background:radial-gradient(ellipse at top,#1A2F52 0%,#0F2342 60%,#0A1628 100%);color:#fff;text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-100px;right:-100px;width:460px;height:460px;background:radial-gradient(circle,rgba(0,201,167,.22) 0%,transparent 65%);border-radius:50%;filter:blur(30px)}
.page-hero>*{position:relative;z-index:1}
.page-hero__title{font-size:clamp(30px,4.5vw,52px);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px;color:#fff}
.page-hero__subtitle{font-size:17px;color:rgba(255,255,255,.7);max-width:640px;margin:0 auto}
.service-full{background:#fff;border-radius:28px;padding:48px;box-shadow:0 4px 16px rgba(10,22,40,.06);border:1px solid rgba(15,35,66,.08)}
.service-full__header{display:flex;gap:28px;align-items:flex-start;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid rgba(15,35,66,.08)}
.service-full__icon{display:flex;align-items:center;justify-content:center;width:76px;height:76px;font-size:38px;background:linear-gradient(135deg,rgba(0,201,167,.12),rgba(0,201,167,.04));border-radius:22px;flex-shrink:0}
.service-full__title-wrap{flex:1;min-width:0}
.service-full__title{font-size:28px;font-weight:800;letter-spacing:-.025em;margin-bottom:12px;line-height:1.2}
.service-full__meta{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;color:#64748B}
.service-full__meta-item strong{color:#00A88C;font-weight:700}
.service-full__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}
.service-full__footer{padding-top:28px;border-top:1px solid rgba(15,35,66,.08)}
.service-full__actions{display:flex;gap:16px;flex-wrap:wrap}
.service-block{padding:28px;background:#F4F7FB;border-radius:20px;border-left:3px solid #00C9A7;margin-bottom:22px}
.service-block--accent{background:linear-gradient(135deg,rgba(0,201,167,.08),rgba(0,201,167,.02));border-left-color:#00C9A7}
.service-block--warn{background:linear-gradient(135deg,rgba(255,107,71,.08),rgba(255,107,71,.02));border-left-color:#FF6B47}
.service-block__title{font-size:17px;font-weight:800;letter-spacing:-.015em;margin-bottom:16px;line-height:1.3}
.service-block__list{display:flex;flex-direction:column;gap:10px}
.service-block__list li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.55;color:#1A2F52}
.service-block__list li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:#00C9A7}
.service-block__list--prep li::before{background:#FF6B47}
.services-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.services-nav__item{display:flex;flex-direction:column;gap:10px;padding:26px;background:#fff;border-radius:20px;border:1px solid rgba(15,35,66,.08);transition:all .28s;text-decoration:none;min-width:0}
.services-nav__item:hover{transform:translateY(-6px);box-shadow:0 4px 16px rgba(10,22,40,.06);border-color:rgba(0,168,140,.3)}
.services-nav__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;font-size:26px;background:#F4F7FB;border-radius:14px}
.services-nav__title{font-size:15.5px;font-weight:800;letter-spacing:-.015em;line-height:1.35}
.services-nav__price{font-size:13px;font-weight:700;color:#FF6B47;margin-top:auto;padding-top:8px}
.price-table{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 4px 16px rgba(10,22,40,.06);border:1px solid rgba(15,35,66,.08)}
.price-table__head{display:grid;grid-template-columns:2fr 1fr 1fr;padding:22px 36px;background:#0A1628;color:#fff;font-weight:700;font-size:13px;letter-spacing:.02em;text-transform:uppercase;gap:20px}
.price-table__row{display:grid;grid-template-columns:2fr 1fr 1fr;padding:22px 36px;border-bottom:1px solid rgba(15,35,66,.08);align-items:center;gap:20px;transition:background .2s}
.price-table__row:last-child{border-bottom:none}.price-table__row:hover{background:#F4F7FB}
.price-table__service{font-size:15.5px;font-weight:600;line-height:1.4}
.price-table__price{font-weight:800;color:#FF6B47;font-size:16px}
.price-table__unit{font-size:13px;color:#94A3B8}
.price-note{margin-top:24px;font-size:13px;color:#94A3B8;line-height:1.55}
.calc{display:flex;flex-direction:column;gap:22px;background:#fff;padding:48px;border-radius:28px;box-shadow:0 4px 16px rgba(10,22,40,.06);border:1px solid rgba(15,35,66,.08)}
.calc__row{display:flex;flex-direction:column;gap:10px}
.calc__row label{font-size:13px;font-weight:700;letter-spacing:.01em;text-transform:uppercase}
.calc__row select,.calc__row input{padding:16px 18px;border:1.5px solid rgba(15,35,66,.08);border-radius:14px;font-family:inherit;font-size:16px;background:#F4F7FB;color:#0A1628;width:100%}
.calc__row select:focus,.calc__row input:focus{outline:none;border-color:#00C9A7;background:#fff;box-shadow:0 0 0 4px rgba(0,201,167,.12)}
.calc__unit{font-size:13px;color:#94A3B8}
.calc__result{margin-top:32px;text-align:center;padding:48px 40px;background:linear-gradient(135deg,rgba(0,201,167,.08),rgba(0,201,167,.02));border-radius:28px;border:2px dashed rgba(0,168,140,.4)}
.calc__result h3{font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#00A88C;margin-bottom:8px}
.calc__price{font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.03em;color:#0A1628;margin:16px 0}
.calc__note{font-size:14px;color:#64748B;margin-bottom:28px}
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-card{background:#fff;border-radius:20px;padding:28px;margin-bottom:16px;box-shadow:0 1px 3px rgba(10,22,40,.04);border:1px solid rgba(15,35,66,.08);transition:transform .3s,box-shadow .3s,border-color .3s}
.contact-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px rgba(10,22,40,.06);border-color:rgba(0,168,140,.2)}
.contact-card__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;font-size:24px;background:linear-gradient(135deg,rgba(0,201,167,.12),rgba(0,201,167,.04));border-radius:14px;margin-bottom:18px}
.contact-card h3{font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#94A3B8;margin-bottom:10px}
.contact-card__link{font-size:19px;font-weight:800;letter-spacing:-.015em;color:#0A1628;display:block;margin-bottom:4px;overflow-wrap:anywhere}
.contact-card__link:hover{color:#00A88C}
.contact-card p{font-size:14px;color:#64748B}
.footer{background:#0A1628;color:rgba(255,255,255,.7);padding:64px 0 0;position:relative;overflow:hidden}
.footer::before{content:'';position:absolute;top:-200px;left:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(0,201,167,.08) 0%,transparent 65%);border-radius:50%;pointer-events:none}
.footer>*{position:relative;z-index:1}
.footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer__desc{font-size:14px;margin-top:18px;line-height:1.65;color:rgba(255,255,255,.6);max-width:320px}
.footer__title{font-size:13px;font-weight:700;color:#fff;letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px}
.footer__link{display:block;font-size:14px;margin-bottom:10px;color:rgba(255,255,255,.65);transition:color .2s;line-height:1.5}
.footer__link:hover{color:#fff}
.footer__link--accent{color:#00C9A7!important;font-weight:700}
.footer__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.footer__badge{display:inline-block;padding:8px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:100px;font-size:12px;font-weight:600;color:#fff}
.footer__bottom{display:flex;justify-content:space-between;padding:28px 0;margin-top:48px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;gap:20px;flex-wrap:wrap;color:rgba(255,255,255,.5)}
.footer__bottom strong{color:#fff}
.floating-btn{position:fixed;bottom:30px;right:30px;z-index:90;display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:100px;border:none;background:linear-gradient(135deg,#FF7A55,#FF6B47);color:#fff;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 14px 40px rgba(255,107,71,.45);opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:all .4s}
.floating-btn.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.floating-btn:hover{transform:translateY(-3px) scale(1.03)}
.floating-btn__icon{font-size:18px}
.to-top{position:fixed;bottom:30px;left:30px;z-index:90;width:50px;height:50px;border-radius:50%;border:none;background:#0A1628;color:#fff;font-size:20px;cursor:pointer;opacity:0;transform:translateY(20px);pointer-events:none;transition:all .35s}
.to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.to-top:hover{background:#00A88C;transform:translateY(-3px)}
.modal{display:none;position:fixed;inset:0;z-index:300;align-items:center;justify-content:center;padding:24px}
.modal.active{display:flex}
.modal__overlay{position:absolute;inset:0;background:rgba(10,22,40,.7);backdrop-filter:blur(8px)}
.modal__content{position:relative;background:#fff;border-radius:28px;max-width:980px;width:100%;max-height:92vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 40px 100px rgba(10,22,40,.5);animation:modalIn .4s cubic-bezier(.16,1,.3,1);box-sizing:border-box;margin:0 auto}
@keyframes modalIn{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal__close{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:#0A1628;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;line-height:1;z-index:3;padding:0;backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(10,22,40,.15)}
.modal__close:hover{background:#FF6B47;color:#fff;transform:rotate(90deg)}
.modal__grid{display:grid;grid-template-columns:380px 1fr;min-height:520px}
.modal__side{background:radial-gradient(ellipse at top left,#1A2F52 0%,#0F2342 55%,#0A1628 100%);color:#fff;padding:48px 32px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.modal__side::before{content:'';position:absolute;top:-80px;right:-80px;width:260px;height:260px;background:radial-gradient(circle,rgba(0,201,167,.28),transparent 65%);border-radius:50%;filter:blur(30px)}
.modal__side::after{content:'';position:absolute;bottom:-80px;left:-80px;width:240px;height:240px;background:radial-gradient(circle,rgba(255,107,71,.22),transparent 65%);border-radius:50%;filter:blur(30px)}
.modal__side>*{position:relative;z-index:1}
.modal__side-badge{display:inline-flex;align-self:flex-start;padding:7px 15px;background:rgba(0,201,167,.15);border:1px solid rgba(0,201,167,.3);border-radius:100px;font-size:12px;font-weight:700;color:#00C9A7;margin-bottom:26px}
.modal__side-title{font-size:28px;font-weight:800;line-height:1.15;letter-spacing:-.03em;margin-bottom:14px;color:#fff}
.modal__side-subtitle{font-size:14px;line-height:1.6;color:rgba(255,255,255,.65);margin-bottom:32px}
.modal__trust{display:flex;flex-direction:column;gap:14px;margin-bottom:auto}
.modal__trust li{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.9)}
.modal__trust li span{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#00C9A7;color:#0A1628;font-size:12px;font-weight:800}
.modal__contact{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
.modal__contact-label{display:block;font-size:12.5px;color:rgba(255,255,255,.55);margin-bottom:6px}
.modal__contact-phone{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;color:#fff;margin-bottom:4px}
.modal__contact-phone:hover{color:#00C9A7}
.modal__contact-note{font-size:12px;color:rgba(255,255,255,.5)}
.modal__main{padding:48px;display:flex;align-items:center}
.modal-form{display:flex;flex-direction:column;gap:18px;width:100%}
.modal-form__field{display:flex;flex-direction:column;gap:8px}
.modal-form__field label{font-size:12.5px;font-weight:700;letter-spacing:.01em;text-transform:uppercase}
.modal-form__field .opt{font-weight:500;color:#94A3B8;font-size:11px;text-transform:none}
.modal-form__field input,.modal-form__field select,.modal-form__field textarea{padding:15px 18px;border:1.5px solid rgba(15,35,66,.08);border-radius:14px;font-family:inherit;font-size:16px;background:#F4F7FB;color:#0A1628;width:100%;transition:border-color .2s,background .2s,box-shadow .2s}
.modal-form__field input:focus,.modal-form__field select:focus,.modal-form__field textarea:focus{outline:none;border-color:#00C9A7;background:#fff;box-shadow:0 0 0 4px rgba(0,201,167,.12)}
.modal-form__field textarea{resize:vertical;min-height:84px}
.modal-form__note{font-size:12px;color:#94A3B8;text-align:center}
.modal-success{display:none;flex-direction:column;align-items:center;text-align:center;width:100%;padding:20px}
.modal-success.active{display:flex}
.modal-success__icon{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#00C9A7,#00A88C);color:#fff;font-size:42px;font-weight:800;margin-bottom:24px;box-shadow:0 10px 30px rgba(0,201,167,.3)}
.modal-success h3{font-size:26px;font-weight:800;letter-spacing:-.025em;margin-bottom:12px}
.modal-success p{font-size:15px;color:#64748B;line-height:1.6;margin-bottom:24px;max-width:340px}
.modal-success__phone{font-size:22px;font-weight:800;color:#FF6B47}
.modal--game .modal__content--game{max-width:560px;padding:0;overflow:hidden}
.game-progress-view{padding:44px 32px 32px}
.game-head{text-align:center;margin-bottom:32px}
.game-head__badge{display:inline-block;padding:6px 16px;background:linear-gradient(135deg,#FF7A55,#FF6B47);color:#fff;font-size:12px;font-weight:800;border-radius:100px;margin-bottom:16px;box-shadow:0 6px 20px rgba(255,107,71,.35)}
.game-head__title{font-size:26px;font-weight:800;letter-spacing:-.025em;margin-bottom:10px;line-height:1.15}
.game-head__subtitle{font-size:14.5px;color:#64748B;line-height:1.55;max-width:400px;margin:0 auto}
.game-head__subtitle b{color:#FF6B47;font-weight:800;font-size:16px}
.game-progress{display:flex;justify-content:center;gap:10px;margin-bottom:32px;flex-wrap:wrap}
.game-progress__item{width:48px;height:48px;border-radius:50%;background:#F4F7FB;border:2px solid rgba(15,35,66,.08);display:flex;align-items:center;justify-content:center;font-size:24px;position:relative;filter:grayscale(.9);opacity:.55;transition:all .35s}
.game-progress__item.caught{background:linear-gradient(135deg,#00C9A7,#00A88C);border-color:#00A88C;filter:none;opacity:1;transform:scale(1.1);box-shadow:0 6px 20px rgba(0,201,167,.4)}
.game-progress__item.caught::after{content:'✓';position:absolute;bottom:-3px;right:-3px;width:20px;height:20px;background:#fff;color:#00A88C;font-size:13px;font-weight:800;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.game-success{display:none;padding:44px 32px;text-align:center}
.game-success.active{display:block}
.game-success__icon{font-size:76px;line-height:1;margin-bottom:16px}
.game-success__title{font-size:28px;font-weight:800;letter-spacing:-.025em;margin-bottom:10px}
.game-success__subtitle{font-size:15px;color:#64748B;line-height:1.55;max-width:420px;margin:0 auto 28px}
.game-success__subtitle strong{color:#FF6B47;font-weight:800;font-size:18px}
.promocode{display:flex;align-items:center;gap:10px;padding:12px;padding-left:26px;background:linear-gradient(135deg,rgba(0,201,167,.1),rgba(0,201,167,.03));border:2px dashed #00C9A7;border-radius:20px;margin-bottom:22px}
.promocode__value{flex:1;font-family:'Courier New',monospace;font-size:24px;font-weight:800;letter-spacing:.12em;color:#0A1628;text-align:left}
.promocode__copy{display:inline-flex;align-items:center;gap:6px;padding:11px 18px;background:#0A1628;border:1.5px solid #0A1628;border-radius:14px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;white-space:nowrap;transition:all .2s}
.promocode__copy:hover{background:#00A88C;border-color:#00A88C}
.promocode__copy.copied{background:#00C9A7;border-color:#00C9A7;color:#0A1628}
.game-success__later{display:block;margin:18px auto 0;background:none;border:none;padding:8px;font-family:inherit;font-size:13.5px;color:#94A3B8;cursor:pointer}
.game-success__later:hover{color:#0A1628;text-decoration:underline}
.roach-layer{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;z-index:40}
.roach{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:crosshair;user-select:none;-webkit-user-select:none;will-change:transform;opacity:.95;line-height:1;filter:drop-shadow(0 4px 8px rgba(10,22,40,.35));transition:filter .2s,opacity .2s,transform .2s}
.roach:hover{opacity:1;filter:drop-shadow(0 0 16px rgba(255,107,71,.9)) drop-shadow(0 4px 8px rgba(10,22,40,.4));transform:scale(1.15) rotate(6deg)}
.roach--dead{pointer-events:none;animation:roachSquash .42s cubic-bezier(.5,0,.7,1) forwards}
@keyframes roachSquash{0%{opacity:1}40%{opacity:1}100%{opacity:0}}
.roach-splat{position:fixed;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(200,50,40,.9) 0%,rgba(140,25,20,.55) 55%,transparent 78%);transform:translate(-50%,-50%);animation:splatFade 3s ease-out forwards;z-index:41}
@keyframes splatFade{0%{opacity:.95}100%{opacity:0}}
.roach-puff{position:fixed;pointer-events:none;transform:translate(-50%,-50%);animation:puffAnim .9s ease-out forwards;line-height:1;z-index:42}
@keyframes puffAnim{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}100%{opacity:0;transform:translate(-50%,-120%) scale(1.6)}}
.roach-badge{position:fixed;pointer-events:none;transform:translate(-50%,-50%);background:linear-gradient(135deg,#00C9A7,#00A88C);color:#fff;font-family:inherit;font-weight:800;font-size:18px;padding:8px 18px;border-radius:100px;box-shadow:0 8px 24px rgba(0,201,167,.55);animation:badgeUp 1.3s ease-out forwards;z-index:43;line-height:1;white-space:nowrap}
@keyframes badgeUp{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1;transform:translate(-50%,-90%) scale(1.1)}100%{opacity:0;transform:translate(-50%,-220%) scale(1)}}
.roach-hud{position:fixed;top:92px;right:22px;display:inline-flex;align-items:center;gap:4px;padding:8px 12px;background:rgba(10,22,40,.9);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-radius:100px;color:#fff;font-family:inherit;font-size:12px;user-select:none;box-shadow:0 8px 30px rgba(10,22,40,.35);z-index:60}
.roach-hud__item{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:16px;border-radius:50%;background:rgba(255,255,255,.06);filter:grayscale(1);opacity:.45;transition:all .35s}
.roach-hud__item.caught{filter:none;opacity:1;background:#00C9A7;transform:scale(1.1);box-shadow:0 3px 10px rgba(0,201,167,.5)}
.roach-hud__count{margin-left:6px;font-weight:800;font-size:12px;padding-left:10px;border-left:1px solid rgba(255,255,255,.15)}
.roach-hud__count strong{color:#FF6B47;font-weight:800;min-width:12px;text-align:center;display:inline-block}
.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal--up{transform:translateY(40px)}.reveal--fade{transform:translateY(20px)}
.reveal.is-visible{opacity:1;transform:translate(0,0) scale(1)}
@media (max-width:1024px){
.container{padding:0 20px}
.hero{padding:calc(76px + 60px) 0 72px}.hero__inner{grid-template-columns:1fr;gap:40px}.hero__visual{display:none}
.hero__title{font-size:clamp(30px,5vw,48px)}
.section{padding:72px 0}.section__header{margin-bottom:44px}
.grid--3{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}
.cta__inner{grid-template-columns:1fr;gap:36px}.footer__inner{grid-template-columns:repeat(2,1fr);gap:32px}
.service-full__grid{grid-template-columns:1fr}.contacts-grid{grid-template-columns:1fr;gap:32px}
.modal__grid{grid-template-columns:1fr}.modal__content{max-width:100%;max-height:95vh}
.modal__side{padding:36px 28px}.modal__main{padding:32px 28px}
}
@media (max-width:768px){
.container{padding:0 18px}
.nav{display:none!important;position:fixed;top:76px;left:0;right:0;background:#fff;flex-direction:column;padding:16px 18px;gap:0;box-shadow:0 16px 40px rgba(10,22,40,.1);border-top:1px solid rgba(15,35,66,.08);max-height:calc(100vh - 76px);overflow-y:auto}
.nav.active{display:flex!important}
.nav__link{font-size:16px;padding:16px 0;border-bottom:1px solid rgba(15,35,66,.08);color:#0A1628}
.nav__link:last-child{border-bottom:none}
.burger{display:flex}
.header__phone{width:40px;height:40px;padding:0;justify-content:center;border-radius:50%}
.header__phone-num{display:none}
.header__phone-icon{font-size:17px}
.hero{padding:calc(76px + 40px) 0 56px}
.hero__title{font-size:clamp(26px,7vw,36px);line-height:1.12}
.hero__subtitle{font-size:15px;margin-bottom:28px}
.hero__badge{font-size:12px;padding:7px 14px;margin-bottom:22px}
.hero__actions{flex-direction:column;gap:10px;margin-bottom:40px}
.hero__actions .btn{width:100%}
.hero__stats{grid-template-columns:repeat(3,1fr);gap:14px;padding-top:28px;justify-content:stretch}
.hero__stat strong{font-size:26px;margin-bottom:6px}
.hero__stat span{font-size:11.5px}
.section{padding:56px 0}.section__header{margin-bottom:32px}
.section__title{font-size:clamp(24px,6.5vw,32px);letter-spacing:-.025em}
.section__subtitle{font-size:15px}
.grid--3{grid-template-columns:1fr;gap:14px}
.steps{grid-template-columns:1fr;gap:14px}
.footer__inner{grid-template-columns:1fr;gap:28px}
.card{padding:24px}.card:hover{transform:none}
.card__icon{width:56px;height:56px;font-size:28px;margin-bottom:18px}
.card__title{font-size:18px}
.card__footer{flex-direction:column;align-items:stretch;gap:10px;padding-top:16px}
.step{padding:22px 20px}.step__num{font-size:36px;margin-bottom:12px}
.page-hero{padding:calc(76px + 48px) 0 44px}
.page-hero__title{font-size:clamp(24px,7vw,34px)}
.service-full{padding:24px;border-radius:20px}
.service-full__header{flex-direction:column;gap:16px;align-items:flex-start}
.service-full__icon{width:64px;height:64px;font-size:32px}
.service-full__title{font-size:22px}
.service-full__actions{flex-direction:column;gap:10px}
.service-full__actions .btn{width:100%}
.service-block{padding:20px}
.services-nav{grid-template-columns:1fr}
.price-table__head{display:none}
.price-table__row{display:flex;flex-direction:column;gap:6px;padding:18px 22px}
.price-table__service{font-size:15px;font-weight:700}
.price-table__price{font-size:17px}
.calc{padding:24px}
.contact-card{padding:22px}
.form--card{padding:26px}
.footer{padding:44px 0 0}
.footer__bottom{flex-direction:column;gap:8px;text-align:center;padding:22px 0;margin-top:32px}
.floating-btn{bottom:18px;right:18px;width:54px;height:54px;padding:0;justify-content:center;border-radius:50%}
.floating-btn__text{display:none}.floating-btn__icon{font-size:22px}
.to-top{bottom:18px;left:18px;width:46px;height:46px;font-size:18px}
.modal{padding:8px;align-items:flex-start}
.modal__content{max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:20px}
.modal__close{top:12px;right:12px;width:38px;height:38px;font-size:20px}
.modal__side{padding:32px 22px}.modal__side-title{font-size:22px}
.modal__main{padding:28px 22px}
.modal--game .modal__content--game{max-width:calc(100vw - 16px)}
.game-progress-view{padding:28px 20px 22px}
.game-success{padding:28px 20px}
.roach-hud{top:86px;right:10px;padding:6px 10px;gap:3px}
.roach-hud__item{width:22px;height:22px;font-size:14px}
}
@media (max-width:480px){
.container{padding:0 14px}
.header__inner{gap:8px}
.logo{font-size:17px;gap:8px}
.logo__icon{width:32px;height:32px;font-size:17px}
.logo__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header__actions{gap:6px}
.header__order-btn{display:none}
.header__phone{width:36px;height:36px}
.hero__title{font-size:24px}
.hero__stat strong{font-size:22px}
.card{padding:20px}
.card__icon{width:50px;height:50px;font-size:24px}
.btn{padding:12px 20px;font-size:14.5px}
.btn--lg{padding:15px 24px;font-size:15px}
.modal__close{width:34px;height:34px;font-size:18px;top:8px;right:8px}
.modal__side,.modal__main{padding:24px 18px}
.game-progress__item{width:38px;height:38px;font-size:19px}
}
@media print{.header,.footer,.floating-btn,.to-top,.modal,.roach-layer,.roach-hud,.roach-puff,.roach-splat,.roach-badge{display:none!important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}
