.services__card:hover,.services__card:hover :is(.card__title,.card__description--short,.card__description--extended,p){background-color:var(--black);color:var(--main-color-dark);transition:transform var(--transition)}.advantages__item:hover,.advantages__item:hover :is(.advantages__item,.advantages__item-title,.advantages__item-description){background-color:var(--main-bg);color:var(--black);transition:transform var(--transition)}.advantages__item:hover,.services__card:hover{transform:translateY(-10px)}.card__description--extended{flex-grow:1;gap:.8rem;opacity:0;transition:opacity .4s,transform .4s}.card__description--extended p{font-size:.95rem;margin:0}.services__card:is(:hover,:focus-visible) .card__title{transform:translateY(-10px)}.services__card:is(:hover,:focus-visible) .card__description--short{transform:translateY(-5px)}.services__card:is(:hover,:focus-visible) .card__description--extended{opacity:1;transform:translateY(0)}.checkbox-custom::after,.radio-custom::after{left:50%;opacity:0;top:50%;transform:translate(-50%,-50%);transition:opacity .3s}.section--advantages{background:var(--black)}.advantages__grid{grid-template-columns:repeat(2,1fr);padding:7.5rem 2rem}.advantages__item-title{font-size:1.4rem}.advantages__item-description{color:var(--black);flex-grow:1}.advantages__item-description,.advantages__item-title,.checkbox-custom::after,.section--advantages{color:var(--main-color-dark)}.budget-form{margin:0 auto;max-width:700px;text-align:left}.form-group{margin-bottom:.5rem}.form-group--float{position:relative}.form-group--float :is(.form-input,.form-textarea){padding-bottom:.8rem;padding-top:1.75rem}.form-float-label{background:var(--main-bg);color:var(--black);font-size:1rem;font-variant-numeric:tabular-nums;left:1.2rem;margin:0 -.3rem;opacity:.8;padding:0 .3rem;pointer-events:none;position:absolute;top:.9rem;transform-origin:left top;transition:.3s cubic-bezier(.175, .885, .32, 1.275);z-index:2}:is(.form-input,.form-textarea):focus+.form-float-label,:is(.form-input,.form-textarea):not(:placeholder-shown)+.form-float-label{color:var(--black);font-size:.85rem;opacity:1;top:.3rem;transform:translateY(0)}:is(.form-input,.form-textarea)::placeholder{color:transparent}:is(.form-input,.form-textarea):placeholder-shown:not(:focus)::placeholder{color:#999}:is(.form-input,.form-textarea):invalid:not(:placeholder-shown){border-color:var(--error)}:is(.form-input,.form-textarea):invalid:not(:placeholder-shown)+.form-float-label{color:var(--error)}:is(.form-input,.form-textarea):invalid:not(:placeholder-shown):focus{box-shadow:0 0 0 3px rgba(220,53,69,.2)}.radio-group{flex-wrap:wrap;gap:2rem;margin-top:.5rem}[class$="-option"]{align-items:center;cursor:pointer;display:flex;margin-bottom:.5rem;padding-left:2rem;position:relative}[class$="-option"] input:is([type=radio],[type=checkbox]){height:0;opacity:0;position:absolute;width:0}[class$="-option"]:hover [class$="-custom"]{border-color:var(--black-rgb)}[class$="-option"] input:checked+[class$="-custom"]{background-color:var(--black);border-color:var(--black)}.checkbox-custom,.radio-custom{background:var(--main-bg);border:2px solid var(--main-color-dark);left:0;position:absolute;transition:.3s}.radio-custom{border-radius:50%;height:22px;width:22px}.radio-custom::after{background:var(--main-color-dark);border-radius:50%;content:"";height:12px;position:absolute;width:12px}.checkbox-custom{border-radius:4px;height:20px;width:20px}.checkbox-custom::after{content:"✓";font-size:14px;font-weight:900;position:absolute}:is(.radio-option,.checkbox-option) input:checked+[class$="-custom"]::after{opacity:1}.checkbox-label,.radio-label{color:var(--black);margin-left:.5rem}.radio-label{font-size:1.1rem;font-weight:700}.checkbox-label{font-size:.95rem}.checkbox-option{margin-bottom:2rem;padding-left:1.5rem}.form-input,.form-textarea{background:var(--main-bg);border:3px solid var(--main-color-dark);border-radius:8px;color:var(--black);font-size:1rem;padding:1rem 1.2rem;position:relative;transition:.3s;width:100%;z-index:1}.form-textarea{field-sizing:content;min-height:140px;resize:vertical}:is(.form-input,.form-textarea):focus{border-color:var(--main-color-light);box-shadow:0 0 0 1px var(--main-color-light);outline:0}.form-buttons{gap:1rem;margin-top:1rem}.btn,.btn--modal,.btn--reset,.btn--submit{align-items:center;background:var(--black);border:0;border-radius:8px;color:var(--main-color-dark);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1.1rem;font-weight:700;justify-content:center;line-height:1;min-width:100px;padding:1rem 2.5rem;text-decoration:none;transition:.3s}.btn--modal{font-size:.85rem;min-width:auto;padding:.75rem 1.5rem}:is(.btn--modal,.btn--reset,.btn--submit):hover{box-shadow:var(--btn-shadow-hover);transform:translateY(-2px)}:is(.btn--modal,.btn--submit):hover{background:var(--main-color-dark);color:var(--black)}.btn--reset:hover{background:#555;color:var(--main-bg)}.footer a:hover,.footer__contact:hover,.footer__link--map:hover,.footer__link:hover{color:var(--main-bg)!important}.btn--submit:disabled{cursor:not-allowed;opacity:.8;pointer-events:none}.input-error{border-color:var(--error)!important}.float-label-error{color:var(--error)!important}.error-message{color:var(--error);font-size:.85rem;margin-top:.3rem;min-height:1.2rem;opacity:0;transition:opacity .3s}.toast-container{pointer-events:none;position:fixed;right:20px;top:20px;z-index:9999}.toast{align-items:center;background:#333;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 4px 15px rgba(var(--black-rgb),.3);color:#fff;display:flex;gap:12px;margin-bottom:10px;min-width:280px;padding:16px 24px;pointer-events:auto;transform:translateX(120%);transition:transform .3s cubic-bezier(.68, -.55, .265, 1.55)}.toast.show{transform:translateX(0)}.toast--success{border-left:5px solid var(--main-color-light)}.toast--error{border-left:5px solid var(--error)}.toast-icon{font-size:1.2rem;margin-right:5px}.spinner{animation:.8s linear infinite spin;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;vertical-align:-3px;width:16px}@keyframes spin{to{transform:rotate(360deg)}}.footer{align-items:center;background:linear-gradient(rgba(var(--main-color-light-rgb),1),rgba(var(--black-rgb),1)),url(/img/content/hero.png) fixed center/cover;color:var(--main-color-dark);display:flex;flex-direction:column;justify-content:center;min-height:30vh;overflow:hidden;padding-top:2rem;position:relative;text-align:center}.footer::before{background:url(/img/content/logo.svg) center/contain no-repeat;content:"";height:100%;left:0;opacity:.03;padding:15rem 0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.footer__container{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:1rem;position:relative;z-index:2}.footer__company,.footer__contacts,.footer__legal{display:flex;flex-flow:row wrap;gap:1rem;margin-top:.5rem;width:100%}.footer a,.footer__contact,.footer__link{align-items:center;color:var(--main-color-dark)!important;display:flex;gap:.5rem;text-decoration:none}.footer__contact-icon{fill:currentColor;height:28px;width:28px}.footer__title{color:var(--main-color-dark);font-size:1.125rem;font-weight:700;padding:0 .5rem}.footer__title-big{font-size:1.5rem;font-weight:700}.footer__location,.footer__work{flex:1;min-width:300px}.footer__link--map{align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;display:inline-flex;font-weight:700;gap:8px;margin:1rem 0 1.5rem;padding:10px 16px;transition:.3s}.footer__link--map:hover{background:rgba(255,255,255,.2);box-shadow:var(--btn-shadow-hover);transform:translateY(-2px)}.footer__link--legal{color:var(--main-bg);font-size:.9rem;font-weight:700;transition:color .3s}.footer__cia{background-color:var(--black);border-radius:10px;color:var(--main-color-dark);font-size:12px;font-weight:700;margin-top:30px;padding:30px;text-align:center}.modal-overlay{align-items:center;backdrop-filter:blur(2px);background:rgba(var(--black-rgb),.7);display:none;inset:0;justify-content:center;padding:var(--section-spacing);position:fixed;z-index:9999}.modal,.modal-container{background:var(--main-bg)}.modal-overlay.is-visible{display:flex}.modal-container{animation:.3s ease-out modalFadeIn;border-radius:12px;box-shadow:var(--shadow-hover);container-type:inline-size;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:85%}.modal-body{color:var(--black);font-family:var(--main-font-family);font-size:clamp(11px, 1.2vw + 8px, var(--main-font-size));line-height:var(--main-font-line-height);overflow-y:auto;padding:clamp(20px,5vw,40px)}.modal-body :is(img,video,svg){border-radius:8px;display:block;margin:1.25rem auto;max-height:min(40vh,350px);max-width:100%;object-fit:contain;width:auto}.modal-body iframe{aspect-ratio:16/9;border:0;border-radius:8px;display:block;margin:1.25rem auto;max-width:520px;width:100%}.modal-body .service-related h2,.modal-body h2{border-left:4px solid var(--main-color-dark);padding-left:10px}.modal-body h1{border-bottom:2px solid var(--main-color-dark);font-size:clamp(1rem, 3.5cqi, 1.4rem);margin-bottom:15px;overflow:hidden;padding-bottom:8px}.modal-body h2{font-size:clamp(.95rem, 3cqi, 1.15rem);margin:20px 0 12px}.modal-body .data-box{background:var(--main-bg-light);border:1px solid var(--main-color-dark);border-radius:8px;margin-bottom:20px;padding:10px 20px}.data-box li{color:var(--black);margin-left:2rem}.modal{border-top:1px solid var(--main-bg-dark);padding:15px 30px;text-align:right}.modal__divider{border:0;border-top:1px solid var(--main-bg-dark);margin:1rem 0}.modal-gallery img,.modal-gallery video{border-radius:8px;display:block;margin:0;width:100%}.modal__text{gap:1rem}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-gallery{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin:1.25rem 0}.modal-gallery:has(> :nth-child(5):last-child){grid-template-columns:repeat(6,1fr)}.modal-gallery:has(> :nth-child(5):last-child)>:nth-child(-n+3){grid-column:span 2}.modal-gallery:has(> :nth-child(5):last-child)>:nth-child(n+4){grid-column:span 3}.modal-gallery:has(> :nth-child(6):last-child),.modal-gallery:has(> :nth-child(9):last-child){grid-template-columns:repeat(3,1fr)}.modal-gallery:has(> :nth-child(8):last-child){grid-template-columns:repeat(4,1fr)}.modal-gallery:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}.modal-gallery img{height:180px;object-fit:cover}.modal-gallery img:is(.img--vertical,.img--portrait){aspect-ratio:3/4;background:var(--main-bg-dark);height:230px;justify-self:center;max-width:100%;object-fit:contain;width:auto}.modal-gallery video{object-fit:contain}.modal-gallery :is(.video--horizontal,.video--landscape){aspect-ratio:16/9;grid-column:span 2;height:auto}.modal-gallery:has(> :nth-child(4):last-child) video:is(.video--horizontal,.video--landscape){grid-column:span 1;width:100%}.modal-gallery:has(> :nth-child(5):last-child) video:is(.video--horizontal,.video--landscape){grid-column:span 3}.modal-gallery :is(.video--vertical,.video--portrait){aspect-ratio:9/16;grid-column:span 1;justify-self:center;max-height:320px;width:auto}.modal-body .service-related{border-top:1px solid var(--main-color-dark);margin-top:1.5rem;padding-top:1rem}.modal-body .service-related h2{font-size:clamp(.9rem, 2.5cqi, 1.1rem);margin:0 0 .75rem}.modal-body .service-related__list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.modal-body .service-related__list a{background:var(--main-color-dark);border-radius:6px;color:var(--black);display:inline-block;font-size:.85rem;font-weight:700;padding:.4rem .8rem;text-decoration:none;transition:.3s}.modal-body .service-related__list a:hover{background:var(--black);color:var(--main-color-dark)}@media (max-width:768px){.modal-container{max-height:90vh;width:95%}:is(.advantages__item-title,.card__title,.hero__contact-text,.footer__contact-text,.footer__title,.section__title){font-size:1rem}:is(.advantages__item-description,.card__description--short,.card__description--extended p,.form-buttons button,.radio-group span,.section__description){font-size:.813rem}.advantages__grid{grid-template-columns:1fr;padding:0}.card__description--extended{opacity:1;transform:translateY(0)}.services__card:hover .card__title{transform:translateY(0)}.form-input,.form-textarea{padding:.9rem 1rem}.form-group--float :is(.form-input,.form-textarea){padding-bottom:.6rem;padding-top:1.3rem}.form-float-label{font-size:.9rem;inset:.5rem auto auto 1rem}:is(.form-input,.form-textarea):is(:focus,:not(:placeholder-shown))+.form-float-label{font-size:.75rem;top:.2rem}.btn{min-width:80px;width:40%}.radio-group{flex-wrap:nowrap;gap:.75rem}.radio-option{padding-left:1.25rem}.modal-gallery:has(> :nth-child(4):last-child),.modal-gallery:has(> :nth-child(5):last-child),.modal-gallery:has(> :nth-child(6):last-child),.modal-gallery:has(> :nth-child(8):last-child),.modal-gallery:has(> :nth-child(9):last-child){grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.modal-gallery:has(> :nth-child(5):last-child)>*{grid-column:span 1!important}.modal-gallery :is(.video--horizontal,.video--landscape){grid-column:span 1}}