
:root {
    --runtime-ink: #111318;
    --runtime-red: #e31920;
    --runtime-line: #e2e5e7;
    --runtime-muted: #737b81;
}

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body *,
body *::before,
body *::after {
    box-sizing: border-box;
}

img,
svg,
video,
iframe {
    max-width: 100%;
    height: auto;
}

.site-service-bar {
    background: #111318;
    color: #fff;
}

.site-service-bar .service-bar__inner {
    min-height: 34px;
}

.site-service-bar a {
    color: #e31920;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.site-header--runtime,
.catalog-header {
    background: #fff;
    border-bottom: 1px solid var(--runtime-line);
}

.site-header--runtime .header-inner,
.catalog-header .header-inner {
    min-height: 78px;
    height: auto;
}

.site-header--runtime .brand,
.catalog-header .brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
    max-width: 240px;
}

.site-logo,
.catalog-logo,
.cms-brand-logo {
    display: block;
    width: auto !important;
    height: 56px !important;
    max-width: 220px !important;
    object-fit: contain;
}

.site-header--runtime .main-nav,
.catalog-header .main-nav {
    flex: 1 1 auto;
    justify-content: center;
    gap: clamp(16px, 2vw, 28px);
    min-width: 0;
    font-size: 14px;
    font-weight: 700;
}

.site-header--runtime .main-nav a,
.catalog-header .main-nav a {
    color: #111318;
    white-space: nowrap;
}

.site-header--runtime .header-cta,
.catalog-header .header-cta {
    flex: 0 0 auto;
    color: #fff;
}

.site-footer--runtime,
.catalog-site-footer {
    background: #111318;
    color: #fff;
    margin-top: 0;
}

.site-footer--runtime .footer-grid,
.catalog-site-footer .footer-grid {
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr) minmax(360px, 1.35fr);
    align-items: start;
    gap: 36px;
}

.site-footer--runtime .brand,
.catalog-site-footer .brand {
    min-width: 0;
}

.site-logo--footer,
.site-footer--runtime .cms-brand-logo,
.catalog-site-footer .cms-brand-logo {
    height: 52px !important;
    max-width: 220px !important;
}

.site-footer--runtime p,
.catalog-site-footer p {
    color: #9da4aa;
    margin: 0;
    font-size: 12px;
    line-height: 1.6;
}

.footer-nav,
.catalog-site-footer .unified-footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 14px 22px;
    font-size: 12px;
    font-weight: 800;
}

.footer-nav a,
.catalog-site-footer .unified-footer-nav a {
    color: #fff !important;
    text-decoration: none;
}

.footer-nav a:hover,
.catalog-site-footer .unified-footer-nav a:hover {
    color: var(--runtime-red) !important;
}

.site-footer--runtime small,
.catalog-site-footer small {
    grid-column: 1 / -1;
    border-top: 1px solid #313438;
    padding-top: 20px;
    color: #6f7579;
    font-size: 9px;
}

