/* Shared contact actions and utility pages. */
.header-tools{display:flex;align-items:center;gap:14px;justify-self:end}
.contact-socials{display:flex;align-items:center;gap:8px}
.social-link{width:36px;height:36px;flex:none;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #ffffff20;border-radius:50%;background:#ffffff08;transition:background .2s,transform .2s}
.social-link img{width:22px;height:22px;object-fit:contain}
.social-link--max{background:#4436b9}.social-link--telegram{background:#2387bc}.social-link--vk{background:#3264ba}
.social-link:hover{transform:translateY(-2px);background:#435d75}
.header-search{display:grid;place-items:center;width:40px;height:40px;color:inherit;border-radius:50%;border:1px solid #ffffff26}
.search-glyph{display:block;width:16px;height:16px;border:1.7px solid currentColor;border-radius:50%;position:relative;margin:-3px 0 0 -3px}
.search-glyph:after{content:'';position:absolute;right:-5px;bottom:-3px;width:7px;height:1.7px;background:currentColor;transform:rotate(45deg)}
.header .callback-link,.site-footer-contacts .callback-link{display:inline-block;font-size:12px;line-height:1.5;color:#d4b77e;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.header .header-address{display:none}.header .header-phone{font-size:20px}
.site-footer-contacts .contact-socials{margin:10px 0}.site-footer-contacts .social-link{padding:0}
.header-search:hover{background:#ffffff12}
:is(.header-tools,.site-footer-contacts,.utility-page,.contact-dialog) :is(a,button,input):focus-visible{outline:2px solid #d4b77e;outline-offset:4px}
.utility-page{max-width:1040px;min-height:55vh;margin:auto;padding:65px 32px 90px;font-family:Manrope,Arial,sans-serif;color:#edf0f2}
.utility-back{color:#abb4ba;font-size:12px}.utility-kicker{font-size:11px;letter-spacing:.16em;color:#d4b77e;margin:40px 0 16px}
.utility-page h1{font-size:clamp(36px,6vw,64px);font-weight:500;letter-spacing:-.045em;margin:0 0 32px}
.site-search-form label{display:block;font-size:14px;margin-bottom:12px}.site-search-form>div{display:flex;border-bottom:1px solid #68737c;padding-bottom:12px;gap:12px}
.site-search-form input{background:none;border:0;color:inherit;min-width:0;width:100%;font:inherit;padding:14px 0;font-size:20px}.site-search-form input::placeholder{color:#9da7af}
.site-search-form button,.callback-form button,.copy-max{border:0;background:#d4b77e;color:#181c20;border-radius:6px;padding:14px 24px;font:600 14px Manrope,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.search-message{color:#b9c2ca;margin:26px 0;font-size:14px}.search-suggestions{display:flex;gap:12px;flex-wrap:wrap}.search-suggestions a{padding:10px 14px;border:1px solid #58636e;border-radius:6px;font-size:13px}
.search-results{padding:0;list-style:none}.search-results li{padding:28px 0;border-top:1px solid #ffffff24}.search-result-path{color:#b7a47b;font-size:12px;overflow-wrap:anywhere}.search-results h2{font-size:24px;font-weight:500;margin:10px 0}.search-results h2 a:hover{color:#d4b77e}.search-results p,.search-empty p{color:#b9c2ca;line-height:1.75;font-size:15px;max-width:790px}.search-pagination{display:flex;gap:10px;margin-top:24px}.search-pagination a{padding:12px 18px;border:1px solid #66717a;border-radius:4px}.search-pagination [aria-current]{background:#d4b77e;color:#181c20}
.contact-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:40px;border:1px solid #66717a;border-radius:12px;background:#23282d;color:#edf0f2;box-sizing:border-box}.contact-dialog::backdrop{background:#080e14b8;backdrop-filter:blur(5px)}.contact-dialog-close{position:absolute;right:14px;top:10px;background:none;border:0;color:#cbd1d6;font-size:30px;cursor:pointer;padding:3px 10px}.contact-dialog h1,.contact-dialog h2{font:500 32px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:12px 0 20px}.contact-dialog .utility-kicker{margin-top:6px}.callback-content{max-width:560px}.callback-content>p{line-height:1.65;color:#c1cad0}.callback-form{display:grid;gap:20px;margin-top:28px}.callback-form label:not(.callback-consent){display:grid;gap:9px;font-size:13px}.callback-form input:not([type=checkbox]){width:100%;box-sizing:border-box;background:#ffffff07;color:inherit;border:1px solid #64717c;border-radius:5px;padding:14px;font:inherit;font-size:16px}.callback-consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;color:#b8c2ca}.callback-consent input{margin-top:4px;accent-color:#d4b77e}.callback-consent a{text-decoration:underline}.callback-form .form-trap{display:none!important}.callback-form button:disabled{opacity:.6;cursor:wait}.callback-error{color:#ffb4a6!important}.max-phone{font-size:24px;color:#edf0f2!important}.copy-status{font-size:13px}
@media(min-width:1024px){.header{grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px}.header .brand>.brand-logo{width:220px;height:auto}.header .navigation{gap:2px}.header .nav-link{font-size:13px;padding-left:8px;padding-right:8px;letter-spacing:0}.header .nav-drop-btn{width:18px}.header-tools{gap:8px}}
@media(min-width:1024px) and (max-width:1399px){.header{padding-left:24px;padding-right:24px;gap:12px}.header .brand>.brand-logo{width:180px}.header .header-phone{font-size:17px}.header .nav-link{font-size:12px;padding-left:5px;padding-right:5px}.header-tools .contact-socials{display:none}}
@media(min-width:768px) and (max-width:1023px){.header-tools{margin-left:auto}.header-contact{margin-left:0}.header .brand>.brand-logo{width:220px}.header .header-phone{font-size:18px}}
@media(max-width:767px){.header{grid-template-columns:minmax(0,1fr) auto auto;column-gap:8px}.header .brand>.brand-logo{width:220px;height:auto}.header-tools{grid-column:2;grid-row:1}.header-tools .contact-socials{display:none}.menu-toggle{grid-column:3;grid-row:1}.header .header-contact{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.header .header-phone{font-size:18px}.header .callback-link{font-size:12px}.utility-page{padding:36px 24px 60px}.site-search-form input{font-size:16px}.site-search-form button{padding:12px 16px}.search-results h2{font-size:21px}.contact-dialog{padding:32px 24px}.contact-dialog h1{font-size:28px}.search-result-path{font-size:11px}}
@media(prefers-reduced-motion:reduce){.social-link{transition:none}.social-link:hover{transform:none}}
@media(min-width:1024px) and (max-width:1159px){.header{height:auto;grid-template-columns:1fr auto auto;padding-top:14px;padding-bottom:10px;row-gap:8px}.header .navigation{grid-row:2;grid-column:1/-1;justify-self:center}.header-tools .contact-socials{display:flex}.header .brand>.brand-logo{width:220px}}
@media(max-width:767px){.header-tools{display:contents}.header-search{grid-column:2;grid-row:1}.header-tools .contact-socials{display:flex;grid-column:2/4;grid-row:2;justify-self:end}.header .header-contact{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding-top:10px;border-top:0}.header .callback-link{font-size:11px}.header{padding-bottom:14px}}
.callback-form label{margin:0}.callback-form input:not([type=checkbox]){margin:0}.callback-consent input{flex:none;width:16px;height:16px}
/* Compact masthead: remove excess vertical space around the existing controls. */
@media(min-width:1160px){.header{height:68px}.header-tools .contact-socials{display:flex}}
@media(min-width:1024px) and (max-width:1159px){.header{padding-top:6px;padding-bottom:4px;row-gap:4px}.header .nav-link{padding-top:6px;padding-bottom:6px}}
@media(min-width:768px) and (max-width:1023px){.header{height:68px}}
/* Short navigation labels retain the full set of dropdown destinations. */
@media(min-width:1024px){.header .navigation{gap:2px}.header .nav-link{padding-left:6px;padding-right:6px}.header .nav-drop>.nav-link{padding-right:2px}.header .nav-drop-btn{width:20px;margin-left:0}}
/* The active pill encloses the label and dropdown arrow together. */
@media(min-width:1024px){
 .header .nav-drop{border-radius:999px;padding-right:5px}
 .header .nav-drop>.nav-link{border-color:transparent;padding-left:9px;padding-right:5px}
 .header .nav-drop:has(>.nav-link.active){box-shadow:inset 0 0 0 1px #52616d}
 .header .nav-drop>.nav-link:hover{background:transparent}
 .header .nav-drop:hover{background:#ffffff08}
}
@media(min-width:1024px){.header .nav-drop>.nav-link.active{border-color:transparent;background:transparent}}
