body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{background-color:var(--bg-light);border-bottom:1px solid #e5e7eb;left:0;position:fixed;right:0;top:0;z-index:1000}.header__container{align-items:center;display:flex;height:80px;justify-content:space-between}.header__logo{align-items:center;cursor:pointer;display:flex;gap:16px}.header__logo-square{align-items:center;background-color:var(--primary-color);border-radius:4px;color:var(--text-light);display:flex;font-weight:600;height:40px;justify-content:center;width:40px}.header__title{font-size:24px;margin:0}.header__subtitle{color:var(--text-gray);font-size:14px;margin:0}.header__contacts{align-items:center;display:flex;gap:24px}.header__phone{align-items:center;color:var(--text-dark);display:flex;font-weight:500;gap:8px;text-decoration:none}.header__phone-icon{color:var(--primary-color)}.header__callback{white-space:nowrap}@media (max-width:768px){.header__container{height:64px}.header__contacts{display:none}.header__title{font-size:20px}.header__subtitle{font-size:12px}}.consultation-modal{align-items:center;background-color:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.consultation-modal__content{background-color:var(--bg-light);border-radius:12px;max-width:400px;padding:32px;position:relative;width:100%}.consultation-modal__close{background:var(--primary-color);border:none;border-radius:5px;color:var(--text-light);cursor:pointer;padding:8px;position:absolute;right:0;top:-50px;transition:opacity .3s ease}.consultation-modal__close:hover{opacity:.7}.consultation-modal__title{color:var(--text-dark);font-size:24px;margin-bottom:24px;text-align:center}.consultation-modal__phones{grid-gap:16px;display:grid;gap:16px}.consultation-modal__phone{align-items:center;background-color:var(--bg-gray);border-radius:8px;color:var(--text-dark);display:flex;font-weight:500;gap:12px;padding:16px;text-decoration:none;transition:all .3s ease}.consultation-modal__phone:hover{background-color:var(--primary-color);color:var(--text-light)}.consultation-modal__phone svg{color:var(--primary-color);transition:color .3s ease}.consultation-modal__phone:hover svg{color:var(--text-light)}@media (max-width:768px){.consultation-modal__content{padding:24px}.consultation-modal__title{font-size:20px}.consultation-modal__close{top:-52px}}.hero{background:linear-gradient(135deg,#dbeafe,#e0e7ff);padding:160px 0 80px}.hero__container{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:1fr 1fr}.hero__badge{background-color:#2563eb1a;border-radius:20px;color:var(--primary-color);display:inline-block;font-weight:500;margin-bottom:24px;padding:8px 16px}.hero__title{color:var(--text-dark);margin-bottom:16px}.hero__subtitle{color:var(--text-gray);font-size:20px;margin-bottom:32px}.hero__buttons{display:flex;gap:16px;margin-bottom:48px}.hero__stats{display:flex;gap:48px}.hero__stat{display:flex;flex-direction:column}.hero__stat-number{color:var(--primary-color);font-size:32px;font-weight:700}.hero__stat-text{color:var(--text-gray);font-size:16px}.hero__image-wrapper{position:relative}.hero__image{border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;height:600px;object-fit:cover;width:100%}.hero__rating{align-items:center;background-color:var(--bg-light);border-radius:12px;bottom:30px;box-shadow:0 10px 15px -3px #0000001a;cursor:pointer;display:flex;flex-direction:row;justify-content:center;left:24px;padding:16px 24px;position:absolute}.hero__rating-stars{color:#fbbf24;font-size:20px;margin-bottom:4px;margin-right:10px}.hero__rating-score{color:var(--text-dark);font-weight:600}@media (max-width:1024px){.hero{padding:140px 0 60px}.hero__image{height:500px}}@media (max-width:768px){.hero{padding:120px 0 40px}.hero__container{grid-template-columns:1fr}.hero__image{height:400px}.hero__buttons{flex-direction:column}.hero__stats{gap:24px}.hero__stat-number{font-size:24px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes blurIn{0%{filter:blur(10px);opacity:0}to{filter:blur(0);opacity:1}}.animate-fade-up{animation:fadeInUp .2s ease-out forwards}.animate-fade-up2{animation:fadeInUp .4s ease-out forwards}.animate-fade-up3{animation:fadeInUp .5s ease-out forwards}.animate-fade-up4{animation:fadeInUp .7s ease-out forwards}.animate-fade-left{animation:fadeInLeft .6s ease-out forwards}.animate-fade-right{animation:fadeInRight .6s ease-out forwards}.animate-scale{animation:scaleIn .6s ease-out forwards}.animate-pulse{animation:pulse 2s infinite}.animate-blur{animation:blurIn .6s ease-out forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}[class*=animate-]{opacity:0}.services{background-color:var(--bg-light);padding:80px 0}.services__header{margin:0 auto 48px;max-width:800px;text-align:center}.services__title{margin-bottom:16px}.services__description{color:var(--text-gray);font-size:18px}.services__grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}.services__card{background-color:var(--bg-light);border:1px solid #e5e7eb;border-radius:12px;padding:24px;transition:all .3s ease}.services__card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px)}.services__icon{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;margin-bottom:24px;width:48px}.services__card-title{color:var(--text-dark);margin-bottom:12px}.services__card-description{color:var(--text-gray);margin-bottom:24px}.services__features{list-style:none;margin:0;padding:0}.services__feature{align-items:center;color:var(--text-gray);display:flex;gap:8px;margin-bottom:12px}.services__feature svg{color:var(--secondary-green)}@media (max-width:1024px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.services{padding:40px 0}.services__grid{grid-template-columns:1fr}.services__description{font-size:16px}}.advantages{background-color:var(--bg-gray);padding:80px 0}.advantages__header{margin:0 auto 48px;max-width:800px;text-align:center}.advantages__title{margin-bottom:16px}.advantages__description{color:var(--text-gray);font-size:18px}.advantages__grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr)}.advantages__card{background-color:var(--primary-color);border-radius:12px;padding:32px;text-align:center;transition:all .3s ease}.advantages__card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px)}.advantages__icon{align-items:center;display:flex;height:64px;justify-content:center;margin:0 auto 24px;width:64px}.advantages__card-title{color:var(--text-light);margin-bottom:12px}.advantages__card-description{color:var(--text-light)}@media (max-width:1024px){.advantages__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.advantages{padding:40px 0}.advantages__grid{grid-template-columns:1fr}.advantages__description{font-size:16px}}.modal{background-color:#000000e6;bottom:0;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal,.modal__content{align-items:center;display:flex}.modal__content{flex-direction:column;gap:16px;max-height:90vh;max-width:90vw;position:relative}.modal__close{background:var(--primary-color);border:none;border-radius:5px;color:var(--text-light);cursor:pointer;padding:8px;position:absolute;right:0;top:-50px;transition:opacity .3s ease}.modal__close:hover{opacity:.7}.modal__image{border-radius:8px;max-height:80vh;max-width:100%;object-fit:contain}.modal__title{color:var(--text-light);font-size:24px;margin:0;text-align:center}@media (max-width:768px){.modal__content{max-width:95vw}.modal__title{font-size:20px}.modal__close{top:-52px}}.portfolio{background-color:var(--bg-light);padding:80px 0}.portfolio__header{margin:0 auto 48px;max-width:800px;text-align:center}.portfolio__title{margin-bottom:16px}.portfolio__description{color:var(--text-gray);font-size:18px}.portfolio__grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.portfolio__card{background-color:var(--bg-light);border-radius:12px;overflow:hidden;transition:all .3s ease}.portfolio__card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px)}.portfolio__image-wrapper{overflow:hidden;position:relative}.portfolio__image{height:300px;object-fit:cover;transition:transform .3s ease;width:100%}.portfolio__card:hover .portfolio__image{transform:scale(1.05)}.portfolio__overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.portfolio__card:hover .portfolio__overlay{opacity:1}.portfolio__content{padding:24px}.portfolio__card-title{color:var(--text-dark);margin-bottom:8px}.portfolio__card-description{color:var(--text-gray)}@media (max-width:1024px){.portfolio__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.portfolio{padding:40px 0}.portfolio__grid{grid-template-columns:1fr}.portfolio__description{font-size:16px}}.contact{background-color:var(--primary-color);color:var(--text-light);padding:80px 0}.contact__grid{grid-gap:48px;align-items:start;display:grid;gap:48px;grid-template-columns:1fr 1fr}.contact__title{color:var(--text-light);margin-bottom:16px}.contact__description{font-size:18px;margin-bottom:32px;opacity:.9}.contact__details{grid-gap:24px;display:grid;gap:24px}.contact__detail{align-items:center;display:flex;gap:12px}.contact__detail svg{color:var(--text-light);opacity:.9}.contact__form-wrapper{background-color:var(--bg-light);border-radius:12px;padding:32px}.contact__form{grid-gap:24px;display:grid;gap:24px}.contact__form-group{grid-gap:8px;display:grid;gap:8px}.contact__label{color:var(--text-dark);font-weight:500}.contact__input,.contact__textarea{border:1px solid #e5e7eb;border-radius:6px;font-size:16px;padding:12px 16px;transition:all .3s ease}.contact__input:focus,.contact__textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.contact__textarea{min-height:120px;resize:vertical}.contact__submit{font-size:16px;padding:14px;width:100%}.contact__privacy{color:var(--text-gray);font-size:14px;text-align:center}@media (max-width:1024px){.contact__grid{gap:32px}}@media (max-width:768px){.contact{padding:40px 0}.contact__grid{grid-template-columns:1fr}.contact__description{font-size:16px}.contact__form-wrapper{padding:24px}}.footer{background-color:var(--bg-dark);color:var(--text-light);padding:48px 0 0}.footer__grid{grid-gap:48px;display:grid;gap:48px;grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:48px}.footer__logo{align-items:center;display:flex;gap:16px;margin-bottom:24px}.footer__logo-square{align-items:center;background-color:var(--primary-color);border-radius:4px;color:var(--text-light);display:flex;font-weight:600;height:40px;justify-content:center;width:40px}.footer__title{color:var(--text-light);font-size:20px;margin:0}.footer__subtitle{color:var(--text-gray);font-size:14px;margin:0}.footer__description{color:var(--text-gray);line-height:1.6}.footer__heading{color:var(--text-light);font-size:18px;font-weight:600;margin-bottom:24px}.footer__list{list-style:none;margin:0;padding:0}.footer__list-item{cursor:pointer}.footer__list li{margin-bottom:16px}.footer__list li:last-child{margin-bottom:0}.footer__list a{color:var(--text-gray);text-decoration:none;transition:color .3s ease}.footer__list a:hover{color:var(--text-light)}.footer__list li{align-items:center;display:flex;gap:12px}.footer__list li,.footer__list svg{color:var(--text-gray)}.footer__bottom{border-top:1px solid #ffffff1a;padding:24px 0;text-align:center}.footer__copyright{color:var(--text-gray);margin:0}@media (max-width:1024px){.footer__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.footer{padding:32px 0 0}.footer__grid{gap:32px;grid-template-columns:1fr}.footer__bottom{padding:16px 0}}.scroll-to-top{align-items:center;border:none;border-radius:50%;bottom:30px;box-shadow:0 2px 10px #0000001a;color:var(--text-light);cursor:pointer;display:flex;height:50px;justify-content:center;opacity:0;position:fixed;right:30px;transform:translateY(20px);transition:all .3s ease;width:50px;z-index:1000}.scroll-to-top,.scroll-to-top:hover{background-color:var(--primary-color)}.scroll-to-top.visible,.scroll-to-top:hover{transform:translateY(0)}.scroll-to-top.visible{opacity:1}@media (max-width:768px){.scroll-to-top{bottom:20px;height:40px;right:20px;width:40px}}:root{--primary-color:#2563eb;--secondary-green:#22c55e;--secondary-orange:#f97316;--secondary-purple:#8b5cf6;--text-dark:#111827;--text-gray:#6b7280;--text-light:#fff;--bg-light:#fff;--bg-gray:#f9fafb;--bg-dark:#111827}*{box-sizing:border-box;margin:0;padding:0}body{color:#111827;color:var(--text-dark);font-family:system-ui,-apple-system,sans-serif;line-height:1.5}.container{margin:0 auto;max-width:1200px;padding:0 16px}h1{font-size:48px}h1,h2{font-weight:700;line-height:1.2}h2{font-size:36px}h3{font-size:24px;font-weight:600;line-height:1.2}.btn{border:none;border-radius:6px;cursor:pointer;display:inline-block;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:#2563eb;background-color:var(--primary-color);color:#fff;color:var(--text-light)}.btn-primary:hover{background-color:#1d4ed8}.btn-outline{background-color:initial;border:2px solid #2563eb;border:2px solid var(--primary-color);color:#2563eb;color:var(--primary-color)}.btn-outline:hover{background-color:#2563eb;background-color:var(--primary-color);color:#fff;color:var(--text-light)}@media (max-width:1024px){h1{font-size:40px}h2{font-size:32px}}@media (max-width:768px){h1{font-size:32px}h2{font-size:28px}h3{font-size:20px}.container{padding:0 16px}}