/* Тёмные секции — всегда читаемый текст. */
.listing-hero--dark h1,
.listing-hero--dark h2,
.listing-hero--dark h3,
.knowledge-section h1,
.knowledge-section h2,
.knowledge-section h3,
.service-section h1,
.service-section h2,
.service-section h3,
.catalog-hero h1,
.catalog-hero h2,
.catalog-hero h3 {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.listing-hero--dark p,
.knowledge-section p,
.service-section p,
.catalog-hero p {
    color: #aeb4ba !important;
}

/* Заголовки внутренних страниц. */
.content-hero h1,
.listing-hero h1 {
    max-width: 900px;
    overflow: visible;
    text-overflow: clip;
}

/* Сохраняем правильную десктопную сетку преимуществ. */
@media (min-width: 1021px) {
    .advantages-grid {
        grid-template-columns: 1.1fr repeat(3, 1fr) !important;
    }
}

@media (max-width: 1020px) {
    .site-header--runtime,
    .catalog-header {
        position: relative;
    }

    .site-header--runtime .main-nav,
    .site-header--runtime .header-cta,
    .catalog-header .main-nav,
    .catalog-header .header-cta {
        display: none;
    }

    .site-header--runtime .menu-toggle,
    .catalog-header .menu-toggle {
        display: block;
        margin-left: auto;
        flex: 0 0 auto;
    }

    body.site-menu-open .site-header--runtime .main-nav,
    body.site-menu-open .catalog-header .main-nav {
        position: absolute;
        z-index: 1000;
        top: 100%;
        left: 14px;
        right: 14px;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px;
        background: #fff;
        border: 1px solid var(--runtime-line);
        box-shadow: 0 16px 35px rgba(20,24,35,.16);
    }

    body.site-menu-open .main-nav a {
        display: block;
        padding: 14px 12px;
        border-bottom: 1px solid #edf0f3;
        color: #111318 !important;
    }

    body.site-menu-open .main-nav a:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 820px) {
    .shell {
        width: calc(100% - 28px);
        max-width: calc(100% - 28px);
    }

    .site-service-bar .service-bar__inner {
        justify-content: center;
    }

    .site-service-bar .service-bar__inner > span {
        display: none;
    }

    .site-header--runtime .header-inner,
    .catalog-header .header-inner {
        min-height: 84px;
    }

    .site-header--runtime .brand,
    .catalog-header .brand {
        max-width: calc(100% - 64px);
    }

    .site-logo,
    .catalog-logo,
    .cms-brand-logo {
        height: 54px !important;
        max-width: min(205px, 66vw) !important;
    }

    .content-hero,
    .listing-hero,
    .catalog-hero {
        overflow: hidden;
    }

    .content-hero h1,
    .listing-hero h1,
    .catalog-hero h1 {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        font-size: clamp(36px, 10.4vw, 50px) !important;
        line-height: .98 !important;
        letter-spacing: -.055em !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        hyphens: auto;
    }

    .content-hero p,
    .listing-hero p,
    .catalog-hero p {
        width: 100%;
        max-width: 100%;
        font-size: 18px !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere;
    }

    .breadcrumbs {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100%;
        max-width: 100%;
        gap: 8px;
    }

    .breadcrumbs > * {
        min-width: 0;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .site-footer--runtime .footer-grid,
    .catalog-site-footer .footer-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .footer-nav,
    .catalog-site-footer .unified-footer-nav {
        justify-content: flex-start;
    }
}

@media (max-width: 480px) {
    .site-service-bar .service-bar__inner div {
        font-size: 12px;
        white-space: nowrap;
    }

    .content-hero h1,
    .listing-hero h1,
    .catalog-hero h1 {
        font-size: clamp(33px, 9.7vw, 43px) !important;
        line-height: 1 !important;
    }

    .footer-nav,
    .catalog-site-footer .unified-footer-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
}

/* DAPROFF CMS 2.1 — final stability layer */
.content-hero,
.listing-hero,
.catalog-hero,
.content-hero__inner,
.listing-hero__inner,
.content-hero__copy,
.listing-hero__copy {
    min-width: 0;
}

.content-hero h1,
.listing-hero h1,
.catalog-hero h1 {
    text-wrap: balance;
    word-break: normal;
    overflow-wrap: break-word;
}

@media (max-width: 820px) {
    .content-hero,
    .listing-hero,
    .catalog-hero {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding-top: 42px !important;
        padding-bottom: 42px !important;
        overflow: visible !important;
    }

    .content-hero__inner,
    .listing-hero__inner,
    .category-hero-grid {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .content-hero__copy,
    .listing-hero__copy {
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
    }

    .content-hero h1,
    .listing-hero h1,
    .catalog-hero h1 {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 0 20px !important;
        padding: 0 !important;
        font-size: clamp(31px, 9.2vw, 46px) !important;
        line-height: 1.05 !important;
        letter-spacing: -0.04em !important;
        overflow: visible !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: auto;
    }
}

@media (max-width: 420px) {
    .content-hero h1,
    .listing-hero h1,
    .catalog-hero h1 {
        font-size: clamp(29px, 8.8vw, 39px) !important;
        letter-spacing: -0.035em !important;
    }
}

/* DAPROFF CMS 2.1.1 — mobile home hero correction */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.hero,
.hero-layout,
.hero-copy,
.hero-copy > *,
.hero-actions,
.part-search {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 820px) {
    .hero {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .hero .hero-layout {
        display: block !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
        min-height: 0 !important;
        height: auto !important;
        margin-inline: auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .hero .hero-copy {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 52px 0 46px !important;
        overflow: visible !important;
    }

    .hero .hero-copy h1 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        max-height: none !important;
        margin: 24px 0 22px !important;
        padding: 0 !important;
        font-size: clamp(34px, 9.5vw, 44px) !important;
        line-height: 1.01 !important;
        letter-spacing: -0.045em !important;
        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: normal !important;
        word-wrap: normal !important;
        word-break: normal !important;
        hyphens: manual !important;
        text-wrap: wrap !important;
    }

    .hero .hero-copy > p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: 18px !important;
        line-height: 1.52 !important;
        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    .hero .eyebrow {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
        letter-spacing: .15em !important;
        white-space: normal !important;
        flex-wrap: wrap !important;
    }

    .hero .hero-visual {
        display: none !important;
    }

    .hero .hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 12px !important;
        margin: 30px 0 !important;
    }

    .hero .hero-actions .button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        padding: 14px 18px !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .hero .part-search,
    .hero .part-search > div,
    .hero .part-search input {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .hero .hero-stats {
        grid-template-columns: 1fr 1fr !important;
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 420px) {
    .hero .hero-copy {
        padding-top: 44px !important;
    }

    .hero .hero-copy h1 {
        font-size: clamp(32px, 9.1vw, 38px) !important;
        line-height: 1.03 !important;
        letter-spacing: -0.04em !important;
    }

    .hero .hero-copy > p {
        font-size: 17px !important;
    }

    .hero .hero-stats {
        grid-template-columns: 1fr !important;
    }
}

/* DAPROFF CMS 2.1.2 — управляемые изображения главной страницы */
.hero-visual .home-hero-uploaded-image {
  position: absolute;
  inset: 7% 3% 8% 3%;
  width: 94%;
  height: 85%;
  object-fit: contain;
  z-index: 8;
  display: block;
}
.hero-visual:has(.home-hero-uploaded-image) .machine,
.hero-visual:has(.home-hero-uploaded-image) .laser-line {
  opacity: 0;
  visibility: hidden;
}
.catalog-card.has-upload-image {
  position: relative;
  overflow: hidden;
}
.catalog-card .home-catalog-uploaded-image {
  position: absolute;
  top: 28px;
  right: 24px;
  width: 58%;
  height: 42%;
  object-fit: contain;
  object-position: center;
  z-index: 1;
}
.catalog-card.has-upload-image > .equipment-symbol,
.catalog-card.has-upload-image > .part-symbol {
  opacity: 0;
  visibility: hidden;
}
.catalog-card.has-upload-image > div:last-of-type,
.catalog-card.has-upload-image > small,
.catalog-card.has-upload-image > h3,
.catalog-card.has-upload-image > p,
.catalog-card.has-upload-image > span {
  position: relative;
  z-index: 2;
}
.catalog-card--accent .home-catalog-uploaded-image {
  filter: none;
}
@media (max-width: 768px) {
  .hero-visual .home-hero-uploaded-image {
    inset: 4%;
    width: 92%;
    height: 92%;
  }
  .catalog-card .home-catalog-uploaded-image {
    top: 18px;
    right: 14px;
    width: 52%;
    height: 38%;
  }
}

/* DAPROFF CMS 2.1.3 — фиксация нумерации карточек при загрузке изображений */
.catalog-card > .card-number {
  position: absolute !important;
  top: 26px !important;
  left: 26px !important;
  z-index: 4 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  transform: none !important;
}
.catalog-card.has-upload-image > .home-catalog-uploaded-image {
  z-index: 1 !important;
}
@media (max-width: 768px) {
  .catalog-card > .card-number {
    top: 18px !important;
    left: 18px !important;
  }
}

/* DAPROFF CMS 2.1.4 — безопасная зона изображения главного экрана */
.hero-visual {
  isolation: isolate;
}
.hero-visual .home-hero-uploaded-image {
  inset: 17% 15% 21% 8% !important;
  width: 77% !important;
  height: 62% !important;
  max-width: 77% !important;
  max-height: 62% !important;
  object-fit: contain !important;
  object-position: center !important;
  z-index: 2 !important;
}
.hero-visual .visual-meta,
.hero-visual .visual-index {
  position: absolute !important;
  z-index: 10 !important;
}
.hero-visual .visual-meta--top {
  top: 28px !important;
  right: 22px !important;
}
.hero-visual .visual-meta--bottom {
  bottom: 30px !important;
  left: 22px !important;
}
.hero-visual .visual-index {
  right: 24px !important;
  bottom: 34px !important;
}
@media (max-width: 768px) {
  .hero-visual .home-hero-uploaded-image {
    inset: 16% 10% 22% 10% !important;
    width: 80% !important;
    height: 62% !important;
    max-width: 80% !important;
    max-height: 62% !important;
  }
}


/* DAPROFF CMS 2.1.5 — editable hero captions */
.hero-visual .visual-meta--bottom strong i {
  background: var(--readiness-color, #19a45b) !important;
}

/* DAPROFF CMS 3.2.3: editable About page hero */
.about-hero{position:relative;overflow:hidden}
.about-hero .content-hero__copy{max-width:980px}
.about-hero h1{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.about-hero--size-m h1{font-size:clamp(2.4rem,6vw,5.4rem)}
.about-hero--size-l h1{font-size:clamp(3rem,8vw,7.4rem)}
.about-hero--size-xl h1{font-size:clamp(3.4rem,10vw,9.4rem)}
.about-hero--dark{background:#111317;color:#fff}
.about-hero--dark h1,.about-hero--dark p,.about-hero--dark a,.about-hero--dark b,.about-hero--dark .content-hero__meta{color:#fff}
.about-hero--dark .breadcrumbs span,.about-hero--dark .section-kicker{color:#d71920}
.about-hero--red{background:#d71920;color:#fff}
.about-hero--red h1,.about-hero--red p,.about-hero--red a,.about-hero--red b,.about-hero--red .content-hero__meta{color:#fff}
.about-hero--red .section-kicker,.about-hero--red .breadcrumbs span{color:#15171b}
.about-hero__back{display:inline-flex;margin-bottom:18px}
@media(max-width:760px){
 .about-hero{padding-top:36px;padding-bottom:42px}
 .about-hero .content-hero__inner{min-height:auto}
 .about-hero h1,.about-hero--size-m h1,.about-hero--size-l h1,.about-hero--size-xl h1{font-size:clamp(2.25rem,14vw,4.5rem);line-height:.93;letter-spacing:-.045em}
 .about-hero p{font-size:1rem;line-height:1.5}
 .about-hero .breadcrumbs{display:flex;flex-wrap:wrap;gap:7px}
 .about-hero .content-hero__meta{display:flex;flex-wrap:wrap;gap:10px 18px}
}


/* DAPROFF CMS 3.2.7 — поля email и согласия в формах заявок */
.request-form .cms-inquiry-email-field{display:flex;flex-direction:column;gap:8px}
.request-form .cms-inquiry-email-field small{font-weight:400;opacity:.72}
.request-form .cms-inquiry-email-field b,.request-form .cms-privacy-consent b{color:#e31920}
.request-form .cms-privacy-consent{grid-column:1/-1;display:flex!important;align-items:flex-start;gap:12px;margin:4px 0 2px;font-size:12px;line-height:1.45;text-transform:none!important;letter-spacing:normal!important;cursor:pointer}
.request-form .cms-privacy-consent input{flex:0 0 auto;width:18px;height:18px;margin-top:1px;accent-color:#e31920}
.request-form .cms-privacy-consent span{display:block;color:inherit;opacity:.86}
.request-form .cms-privacy-consent a{text-decoration:underline;text-underline-offset:2px}
.request-form .cms-privacy-consent a:hover{color:#e31920}
@media(max-width:620px){.request-form .cms-privacy-consent{font-size:11px}}

/* DAPROFF CMS 3.3.0 — readable personal-data consent */
.request-form .cms-privacy-consent{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:visible!important;
  white-space:normal!important;
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:12px!important;
}
.request-form .cms-privacy-consent input{
  grid-column:1!important;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  margin:1px 0 0!important;
}
.request-form .cms-privacy-consent span{
  grid-column:2!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  color:#fff!important;
  opacity:1!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.request-form .cms-privacy-consent a{
  display:inline!important;
  position:static!important;
  width:auto!important;
  max-width:none!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
  white-space:normal!important;
}
.request-form .cms-privacy-consent a:hover,
.request-form .cms-privacy-consent a:focus-visible{
  color:#111!important;
}
.request-form .cms-privacy-consent b{
  color:#fff!important;
}
@media(max-width:620px){
  .request-form .cms-privacy-consent{font-size:12px!important;line-height:1.5!important}
}


/* DAPROFF CMS 3.3.1 — editable privacy policy page */
.privacy-policy-hero{padding:150px 0 62px;background:#e11424;color:#fff}
.privacy-policy-hero h1{max-width:980px;margin:16px 0 0;font-size:clamp(38px,6vw,82px);line-height:.95;letter-spacing:-.045em}
.privacy-policy-back{display:inline-flex;margin-bottom:28px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55)}
.privacy-policy-updated{margin:24px 0 0;color:rgba(255,255,255,.78)}
.privacy-policy-body{padding:72px 0 96px;background:#f6f6f4}
.privacy-policy-content{max-width:920px;margin:0 auto;padding:54px 64px;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.08);color:#151515;font-size:17px;line-height:1.75}
.privacy-policy-content h2{margin:42px 0 14px;font-size:28px;line-height:1.15;letter-spacing:-.02em}
.privacy-policy-content h2:first-child{margin-top:0}
.privacy-policy-content p,.privacy-policy-content ul,.privacy-policy-content ol{margin:0 0 18px}
.privacy-policy-content a{color:#d81323;text-decoration:underline}
@media(max-width:720px){.privacy-policy-hero{padding:112px 0 42px}.privacy-policy-body{padding:28px 0 54px}.privacy-policy-content{padding:30px 22px;font-size:16px}.privacy-policy-content h2{font-size:23px}}


/* DAPROFF CMS 3.3.2 — full privacy policy, no clipping */
.privacy-policy-body,.privacy-policy-layout,.privacy-policy-content{height:auto!important;max-height:none!important;overflow:visible!important}
.privacy-policy-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,920px);align-items:start;justify-content:center;gap:34px}
.privacy-policy-toc{position:sticky;top:24px;padding:26px;background:#11151b;color:#fff}
.privacy-policy-toc strong{display:block;margin-bottom:16px;font-size:18px}
.privacy-policy-toc nav{display:flex;flex-direction:column;gap:8px;max-height:62vh;overflow:auto;padding-right:8px}
.privacy-policy-toc a{color:rgba(255,255,255,.78);font-size:13px;line-height:1.35;text-decoration:none}
.privacy-policy-toc a:hover{color:#fff;text-decoration:underline}
.privacy-policy-print{margin-top:20px;width:100%;padding:12px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;cursor:pointer}
.privacy-policy-content{width:100%;max-width:920px;min-height:0}
.privacy-policy-content h2{scroll-margin-top:24px}
.privacy-policy-content ul,.privacy-policy-content ol{padding-left:24px}
.privacy-policy-content li{margin-bottom:8px}
@media(max-width:980px){.privacy-policy-layout{display:block}.privacy-policy-toc{position:static;margin:0 auto 24px;max-width:920px}.privacy-policy-toc nav{max-height:none}}
@media print{header,.site-header,.privacy-policy-hero,.privacy-policy-toc,footer,.site-footer{display:none!important}.privacy-policy-body{padding:0!important;background:#fff!important}.privacy-policy-content{box-shadow:none!important;max-width:none!important;padding:0!important;font-size:12pt!important}.privacy-policy-content h2{break-after:avoid}.privacy-policy-content p,.privacy-policy-content ul{break-inside:avoid}}

/* DAPROFF CMS 3.3.3: privacy editor and full document visibility */
.privacy-full-editor{min-height:1100px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55;resize:vertical}
.privacy-policy-body,.privacy-policy-layout,.privacy-policy-content{height:auto!important;max-height:none!important;overflow:visible!important}
.privacy-policy-content>*:last-child{margin-bottom:0}


/* DAPROFF CMS 3.3.4 — clean complete privacy-policy printing */
@media print {
  @page { size: A4; margin: 16mm 15mm 18mm; }
  html, body.privacy-policy-page {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }
  body.privacy-policy-page .service-bar,
  body.privacy-policy-page .site-service-bar,
  body.privacy-policy-page header,
  body.privacy-policy-page .site-header,
  body.privacy-policy-page .privacy-policy-hero,
  body.privacy-policy-page .privacy-policy-toc,
  body.privacy-policy-page footer,
  body.privacy-policy-page .site-footer,
  body.privacy-policy-page script {
    display: none !important;
  }
  body.privacy-policy-page main,
  body.privacy-policy-page .privacy-policy-body,
  body.privacy-policy-page .shell,
  body.privacy-policy-page .privacy-policy-layout,
  body.privacy-policy-page .privacy-policy-content {
    display: block !important;
    position: static !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    box-shadow: none !important;
    background: #fff !important;
  }
  body.privacy-policy-page .privacy-policy-content {
    color: #000 !important;
    font-size: 11pt !important;
    line-height: 1.45 !important;
  }
  body.privacy-policy-page .privacy-policy-content h1,
  body.privacy-policy-page .privacy-policy-content h2,
  body.privacy-policy-page .privacy-policy-content h3 {
    color: #000 !important;
    page-break-after: avoid !important;
    break-after: avoid-page !important;
  }
  body.privacy-policy-page .privacy-policy-content h2 {
    margin: 8mm 0 3mm !important;
    font-size: 16pt !important;
  }
  body.privacy-policy-page .privacy-policy-content h2:first-child { margin-top: 0 !important; }
  body.privacy-policy-page .privacy-policy-content p,
  body.privacy-policy-page .privacy-policy-content ul,
  body.privacy-policy-page .privacy-policy-content ol {
    margin: 0 0 4mm !important;
    orphans: 3;
    widows: 3;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  body.privacy-policy-page .privacy-policy-content a {
    color: #000 !important;
    text-decoration: none !important;
  }
}

/* DAPROFF CMS 3.3.6 — request section responsive visibility fix */
html,body{max-width:100%;overflow-x:hidden}
.request-section,.request-section .shell,.request-layout,.request-layout>*{min-width:0}
.request-section{overflow:visible!important}
.request-layout{width:100%;max-width:100%}
.request-form{width:100%;max-width:100%;min-width:0}
.request-form>*{min-width:0;max-width:100%}
.request-form label,.request-form input,.request-form select,.request-form textarea,.request-form button,.request-form small{box-sizing:border-box;max-width:100%}
.request-form select{white-space:normal}
.request-form textarea{min-height:92px;height:auto}
.request-form>small{display:block!important;width:100%;grid-column:auto;color:#fff!important;opacity:.82;font-size:10px;line-height:1.55;white-space:normal;overflow-wrap:anywhere}

@media (max-width:1020px){
  .request-section{padding:76px 0!important}
  .request-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:42px!important}
  .request-layout>div,.request-layout>form{width:100%!important;max-width:100%!important}
  .request-section h2{max-width:780px;font-size:clamp(42px,8vw,68px)!important;line-height:.98!important;overflow-wrap:normal;word-break:normal}
  .request-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:22px 28px!important}
  .request-form .request-form__wide,.request-form .cms-privacy-consent{grid-column:1/-1!important}
}

@media (max-width:680px){
  .request-section{padding:58px 0 62px!important}
  .request-section .shell{width:min(100% - 32px,1240px)!important}
  .request-layout{gap:34px!important}
  .request-section h2{margin:14px 0 20px!important;font-size:clamp(38px,12.2vw,58px)!important;line-height:.95!important;letter-spacing:-.045em!important;hyphens:none;word-break:normal;overflow-wrap:normal}
  .request-layout>div>p{font-size:15px;line-height:1.55}
  .request-form{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .request-form .request-form__wide,.request-form .cms-privacy-consent,.request-form .cms-inquiry-email-field{grid-column:auto!important}
  .request-form label{width:100%!important;font-size:10px!important}
  .request-form input,.request-form select,.request-form textarea{width:100%!important;min-width:0!important;font-size:16px!important;padding:12px 0!important}
  .request-form textarea{min-height:105px!important}
  .request-form .button--light{width:100%!important;justify-self:stretch!important}
  .request-form .cms-privacy-consent{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:11px!important;width:100%!important;margin:0!important}
  .request-form .cms-privacy-consent input{width:20px!important;min-width:20px!important;height:20px!important}
  .request-form .cms-privacy-consent span{font-size:13px!important;line-height:1.5!important}
  .request-form>small{font-size:11px!important;line-height:1.5!important}
}

/* DAPROFF CMS 3.3.7 — high-contrast text on red sections */
.request-section,
.request-section .request-layout,
.request-section .request-form {
  color:#fff;
}
.request-section .section-kicker,
.request-section .section-kicker--light {
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
.request-section .section-kicker::before,
.request-section .section-kicker::after,
.request-section .section-kicker--light::before,
.request-section .section-kicker--light::after {
  background:#fff!important;
  border-color:#fff!important;
  opacity:.78!important;
}
.request-section .request-layout>div>p {
  color:#fff!important;
  opacity:1!important;
}
.request-section .request-form label,
.request-section .request-form label>span,
.request-section .request-form small,
.request-section .request-form>small,
.request-section .cms-inquiry-email-field small,
.request-section .cms-privacy-consent,
.request-section .cms-privacy-consent span,
.request-section .cms-privacy-consent a {
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
.request-section .request-form input,
.request-section .request-form select,
.request-section .request-form textarea {
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.82)!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}
.request-section .request-form input::placeholder,
.request-section .request-form textarea::placeholder {
  color:rgba(255,255,255,.72)!important;
  opacity:1!important;
}
.request-section .request-form select option {
  color:#111!important;
  background:#fff!important;
}
.request-section .request-form input:focus,
.request-section .request-form select:focus,
.request-section .request-form textarea:focus {
  border-bottom-color:#fff!important;
  outline:none!important;
}
.request-section .cms-privacy-consent a {
  text-decoration-color:#fff!important;
}
.request-section .cms-privacy-consent a:hover,
.request-section .cms-privacy-consent a:focus-visible {
  color:#111!important;
  text-decoration-color:#111!important;
}

.privacy-policy-hero .privacy-policy-back {
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  border-bottom-color:rgba(255,255,255,.8)!important;
  font-weight:700;
}
.privacy-policy-hero .section-kicker {
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
.privacy-policy-hero .section-kicker::before,
.privacy-policy-hero .section-kicker::after {
  background:#fff!important;
  border-color:#fff!important;
  opacity:.8!important;
}
.privacy-policy-hero .privacy-policy-updated {
  color:#fff!important;
  opacity:1!important;
}

/* Breadcrumbs and metadata remain readable on any red hero variation. */
.about-hero--red .breadcrumbs,
.about-hero--red .breadcrumbs a,
.about-hero--red .breadcrumbs b,
.about-hero--red .content-hero__meta,
.about-hero--red .content-hero__meta span,
.about-hero--red .about-hero__back {
  color:#fff!important;
  opacity:1!important;
}
.about-hero--red .breadcrumbs span {
  color:rgba(255,255,255,.72)!important;
}

/* DAPROFF CMS 3.3.8 — aligned request-section content width */
.request-section > .shell.request-layout{
  width:min(var(--shell-width,1240px),calc(100% - 48px))!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  align-items:start!important;
  column-gap:clamp(52px,6vw,96px)!important;
}
.request-section .request-layout>div{
  width:100%!important;
  max-width:560px!important;
  min-width:0!important;
}
.request-section .request-layout>.request-form{
  width:100%!important;
  max-width:680px!important;
  min-width:0!important;
  justify-self:end!important;
}
.request-section .request-layout>div h2{
  max-width:560px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.request-section .request-layout>div>p{
  max-width:540px!important;
}
.request-section .request-form>small{
  grid-column:1/-1!important;
  justify-self:start!important;
  margin-top:-4px!important;
}

@media (max-width:1020px){
  .request-section > .shell.request-layout{
    width:min(100% - 48px,760px)!important;
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:42px!important;
  }
  .request-section .request-layout>div,
  .request-section .request-layout>.request-form{
    max-width:none!important;
    justify-self:stretch!important;
  }
}
@media (max-width:680px){
  .request-section > .shell.request-layout{
    width:calc(100% - 32px)!important;
  }
}
