/* MASTER-PACK 0.7.99 — owner-review design and motion layer.
 * Late overrides only: keep verified 0.7.98 routes/content/runtime intact.
 */

:root {
    --mp0799-blue: #0b6fb3;
    --mp0799-blue-dark: #07598f;
    --mp0799-red: #d85a34;
    --mp0799-ink: #122632;
    --mp0799-muted: #5f6b72;
    --mp0799-paper: #f5f6f3;
    --mp0799-line: rgba(18, 38, 50, .14);
    --mp0799-ease: cubic-bezier(.22, .78, .22, 1);
    --mp0799-ease-soft: cubic-bezier(.2, .65, .25, 1);
}

/* Free vertical scrolling: horizontal rails may snap, the page never does. */
html,
html.mp-motion-capable {
    scroll-snap-type: none !important;
}
.mp-design-0799 .mp-screen,
.mp-design-0799 [data-mp-section] {
    scroll-snap-align: none !important;
}

/* --------------------------------------------------------------------------
   GLOBAL HEADER
   -------------------------------------------------------------------------- */
.mp-design-0799 .mp-site-header {
    --mp-header-height: 76px;
    min-height: var(--mp-header-height);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(18px, 2.3vw, 38px);
    padding: 10px clamp(18px, 3.5vw, 58px);
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid rgba(18,38,50,.09);
    box-shadow: 0 0 0 rgba(12,29,39,0);
    backdrop-filter: blur(18px) saturate(1.12);
    -webkit-backdrop-filter: blur(18px) saturate(1.12);
    transition: min-height .35s var(--mp0799-ease), padding .35s var(--mp0799-ease), box-shadow .35s ease, background .35s ease;
}
.mp-design-0799 .mp-site-header.is-scrolled {
    min-height: 66px;
    padding-block: 7px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 12px 40px rgba(12,29,39,.08);
}
.mp-design-0799 .mp-site-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #122632;
    text-decoration: none;
    white-space: nowrap;
}
.mp-design-0799 .mp-brand-emblem {
    position: relative;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    color: #102e68;
    background: #fff;
    border: 2px solid #102e68;
    box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 6px #e64e4e;
    transform: rotate(45deg);
    transition: transform .45s var(--mp0799-ease);
}
.mp-design-0799 .mp-site-brand:hover .mp-brand-emblem,
.mp-design-0799 .mp-site-brand:focus-visible .mp-brand-emblem {
    transform: rotate(45deg) scale(1.06);
}
.mp-design-0799 .mp-brand-emblem > span {
    font-size: 8px;
    font-weight: 850;
    letter-spacing: -.03em;
    transform: rotate(-45deg);
}
.mp-design-0799 .mp-site-brand .mp-logo-text {
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #102e68;
    font-size: clamp(12px, .88vw, 15px);
    font-weight: 820;
    letter-spacing: .01em;
}
.mp-design-0799 .mp-site-header .mp-main-nav {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(14px, 1.6vw, 27px);
}
.mp-design-0799 .mp-site-header .mp-main-nav a {
    position: relative;
    color: #1b2429;
    font-size: 13px;
    font-weight: 680;
    text-decoration: none;
    white-space: nowrap;
}
.mp-design-0799 .mp-site-header .mp-main-nav a::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -7px;
    left: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .32s var(--mp0799-ease);
}
.mp-design-0799 .mp-site-header .mp-main-nav a:hover::after,
.mp-design-0799 .mp-site-header .mp-main-nav a:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left center;
}
.mp-design-0799 .mp-header-tools {
    display: flex;
    align-items: center;
    gap: 9px;
}
.mp-design-0799 .mp-language-switcher {
    display: flex;
    align-items: center;
    gap: 1px;
    padding: 3px;
    background: #f0f2f1;
    border: 1px solid rgba(18,38,50,.09);
    border-radius: 999px;
}
.mp-design-0799 .mp-language-switcher a {
    display: grid;
    min-width: 31px;
    height: 29px;
    place-items: center;
    padding: 0 7px;
    color: #657078;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 820;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}
.mp-design-0799 .mp-language-switcher a:hover { color: #122632; transform: translateY(-1px); }
.mp-design-0799 .mp-language-switcher a[aria-current="page"] { color: #fff; background: #122632; }
.mp-design-0799 .mp-header-catalogue,
.mp-design-0799 .mp-discovery-trigger.mp-header-catalogue {
    position: static !important;
    z-index: auto;
    min-height: 42px;
    margin: 0;
    padding: 0 15px;
    color: #17242c;
    background: #fff;
    border: 1px solid rgba(18,38,50,.15);
    border-radius: 999px;
    box-shadow: none;
    font-size: 12px;
    font-weight: 760;
}
.mp-design-0799 .mp-header-catalogue:hover {
    color: #fff;
    background: #122632;
    border-color: #122632;
    box-shadow: none;
    transform: translateY(-1px);
}
.mp-design-0799 .mp-header-catalogue .mp-discovery-trigger-icon {
    grid-template-columns: repeat(2, 4px);
    width: 10px;
    gap: 2px;
}
.mp-design-0799 .mp-header-catalogue .mp-discovery-trigger-icon span {
    width: 4px !important;
    height: 4px;
    background: currentColor;
    border-radius: 1px;
}
.mp-design-0799 .mp-header-cta {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    color: #fff !important;
    background: var(--mp0799-blue) !important;
    border: 1px solid var(--mp0799-blue) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 26px rgba(11,111,179,.17);
    font-size: 12px;
    font-weight: 790;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .25s var(--mp0799-ease), background .25s ease, box-shadow .25s ease;
}
.mp-design-0799 .mp-header-cta:hover,
.mp-design-0799 .mp-header-cta:focus-visible {
    background: var(--mp0799-blue-dark) !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(11,111,179,.23);
}
.mp-design-0799 .mp-menu-toggle { color: #122632; }
.mp-design-0799 .mp-menu-bars { display:grid; width:23px; gap:5px; }
.mp-design-0799 .mp-menu-bars i { height:2px; background:currentColor; border-radius:999px; transition:transform .25s ease, opacity .25s ease; }

/* --------------------------------------------------------------------------
   HERO / IMAGE QUALITY / MOTION
   -------------------------------------------------------------------------- */
.mp-design-0799.mp-prototype-1 .mp-hero-visual img,
.mp-design-0799.mp-localized-home .mp-hero-visual img {
    filter: saturate(.98) contrast(1.055) brightness(1.015) !important;
    transform: scale(1.018);
    transition: transform 8.4s var(--mp0799-ease-soft), filter .6s ease;
}
.mp-design-0799.mp-prototype-1 .mp-hero-visual.is-active img,
.mp-design-0799.mp-localized-home .mp-hero-visual.is-active img {
    transform: scale(1.0);
}
.mp-design-0799.mp-prototype-1 .mp-hero-overlay {
    background:
        linear-gradient(90deg, rgba(7,12,16,.70) 0%, rgba(7,12,16,.57) 29%, rgba(7,12,16,.24) 56%, rgba(7,12,16,.04) 80%, rgba(7,12,16,.09) 100%),
        linear-gradient(0deg, rgba(0,0,0,.23) 0%, transparent 36%) !important;
}
.mp-design-0799 .mp-hero-slide,
.mp-design-0799 .mp-hero-copy-carousel .mp-hero-slide {
    transition: opacity .62s ease, transform .72s var(--mp0799-ease), visibility 0s linear .72s !important;
}
.mp-design-0799 .mp-hero-slide:not(.is-active) { transform: translateY(26px) !important; }
.mp-design-0799 .mp-hero-slide.is-active { transform: translateY(0) !important; }
.mp-design-0799 .mp-hero-slide.is-active .mp-eyebrow,
.mp-design-0799 .mp-hero-slide.is-active h1,
.mp-design-0799 .mp-hero-slide.is-active .mp-lead,
.mp-design-0799 .mp-hero-slide.is-active .mp-hero-actions {
    animation: mp0799-rise .8s var(--mp0799-ease) both;
}
.mp-design-0799 .mp-hero-slide.is-active h1 { animation-delay: .06s; }
.mp-design-0799 .mp-hero-slide.is-active .mp-lead { animation-delay: .13s; }
.mp-design-0799 .mp-hero-slide.is-active .mp-hero-actions { animation-delay: .19s; }

/* Yucca-inspired restrained editorial marquee. */
.mp0799-marquee {
    position: relative;
    overflow: hidden;
    padding: 17px 0;
    color: #fff;
    background: #132833;
    border-block: 1px solid rgba(255,255,255,.09);
}
.mp0799-marquee-track {
    display: flex;
    width: max-content;
    align-items: center;
    will-change: transform;
    animation: mp0799-marquee 34s linear infinite;
}
.mp0799-marquee-group { display:flex; align-items:center; flex-shrink:0; }
.mp0799-marquee-item {
    display:flex;
    align-items:center;
    gap: 24px;
    padding-right: 24px;
    font-size: clamp(12px, 1.05vw, 15px);
    font-weight: 760;
    letter-spacing: .09em;
    white-space: nowrap;
}
.mp0799-marquee-item::after { content:'◇'; color:#e65d4a; font-size:12px; }

/* --------------------------------------------------------------------------
   HOMEPAGE PRODUCT RAILS
   -------------------------------------------------------------------------- */
.mp-design-0799.mp-prototype-1 .mp-product-section {
    min-height: auto;
    padding-top: calc(var(--mp-header-height) + clamp(34px, 4vw, 62px));
}
.mp-design-0799 .mp0799-section-heading { align-items:flex-end; }
.mp-design-0799 .mp0799-section-heading .mp-section-copy { max-width:760px; }
.mp-design-0799 .mp0799-section-heading .mp-section-copy > p:last-of-type { max-width:720px; }
.mp-design-0799 .mp-slider { overscroll-behavior-x: contain; overscroll-behavior-y: auto; touch-action: pan-y pan-x; }
.mp-design-0799 .mp-slide-media img {
    transition: transform .9s var(--mp0799-ease), filter .5s ease;
}
.mp-design-0799 .mp-slide.is-revealed .mp-slide-media img,
.mp-design-0799 .mp-slide:hover .mp-slide-media img { transform: scale(1.018); }
.mp-design-0799 .mp-slide-content,
.mp-design-0799 .mp-slide-copy { transition: transform .55s var(--mp0799-ease), opacity .45s ease; }
.mp-design-0799 .mp-slide.is-revealed .mp-slide-content,
.mp-design-0799 .mp-slide.is-revealed .mp-slide-copy { transform: translateY(0); opacity:1; }
.mp-design-0799 .mp-slider-pagination,
.mp-design-0799 .mp-slider-dots { max-width:min(52vw,700px); overflow:hidden; }

/* --------------------------------------------------------------------------
   INTERNAL PAGE TYPOGRAPHY / PRODUCT MEDIA
   -------------------------------------------------------------------------- */
.mp-design-0799.mp-catalog-page .mp-catalog-main,
.mp-design-0799 .mp-catalog-main { padding-top: var(--mp-header-height, 76px); }
.mp-design-0799 .mp-catalog-hero {
    min-height: min(720px, calc(100svh - var(--mp-header-height, 76px)));
    grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
}
.mp-design-0799 .mp-catalog-copy {
    padding: clamp(38px, 5.5vw, 82px) clamp(26px, 5.5vw, 86px);
}
.mp-design-0799 .mp-breadcrumbs { margin-bottom: clamp(22px, 3vw, 40px); }
.mp-design-0799 .mp-catalog-copy h1 {
    max-width: 760px;
    margin: 9px 0 20px;
    font-size: clamp(38px, 4vw, 68px) !important;
    line-height: 1.00 !important;
    letter-spacing: -.045em !important;
    overflow-wrap: normal;
    word-break: normal;
}
.mp-design-0799 .mp-catalog-lead {
    max-width: 700px;
    font-size: clamp(16px, 1.15vw, 20px);
    line-height: 1.55;
}
.mp-design-0799 .mp-catalog-facts { margin-top: clamp(24px, 3vw, 38px); }
.mp-design-0799 .mp-catalog-actions { margin-top: 26px; }
.mp-design-0799 .mp-catalog-hero-media {
    min-height: 0;
    height: min(720px, calc(100svh - var(--mp-header-height, 76px)));
    display:grid;
    place-items:center;
    background:#f7f8f6;
}
.mp-design-0799 .mp-catalog-hero-media img {
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain !important;
    object-position:center !important;
}
/* Corporate pages keep photographic crop; product pages use contain above. */
.mp-design-0799.mp-company-page .mp-catalog-hero-media img,
.mp-design-0799 .mp-company-page .mp-catalog-hero-media img,
.mp-design-0799.mp-design-contacts-page .mp-catalog-hero-media img {
    object-fit:cover !important;
    object-position:var(--mp-media-position,50% 50%) !important;
}
.mp-design-0799 .mp-catalog-detail-card,
.mp-design-0799 .mp-catalog-application-card { min-height: 0; }
.mp-design-0799 .mp-catalog-detail-card h2,
.mp-design-0799 .mp-catalog-application-card h2,
.mp-design-0799 .mp-catalog-contact h2,
.mp-design-0799 .mp-catalog-gallery > h2,
.mp-design-0799 .mp-catalog-extra-card h2 {
    font-size: clamp(28px, 2.45vw, 40px) !important;
    line-height:1.08 !important;
    letter-spacing:-.032em !important;
}
.mp-design-0799 .mp-catalog-detail-card p,
.mp-design-0799 .mp-catalog-contact-copy > p:last-child { font-size:16px; line-height:1.65; }
.mp-design-0799 .mp-catalog-detail-card li,
.mp-design-0799 .mp-catalog-application-card li { padding-left: 26px; }
.mp-design-0799 .mp-catalog-detail-card li::before,
.mp-design-0799 .mp-catalog-application-card li::before {
    content:'' !important;
    top: 1.35em;
    left:0;
    width:14px;
    height:2px;
    background:var(--mp0799-blue);
    border-radius:999px;
}
.mp-design-0799 .mp-company-history-note,
.mp-design-0799 [class*="note"] {
    color:#4c5a61;
}
.mp-design-0799 .mp-company-history-note strong,
.mp-design-0799 [class*="note"] strong {
    color:var(--mp0799-blue-dark) !important;
    font-weight:800;
}

/* --------------------------------------------------------------------------
   CONTACTS / MAPS
   -------------------------------------------------------------------------- */
.mp-design-0799 .mp-contact-offices {
    padding: clamp(60px, 8vw, 118px) clamp(24px, 6vw, 96px);
    background:#f1f3f0;
    border-bottom:1px solid var(--mp0799-line);
}
.mp-design-0799 .mp-contact-offices-head { max-width:780px; margin-bottom:clamp(32px,4vw,58px); }
.mp-design-0799 .mp-contact-offices-head h2 { margin:8px 0 18px; font-size:clamp(34px,4vw,62px); line-height:1; letter-spacing:-.045em; }
.mp-design-0799 .mp-contact-offices-head > p:last-child { color:var(--mp0799-muted); font-size:17px; line-height:1.6; }
.mp-design-0799 .mp-contact-office-grid { display:grid; grid-template-columns:1.35fr .825fr .825fr; gap:1px; background:var(--mp0799-line); border:1px solid var(--mp0799-line); }
.mp-design-0799 .mp-contact-office { position:relative; min-width:0; padding:clamp(28px,3.2vw,48px); background:#fff; }
.mp-design-0799 .mp-contact-office-primary { grid-row:span 2; }
.mp-design-0799 .mp-contact-office-index { display:block; margin-bottom:34px; color:#869098; font-size:11px; font-weight:800; letter-spacing:.14em; }
.mp-design-0799 .mp-contact-office h3 { margin:0 0 9px; font-size:clamp(30px,3vw,48px); letter-spacing:-.04em; }
.mp-design-0799 .mp-contact-office > p,
.mp-design-0799 .mp-contact-office address { margin:0 0 20px; color:var(--mp0799-muted); font-style:normal; line-height:1.6; }
.mp-design-0799 .mp-contact-office-links {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    min-width:0;
    gap:8px;
    margin:22px 0;
}
.mp-design-0799 .mp-contact-office-links a,
.mp-design-0799 .mp-contact-methods a,
.mp-design-0799 .mp-home-contact-meta a {
    width:max-content;
    max-width:100%;
    color:var(--mp0799-blue-dark) !important;
    font-size:clamp(18px,1.7vw,27px);
    font-weight:760;
    line-height:1.18;
    text-decoration-thickness:1px;
    text-underline-offset:5px;
    overflow-wrap:anywhere;
    transition:color .2s ease, transform .25s var(--mp0799-ease);
}
.mp-design-0799 .mp-contact-office-links a {
    width:100%;
    min-width:0;
}
.mp-design-0799 .mp-contact-office-links a:hover,
.mp-design-0799 .mp-home-contact-meta a:hover { color:#d6533d !important; transform:translateX(4px); }
.mp-design-0799 .mp-contact-hours { margin-top:30px !important; font-size:14px; }
.mp-design-0799 .mp-map-shell { min-height:340px; margin-top:30px; overflow:hidden; background:#dfe5e4; }
.mp-design-0799 .mp-map-shell iframe { width:100%; height:100%; min-height:340px; display:block; border:0; }
.mp-design-0799 .mp-map-placeholder { min-height:340px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:11px; padding:30px; background:linear-gradient(145deg,#d9e3e4,#eef1ef); }
.mp-design-0799 .mp-map-placeholder > span { margin-bottom:auto; color:#657078; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.mp-design-0799 .mp-map-load,
.mp-design-0799 .mp-map-placeholder a { display:inline-flex; min-height:44px; align-items:center; padding:0 16px; color:#fff; background:#122632; border:0; border-radius:999px; font-weight:740; text-decoration:none; cursor:pointer; }
.mp-design-0799 .mp-map-placeholder a { color:#122632; background:transparent; padding-inline:0; min-height:32px; }
.mp-design-0799 .mp-home-contact-meta { display:grid; gap:10px; margin-top:30px; }
.mp-design-0799 .mp-home-contact-address { max-width:520px; color:#c5ced2; font-size:15px; line-height:1.55; }
.mp-design-0799 .mp-home-contact-map { min-height:260px; margin-top:24px; overflow:hidden; background:#25343b; }
.mp-design-0799 .mp-home-contact-map iframe { width:100%; min-height:300px; border:0; display:block; }

/* Deduplicate old contact-method card visually on dedicated contacts page; the
 * new office block above is the canonical contact presentation. */
.mp-design-contacts-page .mp-catalog-extras[aria-label="Прямі контакти"],
.mp-design-contacts-page .mp-catalog-extras[aria-label="Direct contacts"],
.mp-design-contacts-page .mp-catalog-extras[aria-label="Прямые контакты"] { display:none !important; }

/* --------------------------------------------------------------------------
   GLOBAL FOOTER
   -------------------------------------------------------------------------- */
.mp-design-0799 .mp-site-footer {
    padding: clamp(44px,6vw,78px) clamp(24px,5vw,78px) 24px;
    color:#e8edef;
    background:#0d171d;
    border-top:1px solid rgba(255,255,255,.08);
}
.mp-design-0799 .mp-site-footer-grid { display:grid; grid-template-columns:1.25fr .9fr 1fr; gap:clamp(28px,5vw,80px); align-items:start; }
.mp-design-0799 .mp-site-footer-brand strong { color:#fff; font-size:clamp(20px,2vw,30px); letter-spacing:-.025em; }
.mp-design-0799 .mp-site-footer-brand p { max-width:390px; margin:14px 0 0; color:#9eabb1; line-height:1.6; }
.mp-design-0799 .mp-site-footer-contact { display:grid; gap:8px; }
.mp-design-0799 .mp-site-footer-contact a { color:#fff; font-size:clamp(16px,1.5vw,22px); font-weight:680; text-underline-offset:4px; overflow-wrap:anywhere; }
.mp-design-0799 .mp-site-footer-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }
.mp-design-0799 .mp-site-footer-nav a { color:#b8c2c7; font-size:13px; text-decoration:none; transition:color .2s ease, transform .2s ease; }
.mp-design-0799 .mp-site-footer-nav a:hover { color:#fff; transform:translateX(3px); }
.mp-design-0799 .mp-site-footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:50px; padding-top:18px; color:#718087; border-top:1px solid rgba(255,255,255,.12); font-size:11px; }
.mp-design-0799 .mp-site-footer-bottom a { color:#b8c2c7; text-decoration:none; }

/* --------------------------------------------------------------------------
   CATALOGUE DRAWER — COMPACT ACCORDION
   -------------------------------------------------------------------------- */
.mp-design-0799 .mp-discovery-panel { width:min(1060px,92vw); }
.mp-design-0799 .mp-discovery-close { font-size:0; }
.mp-design-0799 .mp-discovery-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.mp-design-0799 .mp-discovery-groups { display:grid; grid-template-columns:1fr; gap:10px; }
.mp-design-0799 .mp-discovery-group { padding:0; overflow:hidden; background:#fff; transform:none; }
.mp-design-0799 .mp-discovery-group-toggle {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:20px 22px;
    color:#17242c;
    background:transparent;
    border:0;
    cursor:pointer;
    text-align:left;
}
.mp-design-0799 .mp-discovery-group-toggle:hover { background:#f4f5f2; }
.mp-design-0799 .mp-discovery-group-title { display:grid; gap:4px; }
.mp-design-0799 .mp-discovery-group-title small { color:#8a9297; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.mp-design-0799 .mp-discovery-group-title strong { font-size:clamp(19px,2vw,27px); font-weight:630; letter-spacing:-.025em; }
.mp-design-0799 .mp-discovery-group-meta { display:flex; align-items:center; gap:14px; }
.mp-design-0799 .mp-discovery-group-meta b { display:grid; min-width:34px; height:28px; place-items:center; padding:0 7px; color:#626b70; background:#eff0ed; border-radius:999px; font-size:11px; }
.mp-design-0799 .mp-discovery-group-meta i { position:relative; width:18px; height:18px; }
.mp-design-0799 .mp-discovery-group-meta i::before,
.mp-design-0799 .mp-discovery-group-meta i::after { content:''; position:absolute; top:8px; left:3px; width:12px; height:1.5px; background:#17242c; transition:transform .28s var(--mp0799-ease); }
.mp-design-0799 .mp-discovery-group-meta i::after { transform:rotate(90deg); }
.mp-design-0799 .mp-discovery-group-toggle[aria-expanded="true"] .mp-discovery-group-meta i::after { transform:rotate(0deg); }
.mp-design-0799 .mp-discovery-group ul { padding:0 22px 16px; }
.mp-design-0799 .mp-discovery-group ul[hidden] { display:none !important; }
.mp-design-0799 .mp-discovery-group.is-opening ul:not([hidden]) { animation:mp0799-accordion .34s var(--mp0799-ease) both; }
.mp-design-0799 .mp-discovery-group a { min-height:42px; }

/* --------------------------------------------------------------------------
   BUTTON MICROINTERACTIONS / REVEALS
   -------------------------------------------------------------------------- */
.mp-design-0799 .mp-button,
.mp-design-0799 .mp-btn,
.mp-design-0799 .mp-map-load {
    position:relative;
    overflow:hidden;
    isolation:isolate;
    transition:transform .28s var(--mp0799-ease), box-shadow .28s ease, color .24s ease, background .24s ease;
}
.mp-design-0799 .mp-button:hover,
.mp-design-0799 .mp-btn:hover { transform:translateY(-2px); }
.mp-design-0799 .mp-motion-reveal {
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s ease var(--mp0799-delay,0ms), transform .82s var(--mp0799-ease) var(--mp0799-delay,0ms);
}
.mp-design-0799 .mp-motion-reveal.is-visible { opacity:1; transform:none; }
.mp-design-0799 .mp-motion-image { overflow:hidden; }
.mp-design-0799 .mp-motion-image > img { transform:scale(1.035); transition:transform 1.35s var(--mp0799-ease); }
.mp-design-0799 .mp-motion-image.is-visible > img { transform:scale(1); }

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 1280px) {
    .mp-design-0799 .mp-site-header { grid-template-columns:auto 1fr auto; gap:14px; }
    .mp-design-0799 .mp-site-header .mp-main-nav { gap:13px; }
    .mp-design-0799 .mp-site-header .mp-main-nav a { font-size:12px; }
    .mp-design-0799 .mp-site-brand .mp-logo-text { max-width:170px; }
    .mp-design-0799 .mp-language-switcher { display:none; }
    .mp-design-0799 .mp-contact-office-grid { grid-template-columns:1fr 1fr; }
    .mp-design-0799 .mp-contact-office-primary { grid-column:1/-1; grid-row:auto; }
}
@media (max-width: 1040px) {
    .mp-design-0799 .mp-site-header { display:flex; }
    .mp-design-0799 .mp-site-brand { margin-right:auto; }
    .mp-design-0799 .mp-menu-toggle { display:grid; order:4; }
    .mp-design-0799 .mp-site-header .mp-main-nav {
        position:absolute;
        top:100%; right:0; left:0;
        display:grid;
        gap:0;
        padding:14px clamp(20px,5vw,48px) 22px;
        background:rgba(255,255,255,.985);
        border-bottom:1px solid var(--mp0799-line);
        box-shadow:0 18px 35px rgba(12,29,39,.10);
        opacity:0; visibility:hidden; transform:translateY(-8px);
        transition:opacity .22s ease, transform .25s var(--mp0799-ease), visibility 0s linear .25s;
    }
    .mp-menu-open.mp-design-0799 .mp-site-header .mp-main-nav { opacity:1; visibility:visible; transform:none; transition-delay:0s; }
    .mp-design-0799 .mp-site-header .mp-main-nav a { padding:11px 0; border-bottom:1px solid rgba(18,38,50,.08); }
    .mp-design-0799 .mp-header-cta { display:none; }
    .mp-design-0799 .mp-language-switcher { display:flex; }
    .mp-design-0799 .mp-catalog-hero { grid-template-columns:1fr; min-height:0; }
    .mp-design-0799 .mp-catalog-hero-media { height:min(62vw,620px); order:-1; }
    .mp-design-0799 .mp-catalog-copy h1 { font-size:clamp(38px,7vw,64px) !important; }
    .mp-design-0799 .mp-contact-office-grid { grid-template-columns:1fr; }
    .mp-design-0799 .mp-contact-office-primary { grid-column:auto; }
    .mp-design-0799 .mp-site-footer-grid { grid-template-columns:1fr 1fr; }
    .mp-design-0799 .mp-site-footer-nav { grid-column:1/-1; }
}
@media (max-width: 720px) {
    .mp-design-0799 .mp-site-header { --mp-header-height:66px; padding:8px 14px; gap:8px; }
    .mp-design-0799 .mp-brand-emblem { width:32px; height:32px; flex-basis:32px; }
    .mp-design-0799 .mp-site-brand { gap:9px; }
    .mp-design-0799 .mp-site-brand .mp-logo-text { max-width:128px; font-size:10px; }
    .mp-design-0799 .mp-language-switcher a { min-width:27px; height:27px; padding:0 5px; font-size:9px; }
    .mp-design-0799 .mp-header-catalogue,
    .mp-design-0799 .mp-discovery-trigger.mp-header-catalogue { min-height:36px; padding:0 10px; font-size:10px; }
    .mp-design-0799 .mp-header-catalogue .mp-discovery-trigger-icon { display:none; }
    .mp-design-0799 .mp-catalog-copy { padding:34px 20px 42px; }
    .mp-design-0799 .mp-catalog-copy h1 { font-size:clamp(34px,10vw,48px) !important; }
    .mp-design-0799 .mp-catalog-facts { grid-template-columns:1fr; }
    .mp-design-0799 .mp-catalog-facts li + li { padding-left:0; border-left:0; border-top:1px solid var(--mp0799-line); }
    .mp-design-0799 .mp-catalog-hero-media { height:min(92vw,500px); }
    .mp-design-0799 .mp-catalog-details,
    .mp-design-0799 .mp-catalog-extras { grid-template-columns:1fr; }
    .mp-design-0799 .mp-catalog-application-card { grid-template-columns:1fr; }
    .mp-design-0799 .mp-catalog-application-card ul,
    .mp-design-0799 .mp-catalog-order-note { grid-column:1; grid-row:auto; }
    .mp-design-0799 .mp-catalog-contact { grid-template-columns:1fr; gap:30px; padding:48px 20px; }
    .mp-design-0799 .mp-form-grid { grid-template-columns:1fr; }
    .mp-design-0799 .mp-discovery-panel { width:100vw; padding:24px 18px 30px; }
    .mp-design-0799 .mp-discovery-tools { grid-template-columns:1fr; }
    .mp-design-0799 .mp-discovery-shortcuts { justify-content:flex-start; }
    .mp-design-0799 .mp-discovery-head h2 { font-size:clamp(32px,10vw,46px); }
    .mp-design-0799 .mp-contact-offices { padding:50px 18px; }
    .mp-design-0799 .mp-contact-office { padding:28px 22px; }
    .mp-design-0799 .mp-map-shell,
    .mp-design-0799 .mp-map-placeholder,
    .mp-design-0799 .mp-map-shell iframe { min-height:280px; }
    .mp-design-0799 .mp-site-footer { padding:42px 20px 20px; }
    .mp-design-0799 .mp-site-footer-grid { grid-template-columns:1fr; }
    .mp-design-0799 .mp-site-footer-nav { grid-column:auto; }
    .mp-design-0799 .mp-site-footer-bottom { flex-direction:column; margin-top:36px; }
}

/* --------------------------------------------------------------------------
   REDUCED MOTION / SAFETY
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .mp0799-marquee-track { animation:none !important; transform:none !important; }
    .mp-design-0799 *,
    .mp-design-0799 *::before,
    .mp-design-0799 *::after {
        scroll-behavior:auto !important;
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.001ms !important;
    }
    .mp-design-0799 .mp-motion-reveal { opacity:1 !important; transform:none !important; }
    .mp-design-0799 .mp-motion-image > img { transform:none !important; }
}

@keyframes mp0799-rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes mp0799-marquee { to { transform:translateX(-50%); } }
@keyframes mp0799-accordion { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
