/* Original "New Light" layout recreated as independent CSS. No site-builder runtime. */
:root{--orange:#f58f4b;--orange-dark:#e86f16;--text:#080808;--bg-soft:#f5f5f5;--max:1160px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;color:var(--text);background:#fff;font:16px/1.55 Arial,"Helvetica Neue",Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button{cursor:pointer}
a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}
.section-wrap,.wrap{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.skip-link{position:fixed;top:-80px;left:16px;z-index:1000;background:#fff;padding:12px 18px;border:2px solid #000}
.skip-link:focus{top:12px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%)!important;white-space:nowrap!important;overflow:hidden!important}
.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:60px;padding:14px 24px;text-decoration:none;border:0;font:700 16px/1.3 Arial,sans-serif;transition:background .2s ease,transform .2s ease;color:#fff;white-space:normal}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--orange);border-radius:3px}
.button-primary:hover{background:var(--orange-dark)}
.button-bordered{background:var(--orange-dark);border:3px solid #080808;min-width:280px}
.button-bordered:hover{background:#c9590c}
.button-round{border-radius:100px;background:var(--orange-dark);min-width:292px}
.button-round:hover{background:#ce5a0d}

.site-header{position:absolute;top:0;left:0;width:100%;z-index:20;color:#fff;background:transparent}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:18px;min-height:100px;width:calc(100% - 80px);margin:0 auto}
.main-nav{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:center;gap:30px;min-width:0}
.main-nav a{font:600 16px/1.25 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap;color:#fff;transition:opacity .2s ease}
.main-nav a:hover,.main-nav a:focus-visible{opacity:.78;text-decoration:underline;text-underline-offset:4px}
.header-identity{grid-column:2;grid-row:1;justify-self:center;display:flex;align-items:center;gap:clamp(82px,8.7vw,150px);white-space:nowrap}
.site-brand{font:600 24px/1.2 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap;text-align:center;color:#fff}
.header-right{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;min-width:0}
.header-phone{font:700 24px/1.2 Arial,Helvetica,sans-serif;white-space:nowrap;text-align:right;flex:0 0 auto;color:#fff;text-decoration:underline;text-underline-offset:2px;transition:opacity .2s ease}
.header-phone:hover{opacity:.8}
.header-actions{display:flex;gap:10px;align-items:center}
.social-icon{display:grid;place-items:center;flex:0 0 auto;text-decoration:none;background:#fff;border:0;color:#222;width:30px;height:30px;border-radius:50%;transition:background .2s ease,transform .2s ease}
.social-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.social-icon:hover{background:#ffd0ad;transform:translateY(-1px)}
.menu-toggle{display:none}

.hero{position:relative;isolation:isolate;min-height:clamp(805px,100svh,980px);color:#fff;overflow:hidden}
.hero-photo,.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo{object-position:center 48%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,.7))}
.snow{pointer-events:none;position:absolute;inset:0;opacity:.28;background-image:radial-gradient(circle at 13px 26px,rgba(255,255,255,.95) 1.2px,transparent 2.8px),radial-gradient(circle at 91px 75px,rgba(255,255,255,.86) 1.3px,transparent 2.5px),radial-gradient(circle at 42px 125px,rgba(255,255,255,.75) .8px,transparent 2px);background-size:165px 170px,183px 192px,132px 149px;animation:snow-drift 30s linear infinite}
@keyframes snow-drift{to{background-position:0 400px,50px 230px,-50px 330px}}
.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding-top:118px;padding-bottom:82px}
.hero h1{margin:0 auto;color:#fff;font:600 68px/1.22 Arial,Helvetica,sans-serif;text-align:center;letter-spacing:0;max-width:960px;text-shadow:none}
.hero-points{align-self:center;width:min(100%,960px);margin:105px auto 67px;font:700 22px/1.55 Arial,Helvetica,sans-serif;color:#fff;text-align:center;text-shadow:none}
.hero-points p{margin:0;text-wrap:balance}
.hero-button{width:269px;height:60px;min-height:60px;padding:0 20px;border-radius:3px;font:700 16px/1.3 Arial,Helvetica,sans-serif;box-shadow:0 0 20px rgba(0,0,0,.3);border:0}
.hero-button:hover{box-shadow:0 0 25px rgba(0,0,0,.36)}
.scroll-down{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:52px;height:48px;color:#fff;text-decoration:none;background:transparent;border:0;z-index:2;transition:transform .2s ease,opacity .2s ease}
.scroll-down svg{width:38px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.scroll-down:hover{opacity:.8;transform:translate(-50%,3px)}

.about{display:grid;grid-template-columns:1fr 1fr;gap:66px;padding-top:180px;padding-bottom:180px;align-items:center;min-height:820px}
.about-text h2{font-size:42px;line-height:1.22;font-weight:700;text-align:center;margin:0}
.mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.mosaic img{width:100%;aspect-ratio:1;object-fit:cover}
.cta-separator{display:flex;justify-content:center;align-items:center;min-height:246px;padding:40px 24px}
.services{padding-top:30px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.service-card{text-decoration:none;min-width:0}
.service-card img{width:100%;aspect-ratio:1;object-fit:cover;transition:filter .15s ease}
.service-card:hover img{filter:brightness(.9)}
.service-card h2{font-size:18px;line-height:1.4;margin:18px 0 0;font-weight:800}
.services-cta{margin-top:110px;display:flex;justify-content:center}

.advantages{background:var(--bg-soft);padding:150px 0 180px}
.advantages h2{font-size:42px;line-height:1.27;font-weight:700;text-align:center;margin:0 auto 106px}
.advantages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:55px;row-gap:100px}
.advantage{text-align:center;display:flex;flex-direction:column;align-items:center;gap:32px}
.advantage img{width:84px;height:84px;object-fit:contain}
.advantage h3{font-size:30px;line-height:1.15;font-weight:700;margin:0;max-width:320px}

.promo{position:relative;isolation:isolate;min-height:590px;overflow:hidden;color:#fff}
.promo .cover-img{object-position:center 50%}
.cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.79),rgba(0,0,0,.86))}
.promo-inner{position:relative;padding:108px 0 110px}
.promo h2{font-size:48px;line-height:1.22;max-width:1000px;font-weight:700;margin:0}
.promo-button{min-width:339px;margin:75px 0 0 310px}

.extras{padding:165px 24px 60px}
.extras-list{width:min(560px,100%);margin:0 auto}
.extra-item{display:grid;grid-template-columns:200px minmax(0,1fr);align-items:start;gap:40px;margin-bottom:55px}
.extra-item img{width:200px;height:200px;object-fit:cover}
.extra-item h3{font-size:20px;line-height:1.3;margin:0 0 16px;font-weight:700}
.extra-item p{font-size:18px;line-height:1.35;margin:0}

.reviews{background:var(--bg-soft);padding:165px 0 210px;min-height:793px}
.reviews h2{font-size:42px;line-height:1.25;text-align:center;margin:0 0 100px}
.reviews-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;font-size:16px;line-height:1.5;margin-bottom:103px}
.reviews-columns p{max-width:310px;margin:0 0 12px}
.reviews-columns strong{display:block;max-width:310px}
.reviews .button-round{display:flex;margin:auto;width:max-content}

.request{isolation:isolate;position:relative;color:#fff;min-height:900px;overflow:hidden}
.request .cover-img{object-position:center center}
.request-inner{position:relative;padding:198px 0 125px}
.request h2{font-size:48px;font-weight:800;line-height:1.22;text-align:center;max-width:1020px;margin:0 auto 30px}
.request-subtitle{text-align:center;font-size:24px;margin:0 auto 75px}
.lead-form{position:relative}
.form-row{display:grid;grid-template-columns:1fr 1fr 1fr 166px;gap:20px;align-items:stretch}
.field{min-width:0}
.field input{width:100%;height:56px;border:1px solid rgba(255,255,255,.95);border-radius:0;padding:0 20px;color:#fff;background:rgba(0,0,0,.06);font-size:16px}
.field input::placeholder{color:#a9a9a9;opacity:1}
.field input:focus{background:rgba(0,0,0,.25)}
.form-button{min-width:0;width:100%;min-height:56px;height:56px;text-transform:none}
.privacy-consent{margin:16px auto 0;max-width:1020px;font-size:13px;color:#e8e8e8}
.privacy-consent label{display:flex;align-items:flex-start;gap:11px;cursor:pointer}
.privacy-consent input{margin:4px 0 0;width:17px;height:17px;accent-color:var(--orange);flex:none}
.privacy-consent a{text-decoration:underline}
.form-message{text-align:center;font-size:14px;min-height:26px;margin:12px 0 0;color:#fff;font-weight:700}
.form-message.error{color:#ffb4a5}
.form-message.success{color:#b7f0c5}
.field-trap{position:absolute!important;left:-9999px;top:-9999px}
.request-alternative{margin-top:23px;text-align:center;color:#eee;font-size:14px}
.request-alternative a{font-weight:700;text-underline-offset:3px}
.contacts{min-height:801px;padding:150px 0}
.contacts-inner{text-align:center}
.contacts h2{font-size:16px;font-weight:700;margin:0}
.contacts address{font-size:36px;line-height:1.22;font-style:normal;font-weight:700;max-width:570px;margin:48px auto 45px;overflow-wrap:anywhere}
.contacts address a{text-decoration:none}
.contacts address a:hover{text-decoration:underline}
.contacts p{font-size:18px;margin:0 0 45px}
.contact-icons{display:flex;align-items:center;justify-content:center;gap:3px}
.contact-icons a{display:grid;place-items:center;border-radius:50%;width:48px;height:48px;background:var(--orange);color:#fff;font-size:24px;text-decoration:none}
.contact-icons a:hover{background:var(--orange-dark)}
.gallery{padding-top:30px;padding-bottom:80px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:76px}
.gallery-item{border:0;background:#f0f0f0;padding:0;width:100%;aspect-ratio:1;display:block;overflow:hidden}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.gallery-item:hover img{transform:scale(1.04)}
.site-footer{background:#f5f5f5;color:#3c3c3c;padding:30px 0;font-size:14px}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px}

.gallery-dialog{padding:0;margin:auto;max-width:min(1080px,95vw);max-height:95svh;width:max-content;border:0;border-radius:7px;background:#121212;color:#fff;overflow:visible}
.gallery-dialog::backdrop{background:rgba(0,0,0,.9)}
.gallery-dialog img{max-width:min(1080px,90vw);max-height:82svh;width:auto;height:auto;object-fit:contain}
.gallery-dialog p{margin:8px 12px 12px;text-align:center;font-size:14px}
.dialog-close,.dialog-prev,.dialog-next{position:absolute;z-index:2;border:0;color:#fff;background:rgba(0,0,0,.67);display:grid;place-items:center}
.dialog-close{right:0;top:0;width:48px;height:48px;font-size:32px}
.dialog-prev,.dialog-next{top:45%;height:65px;width:48px;font-size:52px}
.dialog-prev{left:0}.dialog-next{right:0}
.mobile-quick-actions{display:none}

@media(max-width:1320px){
  .header-inner{position:relative;min-height:82px;grid-template-columns:44px minmax(0,1fr);column-gap:18px}
  .menu-toggle{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.45);border-radius:5px;background:rgba(0,0,0,.16);color:#fff}
  .menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .main-nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(23,23,23,.97);box-shadow:0 14px 30px rgba(0,0,0,.25);border-radius:7px;padding:8px}
  .main-nav.is-open{display:flex}
  .main-nav a{padding:14px 12px;font-size:17px;border-bottom:1px solid rgba(255,255,255,.12)}
  .main-nav a:last-child{border:0}
  .header-identity{grid-column:2;grid-row:1;justify-self:stretch;min-width:0;justify-content:space-between;gap:16px}
  .site-brand{min-width:0;font-size:20px;white-space:normal;text-align:left}
  .header-phone{font-size:18px}
  .header-right{display:none}
}
@media(max-width:1200px){
  .header-inner{width:calc(100% - 40px);column-gap:16px}
  .main-nav{gap:15px}
  .main-nav a{font-size:14px}
  .site-brand{font-size:19px}
  .header-right{gap:12px}
  .header-phone{font-size:17px}
  .social-icon{width:35px;height:35px;border-radius:10px}
  .about-text h2{font-size:clamp(28px,3.35vw,42px)}
  .advantage h3{font-size:clamp(21px,2.4vw,30px)}
}
@media(max-width:950px){
  .header-inner{position:relative;min-height:82px;grid-template-columns:44px minmax(0,1fr);column-gap:14px}
  .menu-toggle{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);border-radius:11px;background:rgba(255,255,255,.1);color:#fff;order:0;transition:background .2s ease}
  .menu-toggle:hover{background:rgba(255,255,255,.2)}
  .menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .main-nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(18,25,29,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 24px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.18);border-radius:13px;padding:8px;order:4}
  .main-nav.is-open{display:flex}
  .main-nav a{padding:14px 12px;font-size:17px;border-bottom:1px solid rgba(255,255,255,.12)}
  .main-nav a:last-child{border:0}
  .site-brand{font-size:19px;max-width:100%;min-width:0}
  .header-identity{gap:12px}
  .header-phone{font-size:17px;text-align:right}
  .header-right{display:none}
  .hero h1{font-size:clamp(43px,5.6vw,64px)}
  .hero-points{margin-top:clamp(43px,7vh,64px)}
  .about{gap:32px;min-height:auto}
  .about-text h2{font-size:30px}
  .service-grid{gap:22px}
  .service-card h2{font-size:16px}
  .promo h2{font-size:38px}
  .promo-button{margin-left:100px}
  .request h2{font-size:38px}
  .form-row{grid-template-columns:repeat(2,1fr)}
  .form-button{height:56px}
  .advantages-grid{column-gap:25px}
}
@media(min-width:651px) and (max-width:1100px){
  .hero h1{font-size:clamp(43px,calc(10vw - 42px),68px)}
  .hero-points{font-size:clamp(18px,calc(1.35vw + 7.2px),22px);margin-top:clamp(42px,calc(15vw - 60px),105px);margin-bottom:clamp(42px,calc(7.5vw - 15px),67px)}
}
@media(max-width:650px){
  html{scroll-padding-top:10px}
  .section-wrap,.wrap{width:calc(100% - 40px)}
  .header-inner{width:calc(100% - 30px);min-height:74px;column-gap:11px}
  .header-identity{gap:8px}
  .site-brand{font-size:clamp(13px,3.7vw,18px);letter-spacing:-.3px;white-space:normal;max-width:155px}
  .header-phone{font-size:13px;white-space:nowrap;text-decoration:none}
  .main-nav{top:69px}
  .hero{min-height:820px;min-height:max(750px,100svh);height:auto}
  .hero-photo{object-position:58% center}
  .hero-content{padding-top:140px;padding-bottom:100px}
  .hero h1{font-size:clamp(30px,8vw,47px);line-height:1.16;letter-spacing:0;overflow-wrap:normal}
  .hero-points{width:100%;margin:52px auto 42px;font-size:15px;line-height:1.55;font-weight:700;text-align:center}
  .hero-points p{margin-bottom:10px}
  .hero-button{width:min(100%,320px);min-height:56px}
  .scroll-down{display:none}
  .snow{opacity:.25}
  .about{display:flex;flex-direction:column;align-items:stretch;padding-top:78px;padding-bottom:68px;gap:35px}
  .about-text h2{font-size:clamp(23px,6.3vw,29px);line-height:1.3;text-align:center}
  .mosaic{gap:10px}.mosaic img{width:100%;aspect-ratio:1}
  .cta-separator{min-height:136px;padding:24px}
  .button-bordered{min-width:0;width:min(100%,320px);min-height:56px}
  .services{padding-top:24px}
  .service-grid{grid-template-columns:1fr;gap:34px}
  .service-card img{max-height:420px}
  .service-card h2{font-size:18px;margin-top:12px;text-align:left}
  .services-cta{margin-top:45px}
  .advantages{padding:78px 0 85px;margin-top:0}
  .advantages h2{font-size:clamp(25px,6.7vw,34px);line-height:1.28;margin:0 0 60px}
  .advantages-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:45px}
  .advantage{gap:14px}
  .advantage img{width:60px;height:60px}
  .advantage h3{font-size:clamp(16px,4.5vw,20px);line-height:1.27}
  .promo{min-height:auto}
  .promo-inner{padding:85px 0 90px}
  .promo h2{font-size:clamp(26px,6.6vw,34px);line-height:1.28}
  .promo-button{margin:40px 0 0;min-width:0;width:min(100%,340px)}
  .extras{padding:75px 20px 38px}
  .extra-item{grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;margin-bottom:30px}
  .extra-item img{width:120px;height:120px}
  .extra-item h3{font-size:17px;line-height:1.25;margin:0 0 8px}
  .extra-item p{font-size:15px}
  .reviews{padding:77px 0 92px;min-height:unset}
  .reviews h2{font-size:30px;margin:0 0 50px}
  .reviews-columns{grid-template-columns:1fr;gap:26px;margin-bottom:55px}
  .reviews .button-round{min-width:0;width:min(100%,320px)}
  .request{min-height:740px}
  .request-inner{padding:95px 0 85px}
  .request h2{font-size:clamp(26px,6.9vw,37px);line-height:1.21}
  .request-subtitle{font-size:17px;line-height:1.5;margin:18px auto 30px}
  .form-row{grid-template-columns:1fr;gap:12px}
  .field input{height:52px;min-height:52px;background:rgba(0,0,0,.15)}
  .form-button{height:54px;min-height:54px}
  .privacy-consent{font-size:12px;line-height:1.45}
  .request-alternative{margin-top:18px;font-size:13px}
  .contacts{min-height:auto;padding:85px 0 95px}
  .contacts h2{font-size:15px}
  .contacts address{font-size:clamp(22px,6.5vw,31px);line-height:1.38;margin:38px auto}
  .contacts p{font-size:16px;margin:0 0 25px}
  .contact-icons a{width:45px;height:45px}
  .gallery{padding-top:24px;padding-bottom:50px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:12px}
  .footer-inner{font-size:12px;display:grid;gap:10px}
  .site-footer{padding-bottom:105px}
  .mobile-quick-actions{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr 1.2fr;gap:10px;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#fff;box-shadow:0 -3px 20px rgba(0,0,0,.14)}
  .mobile-quick-actions a{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:47px;font-size:14px;font-weight:700;border-radius:4px;text-align:center}
  .quick-call{color:#151515;border:1px solid #292929}
  .quick-request{color:#fff;background:var(--orange-dark)}
  .gallery-dialog img{max-width:92vw;max-height:75svh}
  .dialog-prev,.dialog-next{height:50px;width:38px;font-size:40px}
}
@media(max-width:365px){
  .header-phone{font-size:12px}
  .site-brand{font-size:12px;max-width:126px}
  .hero h1{font-size:29px}
  .hero-content{padding-top:138px}
  .extra-item{grid-template-columns:105px 1fr;gap:16px}
  .extra-item img{width:105px;height:105px}
}
.footer-services{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:18px;padding-top:17px;border-top:1px solid #ddd}
.footer-services a{font-size:13px;text-decoration:none;color:#555}
.footer-services a:hover{text-decoration:underline}
@media(max-height:820px) and (min-width:651px){
  .hero-content{padding-top:112px}
  .hero h1{font-size:clamp(40px,4vw,62px)}
  .hero-points{margin-top:52px;margin-bottom:45px}
  .scroll-down{bottom:10px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
