/* DOMKONTUR_UI_05 — responsive geometry and accessible controls. */
.mobile-call svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header .newhead{position:relative;z-index:43}
.site-header .mobile-menu.wrap{height:auto!important;display:block;align-items:initial;gap:0!important;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;z-index:42}
.site-header .mobile-menu nav{display:flex!important;width:100%;height:auto;align-items:stretch;flex-direction:column!important}
.mobile-menu a{font-size:18px;line-height:1.35;padding:14px 12px;min-width:0;overflow-wrap:anywhere}
.mobile-menu a:focus-visible{outline:2px solid #a8c5ff;outline-offset:-2px}
.site-header .menu-backdrop{position:fixed;inset:0;width:100%;height:100dvh;z-index:40}
.burger span{font-size:0!important;width:22px;height:18px;position:relative;display:block}
.burger span:before,.burger span:after{content:'';position:absolute;left:0;width:22px;height:2px;background:currentColor;border-radius:2px}
.burger span:before{top:1px;box-shadow:0 7px 0 currentColor}.burger span:after{bottom:1px}
.burger[aria-expanded=true] span:before{top:8px;box-shadow:none;transform:rotate(45deg)}.burger[aria-expanded=true] span:after{bottom:8px;transform:rotate(-45deg)}
.mobile-call,.burger{border-radius:50%;transition:color .18s,background-color .18s}
.mobile-call:hover,.burger:hover{background:#243353;color:#c6d6ff}
.catalog-layout>*{min-width:0}.js .sortbar{display:grid;grid-template-columns:minmax(0,1fr) 255px}.js .sortbar .filter-open{display:none}
.lead-dialog{margin:auto;inset:0;max-width:calc(100% - 24px);width:580px;max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-padding:18px}
.lead-dialog .close{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:center;margin:0 0 -42px auto;right:auto;flex-shrink:0}
.lead-dialog h2{padding-right:46px;margin:4px 0 22px;font-size:34px;overflow-wrap:anywhere}
.lead-dialog form,.lead-dialog .form-fields,.lead-dialog .chosen>div,.request-panel>*{min-width:0;max-width:100%}
.lead-dialog .chosen img{flex:0 0 60px;width:60px;height:70px}.lead-dialog .chosen-title{line-height:1.4;overflow-wrap:anywhere}
.lead-dialog:has(.form-success:not([hidden])) .chosen,.lead-dialog:has(.form-success:not([hidden]))>h2{display:none}
.lead-dialog .form-success{padding:22px 0 8px}.lead-dialog .form-success h3{font-size:28px;line-height:1.2}.lead-dialog .form-success p{font-size:16px}.lead-dialog .success-icon{width:52px;height:52px;font-size:28px;margin-bottom:18px}
.lead-dialog .btn{margin-top:8px}.lead-dialog form{gap:0}
form[data-lead] .hp{left:auto;top:auto;clip-path:inset(50%);width:1px;height:1px;padding:0;white-space:nowrap}
form[data-lead] .hp input{width:1px;min-height:1px;padding:0}
@media(max-width:1023px){
 body{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .wrap{width:calc(100% - 32px)}
 .newhead{gap:8px!important;height:76px!important}.newhead>a:first-child{min-width:0;flex:1 1 auto}.newhead>a:first-child img{width:154px;max-width:100%}
 .newhead .mobile-call,.newhead .burger{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;margin:0}
 .site-header .mobile-menu.wrap{max-height:calc(100dvh - 76px);padding:12px 16px 20px}
 .centerhero{padding:30px 0 42px}.centerhero h1{font-size:clamp(42px,11.7vw,72px);line-height:.99;overflow-wrap:normal}
 .centerhero .intro{max-width:38em;margin:20px auto 12px;font-size:16px;line-height:1.5}
 .collection-title h2,.map-title h2{font-size:clamp(34px,7.7vw,52px);line-height:1.04;overflow-wrap:anywhere}
 .catalog-head{width:100%;padding:28px 16px 24px}.catalog-head h1{font-size:clamp(35px,8.9vw,64px);line-height:1.02;overflow-wrap:anywhere}
 .catalog-layout{width:calc(100% - 32px);padding:0 0 48px}.crumb{font-size:12px;line-height:1.5;margin-bottom:22px;overflow-wrap:anywhere}
 .js .sortbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:20px}
 .js .sortbar .count{grid-column:1/-1;width:auto;font-size:14px;margin:0}
 .js .sortbar .filter-open{display:flex;width:100%;justify-content:center;align-items:center}
 .sortbar select,.sortbar .filter-open{height:48px;min-height:48px;max-width:100%;width:100%;font-size:14px;line-height:1.3;margin:0}
 .sortbar select{padding:10px 30px 10px 12px;border-radius:24px}
 .filters{max-width:100%;padding:20px 18px calc(24px + env(safe-area-inset-bottom));height:100dvh;overscroll-behavior:contain}
 .filter-close{margin-bottom:22px}.filter-close button{width:44px;height:44px}.filters .filter-apply{margin-top:20px}
 .filters .reset{width:100%;border:1px solid #c9d4e5;border-radius:24px;margin-bottom:18px;color:#233b64;min-height:44px}
 .filters .reset:hover{background:#dce8fb}.filter-cats a{grid-template-columns:minmax(0,1fr) max-content}
 .hero-object.annotated-boiler{gap:12px;grid-auto-rows:auto}
 .annotated-boiler .hero-machine{height:clamp(270px,82vw,430px);margin-bottom:12px}
 .boiler-callout,.boiler-callout.c-left,.boiler-callout.c-right,.boiler-callout.c-top,.boiler-callout.c-middle,.boiler-callout.c-bottom{padding:18px 14px;min-height:210px;height:100%;display:grid;grid-template-rows:52px minmax(40px,auto) minmax(36px,auto);align-content:start;gap:10px;border:1px solid #aac6ff10}
 .boiler-callout .callout-number,.boiler-callout .callout-symbol{height:52px;min-height:52px;margin:0;align-items:center;padding:0}
 .boiler-callout .callout-number{font-size:44px;gap:3px;align-items:baseline;line-height:1.15}.boiler-callout .callout-number>span{font-size:22px}
 .boiler-callout .callout-symbol,.boiler-callout .callout-symbol svg{width:52px;height:52px}
 .boiler-callout h3{font-size:16px;line-height:1.25;margin:0;align-self:start;overflow-wrap:anywhere}
 .boiler-callout p{font-size:12px;line-height:1.5;margin:0;color:#aebbd2;align-self:start;overflow-wrap:anywhere}
 .collection-card,.collection-card:nth-child(n+4){grid-template-rows:auto 240px auto auto;padding:22px;row-gap:18px}
 .collection-card img,.collection-card:nth-child(n+4) img{height:240px}.collection-card .card-description{font-size:15px}
 .request-panel{grid-template-columns:minmax(0,1fr);gap:26px;padding:28px 20px}
 .request-heading h2{font-size:clamp(32px,8.1vw,50px);line-height:1.04;overflow-wrap:anywhere;margin:18px 0}
 .request-heading p{font-size:16px;line-height:1.55}.request-heading>a{margin-top:22px;font-size:14px}.request-heading strong{font-size:23px;white-space:nowrap}
 form[data-lead] label{font-size:14px;margin-bottom:14px}
 form[data-lead] input:not([type=checkbox]),form[data-lead] textarea{font-size:16px;line-height:1.4;padding:12px;min-height:48px;max-width:100%}
 form[data-lead] textarea{min-height:90px}
 form[data-lead] .consent{font-size:12px;gap:10px;line-height:1.55}.consent span{min-width:0;overflow-wrap:anywhere}
 form[data-lead] .consent input{margin:3px 0 0;width:20px;min-width:20px;height:20px;min-height:20px;padding:0}
 form[data-lead] .btn{min-height:48px;padding:13px 18px;max-width:100%}
 .request-panel .form-success{padding:20px 0}.form-success h3{font-size:26px}.form-success p{font-size:16px}
 .form-success button{max-width:100%;font-size:15px;min-height:46px;line-height:1.4;padding:12px 18px}
 .product-top{padding:24px 0 10px}.product-top .crumb{margin-bottom:22px}
 .product-stage{height:clamp(280px,90vw,440px);padding:24px 30px}
 .product-thumbs{padding:14px 0;gap:8px}.product-thumbs button{flex-basis:62px;height:62px}
 .product-summary h1{font-size:clamp(32px,8vw,44px);margin:10px 0 20px;line-height:1.08}
 .product-price{font-size:27px;margin-top:22px}.product-price-note{font-size:13px}
 .product-actions{gap:12px;margin-top:22px}.product-nav{gap:14px;font-size:14px}
 .product-sections{margin-top:32px}.product-section{padding-top:28px}.product-section h2,.related h2{font-size:30px;line-height:1.1;margin-bottom:20px}
 .lead-dialog{width:calc(100% - 24px);max-width:560px;padding:18px;max-height:calc(100dvh - 24px);border-radius:22px}
 .lead-dialog h2{font-size:29px;line-height:1.1;padding-right:46px;margin:6px 0 18px}
 .lead-dialog .chosen{gap:12px;padding:12px;margin-bottom:18px}.lead-dialog .chosen-title{font-size:14px}.lead-dialog .chosen p{font-size:12px;line-height:1.4}
 .lead-dialog .chosen img{flex-basis:50px;width:50px;height:60px}.lead-dialog .form-success h3{font-size:26px}
 .footgrid{gap:28px}.footgrid p{font-size:13px}.footgrid a{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .choice-heading h2{font-size:clamp(32px,8vw,43px)}
}
@media(max-width:359px){
 .newhead>a:first-child img{width:132px}.centerhero h1{font-size:40px}.catalog-head h1{font-size:34px}
 .boiler-callout,.boiler-callout.c-left,.boiler-callout.c-right{padding:16px 12px;gap:9px;min-height:210px}
 .boiler-callout .callout-number{font-size:39px}.boiler-callout .callout-number>span{font-size:20px}.boiler-callout h3{font-size:15px}
 .lead-dialog h2{font-size:26px}.lead-dialog .chosen p{display:none}.request-heading strong{font-size:21px}
}
@media(min-width:1024px){.mobile-menu,.menu-backdrop{display:none!important}}
/* The full-bleed backdrop follows the available page width, not scrollbar-inclusive vw. */
.centerhero::before{left:-40px;right:-40px;width:auto;transform:none}
@media(max-width:1023px){.centerhero::before{left:-16px;right:-16px}}

/* DK_CATALOG_06 */
@media(max-width:1023px){
    .sortbar select{
        height:48px;
        min-height:48px;
        padding:10px 30px;
        text-align:center;
        text-align-last:center;
        font-family:Arial,sans-serif;
        font-size:14px;
        line-height:normal;
        background-position:right 12px center;
    }
}
@media(min-width:375px) and (max-width:700px){
    #catalog-page .cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    #catalog-page .card{
        padding:14px;
        border-radius:14px;
        min-width:0;
    }
    #catalog-page .card img,
    #catalog-page .card a.product-image img{
        width:100%;
        height:160px;
        object-fit:contain;
        margin:0 0 16px;
    }
    #catalog-page .card h3{
        font-size:18px;
        line-height:1.25;
        min-height:3.75em;
        margin-bottom:10px;
        overflow-wrap:anywhere;
    }
    #catalog-page .card .spec{
        font-size:12px;
        line-height:1.45;
        margin-bottom:14px;
        overflow-wrap:anywhere;
    }
    #catalog-page .card .price{
        font-size:16px;
        line-height:1.35;
        overflow-wrap:anywhere;
    }
    #catalog-page .card .details-link{
        display:flex;
        align-items:center;
        min-height:44px;
        padding:10px 0;
        margin-top:8px;
        font-size:14px;
    }
}
@media(max-width:374px){
    #catalog-page .cards{
        grid-template-columns:minmax(0,1fr);
    }
}

