:root{--accent:#2563eb;--dark:#0f172a;--muted:#6b7280;--card:#ffffff;--radius:10px;--maxw:1540px;--bg:#f3f4f6;--white-color:#fff;--red-color:#e1251b}*,*::before,*::after{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:#111827;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.btn{background:var(--accent);color:#fff;padding:12px 18px;border-radius:8px;display:inline-block;border:none;cursor:pointer;font-weight:500;transition:background 0.2s ease,transform 0.1s ease,box-shadow 0.2s ease}.btn:hover{background:#1d4ed8;box-shadow:0 8px 18px rgb(37 99 235 / .35);transform:translateY(-1px)}.site-header{background:linear-gradient(0deg,rgb(15 23 42 / .55),rgb(15 23 42 / .55)),url(../img/background.avif) center/cover no-repeat;color:#fff;min-height:100vh}.header-wrap{min-height:100vh;display:flex;flex-direction:column;padding:18px 0 32px}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 24px;border-radius:999px;box-shadow:0 10px 30px rgb(15 23 42 / .5);border:1px solid rgb(148 163 184 / .55);backdrop-filter:blur(10px);background:rgb(15 23 42 / .8)}.logo{font-weight:700;font-size:20px;display:flex;gap:20px;align-items:center}.nav{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.nav a{font-size:1.5rem;opacity:.9;position:relative;padding-bottom:2px;transition:opacity 0.2s ease,color 0.2s ease}.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;border-radius:999px;background:var(--red-color);transition:width 0.2s ease}.nav a:hover{opacity:1;color:var(--red-color)}.nav a:hover::after{width:100%}.phone-block{display:flex;gap:12px;align-items:center;white-space:nowrap;font-size:1.5rem}.social-links{display:flex;gap:10px;align-items:center}.social-links img{width:30px;height:30px;display:inline-block;transition:transform 0.15s ease,filter 0.15s ease}.social-links a:hover img{transform:translateY(-1px);filter:drop-shadow(0 0 4px rgb(191 219 254 / .7))}.hero{flex:1;display:flex;align-items:flex-end;justify-content:flex-start;position:relative;margin-top:40px}.hero-left{max-width:1200px;align-self:flex-start}.hero-title{margin-bottom:32px}.hero-left h1{font-size:4.5rem;margin:0 0 10px}.hero-left h2{font-size:2.2rem;margin:0 0 10px}.hero-left p{margin:0 0 18px;color:#e5e7eb;font-size:1.3rem;line-height:1.5}.text-accent{color:var(--white-color)}.hero-link{position:absolute;left:20px;bottom:40px}.hero-cta{max-width:340px;justify-content:center}.services-cta{margin-top:32px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 32px;border-radius:999px;border:1px solid rgb(229 231 235 / .8);background:#fff0;color:#f9fafb;font-size:16px;cursor:pointer;transition:background 0.15s ease,transform 0.1s ease,box-shadow 0.2s ease,border-color 0.15s ease}.services-cta-icon{width:34px;height:34px;border-radius:999px;border:1px solid rgb(229 231 235 / .9);display:inline-flex;align-items:center;justify-content:center;font-size:16px}.services-cta:hover{background:rgb(15 23 42 / .8);transform:translateY(-1px);box-shadow:0 14px 40px rgb(15 23 42 / .9);border-color:rgb(248 250 252 / .9)}.services-cta.blue{background:#051b32;margin-top:20px}.services-block{margin-top:80px}.services-heading-wrapper{max-width:var(--maxw);margin:0 auto 16px;padding:0 20px}.services-heading{font-size:44px;line-height:1.1;margin:0 0 24px;font-weight:700;text-align:left;color:#0f172a}.services-block-wrapper{background:linear-gradient(225deg,#334e66 0%,#011b32 100%)}.services-block-inner{max-width:var(--maxw);margin:0 auto}.services-tabs-bar{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%;position:relative;overflow-x:hidden}.services-tabs-bar::before,.services-tabs-bar::after{content:"";position:absolute;top:0;bottom:0;width:9999px;background:#fff;z-index:0;opacity:0;pointer-events:none;transition:opacity 0.25s ease}.services-tabs-bar::before{right:100%}.services-tabs-bar::after{left:100%}.services-tabs-bar.first-active::before{opacity:1}.services-tabs-bar.last-active::after{opacity:1}.services-tab-link{border:none;background:#fff;color:#1f2937;display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 32px;font-size:20px;cursor:pointer;position:relative;transition:background 0.2s ease,color 0.2s ease;flex:1 1 0%;text-align:center;z-index:1}.services-tab-link svg{color:#1f2937;transition:color 0.2s ease}.services-tab-link:hover{color:var(--red-color)}.services-tab-link:hover svg{color:var(--red-color)}.services-tab-link.active{background:#fff0;color:#fff;font-weight:600;box-shadow:0 4px 0 rgb(15 23 42 / .3)}.services-tab-link:focus,.services-tab-link:focus-visible,.services-tab-link:active{outline:none;color:inherit;background:inherit}.services-tab-link.active svg{color:#fff}.services-panel{color:#e5e7eb;min-height:360px;overflow:hidden}.services-panel-item{opacity:0;transform:translateY(12px);visibility:hidden;max-height:0;overflow:hidden;transition:opacity 0.3s ease,transform 0.3s ease,max-height 0.4s ease,visibility 0.3s ease}.services-panel-item.active{opacity:1;transform:translateY(0);visibility:visible;max-height:1000px}.services-panel-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr);align-items:center;gap:40px;padding:36px 20px 0}.services-panel-text{max-width:520px;font-size:16px;line-height:1.7;opacity:0;transform:translateY(6px);transition:opacity 0.3s ease 0.05s,transform 0.3s ease 0.05s}.services-panel-text p{margin:0 0 12px;color:#e5e7eb}.services-panel-item.active .services-panel-text{opacity:1;transform:translateY(0)}.services-panel-image{display:flex;justify-content:center;align-items:center}.services-panel-image img{width:100%;max-width:720px;object-fit:contain;display:block;opacity:0;transform:translateY(8px);transition:opacity 0.35s ease 0.05s,transform 0.35s ease 0.05s}.services-panel-item.active .services-panel-image img{opacity:1;transform:translateY(0)}.section-portfolio{margin-top:80px}.section-portfolio-wrapper{max-width:var(--maxw);margin:0 auto 24px;padding:0 20px}.section-portfolio .section-header h2{font-size:44px;line-height:1.1;margin:0 0 24px;font-weight:700;text-align:left;color:#0f172a}.section-portfolio .section-header p{margin:0;font-size:15px;line-height:1.6;color:#4b5563}.portfolio-slider-wrapper{background:linear-gradient(225deg,#334e66 0%,#011b32 100%)}.portfolio-slider{max-width:var(--maxw);margin:0 auto;position:relative;overflow:hidden;border-radius:18px;padding:26px 0}.portfolio-track{display:flex;transition:transform 0.3s ease;touch-action:pan-y;user-select:none}.portfolio-slide{flex:0 0 100%;max-width:100%;aspect-ratio:2 / 1;overflow:hidden}.portfolio-slide img,.portfolio-slide video,.portfolio-slide iframe{width:100%;height:100%;object-fit:contain;display:block;border-radius:8px}.portfolio-prev,.portfolio-next{position:absolute;top:50%;transform:translateY(-50%);background:rgb(255 255 255 / .95);border:none;padding:8px 12px;cursor:pointer;font-size:20px;border-radius:6px;z-index:5}.portfolio-prev{left:10px}.portfolio-next{right:10px}.portfolio-dots{display:flex;justify-content:center;gap:8px;margin-top:10px}.portfolio-dot{position:relative;width:12px;height:12px;border-radius:50%;background:rgb(0 0 0 / .15);border:none;cursor:pointer;padding:12px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}.portfolio-dot.active{background:var(--dark)}.section-form{margin-top:80px}.order-form{margin:6rem auto}.order-form__inner{max-width:var(--maxw);margin:0 auto;padding:0 20px}.order-form__title{text-align:center;font-weight:700;font-size:3rem;line-height:1.1;color:#051b32;margin:0 0 5rem}.order-form__descr{color:#051b32;font-weight:400;font-size:1.25rem;line-height:1.4;text-align:center}.order-form-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;gap:24px;flex-wrap:wrap}.callback-form{background:#fff;padding:20px;border-radius:20px;max-width:450px;box-shadow:0 18px 45px rgb(15 23 42 / .12)}.section-form .form-card{border-radius:20px;background:#fff;box-shadow:0 18px 45px rgb(15 23 42 / .12);padding:24px 22px 26px;display:flex;flex-direction:column;gap:14px;max-width:520px;flex:1 1 320px}.order-form__contacts{display:flex;justify-content:center;gap:10px}form label{display:block;font-size:13px;margin-top:10px;color:var(--muted)}form button{width:100%;border:none}input,select{width:100%;margin-top:6px;border:1px solid #e5e7eb;font-size:14px;border-radius:999px;padding:15px}.form-title{margin:0 0 8px;font-size:20px;text-align:center}.service-form label{margin-left:15px}.form-control{width:100%;margin-top:6px;border:1px solid #e5e7eb;font-size:16px;line-height:1.3;color:#0f172a;background:#fff;-webkit-appearance:none;appearance:none;transition:border-color 0.15s ease,box-shadow 0.15s ease}.form-control:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px rgb(191 219 254 / .6)}.select-wrap{position:relative}.select-wrap::after{content:"";position:absolute;right:15px;top:55%;transform:translateY(-50%);width:12px;height:12px;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-size:12px 12px}.slot-actions{margin-top:10px;display:flex;flex-direction:column;gap:8px;align-items:center}.slot-summary{font-size:14px;color:var(--muted)}.form-result{margin-top:10px;color:var(--accent);font-weight:600;text-align:center}.order-form-or{text-align:center;font-weight:700;font-size:2.5rem;line-height:1.1;color:#051b32;margin:1rem 0}.form-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 32px;border-radius:999px;background:#051b32;color:#f9fafb;font-size:16px;cursor:pointer;transition:background 0.15s ease,transform 0.1s ease,box-shadow 0.2s ease,border-color 0.15s ease}.form-btn:hover{background:rgb(15 23 42 / .8);box-shadow:0 14px 40px rgb(15 23 42 / .9)}.submit-btn{margin-top:20px}.modal{display:none;position:fixed;inset:0;z-index:1000}.modal[aria-hidden="false"]{display:block}.modal-backdrop{position:absolute;inset:0;background:rgb(15 23 42 / .5)}.modal-content{position:relative;max-width:900px;width:calc(100% - 40px);margin:6vh auto;background:#fff;color:#111827;border-radius:10px;padding:16px;box-sizing:border-box;box-shadow:0 12px 40px rgb(15 23 42 / .25);z-index:2}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-close{background:#fff0;border:none;font-size:18px;cursor:pointer}.posts-grid{display:flex;gap:16px;margin-top:12px;overflow-x:auto}.post-column{flex:1 0 280px;background:#fff;padding:12px;border-radius:8px;box-shadow:0 6px 18px rgb(15 23 42 / .06);min-width:0;border:1px solid #e5e7eb;display:flex;flex-direction:column;max-height:60vh}.slot{padding:8px;margin-bottom:8px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:13px}.slot .time{font-weight:600}.slot .label{font-size:12px;color:#374151}.slot.free{background:#e0f2fe;color:#1d4ed8}.slot.reserved{background:#fef3c7;color:#92400e;cursor:default}.slot.busy{background:#f3f4f6;color:#9ca3af;cursor:default}.slot.selected{outline:2px solid var(--accent);box-shadow:0 4px 12px rgb(37 99 235 / .16)}.slot.occupied{cursor:default}.reviews{background:linear-gradient(225deg,#334e66 0%,#011b32 100%);padding:60px 0}.reviews-wrapper{max-width:var(--maxw);margin:0 auto;padding:0 20px}.reviews-title{text-align:center;display:flex;flex-direction:column;align-items:center}.reviews-title h2{margin:0 0 2rem 0;text-align:center;font-weight:600;font-size:3rem;line-height:1.1;color:var(--white-color)}.contacts-row{display:flex;gap:20px;justify-content:center}.contacts-reviews,.contacts-map{flex:1 1 560px;max-width:700px;max-height:500px;position:relative;overflow:hidden}.map-link{color:#4b5563;font-size:13px;position:absolute;left:0;padding:6px 10px;line-height:1.2}.map-link:first-of-type{top:0}.map-link:last-of-type{top:26px}.map-iframe{width:100%;height:60vh;max-height:500px;border-radius:8px;border:none}.reviews-iframe{width:100%;height:60vh;max-height:500px;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box}.reviews-link{display:block;text-align:center;font-size:10px;color:#9ca3af;margin-top:6px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer{padding-top:6rem;padding-bottom:3rem;border-top:1px solid rgb(5 27 50 / .16);background:#f9fafb}.footer__inner{max-width:var(--maxw);margin:0 auto}.footer_top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.footer__logo{max-width:450px;max-height:200px}.footer__logo img{width:100%;height:100%;object-fit:cover}.footer__contacts{display:flex;align-items:center;gap:.5rem}.social{width:2.5rem;height:2.5rem;border-radius:.75rem;background:var(--white-color);overflow:hidden;display:flex;align-items:center;justify-content:center}.icon-wrapper{position:relative;display:inline-block}.icon-wrapper img{display:block}.icon-wrapper img:not(.hide){position:relative;z-index:1}.icon-wrapper img.hide{position:absolute;inset:0;z-index:2;opacity:0;transition:opacity 0.3s ease}.social:hover .icon-wrapper img.hide{opacity:1}.social:hover .icon-wrapper img:not(.hide){opacity:0;transition:opacity 0.3s ease}.footer_center{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem;margin-bottom:3rem;align-items:flex-start}.footer__info{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.footer__info-items{display:grid;grid-template-columns:repeat(2,1fr)}.footer__info-item{display:flex;flex-direction:column;gap:1.75rem;align-items:center;max-width:320px;text-align:center}.info__title{display:flex;align-items:center;gap:1rem;color:#4b5563;font-size:1rem;font-weight:400;line-height:1.1;margin:0}.info__descr{color:#051b32;font-size:1rem;font-style:normal;font-weight:400;line-height:1.48;margin:0}.info-value{display:flex;flex-direction:column;margin:0}.footer_bottom{display:grid;grid-template-columns:repeat(2,1fr);grid-template-areas:"org copy" "address bank-data";gap:1rem}.footer_bottom .org{grid-area:org;margin-bottom:1.25rem}.footer_bottom .address{grid-area:address;display:flex;flex-direction:column;gap:.375rem}.footer_bottom p,.footer_bottom a{color:#051b32;font-size:1rem;font-style:normal;font-weight:400;line-height:1.28;margin:0}.back-to-top{position:fixed;right:20px;bottom:20px;z-index:1100;width:48px;height:48px;border-radius:999px;border:none;cursor:pointer;backdrop-filter:blur(10px);background:rgb(15 23 42 / .8);color:#fff;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgb(15 23 42 / .4);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity 0.2s ease,transform 0.2s ease,visibility 0.2s ease}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--red-color)}@media (max-width:1440px){.hero-left h1{font-size:3.8rem}}@media (max-width:1200px){.hero-left h1{font-size:3.2rem}.services-panel-inner{gap:30px}}@media (max-width:992px){.topbar{flex-direction:column;align-items:center;background:none;border:none;box-shadow:none;backdrop-filter:none}.hero{align-items:flex-end;margin-top:24px}.hero-left{text-align:center}.hero-left h1{font-size:2.6rem}.services-heading{font-size:36px;padding-left:0}.services-panel-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);padding:28px 20px 0;gap:24px}.contacts-row{max-width:700px;margin:0 auto}.contacts-reviews,.contacts-map{max-width:100%}.map-iframe,.reviews-iframe{height:700px}.footer_center{grid-template-columns:1fr}.footer__info{grid-template-columns:1fr 1fr;justify-items:center}}@media (max-width:768px){.container{padding:0 16px}.site-header{min-height:auto}.header-wrap{min-height:auto}.hero{flex-direction:column;align-items:center;margin-top:32px;padding-bottom:40px}.hero-link{position:static;margin-top:24px}.hero-cta{width:100%;max-width:320px;justify-content:center}.hero-left h1{font-size:2.2rem}.hero-left h2{font-size:1.5rem}.services-panel{display:none}.order-form__title{font-size:2.2rem}.order-form__descr{font-size:1.05rem}.order-form-wrapper{flex-direction:column;align-items:center;gap:24px}.order-form-or{font-size:1.8rem;margin:1.5rem 0}.form-card{width:345px}.callback-form{flex:0}.section-portfolio,.section-form{margin-top:48px}.portfolio-slide{aspect-ratio:1 / 1}.portfolio-slider-wrapper{background:none}.section-header{text-align:center}.section-portfolio .section-header h2{font-size:2.2rem;text-align:center}.reviews-title h2{font-size:2.2rem}.services-heading{font-size:2.2rem;text-align:center}.services-tabs-bar{flex-direction:column;overflow-x:visible}.services-tab-link{width:100%;justify-content:space-between;padding:12px 18px;box-shadow:none;border-bottom:1px solid rgb(15 23 42 / .15)}.services-tab-link:hover,.services-tab-link:hover svg{color:inherit!important}.services-tabs-bar::before,.services-tabs-bar::after{display:none}.services-panel{min-height:auto;overflow:visible}.services-panel-item{max-height:0;opacity:0;visibility:hidden;overflow:hidden;transform:none;transition:max-height 0.5s ease,opacity 0.4s ease,visibility 0.4s ease}.services-panel-item.active{max-height:1000px;opacity:1;visibility:visible}.services-panel-inner{grid-template-columns:1fr;padding:20px 18px 0;text-align:left;gap:20px}.services-panel-image img{max-width:520px;margin-top:10px;opacity:1;transform:none;transition:none}.services-panel-text{opacity:1;transform:none;transition:none}.footer__info{grid-template-columns:1fr 1fr}.footer_bottom{grid-template-columns:1fr 1fr;grid-template-areas:"org org" "address address" "copy copy" "policy bank-data"}}@media (max-width:576px){.nav{justify-content:center;gap:16px}.nav a{font-size:1rem}.hero-left h1{font-size:2rem}.hero-left p{font-size:1rem}.topbar{align-items:center}.phone-block{flex-direction:column;align-items:flex-start;font-size:1.1rem}.callback-form,.section-form .form-card{max-width:100%}.order-form__inner{padding:0 16px}.reviews-iframe{height:1000px}.footer_top{flex-direction:column;align-items:center;gap:16px}.footer__info{grid-template-columns:1fr}.footer__info-items{grid-template-columns:1fr;gap:1.75rem}.footer_bottom{grid-template-columns:1fr;grid-template-areas:"org" "address" "copy" "policy" "bank-data"}}@media (max-width:375px){.hero-left h1{font-size:1.7rem}.hero-left h2{font-size:1.2rem}.services-heading{font-size:24px}.order-form__title{font-size:1.8rem}.order-form-or{font-size:1.5rem}.reviews-title h2{font-size:1.8rem}}@media (max-width:768px){.nav a::after{width:0;height:0}.nav a:hover{color:var(--white-color)}.nav a:hover::after{width:100%}.services-tab-link.active{color:#ffffff!important}.services-tab-link.active svg{color:#ffffff!important}.services-tab-link.active:hover,.services-tab-link.active:hover svg{color:#ffffff!important}.back-to-top:hover{background:rgb(15 23 42 / .8)}}@media (max-height:800px){.site-header{min-height:100vh}.header-wrap{padding:12px 0 20px}.hero{margin-top:24px;align-items:center}.hero-left h1{font-size:3.2rem}.hero-left h2{font-size:1.8rem}.hero-left p{font-size:1.1rem;margin-bottom:12px}.hero-link{bottom:20px}}@media (max-height:700px){.header-wrap{min-height:auto}.hero{flex-direction:column;align-items:flex-start;position:static;margin-top:16px}.hero-link{position:static;margin-top:16px}.hero-cta{width:100%;max-width:100%}}