/* DK_CALLOUT_ALIGNMENT_07 */
@media(max-width:1023px){
    .annotated-boiler .boiler-callout{
        display:grid;
        grid-template-rows:56px 40px minmax(54px,auto);
        align-content:start;
        align-items:start;
        gap:10px;
        padding-top:18px;
        padding-bottom:18px;
        min-height:208px;
    }
    .annotated-boiler .boiler-callout .callout-number,
    .annotated-boiler .boiler-callout .callout-symbol{
        display:flex;
        align-items:center;
        justify-content:flex-start;
        align-self:start;
        height:56px;
        min-height:56px;
        margin:0;
        padding:0;
        line-height:1;
    }
    .annotated-boiler .boiler-callout .callout-number{
        font-size:44px;
        gap:4px;
    }
    .annotated-boiler .boiler-callout .callout-number>span{
        align-self:center;
        font-size:22px;
        line-height:1;
        margin:0;
        padding:0;
    }
    .annotated-boiler .boiler-callout .callout-symbol{
        width:56px;
    }
    .annotated-boiler .boiler-callout .callout-symbol>svg{
        display:block;
        width:50px;
        height:50px;
        margin:0;
        flex:none;
    }
    .annotated-boiler .boiler-callout h3{
        align-self:start;
        margin:0;
        padding:0;
        font-size:16px;
        line-height:20px;
    }
    .annotated-boiler .boiler-callout p{
        align-self:start;
        margin:0;
        padding:0;
        font-size:12px;
        line-height:18px;
    }
}
@media(max-width:359px){
    .annotated-boiler .boiler-callout .callout-number{
        font-size:39px;
    }
    .annotated-boiler .boiler-callout .callout-number>span{
        font-size:20px;
    }
    .annotated-boiler .boiler-callout h3{
        font-size:15px;
    }
}


/* DK_300_ALIGNMENT_08 */
@media(max-width:1023px){
    .annotated-boiler .boiler-callout.c-right.c-top .callout-number{
        transform:translateY(3px);
    }
}

/* DK_HERO_GRADIENT_09 */
@media(min-width:1024px){
    .centerhero::before{
        background:
            radial-gradient(
                ellipse 50% 48% at 50% 50%,
                rgba(28,65,110,.65) 0%,
                rgba(18,37,64,.40) 50%,
                rgba(13,14,18,0) 100%
            ),
            #0d0e12;
    }
}
