/**
 * Mighty Theme, Main Stylesheet v2.0
 * Modern scroll-storytelling design
 *
 * Sections:
 *  1. Design Tokens
 *  2. Reset & Base
 *  3. Typography
 *  4. Layout
 *  5. Buttons
 *  6. Top Bar
 *  7. Header & Navigation
 *  8. Mega Menu
 *  9. Mobile Navigation
 * 10. Hero
 * 11. Sections & Content
 * 12. Split Layout
 * 13. Product Grid
 * 14. Steps Timeline
 * 15. Stats Bar
 * 16. Gallery Grid
 * 17. Blog Cards
 * 18. Quote CTA
 * 19. Footer
 * 20. Scroll Animations
 * 21. Page Templates
 * 22. Responsive
 */


/* ═══════════════════════════════════════════════════════════
   1. DESIGN TOKENS
   ═══════════════════════════════════════════════════════════ */

:root {
    /* Brand */
    --mt-navy: #0A1E5E;
    --mt-navy-dark: #06133D;
    --mt-accent: #2563EB;
    --mt-accent-hover: #1d4ed8;
    --mt-accent-light: rgba(37, 99, 235, 0.08);
    --mt-warm: #f59e0b;
    --mt-trust-green: #22c55e;

    /* Neutrals */
    --mt-text: #0f172a;
    --mt-text-2: #334155;
    --mt-text-3: #64748b;
    --mt-text-inv: #ffffff;
    --mt-white: #ffffff;
    --mt-slate-50: #f8fafc;
    --mt-slate-100: #f1f5f9;
    --mt-slate-200: #e2e8f0;
    --mt-slate-300: #cbd5e1;
    --mt-slate-800: #1e293b;
    --mt-slate-900: #0f172a;

    /* Layout */
    --mt-container: 1400px;
    --mt-container-sm: 900px;
    --mt-gap: clamp(16px, 4vw, 24px);
    --mt-section-py: clamp(64px, 10vw, 120px);

    /* Radii */
    --mt-radius-sm: 6px;
    --mt-radius: 10px;
    --mt-radius-lg: 16px;
    --mt-radius-xl: 24px;
    --mt-radius-pill: 100px;

    /* Shadows */
    --mt-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --mt-shadow: 0 4px 16px rgba(0,0,0,0.08);
    --mt-shadow-lg: 0 12px 40px rgba(0,0,0,0.12);
    --mt-shadow-xl: 0 24px 60px rgba(0,0,0,0.16);

    /* Header */
    --mt-topbar-h: 40px;
    --mt-header-h: 72px;

    /* Motion */
    --mt-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --mt-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --mt-ease-out: cubic-bezier(0, 0, 0.2, 1);
}


/* ═══════════════════════════════════════════════════════════
   2. RESET & BASE
   ═══════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
    overflow-x: clip;
}

body {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--mt-text);
    background: var(--mt-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: clip;
}

img { max-width: 100%; height: auto; display: block; }

a {
    color: var(--mt-accent);
    text-decoration: none;
    transition: color 0.2s var(--mt-ease);
}
a:hover { color: var(--mt-accent-hover); }

ul, ol { list-style: none; }

button {
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
    font-size: inherit;
}

input, textarea, select { font-family: inherit; font-size: inherit; }

::selection {
    background: var(--mt-accent);
    color: var(--mt-white);
}


/* ═══════════════════════════════════════════════════════════
   3. TYPOGRAPHY
   ═══════════════════════════════════════════════════════════ */

h1, h2, h3, h4, h5, h6 {
    font-family: 'Teko', 'Poppins', sans-serif;
    font-weight: 600;
    line-height: 1.1;
    color: var(--mt-text);
    letter-spacing: 0.01em;
}

h1 { font-size: clamp(2.8rem, 6vw, 4.5rem); }
h2 { font-size: clamp(2.2rem, 5vw, 3.5rem); }
h3 { font-size: clamp(1.4rem, 3vw, 1.8rem); }
h4 { font-size: 1.3rem; }

p + p { margin-top: 1em; }

/*
 * Inner-page component headings, override Teko/uppercase for
 * cards, sidebars, accordions, and form-like contexts.
 * Keeps Teko uppercase for section-level h2 titles only.
 */
.mt-contact-card h3,
.mt-contact-sidebar h3,
.mt-contact-quick-links h3,
.mt-deal-card__title,
.mt-benefit-card h3,
.mt-delivery-card h3,
.mt-guide-step h3,
.mt-guide-nav h3,
.mt-info-card h3,
.mt-video-section__title,
.mt-gallery-section__title,
.mt-colour-info__text h3,
.mt-quote-sidebar__card h3,
.mt-footer__col-title,
.mt-product-link-card h3,
.mt-deals-intro h2,
.mt-cta-inline h2 {
    font-family: 'Poppins', sans-serif;

    letter-spacing: 0;
    line-height: 1.3;
}

/* Size refinements for component headings */
.mt-contact-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 4px; }
.mt-contact-sidebar h3,
.mt-contact-quick-links h3 { font-size: 1rem; font-weight: 700; }
.mt-deal-card__title { font-size: 1.15rem; font-weight: 700; }
.mt-benefit-card h3 { font-size: 0.95rem; font-weight: 700; }
.mt-delivery-card h3 { font-size: 1rem; font-weight: 700; }
.mt-guide-step h3 { font-size: 1.1rem; font-weight: 700; }
.mt-info-card h3 { font-size: 1rem; font-weight: 700; }
.mt-video-section__title,
.mt-gallery-section__title { font-size: 1.15rem; font-weight: 700; }
.mt-colour-info__text h3 { font-size: 1.05rem; font-weight: 700; }
.mt-product-link-card h3 { font-size: 0.9rem; font-weight: 600; }
.mt-footer__col-title { font-size: 0.82rem; }
.mt-deals-intro h2 { font-size: 1.5rem; font-weight: 700; }
.mt-cta-inline h2 { font-size: 1.5rem; font-weight: 700; }

/* Body text in components, ensure Poppins */
.mt-contact-card p,
.mt-contact-card a,
.mt-contact-card__value,
.mt-deal-card__desc,
.mt-deal-card__features li,
.mt-benefit-card p,
.mt-delivery-card p,
.mt-guide-step p,
.mt-guide-tip,
.mt-guide-checklist__item,
.mt-info-card p,
.mt-colour-info__text p,
.mt-colour-info__note,
.mt-video-section__desc,
.mt-gallery-section__desc,
.mt-gallery-intro,
.mt-contact-quick-links a,
.mt-contact-quick-links li {
    font-family: 'Poppins', sans-serif;

    letter-spacing: 0;
}

.mt-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;

    color: var(--mt-accent);
    margin-bottom: 12px;
}
.mt-label--light { color: rgba(255,255,255,0.5); }


/* ═══════════════════════════════════════════════════════════
   4. LAYOUT
   ═══════════════════════════════════════════════════════════ */

.mt-container {
    width: 100%;
    max-width: var(--mt-container);
    margin: 0 auto;
    padding: 0 var(--mt-gap);
}
.mt-container--narrow { max-width: var(--mt-container-sm); }

.mt-section {
    padding: var(--mt-section-py) 0;
    position: relative;
    overflow-x: clip;
}
.mt-section--white { background: var(--mt-white); }
.mt-section--slate { background: var(--mt-slate-50); }
.mt-section--dark { background: var(--mt-navy); }

.mt-section__header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 56px;
}
.mt-section__subtitle {
    color: var(--mt-text-3);
    font-size: 1.1rem;
    margin-top: 16px;
    line-height: 1.6;
}
.mt-section__title--light { color: var(--mt-white); }
.mt-section__subtitle--light { color: rgba(255,255,255,0.7); }

.mt-prose {
    font-size: 1.05rem;
    color: var(--mt-text-2);
    line-height: 1.8;
}
.mt-prose h2, .mt-prose h3 { margin: 2em 0 0.5em; }
.mt-prose p { margin-bottom: 1em; }
.mt-prose ul, .mt-prose ol { margin: 1em 0; padding-left: 1.5em; list-style: disc; }
.mt-prose li { margin-bottom: 0.5em; }


/* ═══════════════════════════════════════════════════════════
   5. BUTTONS
   ═══════════════════════════════════════════════════════════ */

.mt-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: var(--mt-radius-pill);
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s var(--mt-ease);
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.mt-btn--lg { padding: 16px 36px; font-size: 1rem; }

.mt-btn--accent {
    background: var(--mt-accent);
    color: var(--mt-white);
    box-shadow: 0 4px 20px rgba(37, 99, 235, 0.35);
}
.mt-btn--accent:hover {
    background: var(--mt-accent-hover);
    color: var(--mt-white);
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(37, 99, 235, 0.4);
}

.mt-btn--glass {
    background: rgba(255,255,255,0.12);
    color: var(--mt-white);
    border: 1px solid rgba(255,255,255,0.25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.mt-btn--glass:hover {
    background: rgba(255,255,255,0.2);
    color: var(--mt-white);
    transform: translateY(-2px);
}

.mt-btn--outline {
    background: transparent;
    color: var(--mt-text);
    border: 2px solid var(--mt-slate-300);
}
.mt-btn--outline:hover {
    border-color: var(--mt-accent);
    color: var(--mt-accent);
    transform: translateY(-2px);
}

.mt-btn--outline-light {
    background: transparent;
    color: var(--mt-white);
    border: 1px solid rgba(255,255,255,0.3);
}
.mt-btn--outline-light:hover {
    background: rgba(255,255,255,0.1);
    color: var(--mt-white);
}

.mt-btn--dark {
    background: var(--mt-navy);
    color: var(--mt-white);
}
.mt-btn--dark:hover {
    background: var(--mt-navy-dark);
    color: var(--mt-white);
    transform: translateY(-2px);
}

.mt-btn svg {
    transition: transform 0.3s var(--mt-ease);
}
.mt-btn:hover svg {
    transform: translateX(4px);
}


/* ═══════════════════════════════════════════════════════════
   6. TOP BAR
   ═══════════════════════════════════════════════════════════ */

.mt-topbar {
    background: var(--mt-navy);
    color: rgba(255,255,255,0.8);
    font-size: 0.8rem;
    height: var(--mt-topbar-h);
    transition: transform 0.4s var(--mt-ease), opacity 0.4s var(--mt-ease);
    position: relative;
    z-index: 101;
}
.mt-topbar .mt-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
.mt-topbar__left {
    display: flex;
    align-items: center;
    gap: 24px;
}
.mt-topbar__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.8);
    transition: color 0.2s;
}
.mt-topbar__item:hover { color: var(--mt-white); }
.mt-topbar__delivery {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--mt-warm);
    font-weight: 600;
}

/* Hide topbar on scroll */
body.scrolled .mt-topbar {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
}


/* ═══════════════════════════════════════════════════════════
   7. HEADER & NAVIGATION
   ═══════════════════════════════════════════════════════════ */

.mt-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #ffffff;
    backdrop-filter: saturate(1);
    -webkit-backdrop-filter: saturate(1);
    border-bottom: 1px solid rgba(0,0,0,0.06);
    height: var(--mt-header-h);
    transition: height .4s cubic-bezier(.2,.8,.2,1), background .35s ease, backdrop-filter .35s ease, box-shadow .4s ease, border-color .35s ease;
    will-change: height, background, backdrop-filter;
}

/* Scrolled state, glass morphism, compact, elevated */
body.scrolled .mt-header {
    height: calc(var(--mt-header-h) - 14px);
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(24px) saturate(1.8);
    -webkit-backdrop-filter: blur(24px) saturate(1.8);
    border-bottom-color: rgba(10, 30, 94, 0.08);
    box-shadow: 0 10px 32px -10px rgba(10, 30, 94, 0.12), 0 2px 6px -2px rgba(10, 30, 94, 0.06);
}
/* Logo slightly smaller when scrolled */
body.scrolled .mt-header__logo img {
    height: 32px;
    transition: height .35s cubic-bezier(.2,.8,.2,1);
}
.mt-header__logo img { transition: height .35s cubic-bezier(.2,.8,.2,1); }
@media (prefers-reduced-motion: reduce) {
    .mt-header, body.scrolled .mt-header, .mt-header__logo img { transition: none !important; }
}

.mt-header .mt-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.mt-header__logo img {
    height: 40px;
    width: auto;
    transition: height 0.4s var(--mt-ease);
}

/* Nav */
.mt-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}
.mt-nav__item {
    position: relative;
}
.mt-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 16px;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--mt-text-2);
    border-radius: var(--mt-radius-sm);
    transition: all 0.2s var(--mt-ease);
    cursor: pointer;
}
.mt-nav__link:hover,
.mt-nav__link.is-active {
    color: var(--mt-text);
    background: var(--mt-slate-100);
}
.mt-nav__link.is-active {
    color: var(--mt-accent);
}

/* Dropdown */
.mt-nav__dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 200px;
    background: var(--mt-white);
    border-radius: var(--mt-radius);
    box-shadow: var(--mt-shadow-lg);
    border: 1px solid var(--mt-slate-200);
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.25s var(--mt-ease);
    z-index: 110;
}
.mt-nav__item:hover > .mt-nav__dropdown,
.mt-nav__item.is-open > .mt-nav__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.mt-nav__dropdown a {
    display: block;
    padding: 10px 14px;
    font-size: 0.88rem;
    color: var(--mt-text-2);
    border-radius: var(--mt-radius-sm);
    transition: all 0.15s var(--mt-ease);
}
.mt-nav__dropdown a:hover {
    background: var(--mt-slate-50);
    color: var(--mt-accent);
}

/* Header actions */
.mt-header__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mt-header__phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--mt-text-2);
    transition: all 0.2s var(--mt-ease);
}
.mt-header__phone:hover {
    background: var(--mt-slate-100);
    color: var(--mt-accent);
}

/* Header cart icon */
.mt-header__actions .mighty-mini-cart {
    display: inline-flex;
}
.mt-header__actions .mighty-mini-cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--mt-text-2);
    transition: all 0.2s var(--mt-ease);
    text-decoration: none;
}
.mt-header__actions .mighty-mini-cart-icon:hover {
    background: var(--mt-slate-100);
    color: var(--mt-accent);
}
.mt-header__actions .mighty-mini-cart-icon svg {
    width: 20px;
    height: 20px;
}
.mt-header__actions .mighty-cart-count {
    position: absolute;
    top: 2px;
    right: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--mt-accent);
    color: var(--mt-white);
    border-radius: 9px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    letter-spacing: 0;
}
.mt-header__actions .mighty-cart-text {
    display: none;
}

.mt-header__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    background: var(--mt-accent);
    color: var(--mt-white) !important;
    border-radius: var(--mt-radius-pill);
    font-weight: 600;
    font-size: 0.88rem;
    transition: all 0.3s var(--mt-ease);
    box-shadow: 0 2px 12px rgba(37, 99, 235, 0.3);
}
.mt-header__cta:hover {
    background: var(--mt-accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 20px rgba(37, 99, 235, 0.35);
    color: var(--mt-white) !important;
}

/* Hamburger */
.mt-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 8px;
    border-radius: var(--mt-radius-sm);
    transition: background 0.2s;
}
.mt-hamburger:hover { background: var(--mt-slate-100); }
.mt-hamburger span {
    display: block;
    height: 2px;
    background: var(--mt-text);
    border-radius: 2px;
    transition: all 0.3s var(--mt-ease);
    transform-origin: center;
}
.mt-hamburger.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mt-hamburger.is-active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mt-hamburger.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }


/* ═══════════════════════════════════════════════════════════
   8. MEGA MENU
   ═══════════════════════════════════════════════════════════ */

.mt-mega-menu {
    position: fixed;
    top: var(--mt-header-h);
    left: 0;
    right: 0;
    background: var(--mt-white);
    border-top: 1px solid var(--mt-slate-200);
    box-shadow: 0 16px 48px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.25s var(--mt-ease), transform 0.25s var(--mt-ease), visibility 0.25s;
    z-index: 99;
}
.mt-mega-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mt-mega-menu__container {
    max-width: var(--mt-container);
    margin: 0 auto;
    padding: 0 var(--mt-gap);
}

/* Column grid, 3x2 for 6 categories */
.mt-mega-menu__cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-bottom: 1px solid var(--mt-slate-200);
}

.mt-mega-menu__col {
    padding: 28px 28px;
    border-right: 1px solid var(--mt-slate-100);
    border-bottom: 1px solid var(--mt-slate-100);
}
.mt-mega-menu__col:nth-child(3n) {
    border-right: none;
}
.mt-mega-menu__col:nth-last-child(-n+3) {
    border-bottom: none;
}

/* Category header with thumbnail */
.mt-mega-menu__col-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--mt-slate-100);
    color: var(--mt-text);
    font-weight: 700;
    font-size: 0.88rem;
    transition: color 0.2s;
}
.mt-mega-menu__col-header:hover {
    color: var(--mt-accent);
}

.mt-mega-menu__col-img {
    width: 40px;
    height: 40px;
    border-radius: var(--mt-radius-sm);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--mt-slate-50);
}
.mt-mega-menu__col-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Sub-links list */
.mt-mega-menu__col-links {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mt-mega-menu__col-links li {
    list-style: none;
}
.mt-mega-menu__col-links a {
    display: block;
    padding: 6px 8px;
    font-size: 0.82rem;
    color: var(--mt-text-3);
    border-radius: var(--mt-radius-sm);
    transition: all 0.15s var(--mt-ease);
    line-height: 1.4;
}
.mt-mega-menu__col-links a:hover {
    background: var(--mt-slate-50);
    color: var(--mt-accent);
    padding-left: 12px;
}

/* Footer bar */
.mt-mega-menu__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
}

.mt-mega-menu__usp-row {
    display: flex;
    align-items: center;
    gap: 28px;
}
.mt-mega-menu__usp-row span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--mt-text-3);
}
.mt-mega-menu__usp-row svg {
    color: #22c55e;
}

.mt-mega-menu__view-all {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--mt-accent);
    transition: gap 0.2s var(--mt-ease);
}
.mt-mega-menu__view-all:hover {
    gap: 8px;
}


/* ═══════════════════════════════════════════════════════════
   9. MOBILE NAVIGATION
   ═══════════════════════════════════════════════════════════ */

.mt-mobile-nav {
    position: fixed;
    inset: 0;
    z-index: 98;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s var(--mt-ease);
}
.mt-mobile-nav.is-open {
    opacity: 1;
    visibility: visible;
}

.mt-mobile-nav__inner {
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    max-width: 85vw;
    height: 100%;
    background: var(--mt-white);
    padding: calc(var(--mt-header-h) + 20px) 24px 24px;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.35s var(--mt-ease);
}
.mt-mobile-nav.is-open .mt-mobile-nav__inner {
    transform: translateX(0);
}

.mt-mobile-nav__item {
    border-bottom: 1px solid var(--mt-slate-100);
}

.mt-mobile-nav__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 4px;
    font-size: 1rem;
    font-weight: 500;
    color: var(--mt-text);
    text-align: left;
}
.mt-mobile-nav__link svg {
    transition: transform 0.3s var(--mt-ease);
    color: var(--mt-text-3);
}
.mt-mobile-nav__link.is-open svg {
    transform: rotate(180deg);
}

.mt-mobile-nav__sub {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s var(--mt-ease);
    padding-left: 8px;
}
.mt-mobile-nav__sub.is-open {
    max-height: 600px;
}
.mt-mobile-nav__sub a {
    display: block;
    padding: 8px 12px;
    font-size: 0.9rem;
    color: var(--mt-text-2);
    border-radius: var(--mt-radius-sm);
}
.mt-mobile-nav__sub a:hover {
    background: var(--mt-slate-50);
    color: var(--mt-accent);
}
.mt-mobile-nav__sub-title {
    display: block;
    padding: 10px 12px 4px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--mt-text-3);

    letter-spacing: 0.08em;
}

.mt-mobile-nav__cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--mt-slate-200);
}
.mt-mobile-nav__cta .mt-btn {
    justify-content: center;
    width: 100%;
}
.mt-mobile-nav__cta .mt-btn--outline-light {
    color: var(--mt-text);
    border-color: var(--mt-slate-300);
}


/* ═══════════════════════════════════════════════════════════
   10. HERO
   ═══════════════════════════════════════════════════════════ */

.mt-hero {
    position: relative;
    min-height: min(85vh, 700px);
    display: flex;
    align-items: center;
    overflow: hidden;
}

.mt-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.mt-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
}
.mt-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(10, 30, 94, 0.82) 0%,
        rgba(10, 30, 94, 0.55) 50%,
        rgba(10, 30, 94, 0.35) 100%
    );
}

.mt-hero__content {
    position: relative;
    z-index: 2;
    padding: 120px 0 80px;
    max-width: 720px;
}

.mt-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: var(--mt-radius-pill);
    color: rgba(255,255,255,0.85);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    margin-bottom: 28px;
}
.mt-hero__badge-dot {
    width: 8px;
    height: 8px;
    background: #22c55e;
    border-radius: 50%;
    animation: mt-pulse 2s infinite;
}

.mt-hero__title {
    color: var(--mt-white);
    margin-bottom: 24px;
    font-size: clamp(3rem, 7vw, 5.5rem);
}
.mt-hero__title span {
    display: block;
}

.mt-hero__desc {
    color: rgba(255,255,255,0.75);
    font-size: clamp(1rem, 2vw, 1.2rem);
    line-height: 1.7;
    margin-bottom: 36px;
    max-width: 560px;
}

.mt-hero__actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 48px;
}

.mt-hero__pills {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.mt-hero__pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--mt-radius-pill);
    color: rgba(255,255,255,0.7);
    font-size: 0.82rem;
    font-weight: 500;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Scroll indicator */
.mt-hero__scroll {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    z-index: 2;
}
.mt-hero__scroll span {
    font-size: 0.72rem;
    letter-spacing: 0.15em;

    color: rgba(255,255,255,0.4);
}
.mt-hero__scroll-line {
    width: 1px;
    height: 48px;
    background: rgba(255,255,255,0.15);
    position: relative;
    overflow: hidden;
}
.mt-hero__scroll-line::after {
    content: '';
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 50%;
    background: rgba(255,255,255,0.6);
    animation: mt-scroll-line 2s infinite;
}


/* ═══════════════════════════════════════════════════════════
   11. SECTIONS & CONTENT
   ═══════════════════════════════════════════════════════════ */

/* (covered by .mt-section above) */


/* ═══════════════════════════════════════════════════════════
   12. SPLIT LAYOUT
   ═══════════════════════════════════════════════════════════ */

.mt-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 80px);
    align-items: center;
}

.mt-split__img-wrapper {
    position: relative;
    border-radius: var(--mt-radius-xl);
    overflow: hidden;
}
.mt-split__img-wrapper img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.mt-split__img-accent {
    position: absolute;
    bottom: -16px;
    right: -16px;
    width: 120px;
    height: 120px;
    background: var(--mt-accent);
    border-radius: var(--mt-radius-xl);
    opacity: 0.15;
    z-index: -1;
}

.mt-split__content h2 {
    margin-bottom: 20px;
}
.mt-split__content p {
    color: var(--mt-text-2);
    font-size: 1.05rem;
    margin-bottom: 12px;
}

.mt-split__features {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
}
.mt-feature {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.mt-feature__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mt-accent-light);
    color: var(--mt-accent);
    border-radius: var(--mt-radius);
}
.mt-feature strong {
    display: block;
    font-size: 0.95rem;
    color: var(--mt-text);
}
.mt-feature span {
    font-size: 0.88rem;
    color: var(--mt-text-3);
}


/* ═══════════════════════════════════════════════════════════
   13. PRODUCT GRID
   ═══════════════════════════════════════════════════════════ */

.mt-product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.mt-product-card {
    display: flex;
    flex-direction: column;
    background: var(--mt-white);
    border-radius: var(--mt-radius-xl);
    overflow: hidden;
    border: 1px solid var(--mt-slate-200);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s;
    color: var(--mt-text);
    text-decoration: none;
}
.mt-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 48px rgba(10, 30, 94, 0.12), 0 8px 16px rgba(10, 30, 94, 0.06);
    border-color: var(--mt-accent);
}

.mt-product-card__img {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--mt-slate-50);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    position: relative;
}
.mt-product-card__img::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(transparent, rgba(248, 250, 252, 0.6));
    pointer-events: none;
}
.mt-product-card__img img {
    width: 85%;
    height: 85%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-product-card:hover .mt-product-card__img img {
    transform: scale(1.08);
}

.mt-product-card__body {
    padding: 20px 24px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.mt-product-card__title {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 600;
    margin-bottom: 6px;
    line-height: 1.15;
    color: var(--mt-text);
}
.mt-product-card__desc {
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    color: var(--mt-text-3);
    margin-bottom: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    flex: 1;
}
.mt-product-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--mt-accent);
    letter-spacing: 0;
    padding: 10px 20px;
    background: var(--mt-accent-light);
    border-radius: var(--mt-radius-pill);
    transition: all 0.3s var(--mt-ease);
    align-self: flex-start;
}
.mt-product-card:hover .mt-product-card__link {
    background: var(--mt-accent);
    color: var(--mt-white);
    gap: 10px;
}


/* ═══════════════════════════════════════════════════════════
   14. STEPS TIMELINE
   ═══════════════════════════════════════════════════════════ */

.mt-steps {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 48px;
    max-width: 640px;
    margin: 0 auto;
    padding-left: 64px;
}

.mt-steps__line {
    position: absolute;
    left: 24px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--mt-slate-200);
}
.mt-steps__line-fill {
    width: 100%;
    height: 0;
    background: var(--mt-accent);
    transition: height 0.6s var(--mt-ease);
}

.mt-step {
    position: relative;
}
.mt-step__number {
    position: absolute;
    left: -64px;
    top: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mt-white);
    border: 2px solid var(--mt-slate-200);
    border-radius: 50%;
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--mt-text-3);
    transition: all 0.4s var(--mt-ease);
    z-index: 1;
}
.mt-step.is-visible .mt-step__number {
    background: var(--mt-accent);
    border-color: var(--mt-accent);
    color: var(--mt-white);
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
}

.mt-step__content h3 {
    font-size: 1.25rem;
    margin-bottom: 8px;
}
.mt-step__content p {
    color: var(--mt-text-2);
    font-size: 0.95rem;
}


/* ═══════════════════════════════════════════════════════════
   15. STATS BAR
   ═══════════════════════════════════════════════════════════ */

.mt-stats {
    position: relative;
    padding: clamp(60px, 8vw, 100px) 0;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.mt-stats__overlay {
    position: absolute;
    inset: 0;
    background: rgba(10, 30, 94, 0.88);
}
.mt-stats .mt-container {
    position: relative;
    z-index: 1;
}

.mt-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    text-align: center;
}

.mt-stat__number {
    display: block;
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 900;
    color: var(--mt-white);
    letter-spacing: -0.02em;
    line-height: 1;
}
.mt-stat__suffix {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 800;
    color: var(--mt-accent);
}
.mt-stat__label {
    display: block;
    margin-top: 8px;
    font-size: 0.88rem;
    font-weight: 500;
    color: rgba(255,255,255,0.6);

    letter-spacing: 0.06em;
}


/* ═══════════════════════════════════════════════════════════
   16. GALLERY GRID
   ═══════════════════════════════════════════════════════════ */

/* ── Alternating Product Rows ─────────────────────── */
.mt-product-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
    padding: clamp(32px, 4vw, 56px) 0;
    border-bottom: 1px solid var(--mt-slate-200);
}
.mt-product-row:last-of-type {
    border-bottom: none;
}
.mt-product-row--reverse .mt-product-row__image {
    order: 2;
}
.mt-product-row--reverse .mt-product-row__content {
    order: 1;
}

.mt-product-row__image {
    position: relative;
    background: var(--mt-slate-50);
    border-radius: var(--mt-radius-xl);
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    overflow: hidden;
}
.mt-product-row__image img {
    width: 80%;
    height: 80%;
    object-fit: contain;
    mix-blend-mode: multiply;
    filter: drop-shadow(0 8px 32px rgba(0,0,0,0.1));
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-product-row:hover .mt-product-row__image img {
    transform: scale(1.06);
}
.mt-product-row__badge {
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 5px 14px;
    background: var(--mt-accent);
    color: var(--mt-white);
    font-family: 'Poppins', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--mt-radius-pill);
    z-index: 1;
}

.mt-product-row__title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.1;
    color: var(--mt-text);
}
.mt-product-row__desc {
    font-family: 'Poppins', sans-serif;
    font-size: 0.92rem;
    color: var(--mt-text-2);
    line-height: 1.7;
    margin-bottom: 20px;
    letter-spacing: 0;
}
.mt-product-row__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.mt-product-row__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 7px 16px;
    background: var(--mt-slate-50);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-pill);
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--mt-text-2);
    letter-spacing: 0;
    transition: all 0.25s var(--mt-ease);
    text-decoration: none;
}
.mt-product-row__link:hover {
    background: var(--mt-accent-light);
    border-color: var(--mt-accent);
    color: var(--mt-accent);
}
.mt-product-row__link svg {
    opacity: 0;
    width: 0;
    transition: all 0.25s var(--mt-ease);
}
.mt-product-row__link:hover svg {
    opacity: 1;
    width: 14px;
}

@media (max-width: 768px) {
    .mt-product-row {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 32px 0;
    }
    .mt-product-row--reverse .mt-product-row__image {
        order: 0;
    }
    .mt-product-row--reverse .mt-product-row__content {
        order: 0;
    }
    .mt-product-row__image {
        aspect-ratio: 3 / 2;
    }
}

/* ── Featured Product (legacy, kept for inner pages) ── */
.mt-featured-product {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
    background: var(--mt-slate-50);
    border-radius: var(--mt-radius-xl);
    border: 1px solid var(--mt-slate-200);
    overflow: hidden;
}
.mt-featured-product__image {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--mt-slate-100);
    display: flex;
    align-items: center;
    justify-content: center;
}
.mt-featured-product__image img {
    width: 85%;
    height: 85%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 0.8s var(--mt-ease);
}
.mt-featured-product:hover .mt-featured-product__image img {
    transform: scale(1.04);
}
.mt-featured-product__badge {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 6px 16px;
    background: var(--mt-accent);
    color: var(--mt-white);
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--mt-radius-pill);
}
.mt-featured-product__content {
    padding: clamp(24px, 4vw, 48px) clamp(24px, 4vw, 48px) clamp(24px, 4vw, 48px) 0;
}
.mt-featured-product__desc {
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    color: var(--mt-text-2);
    line-height: 1.7;
    margin-bottom: 24px;
    letter-spacing: 0;
}
.mt-featured-product__specs {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}
.mt-featured-product__specs li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    color: var(--mt-text-2);
    letter-spacing: 0;
}
.mt-featured-product__specs svg {
    color: var(--mt-accent);
    flex-shrink: 0;
}
.mt-featured-product__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}


/* ── Process Strip ───────────────────────────────── */
.mt-process-strip {
    background: var(--mt-navy);
    padding: clamp(48px, 6vw, 80px) 0;
    overflow-x: clip;
}
.mt-process-strip__header {
    text-align: center;
    margin-bottom: clamp(32px, 5vw, 56px);
}
.mt-process-strip__title {
    font-family: 'Teko', 'Poppins', sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    color: var(--mt-white);
    line-height: 1.1;
    letter-spacing: 0.01em;
}
.mt-process-strip__steps {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 0;
    align-items: start;
    max-width: 960px;
    margin: 0 auto;
}
.mt-process-step {
    text-align: center;
    padding: 0 clamp(8px, 2vw, 24px);
}
.mt-process-step__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    border: 2px solid rgba(255,255,255,0.2);
    color: var(--mt-accent);
    font-family: 'Teko', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 16px;
}
.mt-process-step h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mt-white);
    margin-bottom: 8px;
    letter-spacing: 0;
}
.mt-process-step p {
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.55);
    line-height: 1.6;
    letter-spacing: 0;
}
.mt-process-step__divider {
    width: 2px;
    height: 48px;
    background: linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
    align-self: center;
    margin-top: -16px;
    display: none;
}
@media (min-width: 769px) {
    .mt-process-step__divider {
        display: block;
        width: 100%;
        height: 2px;
        background: linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.15), rgba(255,255,255,0.05));
        align-self: flex-start;
        margin-top: 24px;
    }
}


/* ── Bento Gallery ───────────────────────────────── */
.mt-bento {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 240px;
    gap: 12px;
}
.mt-bento__item {
    border-radius: var(--mt-radius-lg);
    overflow: hidden;
    cursor: pointer;
    position: relative;
}
.mt-bento__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-bento__item:hover img {
    transform: scale(1.06);
}
.mt-bento__item--wide {
    grid-column: span 2;
}

/* Section footer CTA */
.mt-section__footer {
    text-align: center;
    margin-top: clamp(32px, 4vw, 48px);
}

/* Remaining categories grid */
.mt-product-grid--5 {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.mt-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.mt-gallery-grid__item {
    border-radius: var(--mt-radius-lg);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    cursor: pointer;
}
.mt-gallery-grid__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--mt-ease);
}
.mt-gallery-grid__item:hover img {
    transform: scale(1.06);
}


/* ═══════════════════════════════════════════════════════════
   17. BLOG CARDS
   ═══════════════════════════════════════════════════════════ */

.mt-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.mt-blog-card {
    background: var(--mt-white);
    border-radius: var(--mt-radius-lg);
    overflow: hidden;
    border: 1px solid var(--mt-slate-200);
    transition: all 0.4s var(--mt-ease);
}
.mt-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--mt-shadow);
    border-color: transparent;
}

.mt-blog-card__img {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.mt-blog-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s var(--mt-ease);
}
.mt-blog-card:hover .mt-blog-card__img img {
    transform: scale(1.05);
}

.mt-blog-card__body {
    padding: 20px 24px 24px;
}
.mt-blog-card__date {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--mt-text-3);

    letter-spacing: 0.05em;
    margin-bottom: 8px;
}
.mt-blog-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 8px;
    line-height: 1.35;
}
.mt-blog-card__title a {
    color: var(--mt-text);
}
.mt-blog-card__title a:hover {
    color: var(--mt-accent);
}
.mt-blog-card__excerpt {
    font-size: 0.88rem;
    color: var(--mt-text-3);
    margin-bottom: 16px;
    line-height: 1.5;
}
.mt-blog-card__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mt-accent);
}


/* ═══════════════════════════════════════════════════════════
   18. QUOTE CTA
   ═══════════════════════════════════════════════════════════ */

.mt-quote-cta {
    position: relative;
    padding: clamp(60px, 8vw, 100px) 0;
    background: linear-gradient(135deg, var(--mt-navy) 0%, #1e3a8a 50%, var(--mt-accent) 100%);
    overflow: hidden;
}
.mt-quote-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    opacity: 0.5;
}

.mt-quote-cta .mt-container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.mt-quote-cta__title {
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    color: var(--mt-white);
    margin-bottom: 16px;
}
.mt-quote-cta__desc {
    color: rgba(255,255,255,0.7);
    font-size: 1.05rem;
    margin-bottom: 24px;
    line-height: 1.7;
}

.mt-quote-cta__features {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 32px;
}
.mt-quote-cta__feature {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255,255,255,0.1);
    border-radius: var(--mt-radius-pill);
    color: rgba(255,255,255,0.85);
    font-size: 0.85rem;
    font-weight: 500;
}
.mt-quote-cta__feature svg {
    color: #22c55e;
}

.mt-quote-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 36px;
    background: var(--mt-white);
    color: var(--mt-navy) !important;
    border-radius: var(--mt-radius-pill);
    font-weight: 700;
    font-size: 1rem;
    transition: all 0.3s var(--mt-ease);
    box-shadow: 0 4px 24px rgba(0,0,0,0.2);
}
.mt-quote-cta__btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 40px rgba(0,0,0,0.3);
    color: var(--mt-navy) !important;
}
.mt-quote-cta__btn svg {
    transition: transform 0.3s var(--mt-ease);
}
.mt-quote-cta__btn:hover svg {
    transform: translateX(4px);
}

/* Stats in CTA */
.mt-quote-cta__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.mt-quote-cta__stat {
    text-align: center;
    padding: 24px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--mt-radius-lg);
}
.mt-quote-cta__stat-number {
    display: block;
    font-size: 2rem;
    font-weight: 900;
    color: var(--mt-white);
    line-height: 1;
}
.mt-quote-cta__stat-plus {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--mt-warm);
}
.mt-quote-cta__stat-label {
    display: block;
    margin-top: 6px;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.5);

    letter-spacing: 0.06em;
}


/* ═══════════════════════════════════════════════════════════
   19. FOOTER
   ═══════════════════════════════════════════════════════════ */

.mt-footer {
    background: var(--mt-slate-900);
    padding: 64px 0 0;
    color: rgba(255,255,255,0.7);
    border-top: 3px solid var(--mt-accent);
}

.mt-footer__col {
    min-width: 0;
}

.mt-footer__grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1.3fr;
    gap: 40px;
    padding-bottom: 48px;
}

.mt-footer__col-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--mt-white);

    letter-spacing: 0.08em;
    margin-bottom: 20px;
}

.mt-footer__links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.mt-footer__links a {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.55);
    transition: color 0.2s;
}
.mt-footer__links a:hover {
    color: var(--mt-white);
}
.mt-footer__links--spaced {
    margin-top: 20px;
}

.mt-footer__hours {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.45);
}
.mt-footer__hours strong {
    color: rgba(255,255,255,0.7);
    font-size: 0.85rem;
    margin-bottom: 4px;
}

.mt-footer__contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mt-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9rem;
    color: rgba(255,255,255,0.55);
}
.mt-footer__contact-item svg {
    flex-shrink: 0;
    margin-top: 3px;
    color: var(--mt-accent);
}
.mt-footer__contact-item a {
    color: rgba(255,255,255,0.55);
}
.mt-footer__contact-item a:hover {
    color: var(--mt-white);
}

.mt-newsletter__desc {
    font-size: 0.88rem;
    margin-bottom: 16px;
}
.mt-newsletter__form {
    display: flex;
    gap: 0;
    border-radius: var(--mt-radius);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.15);
}
.mt-newsletter__form input[type="email"] {
    flex: 1;
    padding: 12px 16px;
    background: rgba(255,255,255,0.05);
    border: none;
    color: var(--mt-white);
    font-size: 0.88rem;
    outline: none;
}
.mt-newsletter__form input::placeholder {
    color: rgba(255,255,255,0.3);
}
.mt-newsletter__form button {
    padding: 12px 20px;
    background: var(--mt-accent);
    color: var(--mt-white);
    font-weight: 600;
    font-size: 0.85rem;
    transition: background 0.2s;
}
.mt-newsletter__form button:hover {
    background: var(--mt-accent-hover);
}

/* Sub-footer */
.mt-subfooter {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 20px 0;
}
.mt-subfooter .mt-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mt-subfooter__copy {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.35);
}
.mt-subfooter__socials {
    display: flex;
    gap: 12px;
}
.mt-subfooter__socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: rgba(255,255,255,0.4);
    border: 1px solid rgba(255,255,255,0.1);
    transition: all 0.2s var(--mt-ease);
}
.mt-subfooter__socials a:hover {
    color: var(--mt-white);
    border-color: var(--mt-accent);
    background: rgba(37, 99, 235, 0.15);
}
.mt-subfooter__socials svg {
    width: 16px;
    height: 16px;
}


/* ═══════════════════════════════════════════════════════════
   TRUST BAR
   ═══════════════════════════════════════════════════════════ */

.mt-trust-bar {
    background: var(--mt-slate-50);
    border-bottom: 1px solid var(--mt-slate-200);
    padding: 20px 0;
}
.mt-trust-bar .mt-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(24px, 5vw, 56px);
    flex-wrap: wrap;
}
.mt-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
}
.mt-trust-item__icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mt-accent-light);
    color: var(--mt-accent);
    border-radius: 50%;
    flex-shrink: 0;
}
.mt-trust-item__text strong {
    display: block;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--mt-text);
    line-height: 1.2;
}
.mt-trust-item__text span {
    font-size: 0.78rem;
    color: var(--mt-text-3);
}
.mt-trust-item__stars {
    display: flex;
    gap: 2px;
    color: #facc15;
}


/* ═══════════════════════════════════════════════════════════
   UTILITIES
   ═══════════════════════════════════════════════════════════ */

.text-center { text-align: center; }
.mt-mt-lg { margin-top: 48px; }
.mt-mt-xl { margin-top: 64px; }


/* ═══════════════════════════════════════════════════════════
   20. SCROLL ANIMATIONS
   ═══════════════════════════════════════════════════════════ */

@keyframes mt-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.4); }
}

@keyframes mt-scroll-line {
    0% { top: -50%; }
    100% { top: 150%; }
}

/* ── Scroll Reveal Animations (re-triggerable) ──── */
/* Progressive enhancement: animations only apply when JS is active (.mt-js on <html>).
   Without JS, all content is fully visible by default. */

.mt-js .mt-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.mt-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.mt-js .mt-reveal-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.mt-reveal-left.is-visible {
    opacity: 1;
    transform: translateX(0);
}

.mt-js .mt-reveal-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.mt-reveal-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Scale-up reveal */
.mt-js .mt-reveal-scale {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.mt-reveal-scale.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* Blur-in reveal */
.mt-js .mt-reveal-blur {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(8px);
    transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform, filter;
}
.mt-reveal-blur.is-visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* Staggered children */
.mt-js .mt-stagger-child {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-stagger-child.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Legacy class compat */
.mt-js .mt-fade-in {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-fade-in.visible,
.mt-fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Failsafe: if JS animations haven't fired after 2s, show everything */
@keyframes mt-show-fallback {
    to { opacity: 1; transform: none; filter: none; }
}
.mt-js .mt-reveal,
.mt-js .mt-reveal-left,
.mt-js .mt-reveal-right,
.mt-js .mt-reveal-scale,
.mt-js .mt-reveal-blur,
.mt-js .mt-stagger-child,
.mt-js .mt-fade-in {
    animation: mt-show-fallback 0.6s ease forwards;
    animation-delay: 2s;
}
/* Cancel fallback when JS-driven reveal has worked */
.mt-reveal.is-visible,
.mt-reveal-left.is-visible,
.mt-reveal-right.is-visible,
.mt-reveal-scale.is-visible,
.mt-reveal-blur.is-visible,
.mt-stagger-child.is-visible,
.mt-fade-in.is-visible,
.mt-fade-in.visible {
    animation: none;
}

/* ── Section scroll indicator ────────────────────── */
.mt-section-indicator {
    position: fixed;
    right: 24px;
    top: 50%;
    transform: translateY(-50%) translateX(20px);
    z-index: 50;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: 'Poppins', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--mt-text-3);
    opacity: 0;
    transition: opacity 0.5s var(--mt-ease), transform 0.5s var(--mt-ease);
    pointer-events: none;
}
.mt-section-indicator.is-visible {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}
@media (max-width: 1200px) {
    .mt-section-indicator { display: none; }
}


/* ═══════════════════════════════════════════════════════════
   21. PAGE TEMPLATES
   ═══════════════════════════════════════════════════════════ */

/* Default page header */
.mt-page-header {
    background: var(--mt-navy);
    padding: clamp(48px, 6vw, 72px) 0 clamp(32px, 4vw, 48px);
    position: relative;
    overflow: hidden;
}
.mt-page-header__bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(37, 99, 235, 0.15) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 80%, rgba(37, 99, 235, 0.1) 0%, transparent 50%);
    pointer-events: none;
}
.mt-page-header .mt-container {
    position: relative;
    z-index: 1;
}
.mt-page-header__title {
    color: var(--mt-white);
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 8px;
}
.mt-page-header__desc {
    color: rgba(255,255,255,0.6);
    font-size: 1.05rem;
    max-width: 640px;
    line-height: 1.7;
    font-family: 'Poppins', sans-serif;

    letter-spacing: 0;
}

/* Breadcrumb */
.mt-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;

    letter-spacing: 0;
}
.mt-breadcrumb a {
    color: rgba(255,255,255,0.45);
    transition: color 0.2s;
}
.mt-breadcrumb a:hover {
    color: rgba(255,255,255,0.8);
}
.mt-breadcrumb__sep {
    color: rgba(255,255,255,0.2);
}
.mt-breadcrumb span:last-child {
    color: rgba(255,255,255,0.7);
}

/* Page header trust pills */
.mt-page-header__pills {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}
.mt-page-header__pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--mt-radius-pill);
    color: rgba(255,255,255,0.6);
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    font-weight: 500;

    letter-spacing: 0;
}
.mt-page-header__pill svg {
    opacity: 0.7;
}

/* Page hero, used by inner page templates */
.mt-page-hero {
    background: var(--mt-navy);
    padding: clamp(48px, 6vw, 72px) 0 clamp(32px, 4vw, 48px);
    position: relative;
    overflow: hidden;
}
.mt-page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(37, 99, 235, 0.12) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 80%, rgba(37, 99, 235, 0.08) 0%, transparent 50%);
    pointer-events: none;
}
.mt-page-hero .mt-container {
    position: relative;
    z-index: 1;
}
.mt-page-hero--compact {
    padding: clamp(40px, 5vw, 60px) 0 clamp(24px, 3vw, 36px);
}
.mt-page-hero--deals {
    background: linear-gradient(135deg, var(--mt-navy) 0%, #1e3a8a 100%);
}
.mt-page-hero__badge {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: var(--mt-radius-pill);
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;

    color: var(--mt-warm);
    margin-bottom: 16px;
}
.mt-page-hero__title {
    color: var(--mt-white);
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 8px;
}
.mt-page-hero__subtitle {
    color: rgba(255,255,255,0.6);
    font-size: 1.05rem;
    max-width: 640px;
    margin: 0;
    line-height: 1.7;
    font-family: 'Poppins', sans-serif;
    letter-spacing: 0;
}

/* Old page template compat */
.mt-page { padding: var(--mt-section-py) 0; }
.mt-page__title {
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    margin-bottom: 32px;

    letter-spacing: 0.03em;
}
.mt-page__content { font-size: 1.05rem; color: var(--mt-text-2); line-height: 1.8; }
.mt-page__content h2, .mt-page__content h3 { margin: 2em 0 0.5em; color: var(--mt-text); }
.mt-page__content p { margin-bottom: 1em; }
.mt-page__content ul, .mt-page__content ol { margin: 1em 0; padding-left: 1.5em; list-style: disc; }
.mt-page__content li { margin-bottom: 0.5em; }
.mt-page__content img { border-radius: var(--mt-radius); margin: 1.5em 0; }

.mt-page-content {
    padding: var(--mt-section-py) 0;
}

/* Contact page */
.mt-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}

/* Gallery page */
.mt-gallery-page-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}
.mt-gallery-page-grid img {
    border-radius: var(--mt-radius);
    aspect-ratio: 4 / 3;
    object-fit: cover;
    width: 100%;
    cursor: pointer;
    transition: transform 0.3s var(--mt-ease);
}
.mt-gallery-page-grid img:hover {
    transform: scale(1.02);
}

/* Colour Chart */
.mt-swatch-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
}

/* Blog / Single */
.mt-single-content {
    max-width: 760px;
    margin: 0 auto;
}

/* 404 */
.mt-404 {
    text-align: center;
    padding: 120px 0;
}
.mt-404 h1 {
    font-size: 6rem;
    color: var(--mt-slate-200);
    line-height: 1;
}

/* Search */
.mt-search-form {
    display: flex;
    max-width: 500px;
    margin: 0 auto;
    border: 2px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-pill);
    overflow: hidden;
}
.mt-search-form input {
    flex: 1;
    padding: 14px 20px;
    border: none;
    outline: none;
}
.mt-search-form button {
    padding: 14px 24px;
    background: var(--mt-accent);
    color: var(--mt-white);
    font-weight: 600;
}

/* WP Social Reviews overrides */
.wpsr-google-review .wpsr-review-template {
    border-radius: var(--mt-radius-lg) !important;
    border: 1px solid var(--mt-slate-200) !important;
}


/* ═══════════════════════════════════════════════════════════
   INNER PAGE COMPONENTS
   ═══════════════════════════════════════════════════════════ */

/* Section variants */
.mt-section--grey { background: var(--mt-slate-50); }
.mt-section--navy { background: var(--mt-navy); color: var(--mt-white); }
.mt-section--navy h2 { color: var(--mt-white); }
.mt-section--navy p { color: rgba(255,255,255,0.7); }

/* Button variants */
.mt-btn--primary {
    background: var(--mt-accent);
    color: var(--mt-white);
    padding: 12px 28px;
    border-radius: var(--mt-radius-pill);
    font-weight: 600;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s var(--mt-ease);
}
.mt-btn--primary:hover {
    background: var(--mt-accent-hover);
    color: var(--mt-white);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
}
.mt-btn--full { width: 100%; justify-content: center; }
.mt-btn--small { padding: 8px 20px; font-size: 0.82rem; }
.mt-btn--white {
    background: var(--mt-white);
    color: var(--mt-navy);
    padding: 12px 28px;
    border-radius: var(--mt-radius-pill);
    font-weight: 600;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s var(--mt-ease);
}
.mt-btn--white:hover {
    background: var(--mt-slate-100);
    color: var(--mt-navy);
    transform: translateY(-2px);
}
.mt-btn--outline-white {
    background: transparent;
    color: var(--mt-white);
    border: 2px solid rgba(255,255,255,0.3);
    padding: 12px 28px;
    border-radius: var(--mt-radius-pill);
    font-weight: 600;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s var(--mt-ease);
}
.mt-btn--outline-white:hover {
    background: rgba(255,255,255,0.1);
    color: var(--mt-white);
    border-color: rgba(255,255,255,0.5);
}

/* ── Deals Page ─────────────────────────────────────── */
.mt-deals-intro {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 48px;
}
.mt-deals-intro h2 { margin-bottom: 12px; }
.mt-deals-intro p { color: var(--mt-text-2); font-size: 1.05rem; }

.mt-deals-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.mt-deal-card {
    background: var(--mt-white);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-lg);
    padding: 32px;
    position: relative;
    transition: all 0.3s var(--mt-ease);
}
.mt-deal-card:hover {
    border-color: var(--mt-accent);
    box-shadow: var(--mt-shadow);
    transform: translateY(-4px);
}
.mt-deal-card__badge {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 4px 14px;
    background: var(--mt-accent);
    color: var(--mt-white);
    font-size: 0.72rem;
    font-weight: 700;

    letter-spacing: 0.06em;
    border-radius: var(--mt-radius-pill);
}
.mt-deal-card__title {
    font-size: 1.25rem;
    margin-bottom: 10px;
}
.mt-deal-card__desc {
    color: var(--mt-text-2);
    font-size: 0.92rem;
    margin-bottom: 16px;
    line-height: 1.6;
}
.mt-deal-card__features {
    list-style: none;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mt-deal-card__features li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: var(--mt-text-2);
}
.mt-deal-card__features li::before {
    content: '';
    width: 18px;
    height: 18px;
    background: var(--mt-accent-light);
    border-radius: 50%;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%232563EB'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
}

/* ── Benefits Grid ──────────────────────────────────── */
.mt-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.mt-benefit-card {
    text-align: center;
    padding: 28px 20px;
    background: var(--mt-white);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-lg);
    transition: all 0.3s var(--mt-ease);
}
.mt-benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--mt-shadow);
    border-color: var(--mt-accent);
}
.mt-benefit-card svg {
    color: var(--mt-accent);
    margin-bottom: 12px;
    width: 28px;
    height: 28px;
}
.mt-benefit-card h3 {
    font-size: 0.95rem;
    margin-bottom: 6px;
}
.mt-benefit-card p {
    font-size: 0.82rem;
    color: var(--mt-text-3);
    line-height: 1.5;
}

/* ── CTA Inline ────────────────────────────────────── */
.mt-cta-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}
.mt-cta-inline h2 { color: var(--mt-white); margin-bottom: 8px; }
.mt-cta-inline p { color: rgba(255,255,255,0.7); margin: 0; }
.mt-cta-inline__actions {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

/* ── Contact Page ──────────────────────────────────── */
.mt-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}
.mt-contact-methods {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.mt-contact-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding: 32px 24px;
    background: var(--mt-white);
    border-radius: var(--mt-radius-lg);
    border: 1px solid var(--mt-slate-200);
    transition: all 0.3s var(--mt-ease);
}
.mt-contact-card:hover {
    border-color: var(--mt-accent);
    box-shadow: var(--mt-shadow);
    transform: translateY(-4px);
}
.mt-contact-card__icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mt-accent-light);
    color: var(--mt-accent);
    border-radius: 50%;
    flex-shrink: 0;
}
.mt-contact-card__icon svg {
    width: 22px;
    height: 22px;
}
.mt-contact-card__value {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--mt-accent);
    display: block;
}
.mt-contact-card p {
    font-size: 0.82rem;
    color: var(--mt-text-3);
    line-height: 1.5;
    margin: 0;
}
.mt-contact-sidebar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 28px;
    background: var(--mt-slate-50);
    border-radius: var(--mt-radius-lg);
    border: 1px solid var(--mt-slate-200);
}
.mt-contact-hours, .mt-contact-quick-links, .mt-contact-social {
    margin: 0;
    padding: 0;
    border: none;
}
.mt-contact-hours h3, .mt-contact-quick-links h3, .mt-contact-social h3 {
    font-size: 0.9rem;
    margin-bottom: 12px;
    color: var(--mt-text);
}
.mt-contact-quick-links ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mt-contact-quick-links a {
    font-size: 0.88rem;
    color: var(--mt-accent);
    display: flex;
    align-items: center;
    gap: 4px;
}
.mt-contact-quick-links a:hover {
    color: var(--mt-accent-hover);
}
.mt-hours-list { display: flex; flex-direction: column; gap: 6px; }
.mt-hours-list__row {
    display: flex;
    justify-content: space-between;
    font-size: 0.88rem;
    color: var(--mt-text-2);
    padding: 6px 0;
    border-bottom: 1px solid var(--mt-slate-200);
}
.mt-hours-list__row:last-child { border-bottom: none; }
.mt-contact-social { margin-top: 24px; }
.mt-social-links {
    display: flex;
    gap: 10px;
    margin-top: 8px;
}
.mt-social-links a {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--mt-accent-light);
    color: var(--mt-accent);
    transition: all 0.2s var(--mt-ease);
}
.mt-social-links a:hover {
    background: var(--mt-accent);
    color: var(--mt-white);
}
.mt-map-container {
    margin-top: 32px;
    border-radius: var(--mt-radius-lg);
    overflow: hidden;
    border: 1px solid var(--mt-slate-200);
}
.mt-map-container iframe {
    width: 100%;
    height: 300px;
    display: block;
}

/* ── Contact Form ─────────────────────────────────── */
.mt-contact-form-wrapper {
    max-width: 100%;
}
.mt-contact-form-wrapper .mt-section-title {
    font-family: 'Teko', 'Poppins', sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 600;
    line-height: 1.1;
    margin-bottom: 8px;
    color: var(--mt-text);
}
.mt-contact-form-wrapper .mt-section-desc {
    font-size: 0.92rem;
    color: var(--mt-text-3);
    margin-bottom: 28px;
    line-height: 1.5;
}
.mt-contact-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.mt-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.mt-form-group {
    margin-bottom: 18px;
}
.mt-form-group label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mt-text);
    margin-bottom: 6px;
    letter-spacing: 0;
}
.mt-required {
    color: #dc2626;
}
.mt-contact-form input[type="text"],
.mt-contact-form input[type="email"],
.mt-contact-form input[type="tel"],
.mt-contact-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-sm);
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    color: var(--mt-text);
    background: var(--mt-white);
    transition: border-color 0.2s var(--mt-ease), box-shadow 0.2s var(--mt-ease);
    outline: none;
}
.mt-contact-form input:focus,
.mt-contact-form textarea:focus {
    border-color: var(--mt-accent);
    box-shadow: 0 0 0 3px var(--mt-accent-light);
}
.mt-contact-form input::placeholder,
.mt-contact-form textarea::placeholder {
    color: var(--mt-text-3);
    opacity: 0.6;
}
.mt-contact-form textarea {
    resize: vertical;
    min-height: 120px;
}
.mt-btn--full {
    width: 100%;
    justify-content: center;
}
.mt-btn__loading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.mt-contact-success {
    text-align: center;
    padding: 48px 24px;
    background: var(--mt-slate-50);
    border-radius: var(--mt-radius-lg);
    border: 1px solid var(--mt-slate-200);
}
.mt-contact-success__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    background: rgba(5, 150, 105, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mt-contact-success__icon svg {
    width: 32px;
    height: 32px;
    color: #059669;
}
.mt-contact-success h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--mt-text);
    letter-spacing: 0;
}
.mt-contact-success p {
    color: var(--mt-text-3);
    font-size: 0.92rem;
    margin-bottom: 24px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}
.mt-contact-error {
    padding: 14px 18px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--mt-radius-sm);
    margin-top: 12px;
    color: #dc2626;
    font-size: 0.88rem;
}
.mt-contact-sidebar-col {
    position: sticky;
    top: calc(var(--mt-topbar-h) + var(--mt-header-h) + 24px);
    align-self: start;
}
.mt-btn--outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border: 2px solid var(--mt-accent);
    border-radius: var(--mt-radius-pill);
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--mt-accent);
    background: transparent;
    cursor: pointer;
    transition: all 0.2s var(--mt-ease);
    letter-spacing: 0;
}
.mt-btn--outline:hover {
    background: var(--mt-accent);
    color: var(--mt-white);
}
@media (max-width: 768px) {
    .mt-form-row { grid-template-columns: 1fr; }
    .mt-contact-sidebar-col { position: static; }
}

/* ── Colour Chart ──────────────────────────────────── */
.mt-colour-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
}
.mt-colour-card {
    text-align: center;
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius);
    overflow: hidden;
    transition: all 0.3s var(--mt-ease);
}
.mt-colour-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--mt-shadow);
}
.mt-colour-card__swatch {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mt-colour-card__swatch--light {
    border-bottom: 1px solid var(--mt-slate-200);
}
.mt-colour-card__name {
    padding: 10px 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--mt-text);

    letter-spacing: 0;
}
.mt-colour-info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 48px;
}
.mt-colour-info__text h3 { margin-bottom: 8px; }
.mt-colour-info__text p { color: var(--mt-text-2); font-size: 0.95rem; }
.mt-colour-info__note {
    padding: 20px;
    background: var(--mt-slate-50);
    border-radius: var(--mt-radius);
    border-left: 3px solid var(--mt-accent);
    font-size: 0.9rem;
    color: var(--mt-text-2);
}

/* ── Delivery Page ─────────────────────────────────── */
.mt-delivery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}
.mt-delivery-card {
    text-align: center;
    padding: 32px 20px;
    background: var(--mt-white);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-lg);
}
.mt-delivery-card__icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mt-accent-light);
    color: var(--mt-accent);
    border-radius: 50%;
    margin: 0 auto 16px;
}
.mt-delivery-card h3 { font-size: 1.05rem; margin-bottom: 8px; }
.mt-delivery-card p { font-size: 0.88rem; color: var(--mt-text-3); }
.mt-delivery-card__time {
    display: inline-block;
    margin-top: 12px;
    padding: 4px 14px;
    background: var(--mt-accent-light);
    color: var(--mt-accent);
    font-size: 0.78rem;
    font-weight: 700;
    border-radius: var(--mt-radius-pill);
}
.mt-delivery-regions { margin-top: 48px; }
.mt-delivery-regions h3 { margin-bottom: 16px; }
.mt-delivery-region {
    padding: 16px;
    background: var(--mt-slate-50);
    border-radius: var(--mt-radius);
    margin-bottom: 12px;
    font-size: 0.9rem;
    color: var(--mt-text-2);
}

/* ── Fitting Guide ─────────────────────────────────── */
.mt-guide-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 48px;
}
.mt-guide-nav {
    position: sticky;
    top: calc(var(--mt-header-h) + 24px);
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mt-guide-nav a {
    padding: 10px 14px;
    font-size: 0.88rem;
    color: var(--mt-text-2);
    border-radius: var(--mt-radius-sm);
    transition: all 0.15s var(--mt-ease);
}
.mt-guide-nav a:hover {
    background: var(--mt-slate-50);
    color: var(--mt-accent);
}
.mt-guide-nav__cta {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--mt-slate-200);
}
.mt-guide-content { }
.mt-guide-step {
    margin-bottom: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid var(--mt-slate-200);
}
.mt-guide-step:last-child { border-bottom: none; }
.mt-guide-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--mt-accent);
    color: var(--mt-white);
    border-radius: 50%;
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    font-size: 0.85rem;

    letter-spacing: 0;
    margin-bottom: 16px;
}
.mt-guide-step h3 { margin-bottom: 12px; }
.mt-guide-step p { color: var(--mt-text-2); font-size: 0.95rem; margin-bottom: 12px; }
.mt-guide-step__image {
    margin: 20px 0;
    border-radius: var(--mt-radius);
    overflow: hidden;
}
.mt-guide-tip {
    padding: 16px 20px;
    background: var(--mt-accent-light);
    border-radius: var(--mt-radius);
    border-left: 3px solid var(--mt-accent);
    font-size: 0.9rem;
    color: var(--mt-text-2);
    margin: 16px 0;
}
.mt-guide-checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mt-guide-checklist__item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: var(--mt-text-2);
}
.mt-guide-checklist__item::before {
    content: '';
    width: 20px;
    height: 20px;
    background: var(--mt-accent);
    border-radius: 50%;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
}

/* ── Gallery Page ──────────────────────────────────── */
.mt-gallery-intro {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 48px;
    color: var(--mt-text-2);
    font-size: 1.05rem;
}
.mt-gallery-section {
    margin-bottom: 56px;
}
.mt-gallery-section__title {
    font-size: 1.3rem;
    margin-bottom: 8px;
}
.mt-gallery-section__desc {
    color: var(--mt-text-2);
    font-size: 0.95rem;
    margin-bottom: 16px;
}
.mt-gallery-section__products {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}
.mt-gallery-placeholder {
    padding: 48px;
    background: var(--mt-slate-50);
    border: 2px dashed var(--mt-slate-200);
    border-radius: var(--mt-radius-lg);
    text-align: center;
    color: var(--mt-text-3);
    font-size: 0.95rem;
}
.mt-empty-state {
    text-align: center;
    padding: 64px 20px;
    color: var(--mt-text-3);
}

/* ── Video Page ───────────────────────────────────── */
.mt-video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}
.mt-video-section {
    margin-bottom: 48px;
}
.mt-video-section__title {
    font-size: 1.2rem;
    margin-bottom: 8px;
}
.mt-video-section__desc {
    color: var(--mt-text-2);
    font-size: 0.92rem;
    margin-bottom: 12px;
}
.mt-video-section__products {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}
.mt-video-placeholder {
    padding: 48px;
    background: var(--mt-slate-50);
    border: 2px dashed var(--mt-slate-200);
    border-radius: var(--mt-radius-lg);
    text-align: center;
    color: var(--mt-text-3);
}

/* ── Blog / Latest News ───────────────────────────── */

/* Alias classes used in page-latest-news.php template */
.mt-blog-card__image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.mt-blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s var(--mt-ease);
}
.mt-blog-card:hover .mt-blog-card__image img {
    transform: scale(1.05);
}
.mt-blog-card__content {
    padding: 20px 24px 24px;
}
.mt-blog-card__title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;

    letter-spacing: 0;
    margin-bottom: 8px;
    line-height: 1.35;
}
.mt-blog-card__title a { color: var(--mt-text); }
.mt-blog-card__title a:hover { color: var(--mt-accent); }
.mt-blog-card__read-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mt-accent);

    letter-spacing: 0;
}
.mt-blog-card__date {
    font-family: 'Poppins', sans-serif;

    letter-spacing: 0;
}
.mt-blog-card__excerpt {
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    color: var(--mt-text-3);

    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 12px;
}

.mt-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
}
.mt-pagination a, .mt-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--mt-radius-sm);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--mt-text-2);
    border: 1px solid var(--mt-slate-200);
    transition: all 0.2s var(--mt-ease);
}
.mt-pagination a:hover {
    border-color: var(--mt-accent);
    color: var(--mt-accent);
}
.mt-pagination .current {
    background: var(--mt-accent);
    color: var(--mt-white);
    border-color: var(--mt-accent);
}

/* ── Stats Row ────────────────────────────────────── */
.mt-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 32px;
}
.mt-stat-card {
    text-align: center;
    padding: 20px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--mt-radius);
}
.mt-stat-card span:first-child {
    display: block;
    font-size: 2rem;
    font-weight: 900;
    color: var(--mt-white);
    line-height: 1;
}
.mt-stat-card__plus { color: var(--mt-accent); }
.mt-stat-card__label {
    display: block;
    margin-top: 4px;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.5);

    letter-spacing: 0.05em;
}

/* ── Spec Table ───────────────────────────────────── */
.mt-spec-table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 0.9rem;
}
.mt-spec-table th, .mt-spec-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--mt-slate-200);
}
.mt-spec-table th {
    background: var(--mt-slate-50);
    font-weight: 700;
    color: var(--mt-text);
    font-size: 0.82rem;

    letter-spacing: 0.04em;
}
.mt-spec-table td { color: var(--mt-text-2); }
.mt-spec-table tr:hover td { background: var(--mt-slate-50); }

/* ── Info Cards / Columns ─────────────────────────── */
.mt-info-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.mt-info-card {
    padding: 24px;
    background: var(--mt-slate-50);
    border-radius: var(--mt-radius-lg);
    border: 1px solid var(--mt-slate-200);
}
.mt-info-card h3 { font-size: 1.05rem; margin-bottom: 8px; }
.mt-info-card p { font-size: 0.9rem; color: var(--mt-text-2); }

/* ── Feature List ─────────────────────────────────── */
.mt-feature-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.mt-feature-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.92rem;
    color: var(--mt-text-2);
}
.mt-feature-list li::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--mt-accent);
    border-radius: 50%;
    flex-shrink: 0;
}

/* ── Product Link Cards ───────────────────────────── */
.mt-product-links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}
.mt-product-link-card {
    display: block;
    padding: 20px;
    background: var(--mt-slate-50);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius);
    text-align: center;
    color: var(--mt-text);
    transition: all 0.3s var(--mt-ease);
}
.mt-product-link-card:hover {
    border-color: var(--mt-accent);
    color: var(--mt-accent);
    transform: translateY(-2px);
    box-shadow: var(--mt-shadow-sm);
}
.mt-product-link-card h3 { font-size: 0.95rem; margin-bottom: 4px; }
.mt-product-link-card__cta {
    font-size: 0.82rem;
    color: var(--mt-accent);
    font-weight: 600;
}


/* ═══════════════════════════════════════════════════════════
   SINGLE POST / AREA PAGES
   ═══════════════════════════════════════════════════════════ */

/* Breadcrumbs */
.mt-breadcrumbs {
    background: var(--mt-navy);
    padding: 12px 0;
}
.mt-breadcrumbs__list {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
}
.mt-breadcrumbs__list li {
    display: flex;
    align-items: center;
}
.mt-breadcrumbs__list li::after {
    content: '/';
    margin: 0 8px;
    color: rgba(255,255,255,0.25);
}
.mt-breadcrumbs__list li:last-child::after { display: none; }
.mt-breadcrumbs__list a {
    color: rgba(255,255,255,0.5);
    transition: color 0.2s;
}
.mt-breadcrumbs__list a:hover { color: rgba(255,255,255,0.85); }
.mt-breadcrumbs__list li:last-child span {
    color: rgba(255,255,255,0.75);
}

/* Blog single wrapper */
.mt-blog-single {
    padding: var(--mt-section-py) 0;
}

/* Two-column layout */
.mt-post-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 48px;
    align-items: start;
}

/* Content column */
.mt-post-layout__content {
    min-width: 0;
}
.mt-blog-single__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    color: var(--mt-text-3);
    margin-bottom: 12px;
}
.mt-blog-single__meta a { color: var(--mt-accent); }
.mt-blog-single__hero-img {
    margin: 24px 0 32px;
    border-radius: var(--mt-radius-lg);
    overflow: hidden;
}
.mt-blog-single__hero-img img {
    border-radius: var(--mt-radius-lg);
}
.mt-blog-single__content {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--mt-text-2);
}
.mt-blog-single__content h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    margin: 2em 0 0.5em;
    color: var(--mt-text);
}
.mt-blog-single__content h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 1.5em 0 0.5em;
    color: var(--mt-text);
}
.mt-blog-single__content p { margin-bottom: 1em; }
.mt-blog-single__content ul, .mt-blog-single__content ol {
    margin: 1em 0;
    padding-left: 1.5em;
    list-style: disc;
}
.mt-blog-single__content li { margin-bottom: 0.5em; }
.mt-blog-single__content a { color: var(--mt-accent); }
.mt-blog-single__content img {
    border-radius: var(--mt-radius);
    margin: 1.5em 0;
}

/* Inline CTA after content */
.mt-post-inline-cta {
    margin-top: 40px;
    padding: 28px;
    background: var(--mt-slate-50);
    border-radius: var(--mt-radius-lg);
    border: 1px solid var(--mt-slate-200);
}
.mt-post-inline-cta h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--mt-text);
}
.mt-post-inline-cta p {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    color: var(--mt-text-3);
    margin-bottom: 16px;
}
.mt-post-inline-cta__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Sidebar */
.mt-post-sidebar {
    position: sticky;
    top: calc(var(--mt-header-h) + 20px);
}
.mt-post-sidebar__inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.mt-post-sidebar__card {
    padding: 24px;
    background: var(--mt-white);
    border-radius: var(--mt-radius-lg);
    border: 1px solid var(--mt-slate-200);
}
.mt-post-sidebar__card--primary {
    background: var(--mt-navy);
    border-color: var(--mt-navy);
    color: var(--mt-white);
}
.mt-post-sidebar__card-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--mt-white);
}
.mt-post-sidebar__card-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.7);
    margin-bottom: 16px;
    line-height: 1.5;
}
.mt-post-sidebar__features {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}
.mt-post-sidebar__features li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.8);
}
.mt-post-sidebar__features svg { color: var(--mt-accent); flex-shrink: 0; }
.mt-post-sidebar__btn {
    width: 100%;
    justify-content: center;
}
.mt-post-sidebar__card-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--mt-text);
}
.mt-post-sidebar__phone {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    background: var(--mt-accent-light);
    border-radius: var(--mt-radius);
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mt-accent);
    transition: all 0.2s var(--mt-ease);
    margin-bottom: 8px;
}
.mt-post-sidebar__phone:hover {
    background: var(--mt-accent);
    color: var(--mt-white);
}
.mt-post-sidebar__hours {
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    color: var(--mt-text-3);
}
.mt-post-sidebar__links {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mt-post-sidebar__links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    color: var(--mt-text-2);
    border-radius: var(--mt-radius-sm);
    transition: all 0.15s var(--mt-ease);
}
.mt-post-sidebar__links a:hover {
    background: var(--mt-slate-50);
    color: var(--mt-accent);
    padding-left: 14px;
}

/* Related posts section */
.mt-related-posts {
    padding: var(--mt-section-py) 0;
    background: var(--mt-slate-50);
}
.mt-related-posts .mt-section__title { margin-bottom: 8px; }
.mt-related-posts .mt-section__subtitle {
    font-family: 'Poppins', sans-serif;
    color: var(--mt-text-3);
    margin-bottom: 32px;
}

/* Grid utility */
.mt-grid { display: grid; gap: 24px; }
.mt-grid--3 { grid-template-columns: repeat(3, 1fr); }

/* Bottom CTA */
.mt-post-bottom-cta {
    padding: 56px 0;
    background: var(--mt-navy);
    text-align: center;
}
.mt-post-bottom-cta__title {
    color: var(--mt-white);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin-bottom: 8px;
}
.mt-post-bottom-cta__desc {
    font-family: 'Poppins', sans-serif;
    color: rgba(255,255,255,0.6);
    font-size: 1rem;
    margin-bottom: 24px;
}
.mt-post-bottom-cta__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Page title for posts */
.mt-page__title {
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    margin-bottom: 8px;
    line-height: 1.2;
}


/* ═══════════════════════════════════════════════════════════
   INNER PAGE RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    .mt-benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .mt-guide-layout { grid-template-columns: 1fr; }
    .mt-guide-nav { position: static; flex-direction: row; flex-wrap: wrap; }
    .mt-stats-row { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
    .mt-post-layout { grid-template-columns: 1fr 280px; gap: 32px; }
}

@media (max-width: 768px) {
    .mt-post-layout { grid-template-columns: 1fr; }
    .mt-post-sidebar { position: static; }
    .mt-grid--3 { grid-template-columns: 1fr; }
    .mt-post-bottom-cta__actions { flex-direction: column; align-items: center; }
    .mt-deals-grid { grid-template-columns: 1fr; }
    .mt-benefits-grid { grid-template-columns: 1fr; }
    .mt-contact-grid { grid-template-columns: 1fr; }
    .mt-contact-methods { grid-template-columns: 1fr; }
    .mt-contact-sidebar { grid-template-columns: 1fr; }
    .mt-delivery-grid { grid-template-columns: 1fr; }
    .mt-colour-info { grid-template-columns: 1fr; }
    .mt-info-columns { grid-template-columns: 1fr; }
    .mt-cta-inline {
        flex-direction: column;
        text-align: center;
    }
    .mt-cta-inline__actions {
        flex-direction: column;
        width: 100%;
    }
    .mt-cta-inline__actions .mt-btn { width: 100%; justify-content: center; }
    .mt-stats-row { grid-template-columns: 1fr 1fr; }
    .mt-guide-nav { flex-direction: column; }
}


/* ═══════════════════════════════════════════════════════════
   CHECKOUT HEADER & FOOTER
   ═══════════════════════════════════════════════════════════ */

.mt-checkout-header {
    background: var(--mt-white);
    border-bottom: 1px solid var(--mt-slate-200);
    padding: 16px 0;
}
.mt-checkout-header .mt-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mt-checkout-header__logo img {
    height: 36px;
    width: auto;
}
.mt-checkout-header__help {
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    color: var(--mt-text-3);

    letter-spacing: 0;
}
.mt-checkout-header__help a {
    color: var(--mt-accent);
    font-weight: 600;
}
.mt-checkout-header__trust {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--mt-text-3);

    letter-spacing: 0;
}
.mt-checkout-header__trust svg {
    width: 16px;
    height: 16px;
    color: var(--mt-accent);
}

/* Checkout progress bar */
.mt-checkout-progress {
    background: var(--mt-slate-50);
    border-bottom: 1px solid var(--mt-slate-200);
    padding: 20px 0;
}
.mt-checkout-progress .mt-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    max-width: 500px;
}
.mt-checkout-progress__step {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--mt-text-3);

    letter-spacing: 0;
    white-space: nowrap;
}
.mt-checkout-progress__step.active {
    color: var(--mt-accent);
    font-weight: 700;
}
.mt-checkout-progress__step.completed {
    color: var(--mt-text-2);
}
.mt-checkout-progress__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 700;
    background: var(--mt-slate-200);
    color: var(--mt-text-3);
}
.mt-checkout-progress__step.active .mt-checkout-progress__num {
    background: var(--mt-accent);
    color: var(--mt-white);
}
.mt-checkout-progress__step.completed .mt-checkout-progress__num {
    background: var(--mt-accent);
    color: var(--mt-white);
}
.mt-checkout-progress__divider {
    flex: 1;
    height: 2px;
    background: var(--mt-slate-200);
    margin: 0 12px;
    min-width: 40px;
}
.mt-checkout-progress__divider.completed {
    background: var(--mt-accent);
}

/* Checkout footer */
.mt-checkout-footer {
    background: var(--mt-slate-50);
    border-top: 1px solid var(--mt-slate-200);
    padding: 24px 0;
    margin-top: auto;
    text-align: center;
}
.mt-checkout-footer__trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.mt-checkout-footer__trust span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--mt-text-3);

    letter-spacing: 0;
}
.mt-checkout-footer__trust svg {
    width: 16px;
    height: 16px;
    color: var(--mt-accent);
}
.mt-checkout-footer__copy {
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    color: var(--mt-text-3);

    letter-spacing: 0;
}

/* Checkout body, ensure full height */
body.is-checkout-flow {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body.is-checkout-flow #mt-main {
    flex: 1;
    padding: 40px 0;
}

@media (max-width: 768px) {
    .mt-checkout-header__help { display: none; }
    .mt-checkout-footer__trust { gap: 16px; }
    .mt-checkout-progress__step span:not(.mt-checkout-progress__num) { display: none; }
}


/* ═══════════════════════════════════════════════════════════
   GET A QUOTE PAGE
   ═══════════════════════════════════════════════════════════ */

.mt-page-header--quote .mt-page-header__desc {
    max-width: 580px;
}

/* Trust strip below header */
.mt-quote-trust-strip {
    background: var(--mt-white);
    border-bottom: 1px solid var(--mt-slate-200);
    padding: 16px 0;
}
.mt-quote-trust-strip .mt-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 4vw, 48px);
    flex-wrap: wrap;
}
.mt-quote-trust-strip__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mt-text-2);

    letter-spacing: 0;
}
.mt-quote-trust-strip__item svg {
    color: var(--mt-accent);
    flex-shrink: 0;
}

/* Quote form embed, no wrapper card, let React handle its own layout */
.mt-quote-embed {
    max-width: var(--mt-container);
    margin: 0 auto;
    padding: 0 var(--mt-gap);
}
/* Remove the embed's own min-height/bg so it sits flush */
.mt-quote-embed .mighty-quote-form-wrapper {
    min-height: auto !important;
    background: transparent !important;
}
/* The React form already has bg-muted/30, override to match our theme */
.mt-quote-embed > div > div {
    background: transparent !important;
}

.mt-quote-fallback {
    text-align: center;
    padding: 48px 24px;
    color: var(--mt-text-3);
    font-family: 'Poppins', sans-serif;
}
.mt-quote-fallback h3 {

    margin-bottom: 8px;
}

@media (max-width: 768px) {
    .mt-quote-trust-strip .mt-container {
        gap: 12px;
    }
    .mt-quote-trust-strip__item {
        font-size: 0.78rem;
    }
}


/* ═══════════════════════════════════════════════════════════
   MIGHTY CRM PLUGIN OVERRIDES
   ═══════════════════════════════════════════════════════════ */

/* Match plugin container to theme container */
.mighty-products-archive,
.mighty-product-single {
    max-width: var(--mt-container) !important;
    padding-left: var(--mt-gap) !important;
    padding-right: var(--mt-gap) !important;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}
.mighty-cart {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}
.mighty-checkout {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}
.mighty-container {
    max-width: var(--mt-container) !important;
}

/* Archive title - use Teko */
.mighty-archive-title {
    font-family: 'Teko', 'Poppins', sans-serif;
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 600;

    letter-spacing: 0.01em;
    color: var(--mt-text);
}

/* Search bar - match theme */
.mighty-search-form input[type="search"] {
    font-family: 'Poppins', sans-serif;
    border-radius: var(--mt-radius-pill);
    border: 2px solid var(--mt-slate-200);
    background: var(--mt-slate-50);
}
.mighty-search-form input[type="search"]:focus {
    border-color: var(--mt-accent);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}

/* Category pills - match theme accent */
.mighty-pill {
    font-family: 'Poppins', sans-serif;
    border-radius: var(--mt-radius-pill);
    font-weight: 500;
}
.mighty-pill:hover {
    border-color: var(--mt-accent);
    color: var(--mt-accent);
    background: var(--mt-accent-light);
}
.mighty-pill--active {
    background: var(--mt-accent);
    border-color: var(--mt-accent);
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
}
.mighty-pill--active:hover {
    background: var(--mt-accent-hover);
    border-color: var(--mt-accent-hover);
}

/* Product cards - match theme style */
.mighty-product-card,
.product-card {
    border-radius: var(--mt-radius-lg);
    border: 1px solid var(--mt-slate-200);
}
.mighty-product-card:hover,
.product-card:hover {
    border-color: var(--mt-accent);
}
.mighty-product-image,
.product-image {
    background: var(--mt-slate-100);
}

/* Product info typography */
.mighty-product-category {
    font-family: 'Poppins', sans-serif;
}
.mighty-product-title {
    font-family: 'Teko', 'Poppins', sans-serif;

    letter-spacing: 0.01em;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.1;
}
.mighty-product-price,
.mighty-product-price-suffix,
.mighty-product-price-note,
.mighty-product-price-original {
    font-family: 'Poppins', sans-serif;
}

/* CTA button on cards */
.mighty-product-cta {
    font-family: 'Poppins', sans-serif;
    border-radius: var(--mt-radius-pill);
}
.mighty-product-card-link:hover .mighty-product-cta {
    background: var(--mt-accent);
    color: var(--mt-white);
}

/* Product grid - wider cards */
.mighty-product-list {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 28px;
}

/* Single product overrides */
.mighty-product-single h1 {
    font-family: 'Teko', 'Poppins', sans-serif;

}
.mighty-product-single .mighty-product-description,
.mighty-product-single .mighty-product-meta {
    font-family: 'Poppins', sans-serif;
}

/* Cart & Checkout overrides */
.mighty-cart h1,
.mighty-cart h2,
.mighty-checkout h1,
.mighty-checkout h2 {
    font-family: 'Teko', 'Poppins', sans-serif;

}
.mighty-cart,
.mighty-checkout {
    font-family: 'Poppins', sans-serif;
}

/* Breadcrumb in plugin */
.mighty-breadcrumb {
    font-family: 'Poppins', sans-serif;
}
.mighty-breadcrumb a {
    color: var(--mt-accent);
}

/* Empty state */
.mighty-empty-state {
    font-family: 'Poppins', sans-serif;
}
.mighty-empty-title {
    font-family: 'Teko', sans-serif;

    font-size: 2rem;
}


/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .mt-reveal, .mt-reveal-left, .mt-reveal-right, .mt-fade-in {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .mt-hero__bg img { will-change: auto; }
    .mt-hero__badge-dot { animation: none; }
    .mt-hero__scroll-line::after { animation: none; }
    .mt-stats { background-attachment: scroll; }
}


/* ═══════════════════════════════════════════════════════════
   22. RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    .mt-mega-menu__cols {
        grid-template-columns: repeat(2, 1fr);
    }
    .mt-mega-menu__col:nth-child(3n) { border-right: 1px solid var(--mt-slate-100); }
    .mt-mega-menu__col:nth-child(2n) { border-right: none; }
    .mt-mega-menu__col:nth-last-child(-n+3) { border-bottom: 1px solid var(--mt-slate-100); }
    .mt-mega-menu__col:nth-last-child(-n+2) { border-bottom: none; }
    .mt-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .mt-product-grid--5 {
        grid-template-columns: repeat(2, 1fr);
    }
    .mt-featured-product {
        grid-template-columns: 1fr 1fr;
    }
    .mt-bento {
        grid-auto-rows: 200px;
    }
    .mt-stats__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    .mt-quote-cta .mt-container {
        grid-template-columns: 1fr;
    }
    .mt-quote-cta__stats {
        grid-template-columns: repeat(3, 1fr);
    }
    .mt-footer__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

@media (max-width: 1024px) {
    .mt-nav { display: none; }
    .mt-hamburger { display: flex; }
    .mt-header__cta { display: none; }

    .mt-topbar__left { gap: 16px; }
    .mt-topbar__delivery { display: none; }

    .mt-hero__content { padding: 100px 0 80px; }
    .mt-hero__scroll { display: none; }

    .mt-split {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .mt-product-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .mt-steps {
        padding-left: 48px;
    }
    .mt-step__number {
        left: -48px;
        width: 36px;
        height: 36px;
        font-size: 0.75rem;
    }

    .mt-stats {
        background-attachment: scroll;
    }
    .mt-stats__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mt-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mt-blog-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .mt-trust-bar .mt-container {
        gap: 16px;
    }
    .mt-trust-item__icon { width: 32px; height: 32px; }
    .mt-trust-item__text strong { font-size: 0.82rem; }

    .mt-quote-cta__stats {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .mt-quote-cta__stat {
        padding: 16px;
    }

    .mt-footer__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .mt-subfooter .mt-container {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    .mt-mega-menu__cols {
        grid-template-columns: 1fr;
    }
    .mt-mega-menu__col {
        border-right: none;
        border-bottom: 1px solid var(--mt-slate-100);
        padding: 16px 12px;
    }
    .mt-mega-menu__footer {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
    .mt-mega-menu__usp-row {
        flex-direction: column;
        gap: 8px;
    }

    .mt-contact-grid {
        grid-template-columns: 1fr;
    }

    .mt-featured-product {
        grid-template-columns: 1fr;
    }
    .mt-featured-product__content {
        padding: 28px 24px 32px;
    }
    .mt-featured-product__image {
        aspect-ratio: 16 / 9;
    }

    .mt-product-grid--5 {
        grid-template-columns: repeat(2, 1fr);
    }

    .mt-process-strip__steps {
        grid-template-columns: 1fr;
        gap: 32px;
        max-width: 400px;
    }
    .mt-process-step__divider {
        display: none;
    }

    .mt-bento {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 180px;
    }
    .mt-bento__item--wide {
        grid-column: span 2;
    }
}

@media (max-width: 480px) {
    .mt-topbar__left a:last-child { display: none; }

    .mt-hero__pills {
        gap: 8px;
    }
    .mt-hero__pill {
        font-size: 0.75rem;
        padding: 6px 12px;
    }

    .mt-hero__actions {
        flex-direction: column;
    }
    .mt-hero__actions .mt-btn { width: 100%; justify-content: center; }

    .mt-stats__grid {
        grid-template-columns: 1fr 1fr;
    }

    .mt-gallery-grid {
        grid-template-columns: 1fr;
    }

    .mt-product-grid--5 {
        grid-template-columns: 1fr;
    }

    .mt-bento {
        grid-template-columns: 1fr;
        grid-auto-rows: 200px;
    }
    .mt-bento__item--wide {
        grid-column: span 1;
    }

    .mt-featured-product__actions {
        flex-direction: column;
    }
    .mt-featured-product__actions .mt-btn {
        width: 100%;
        justify-content: center;
    }

    .mt-newsletter__form {
        flex-direction: column;
    }
    .mt-newsletter__form input[type="email"] {
        border-radius: var(--mt-radius) var(--mt-radius) 0 0;
    }
    .mt-newsletter__form button {
        border-radius: 0 0 var(--mt-radius) var(--mt-radius);
    }

    .mt-page-header__pills {
        gap: 6px;
    }
    .mt-page-header__pill {
        font-size: 0.7rem;
        padding: 5px 10px;
    }
}

/* ── Global mobile overflow safety ─────────────────── */
#mt-main {
    overflow-x: clip;
}

.mt-footer__contact-item span,
.mt-footer__contact-item a {
    overflow-wrap: break-word;
    word-break: break-word;
}

table {
    max-width: 100%;
    overflow-x: auto;
    display: block;
}

pre, code {
    overflow-x: auto;
    max-width: 100%;
}
/* ═══════════════════════════════════════════════════════════
   HOMEPAGE V2, REDESIGN COMPONENTS
   Conversion-optimised, modern UI/UX
   ═══════════════════════════════════════════════════════════ */


/* ── Hero V2, Split layout with feature stack ────────── */

.mt-hero--v2 {
    min-height: min(92vh, 780px);
}

.mt-hero__overlay--v2 {
    background: linear-gradient(
        125deg,
        rgba(6, 19, 61, 0.92) 0%,
        rgba(10, 30, 94, 0.72) 45%,
        rgba(10, 30, 94, 0.45) 100%
    );
}

.mt-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
    padding: clamp(100px, 12vh, 160px) 0 clamp(60px, 8vh, 100px);
}

.mt-hero__content--v2 {
    max-width: 680px;
    padding: 0;
}

.mt-hero__title--v2 {
    font-size: clamp(2.8rem, 6.5vw, 5rem);
    line-height: 0.95;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
}
.mt-hero__title-accent {
    color: var(--mt-warm);
    display: block;
}
.mt-hero__title-sub {
    display: block;
    font-size: 0.45em;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin-top: 12px;
}

.mt-hero__proof {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding: 12px 20px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--mt-radius-pill);
    width: fit-content;
}
.mt-hero__proof-stars {
    display: flex;
    gap: 2px;
}
.mt-hero__proof-text {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.65);
}
.mt-hero__proof-text strong {
    color: rgba(255,255,255,0.9);
}

.mt-hero__feature-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mt-hero__feature-card {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--mt-radius-lg);
    padding: 20px 24px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: all 0.4s var(--mt-ease);
}
.mt-hero__feature-card:hover {
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.2);
    transform: translateX(4px);
}
.mt-hero__feature-num {
    display: block;
    font-family: 'Teko', sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--mt-white);
    letter-spacing: -0.02em;
}
.mt-hero__feature-label {
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(255,255,255,0.5);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}


/* ── Button glow variant ──────────────────────────────── */

.mt-btn--glow {
    box-shadow: 0 4px 24px rgba(37, 99, 235, 0.4), 0 0 0 1px rgba(37, 99, 235, 0.15);
}
.mt-btn--glow:hover {
    box-shadow: 0 8px 40px rgba(37, 99, 235, 0.5), 0 0 0 1px rgba(37, 99, 235, 0.25);
}

.mt-btn__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    transition: all 0.3s var(--mt-ease);
}
.mt-btn:hover .mt-btn__icon-wrap {
    background: rgba(255,255,255,0.25);
    transform: translateX(2px);
}
.mt-btn__icon-wrap svg {
    transition: none;
}
.mt-btn:hover .mt-btn__icon-wrap svg {
    transform: none;
}


/* ── Section header left-aligned variant ──────────────── */

.mt-section__header--left {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}


/* ── Product Bento Grid ───────────────────────────────── */

.mt-bento-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: minmax(220px, auto);
    gap: 16px;
}

.mt-bento-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--mt-white);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-xl);
    overflow: hidden;
    text-decoration: none;
    color: var(--mt-text);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-bento-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(10, 30, 94, 0.1), 0 4px 12px rgba(10, 30, 94, 0.06);
    border-color: var(--mt-accent);
    color: var(--mt-text);
}

.mt-bento-card--wide {
    grid-column: span 2;
}
.mt-bento-card--tall {
    grid-row: span 2;
}

.mt-bento-card__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    padding: 4px 12px;
    background: var(--mt-accent);
    color: var(--mt-white);
    font-family: 'Poppins', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: var(--mt-radius-pill);
}

.mt-bento-card__img {
    flex: 1;
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: var(--mt-slate-50);
    overflow: hidden;
}
.mt-bento-card--tall .mt-bento-card__img {
    min-height: 200px;
}
.mt-bento-card__img img {
    width: 75%;
    height: 75%;
    object-fit: contain;
    mix-blend-mode: multiply;
    filter: drop-shadow(0 4px 20px rgba(0,0,0,0.08));
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-bento-card:hover .mt-bento-card__img img {
    transform: scale(1.08) rotate(1deg);
}

.mt-bento-card__content {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mt-bento-card__title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--mt-text);
    letter-spacing: 0;
}
.mt-bento-card__desc {
    font-size: 0.8rem;
    color: var(--mt-text-3);
    line-height: 1.5;
}
.mt-bento-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 4px;
}
.mt-bento-card__tag {
    padding: 3px 10px;
    background: var(--mt-slate-50);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-pill);
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--mt-text-3);
    transition: all 0.25s var(--mt-ease);
}
.mt-bento-card:hover .mt-bento-card__tag {
    background: var(--mt-accent-light);
    border-color: rgba(37, 99, 235, 0.2);
    color: var(--mt-accent);
}
.mt-bento-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--mt-accent);
    transition: gap 0.3s var(--mt-ease);
}
.mt-bento-card:hover .mt-bento-card__cta {
    gap: 8px;
}


/* ── Split V2, floating stat ─────────────────────────── */

.mt-split--v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 80px);
    align-items: center;
}

.mt-split__media {
    position: relative;
}
.mt-split--v2 .mt-split__img-wrapper {
    border-radius: var(--mt-radius-xl);
    overflow: hidden;
    box-shadow: var(--mt-shadow-lg);
}
.mt-split--v2 .mt-split__img-wrapper img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-split--v2:hover .mt-split__img-wrapper img {
    transform: scale(1.03);
}

.mt-split__stat-float {
    position: absolute;
    bottom: -20px;
    right: -20px;
    background: var(--mt-white);
    border-radius: var(--mt-radius-lg);
    padding: 18px 24px;
    box-shadow: var(--mt-shadow-lg);
    border: 1px solid var(--mt-slate-200);
    text-align: center;
    min-width: 120px;
}
.mt-split__stat-num {
    display: block;
    font-family: 'Teko', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
    color: var(--mt-accent);
    letter-spacing: -0.02em;
}
.mt-split__stat-suffix {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--mt-accent);
}
.mt-split__stat-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--mt-text-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 2px;
}

.mt-split__features--v2 {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 28px 0 32px;
}
.mt-feature--v2 {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.mt-feature__icon--v2 {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mt-accent-light);
    color: var(--mt-accent);
    border-radius: var(--mt-radius);
    transition: all 0.3s var(--mt-ease);
}
.mt-feature--v2:hover .mt-feature__icon--v2 {
    background: var(--mt-accent);
    color: var(--mt-white);
    transform: scale(1.05);
}


/* ── Process V2, horizontal cards ────────────────────── */

.mt-process-v2 {
    background: var(--mt-navy);
    padding: clamp(64px, 8vw, 100px) 0;
    overflow: hidden;
}
.mt-process-v2__header {
    text-align: center;
    margin-bottom: clamp(40px, 5vw, 64px);
}
.mt-process-v2__title {
    font-size: clamp(2.2rem, 4.5vw, 3.2rem);
    color: var(--mt-white);
    line-height: 1.05;
    margin-bottom: 12px;
}
.mt-process-v2__subtitle {
    color: rgba(255,255,255,0.5);
    font-size: 1.05rem;
}

.mt-process-v2__track {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    max-width: 1100px;
    margin: 0 auto;
}

.mt-process-v2__card {
    flex: 1;
    max-width: 320px;
    text-align: center;
    padding: 32px 24px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--mt-radius-xl);
    transition: all 0.4s var(--mt-ease);
    position: relative;
}
.mt-process-v2__card:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.15);
    transform: translateY(-4px);
}

.mt-process-v2__num {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 14px;
    background: var(--mt-accent);
    color: var(--mt-white);
    font-family: 'Teko', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    border-radius: var(--mt-radius-pill);
    letter-spacing: 0.05em;
}

.mt-process-v2__icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 12px auto 16px;
    background: rgba(255,255,255,0.06);
    border-radius: 50%;
    color: var(--mt-accent);
    transition: all 0.4s var(--mt-ease);
}
.mt-process-v2__card:hover .mt-process-v2__icon {
    background: var(--mt-accent);
    color: var(--mt-white);
    transform: scale(1.08);
}

.mt-process-v2__card h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--mt-white);
    margin-bottom: 8px;
    letter-spacing: 0;
}
.mt-process-v2__card p {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.5);
    line-height: 1.6;
}

.mt-process-v2__connector {
    flex-shrink: 0;
    padding: 0 8px;
    opacity: 0.5;
}

.mt-process-v2__cta {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: clamp(36px, 4vw, 56px);
}


/* ── Stats V2, glass cards ───────────────────────────── */

.mt-stats--v2 {
    background: var(--mt-slate-50);
    padding: clamp(48px, 6vw, 72px) 0;
    background-image: none;
    background-attachment: scroll;
    position: relative;
}
.mt-stats--v2 .mt-stats__overlay {
    display: none;
}

.mt-stats__grid--v2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.mt-stat--v2 {
    background: var(--mt-white);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-xl);
    padding: 28px 24px;
    text-align: center;
    transition: all 0.4s var(--mt-ease);
}
.mt-stat--v2:hover {
    transform: translateY(-4px);
    box-shadow: var(--mt-shadow);
    border-color: var(--mt-accent);
}
.mt-stat--v2 .mt-stat__number {
    color: var(--mt-navy);
    font-size: clamp(2.2rem, 4vw, 3rem);
}
.mt-stat--v2 .mt-stat__suffix {
    color: var(--mt-accent);
}
.mt-stat--v2 .mt-stat__label {
    color: var(--mt-text-3);
    margin-top: 4px;
}


/* ── Gallery V2, asymmetric grid ─────────────────────── */

.mt-gallery-v2 {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    grid-template-rows: 220px 220px;
    gap: 12px;
}
.mt-gallery-v2__item {
    border-radius: var(--mt-radius-lg);
    overflow: hidden;
    position: relative;
}
.mt-gallery-v2__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.mt-gallery-v2__item:hover img {
    transform: scale(1.06);
}

.mt-gallery-v2__item--hero {
    grid-row: span 2;
}
.mt-gallery-v2__item--wide {
    grid-column: span 2;
}


/* ── FAQ Accordion ────────────────────────────────────── */

.mt-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mt-faq__item {
    background: var(--mt-white);
    border: 1px solid var(--mt-slate-200);
    border-radius: var(--mt-radius-lg);
    overflow: hidden;
    transition: all 0.3s var(--mt-ease);
}
.mt-faq__item:hover {
    border-color: var(--mt-accent);
}
.mt-faq__item.is-open {
    border-color: var(--mt-accent);
    box-shadow: 0 4px 20px rgba(37, 99, 235, 0.08);
}

.mt-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 20px 24px;
    text-align: left;
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--mt-text);
    cursor: pointer;
    gap: 16px;
}
.mt-faq__question svg {
    flex-shrink: 0;
    color: var(--mt-accent);
    transition: transform 0.35s var(--mt-ease);
}
.mt-faq__item.is-open .mt-faq__question svg {
    transform: rotate(45deg);
}

.mt-faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s var(--mt-ease);
}
.mt-faq__answer p {
    padding: 0 24px 20px;
    font-size: 0.9rem;
    color: var(--mt-text-2);
    line-height: 1.7;
}


/* ── Final CTA ────────────────────────────────────────── */

.mt-final-cta {
    padding: clamp(64px, 8vw, 100px) 0;
    background: var(--mt-slate-50);
}
.mt-final-cta__inner {
    text-align: center;
    max-width: 680px;
    margin: 0 auto;
}
.mt-final-cta h2 {
    font-size: clamp(2rem, 4.5vw, 3rem);
    margin-bottom: 16px;
}
.mt-final-cta p {
    color: var(--mt-text-2);
    font-size: 1.05rem;
    margin-bottom: 32px;
    line-height: 1.7;
}
.mt-final-cta__actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}
.mt-final-cta .mt-btn--glass {
    background: rgba(10, 30, 94, 0.06);
    color: var(--mt-navy);
    border-color: var(--mt-slate-300);
}
.mt-final-cta .mt-btn--glass:hover {
    background: rgba(10, 30, 94, 0.1);
    color: var(--mt-navy);
}


/* ── Homepage V2 Responsive ───────────────────────────── */

@media (max-width: 1024px) {
    .mt-hero__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .mt-hero__feature-stack {
        flex-direction: row;
        gap: 10px;
    }
    .mt-hero__feature-card {
        flex: 1;
        text-align: center;
    }

    .mt-bento-products {
        grid-template-columns: repeat(2, 1fr);
    }
    .mt-bento-card--tall {
        grid-row: span 1;
    }

    .mt-split--v2 {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .mt-split__stat-float {
        bottom: -16px;
        right: 16px;
    }

    .mt-process-v2__track {
        flex-direction: column;
        gap: 16px;
    }
    .mt-process-v2__connector {
        transform: rotate(90deg);
        padding: 4px 0;
    }
    .mt-process-v2__card {
        max-width: 100%;
        width: 100%;
    }

    .mt-stats__grid--v2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .mt-gallery-v2 {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    .mt-gallery-v2__item--hero {
        grid-row: span 1;
        grid-column: span 2;
    }
    .mt-gallery-v2__item--wide {
        grid-column: span 2;
    }
}

@media (max-width: 640px) {
    .mt-hero--v2 {
        min-height: auto;
    }
    .mt-hero__grid {
        padding: 100px 0 60px;
    }
    .mt-hero__feature-stack {
        flex-direction: column;
    }
    .mt-hero__proof {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .mt-bento-products {
        grid-template-columns: 1fr;
    }
    .mt-bento-card--wide {
        grid-column: span 1;
    }

    .mt-stats__grid--v2 {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .mt-stat--v2 {
        padding: 20px 16px;
    }

    .mt-gallery-v2 {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .mt-gallery-v2__item--hero,
    .mt-gallery-v2__item--wide {
        grid-column: span 1;
    }
    .mt-gallery-v2__item {
        aspect-ratio: 16 / 10;
    }

    .mt-process-v2__cta {
        flex-direction: column;
        align-items: center;
    }

    .mt-final-cta__actions {
        flex-direction: column;
        align-items: center;
    }

    .mt-faq__question {
        padding: 16px 18px;
        font-size: 0.88rem;
    }
    .mt-faq__answer p {
        padding: 0 18px 16px;
    }
}

/* ═══════════════════════════════════════════════════════════
 * Page hero background image layer (v3, <img> approach)
 * Uses a real <img class="mt-hero-img"> element inside the hero so
 * LiteSpeed's CSS image-lazy feature doesn't strip the background URL.
 * ═══════════════════════════════════════════════════════════ */

.mt-page-header--bg,
.mt-page-hero--bg {
    position: relative;
    overflow: hidden;
    padding: clamp(80px, 10vw, 140px) 0 clamp(64px, 8vw, 110px) !important;
    min-height: 360px;
    background: #06133D !important;
}

/* Hide the original .mt-page-header__bg radial-gradient layer */
.mt-page-header--bg .mt-page-header__bg {
    display: none !important;
}

.mt-hero-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center right !important;
    filter: saturate(1.05) contrast(1.02);
    z-index: 0;
    pointer-events: none;
    margin: 0 !important;
    border-radius: 0 !important;
    display: block !important;
}

.mt-page-header--bg::before,
.mt-page-hero--bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(6,19,61,0.96) 0%,
            rgba(10,30,94,0.88) 30%,
            rgba(10,30,94,0.55) 55%,
            rgba(10,30,94,0.25) 85%,
            rgba(10,30,94,0.1) 100%),
        radial-gradient(ellipse 60% 40% at 15% 50%, rgba(37,99,235,0.3) 0%, transparent 70%);
    pointer-events: none;
    z-index: 1;
}

.mt-page-header--bg .mt-container,
.mt-page-hero--bg .mt-container {
    position: relative;
    z-index: 2;
}

.mt-page-header--bg .mt-page-header__title,
.mt-page-hero--bg .mt-page-hero__title {
    text-shadow: 0 2px 20px rgba(0,0,0,.4);
}
.mt-page-header--bg .mt-page-header__desc,
.mt-page-hero--bg .mt-page-hero__subtitle {
    color: rgba(255,255,255,0.85) !important;
    text-shadow: 0 1px 10px rgba(0,0,0,.3);
}
.mt-page-header--bg .mt-breadcrumb,
.mt-page-header--bg .mt-breadcrumb a,
.mt-page-header--bg .mt-breadcrumb span {
    color: rgba(255,255,255,0.75) !important;
}
.mt-page-header--bg .mt-breadcrumb a:hover {
    color: #60a5fa !important;
}

@media (max-width: 640px) {
    .mt-page-header--bg,
    .mt-page-hero--bg {
        padding: clamp(60px, 12vw, 90px) 0 clamp(44px, 9vw, 64px) !important;
        min-height: 300px;
    }
    .mt-hero-img {
        object-position: center center !important;
    }
    .mt-page-header--bg::before,
    .mt-page-hero--bg::before {
        background:
            linear-gradient(180deg,
                rgba(6,19,61,0.55) 0%,
                rgba(10,30,94,0.82) 50%,
                rgba(6,19,61,0.95) 100%),
            radial-gradient(ellipse 80% 50% at 50% 100%, rgba(37,99,235,0.22) 0%, transparent 70%);
    }
}

/* ═══════════════════════════════════════════════════════════

/* ═══════════════════════════════════════════════════════════
 * MIGHTY MOBILE NAV, light panel with navy accents (v3)
 * ═══════════════════════════════════════════════════════════ */

.mt-mnav {
    position: fixed;
    inset: 0;
    z-index: 120;
    visibility: hidden;
    pointer-events: none;
}
.mt-mnav.is-open { visibility: visible; pointer-events: auto; }

.mt-mnav__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 15, 26, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity .3s cubic-bezier(.4,0,.2,1);
}
.mt-mnav.is-open .mt-mnav__backdrop { opacity: 1; }

.mt-mnav__panel {
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    color: #0a0f1a;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
    overflow: hidden;
    box-shadow: -24px 0 60px -20px rgba(10, 30, 94, .25);
}
.mt-mnav.is-open .mt-mnav__panel { transform: translateX(0); }

/* ── Top bar ──────────────────────────────────────────── */
.mt-mnav__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #e6e9ee;
    flex-shrink: 0;
    background: #fff;
}
.mt-mnav__logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #0a0f1a;
    text-decoration: none;
    font-weight: 800;
    font-size: 14px;
    letter-spacing: -.005em;
}
.mt-mnav__logo svg {
    color: #2563EB;
    flex-shrink: 0;
}
.mt-mnav__close {
    width: 40px; height: 40px;
    border: 1px solid #e6e9ee;
    background: #f8fafc;
    border-radius: 50%;
    color: #0A1E5E;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: all .2s;
    padding: 0;
}
.mt-mnav__close:hover,
.mt-mnav__close:focus-visible {
    background: #0A1E5E;
    border-color: #0A1E5E;
    color: #fff;
    transform: rotate(90deg);
    outline: none;
}

/* ── Quick actions ────────────────────────────────────── */
.mt-mnav__quick {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    padding: 14px 20px 18px;
    border-bottom: 1px solid #e6e9ee;
    flex-shrink: 0;
    background: #fff;
}
.mt-mnav__qa {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 4px;
    background: #f8fafc;
    border: 1px solid #e6e9ee;
    border-radius: 12px;
    color: #0a0f1a;
    text-decoration: none;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: all .2s;
}
.mt-mnav__qa svg { color: #2563EB; }
.mt-mnav__qa:hover,
.mt-mnav__qa:focus-visible {
    background: #fff;
    border-color: #cbd5e1;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px -8px rgba(10, 30, 94, .18);
    outline: none;
}
.mt-mnav__qa--primary {
    background: linear-gradient(135deg, #0A1E5E 0%, #2563EB 100%);
    border-color: transparent;
    color: #fff !important;
    box-shadow: 0 6px 16px -4px rgba(37, 99, 235, .38);
}
.mt-mnav__qa--primary svg { color: #fff; }
.mt-mnav__qa--primary:hover,
.mt-mnav__qa--primary:focus-visible {
    background: linear-gradient(135deg, #06133D 0%, #1d4ed8 100%);
}

/* ── Scrollable body ──────────────────────────────────── */
.mt-mnav__body {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 12px 16px 8px;
    -webkit-overflow-scrolling: touch;
    background: #fff;
}
.mt-mnav__body::-webkit-scrollbar { width: 4px; }
.mt-mnav__body::-webkit-scrollbar-track { background: transparent; }
.mt-mnav__body::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 2px; }

.mt-mnav__link {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 14px 14px;
    font-size: 15px;
    font-weight: 600;
    color: #0a0f1a;
    background: transparent;
    border: none;
    border-radius: 10px;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    transition: background .2s;
    font-family: inherit;
    letter-spacing: -.005em;
}
.mt-mnav__link:hover,
.mt-mnav__link:focus-visible {
    background: #f1f5f9;
    outline: none;
}
.mt-mnav__link svg { color: #2563EB; flex-shrink: 0; opacity: .9; }
.mt-mnav__link--highlight {
    background: linear-gradient(90deg, rgba(250, 204, 21, .1), rgba(250, 204, 21, .03));
    border: 1px solid rgba(250, 204, 21, .3);
    margin: 6px 0;
}
.mt-mnav__link--highlight svg { color: #eab308; opacity: 1; }
.mt-mnav__badge {
    margin-left: auto;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #a16207;
    background: rgba(234, 179, 8, .18);
    padding: 4px 8px;
    border-radius: 999px;
}

.mt-mnav__section {
    margin: 16px 0 8px;
}
.mt-mnav__section-title {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #94a3b8;
    padding: 0 14px 10px;
}
.mt-mnav__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
.mt-mnav__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    min-height: 92px;
    padding: 14px 12px 12px;
    background: #fff;
    border: 1px solid #e6e9ee;
    border-radius: 12px;
    text-decoration: none;
    color: #0a0f1a;
    transition: all .2s;
    position: relative;
    overflow: hidden;
}
.mt-mnav__card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 36px; height: 3px;
    background: linear-gradient(90deg, #0A1E5E, #2563EB);
    border-radius: 0 0 4px 0;
    transition: width .2s;
}
.mt-mnav__card:hover::before,
.mt-mnav__card:focus-visible::before { width: 72px; }
.mt-mnav__card:hover,
.mt-mnav__card:focus-visible {
    background: #f8fafc;
    border-color: #cbd5e1;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px -12px rgba(10, 30, 94, .18);
    outline: none;
}
.mt-mnav__card-icon {
    width: 32px; height: 32px;
    border-radius: 8px;
    background: rgba(37, 99, 235, .1);
    color: #2563EB;
    display: flex; align-items: center; justify-content: center;
}
.mt-mnav__card-label {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    color: #0a0f1a;
    letter-spacing: -.005em;
}
.mt-mnav__section-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 10px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 700;
    color: #2563EB;
    text-decoration: none;
    letter-spacing: .01em;
}
.mt-mnav__section-more:hover { color: #0A1E5E; }

/* Collapsibles */
.mt-mnav__group { margin-top: 2px; }
.mt-mnav__toggle { width: 100%; }
.mt-mnav__chev {
    margin-left: auto;
    transition: transform .3s;
    color: #94a3b8;
    opacity: .8;
}
.mt-mnav__toggle[aria-expanded="true"] .mt-mnav__chev { transform: rotate(180deg); color: #2563EB; }
.mt-mnav__toggle[aria-expanded="true"] { background: #f8fafc; }

.mt-mnav__sub {
    display: block;
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s cubic-bezier(.2,.8,.2,1);
    padding: 0 14px 0 48px;
}
.mt-mnav__sub[hidden] { display: block !important; }
.mt-mnav__group.is-open .mt-mnav__sub { max-height: 400px; padding-bottom: 8px; }
.mt-mnav__sub a {
    display: block;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 500;
    color: #57616d;
    text-decoration: none;
    border-radius: 8px;
    transition: background .2s, color .2s, border-color .2s;
    border-left: 2px solid transparent;
    padding-left: 14px;
}
.mt-mnav__sub a:hover,
.mt-mnav__sub a:focus-visible {
    background: #f1f5f9;
    color: #0A1E5E;
    border-left-color: #2563EB;
    outline: none;
}

/* ── Footer ───────────────────────────────────────────── */
.mt-mnav__foot {
    flex-shrink: 0;
    padding: 16px 20px 20px;
    background: #f8fafc;
    border-top: 1px solid #e6e9ee;
}
.mt-mnav__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 15px 16px;
    background: linear-gradient(135deg, #0A1E5E 0%, #2563EB 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.005em;
    text-decoration: none;
    box-shadow: 0 8px 20px -6px rgba(37, 99, 235, .4);
    transition: all .2s;
}
.mt-mnav__cta:hover,
.mt-mnav__cta:focus-visible {
    background: linear-gradient(135deg, #06133D 0%, #1d4ed8 100%);
    transform: translateY(-2px);
    box-shadow: 0 12px 26px -8px rgba(37, 99, 235, .5);
    outline: none;
}
.mt-mnav__trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 12px;
    color: #57616d;
    font-weight: 500;
}
.mt-mnav__trust strong { color: #0a0f1a; font-weight: 700; }
.mt-mnav__trust-stars { display: inline-flex; gap: 1px; color: #facc15; }
.mt-mnav__meta {
    margin-top: 6px;
    text-align: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #94a3b8;
}

/* Hamburger polish, mobile/tablet only */
.mt-hamburger {
    display: none;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    border: 1px solid #0A1E5E;
    background: #0A1E5E;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    transition: transform .25s cubic-bezier(.2,.8,.2,1), background .25s, box-shadow .25s, border-radius .3s;
    padding: 0;
    box-shadow: 0 4px 14px rgba(10, 30, 94, 0.25);
    position: relative;
}
@media (max-width: 1024px) {
    .mt-hamburger { display: flex; }
}
.mt-hamburger:hover,
.mt-hamburger:focus-visible {
    background: #2563EB !important;
    border-color: #2563EB !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.40);
    outline: none;
}
.mt-hamburger:active { transform: translateY(0) scale(0.96); }
.mt-hamburger span {
    background: #fff !important;
    height: 2px !important;
    border-radius: 2px !important;
    margin: 0 !important;
    transition: width .3s cubic-bezier(.2,.8,.2,1), transform .3s cubic-bezier(.2,.8,.2,1), opacity .2s !important;
    display: block !important;
    transform-origin: center;
}
.mt-hamburger span:nth-child(1) { width: 20px !important; }
.mt-hamburger span:nth-child(2) { width: 14px !important; align-self: flex-end; margin-right: 14px !important; }
.mt-hamburger span:nth-child(3) { width: 20px !important; }
.mt-hamburger:hover span:nth-child(2),
.mt-hamburger:focus-visible span:nth-child(2) { width: 20px !important; margin-right: 14px !important; }
.mt-hamburger.is-active {
    background: #2563EB !important;
    border-color: #2563EB !important;
    border-radius: 50% !important;
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.50) !important;
}
.mt-hamburger.is-active span { width: 20px !important; margin-right: 0 !important; align-self: center !important; }
.mt-hamburger.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
.mt-hamburger.is-active span:nth-child(2) { opacity: 0 !important; transform: scaleX(0) !important; }
.mt-hamburger.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }

body.mnav-open {
    overflow: hidden;
    touch-action: none;
}

@media (min-width: 1025px) {
    .mt-mnav { display: none !important; }
}

@media (max-width: 360px) {
    .mt-mnav__quick { gap: 6px; padding: 12px 14px; }
    .mt-mnav__qa { padding: 10px 2px; font-size: 9px; }
    .mt-mnav__body { padding: 10px 12px; }
    .mt-mnav__cards { gap: 6px; }
    .mt-mnav__card { min-height: 80px; padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .mt-mnav__panel, .mt-mnav__backdrop, .mt-mnav__sub, .mt-mnav__chev,
    .mt-mnav__qa, .mt-mnav__card, .mt-mnav__close, .mt-mnav__cta {
        transition: none !important;
    }
}

/* AI image disclaimer, sits under product gallery */
.mp-gallery__disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 14px 0 0;
    padding: 10px 12px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-left: 3px solid #2563EB;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.5;
    color: #475569;
}
.mp-gallery__disclaimer svg {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #2563EB;
}
.mp-gallery__disclaimer strong {
    color: #0A1E5E;
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* Get A Quote page, clean, focused redesign (v2) */

/* ═══════════════════════════════════════════════════════════════════ */
/* Get A Quote page, clean, focused redesign (v2) */
/* MARKER: mh-quote-page-2026-05-20 */
/* ═══════════════════════════════════════════════════════════════════ */

/* Background: subtle slate so cards lift */
.page-template-template-get-a-quote { background: #f8fafc }
.page-template-template-get-a-quote .mt-checkout-footer,
.page-template-template-get-a-quote footer.mt-footer { background: #fff }

/* Hide legacy hero / trust strip (overridden by new layout) */
.page-template-template-get-a-quote .mt-page-header,
.page-template-template-get-a-quote .mt-quote-trust-strip,
.page-template-template-get-a-quote .mt-quote-embed > noscript ~ * {
    display: none !important;
}

/* ── Intro ───────────────────────────────────────────────────────── */
.mt-quote-intro {
    padding: 56px 0 32px;
    text-align: center;
}
.mt-quote-intro__eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #2563EB;
    background: rgba(37,99,235,.08);
    padding: 5px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
}
.mt-quote-intro__title {
    font-family: 'Teko', 'Poppins', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 700;
    color: #0a1429;
    margin: 0 0 14px;
    letter-spacing: -.01em;
    line-height: 1.05;
}
.mt-quote-intro__desc {
    font-size: 16px;
    line-height: 1.55;
    color: #475569;
    max-width: 680px;
    margin: 0 auto 28px;
}

/* Trust pills, inline row */
.mt-quote-trust {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 12px;
}
.mt-quote-trust li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    letter-spacing: -.005em;
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.mt-quote-trust svg { color: #2563EB; flex-shrink: 0 }

@media (max-width: 768px) {
    .mt-quote-intro { padding: 40px 0 24px }
    .mt-quote-intro__desc { font-size: 14.5px }
    .mt-quote-trust li { padding: 7px 12px; font-size: 12.5px }
}

/* ── Form section ────────────────────────────────────────────────── */
.mt-quote-form {
    padding: 0 0 88px;
}
.mt-quote-form__wrap {
    position: relative;
    background: #fff;
    border-radius: 0;
    border: 0;
    clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 28px 100%, 0 calc(100% - 28px));
    -webkit-clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 28px 100%, 0 calc(100% - 28px));
    isolation: isolate;
    padding: 8px;
}
.mt-quote-form__wrap::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 80px; height: 4px;
    background: linear-gradient(90deg, #0A1E5E, #2563EB);
    z-index: 4;
    pointer-events: none;
}
.mt-quote-form__wrap::after {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 28px; height: 28px;
    background: #0A1E5E;
    clip-path: polygon(100% 0, 100% 100%, 0 0);
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 0);
    z-index: 3;
    pointer-events: none;
}

/* Help line below form */
.mt-quote-form__help {
    margin: 22px auto 0;
    text-align: center;
    font-size: 13.5px;
    color: #64748b;
    font-weight: 500;
}
.mt-quote-form__help a {
    color: #0A1E5E;
    font-weight: 700;
    text-decoration: none;
    margin: 0 4px;
}
.mt-quote-form__help a:hover { color: #2563EB }
.mt-quote-form__help span { color: #cbd5e1; margin: 0 4px }

/* React form internals, leave alone. The form ships its own shadcn/ui
   design tokens (HSL triplets) and overriding them breaks contrast. */

/* Mobile: less padding inside the cut-card */
@media (max-width: 640px) {
    .mt-quote-form__wrap {
        clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px)) !important;
        -webkit-clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px)) !important;
        padding: 4px;
    }
    .mt-quote-form__wrap::after { width: 22px; height: 22px }
    .mt-quote-form { padding: 0 0 64px }
}

/* mh-checkout-tighten-2026-05-26 — remove main padding on checkout page */
/* (the high-level Cart>Checkout>Confirmation bar is suppressed on step 2,
   so the 40px main padding leaves a big white gap above the inner step bar). */
body.is-checkout-flow #mt-main { padding: 0 !important; }

/* mh-sticky-bottom-clearance-2026-05-26 - dynamic JS-measured clearance */
#mt-main { padding-bottom: calc(var(--mt-sticky-bottom-h, 0px) + env(safe-area-inset-bottom, 0px)) !important; transition: padding-bottom .2s ease; }
 (max-width: 900px) {
    body.is-checkout-flow #mt-main {
        padding-bottom: calc(var(--mt-sticky-bottom-h, 110px) + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* mh-checkout-tighten-2026-05-26 — remove main padding on checkout page */
body.is-checkout-flow #mt-main { padding: 0 !important; }

/* mh-sticky-bottom-clearance-2026-05-26 — body padding for fixed-bottom UI */
body {
    padding-bottom: calc(var(--mt-sticky-bottom-h, 0px) + env(safe-area-inset-bottom, 0px)) !important;
    transition: padding-bottom .2s ease;
}
@media (max-width: 900px) {
    body.is-checkout-flow {
        padding-bottom: calc(var(--mt-sticky-bottom-h, 105px) + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ════════════════════════════════════════════════════════════════════ */
/* mh-archive-cards-match-home-2026-05-26                                */
/* Make archive (shop, category) product cards visually match homepage  */
/* .mh-pc cards: blue accent line top-left, navy triangle corner top-   */
/* right, hover lift + image zoom, blue eyebrow category, arrow circle  */
/* next to price.                                                       */
/* ════════════════════════════════════════════════════════════════════ */

.mighty-product-card { position: relative; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.mighty-product-card:hover { transform: translateY(-6px); }

.mighty-product-card-inner {
    position: relative !important;
    transition: filter .35s ease, box-shadow .35s ease !important;
}
.mighty-product-card:hover .mighty-product-card-inner {
    filter: drop-shadow(0 18px 30px rgba(10,30,94,.2)) drop-shadow(0 4px 8px rgba(10,30,94,.08));
}

/* Accent line top-left, grows on hover */
.mighty-product-card-inner::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 80px; height: 4px;
    background: linear-gradient(90deg, #0A1E5E, #2563EB);
    z-index: 5;
    transition: width .35s cubic-bezier(.2,.8,.2,1);
    pointer-events: none;
}
.mighty-product-card:hover .mighty-product-card-inner::before { width: 160px; }

/* Filled navy triangle corner top-right */
.mighty-product-card-inner::after {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 32px; height: 32px;
    background: #0A1E5E;
    clip-path: polygon(100% 0, 100% 100%, 0 0);
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 0);
    z-index: 4;
    transition: background .3s;
    pointer-events: none;
}
.mighty-product-card:hover .mighty-product-card-inner::after { background: #2563EB; }

/* Image zoom on hover */
.mighty-product-image { overflow: hidden; }
.mighty-product-image img {
    transition: transform .5s cubic-bezier(.2,.8,.2,1) !important;
}
.mighty-product-card:hover .mighty-product-image img { transform: scale(1.06); }

/* Eyebrow category — small uppercase blue letterspaced */
.mighty-product-category {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #2563EB !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    display: block;
}

/* Price block — bold navy, tighter */
.mighty-product-price {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0A1E5E !important;
    letter-spacing: -.01em !important;
}

/* Replace the View Product button visually with an arrow chevron circle.
   Hide the text label, render the chevron via the ::before of the cta el. */
.mighty-product-cta {
    position: absolute;
    bottom: 16px; right: 18px;
    width: 32px; height: 32px;
    border-radius: 50% !important;
    background: #0A1E5E !important;
    color: transparent !important;
    overflow: hidden;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    transition: background .3s, transform .3s;
    z-index: 5;
    font-size: 0 !important;
    border: none !important;
}
.mighty-product-cta::before {
    content: →;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}
.mighty-product-card:hover .mighty-product-cta {
    background: #2563EB !important;
    transform: translateX(3px);
}

/* Slightly tighten card body so the absolute arrow doesn't crowd content */
.mighty-product-info { padding-right: 56px !important; padding-bottom: 18px !important; }

/* mh-archive-cta-arrow-2026-05-26 — replace the 'View Product' text with an SVG chevron matching the homepage .mh-pc__arrow */
.mighty-product-cta {
    position: absolute !important;
    bottom: 16px !important; right: 18px !important;
    width: 32px !important; height: 32px !important;
    border-radius: 50% !important;
    background: #0A1E5E !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: none !important;
    font-size: 0 !important;
    text-indent: -9999px;
    overflow: hidden !important;
    transition: background .3s, transform .3s !important;
    z-index: 5 !important;
}
.mighty-product-cta::before { content: none !important; }
.mighty-product-cta svg {
    width: 14px !important;
    height: 14px !important;
    color: #fff !important;
    fill: currentColor !important;
    text-indent: 0;
    display: block;
    flex-shrink: 0;
}
.mighty-product-card:hover .mighty-product-cta {
    background: #2563EB !important;
    transform: translateX(3px);
}

/* mh-home-card-match-archive-2026-05-26 — make .mh-pc cards visually identical to archive .mighty-product-card-inner */

/* Hide the top-left 'PER METRE / FROM' chip (the price label now carries that info) */
.mh-pc .mh-pc__badge { display: none !important; }

/* Image area fills the top half edge-to-edge, no white margin */
.mh-pc .mh-pc__imgwrap {
    height: auto !important;
    aspect-ratio: 4/3 !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
}
.mh-pc .mh-pc__imgwrap::after { display: none !important; }
.mh-pc .mh-pc__imgwrap img { object-fit: cover !important; padding: 0 !important; }

/* Body solid grey (no white-to-grey 60% gradient that left a band) */
.mh-pc .mh-pc__shape {
    background: #f8fafc !important;
}

/* Price prefix/suffix sizing to match archive ('From £X.XX inc VAT') */
.mh-pc .mh-pc__foot {
    border-top: 1px solid #e6e9ee;
    padding-top: 12px;
    margin-top: 12px;
    align-items: baseline;
}
.mh-pc__price-prefix { font-size: 14px; font-weight: 700; color: #0A1E5E; letter-spacing: -.01em; margin-right: 2px; }
.mh-pc__price-amount { font-size: 20px; font-weight: 800; color: #0A1E5E; letter-spacing: -.015em; }
.mh-pc__price-suffix { font-size: 11px; font-weight: 600; color: #64748b; margin-left: 6px; letter-spacing: 0; }

/* Spec chips inherit site-wide CSS already, but make sure they sit on top */
.mh-pc .mighty-product-specs { z-index: 4; }

/* ════════════════════════════════════════════════════════════════════ */
/* mh-contact-uplift-2026-05-26 — bring the contact page in line with    */
/* the brand: chamfered cards, accent line, branded inputs, proper       */
/* two-column form/sidebar, polished map block.                          */
/* ════════════════════════════════════════════════════════════════════ */

/* === Contact method cards (Call / Email / Visit) === */
.mt-contact-methods {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
}
@media (max-width: 900px) { .mt-contact-methods { grid-template-columns: 1fr; gap: 14px; } }

.mt-contact-card {
    position: relative;
    background: #fff !important;
    border: 1px solid #e6e9ee !important;
    padding: 28px 24px !important;
    text-decoration: none;
    color: inherit !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
    box-shadow: 0 2px 10px -4px rgba(10,30,94,.06) !important;
    border-radius: 0 !important;
    overflow: hidden;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
    -webkit-clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}
.mt-contact-card::before {
    content: ""; position: absolute; top: 0; left: 0;
    width: 72px; height: 3px;
    background: linear-gradient(90deg, #0A1E5E, #2563EB);
    z-index: 3; transition: width .35s cubic-bezier(.2,.8,.2,1);
}
.mt-contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 44px -18px rgba(10,30,94,.2) !important;
    border-color: #cbd5e1 !important;
}
.mt-contact-card:hover::before { width: 140px; }

.mt-contact-card__icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px !important; height: 48px !important;
    background: rgba(37,99,235,0.1);
    color: #2563EB !important;
    border-radius: 12px;
    margin-bottom: 18px;
}
.mt-contact-card__icon svg { width: 22px; height: 22px; }
.mt-contact-card h3 {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #2563EB !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    margin: 0 0 8px !important;
}
.mt-contact-card__value {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #0a0f1a !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 8px !important;
    display: block;
    text-decoration: none !important;
}
.mt-contact-card p {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #64748b !important;
    margin: 0 !important;
}

/* === Form + Sidebar layout === */
.mt-contact-grid {
    display: grid !important;
    grid-template-columns: 1.4fr 1fr;
    gap: 48px;
    align-items: start;
    margin-top: 56px;
}
@media (max-width: 900px) { .mt-contact-grid { grid-template-columns: 1fr; gap: 32px; } }

.mt-contact-form-wrapper {
    position: relative;
    background: #fff;
    padding: 36px;
    border: 1px solid #e6e9ee;
    box-shadow: 0 2px 10px -4px rgba(10,30,94,.06);
    clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
    -webkit-clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
}
.mt-contact-form-wrapper::before {
    content: ""; position: absolute; top: 0; left: 0;
    width: 80px; height: 3px;
    background: linear-gradient(90deg, #0A1E5E, #2563EB);
    z-index: 3;
}
.mt-contact-form-wrapper .mt-section-title {
    font-size: clamp(1.5rem, 2.4vw, 1.85rem) !important;
    font-weight: 800 !important;
    color: #0a0f1a !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
}
.mt-contact-form-wrapper .mt-section-desc {
    font-size: 14.5px !important;
    color: #64748b !important;
    margin: 0 0 28px !important;
    line-height: 1.55 !important;
}

/* === Form fields === */
.mt-contact-form .mt-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 14px;
}
@media (max-width: 600px) { .mt-contact-form .mt-form-row { grid-template-columns: 1fr; } }
.mt-contact-form .mt-form-group { margin-bottom: 14px; }
.mt-contact-form label {
    display: block;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #0a0f1a !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
}
.mt-required { color: #dc2626; }
.mt-contact-form input,
.mt-contact-form textarea {
    width: 100%;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-family: inherit;
    font-size: 15px;
    color: #0a0f1a;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.mt-contact-form input:hover,
.mt-contact-form textarea:hover { background: #fff; border-color: #94a3b8; }
.mt-contact-form input:focus,
.mt-contact-form textarea:focus {
    outline: none;
    background: #fff;
    border-color: #2563EB;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}
.mt-contact-form textarea { resize: vertical; min-height: 120px; }
.mt-btn--full { width: 100%; margin-top: 8px; }

.mt-contact-success {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    padding: 28px;
    text-align: center;
    border-radius: 8px;
}
.mt-contact-success__icon { color: #16a34a; margin-bottom: 12px; }
.mt-contact-success__icon svg { width: 40px; height: 40px; }
.mt-contact-success h3 { font-size: 1.15rem; font-weight: 800; color: #0a0f1a; margin: 0 0 6px; }
.mt-contact-error {
    background: #fef2f2;
    border-left: 3px solid #dc2626;
    padding: 12px 16px;
    color: #991b1b;
    font-size: 14px;
    border-radius: 4px;
    margin-bottom: 16px;
}

/* === Sidebar (Hours, Quick Links, Follow Us) === */
.mt-contact-sidebar-col { position: sticky; top: 96px; }
@media (max-width: 900px) { .mt-contact-sidebar-col { position: static; } }

.mt-contact-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.mt-contact-hours,
.mt-contact-quick-links,
.mt-contact-social {
    position: relative;
    background: #fff !important;
    padding: 24px 26px !important;
    border: 1px solid #e6e9ee !important;
    box-shadow: 0 2px 10px -4px rgba(10,30,94,.06) !important;
    border-radius: 0 !important;
    clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
    -webkit-clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}
.mt-contact-hours::before,
.mt-contact-quick-links::before,
.mt-contact-social::before {
    content: ""; position: absolute; top: 0; left: 0;
    width: 60px; height: 3px;
    background: linear-gradient(90deg, #0A1E5E, #2563EB);
    z-index: 3;
}
.mt-contact-sidebar h3 {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #2563EB !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    margin: 0 0 14px !important;
}

.mt-hours-list { margin: 0; }
.mt-hours-list__row {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 9px 0 !important;
    border-bottom: 1px solid #f1f5f9;
    font-size: 14px;
}
.mt-hours-list__row:last-child { border-bottom: none; }
.mt-hours-list__row > *:first-child { font-weight: 700; color: #0a0f1a; }
.mt-hours-list__row > *:last-child { color: #57616d; }

.mt-contact-quick-links ul { list-style: none; padding: 0; margin: 0; }
.mt-contact-quick-links li { border-bottom: 1px solid #f1f5f9; }
.mt-contact-quick-links li:last-child { border-bottom: none; }
.mt-contact-quick-links a {
    display: block;
    padding: 11px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    text-decoration: none !important;
    transition: color .15s ease, padding-left .15s ease;
}
.mt-contact-quick-links a:hover {
    color: #2563EB !important;
    padding-left: 6px !important;
}

.mt-social-links {
    display: flex;
    gap: 10px;
}
.mt-social-links a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    background: rgba(37,99,235,0.1);
    color: #2563EB !important;
    border-radius: 50%;
    transition: background .2s, color .2s, transform .2s;
}
.mt-social-links a:hover {
    background: #2563EB;
    color: #fff !important;
    transform: translateY(-2px);
}

/* === Map section === */
.mt-map-section { padding-top: 64px; padding-bottom: 80px; }
.mt-map-heading { text-align: center; max-width: 640px; margin: 0 auto 32px; }
.mt-map-heading .mt-section__eyebrow {
    font-size: 12px; font-weight: 700; color: #2563EB; letter-spacing: 0.16em;
    text-transform: uppercase; margin: 0 0 10px; display: block;
}
.mt-map-heading .mt-section__title { margin: 0 0 12px; font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 800; color: #0a0f1a; letter-spacing: -0.015em; }
.mt-map-heading .mt-section__subtitle { font-size: 15px; color: #57616d; line-height: 1.6; margin: 0; }
.mt-map-container {
    overflow: hidden;
    border: 1px solid #e6e9ee;
    box-shadow: 0 2px 10px -4px rgba(10,30,94,.06);
    clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
    -webkit-clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
}
.mt-map-container iframe {
    display: block;
    width: 100%;
    height: 420px;
    border: 0;
}

/* mh-chamfer-edge-2026-05-26 — give every clip-path chamfered card a shadow
   that follows the cut corners (box-shadow can't), and a thin navy edge
   stroke on the chamfer via a layered white inset. */

.mt-contact-card,
.mt-contact-form-wrapper,
.mt-contact-hours,
.mt-contact-quick-links,
.mt-contact-social,
.mt-map-container,
.mt-product-link-card,
.mt-guide-step,
.mt-guide-nav,
.mt-delivery-card,
.mt-blog-card,
.mt-benefit-card,
.mt-bento-card,
.mt-deal-card,
.mt-info-card,
.mt-stat-card,
.mt-colour-card,
.mt-gallery-grid__item,
.delivery-collection-card,
.payment-method-card {
    background: #cbd5e1 !important;
    border: none !important;
    box-shadow: none !important;
    filter: drop-shadow(0 2px 10px rgba(10, 30, 94, 0.08)) drop-shadow(0 8px 24px rgba(10, 30, 94, 0.06));
    transition: filter .25s ease, transform .25s ease !important;
}
.mt-contact-card:hover,
.mt-contact-form-wrapper:hover,
.mt-contact-hours:hover,
.mt-contact-quick-links:hover,
.mt-contact-social:hover,
.mt-product-link-card:hover,
.mt-guide-step:hover,
.mt-delivery-card:hover,
.mt-blog-card:hover,
.mt-benefit-card:hover,
.mt-bento-card:hover,
.mt-deal-card:hover,
.mt-info-card:hover,
.mt-stat-card:hover,
.mt-colour-card:hover,
.delivery-collection-card:hover {
    filter: drop-shadow(0 6px 14px rgba(10, 30, 94, 0.12)) drop-shadow(0 18px 36px rgba(10, 30, 94, 0.16));
}

/* Inset white panel that respects the chamfer — gives the 1px navy/grey edge */
.mt-contact-card::after,
.mt-contact-form-wrapper::after,
.mt-contact-hours::after,
.mt-contact-quick-links::after,
.mt-contact-social::after,
.mt-product-link-card::after,
.mt-guide-step::after,
.mt-guide-nav::after,
.mt-delivery-card::after,
.mt-blog-card::after,
.mt-benefit-card::after,
.mt-bento-card::after,
.mt-deal-card::after,
.mt-info-card::after,
.mt-stat-card::after,
.mt-colour-card::after,
.delivery-collection-card::after,
.payment-method-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 1px !important;
    background: #fff !important;
    clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 21px 100%, 0 calc(100% - 21px)) !important;
    -webkit-clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 21px 100%, 0 calc(100% - 21px)) !important;
    z-index: 0 !important;
    pointer-events: none !important;
    display: block !important;
}
/* Lift card contents above the inset white panel */
.mt-contact-card > *,
.mt-contact-form-wrapper > *,
.mt-contact-hours > *,
.mt-contact-quick-links > *,
.mt-contact-social > *,
.mt-product-link-card > *,
.mt-guide-step > *,
.mt-guide-nav > *,
.mt-delivery-card > *,
.mt-blog-card > *,
.mt-benefit-card > *,
.mt-bento-card > *,
.mt-deal-card > *,
.mt-info-card > *,
.mt-stat-card > *,
.mt-colour-card > * {
    position: relative;
    z-index: 1;
}
/* Accent line ::before must sit above the white inset */
.mt-contact-card::before,
.mt-contact-form-wrapper::before,
.mt-contact-hours::before,
.mt-contact-quick-links::before,
.mt-contact-social::before,
.mt-product-link-card::before,
.mt-guide-step::before,
.mt-delivery-card::before,
.mt-blog-card::before,
.mt-benefit-card::before,
.mt-bento-card::before,
.mt-deal-card::before,
.mt-info-card::before,
.mt-stat-card::before,
.mt-colour-card::before,
.delivery-collection-card::before,
.payment-method-card::before {
    z-index: 5 !important;
}

/* Map iframe sits at root level so it doesn't get covered by the inset */
.mt-map-container::after { display: none !important; }

/* mh-map-card-2026-05-26 — static map + address card */
.mt-map-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 24px;
    align-items: stretch;
}
@media (max-width: 900px) { .mt-map-grid { grid-template-columns: 1fr; } }

.mt-map-container {
    position: relative;
    display: block;
    text-decoration: none;
    background: #cbd5e1;
    border: none;
    padding: 0;
    overflow: hidden;
    clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
    -webkit-clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
    filter: drop-shadow(0 2px 10px rgba(10,30,94,.08)) drop-shadow(0 8px 24px rgba(10,30,94,.06));
    transition: filter .25s ease;
    min-height: 360px;
    color: inherit;
}
.mt-map-container:hover { filter: drop-shadow(0 6px 14px rgba(10,30,94,.14)) drop-shadow(0 18px 36px rgba(10,30,94,.16)); }
.mt-map-container img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    inset: 1px;
    clip-path: polygon(0 0, calc(100% - 23px) 0, 100% 23px, 100% 100%, 23px 100%, 0 calc(100% - 23px));
    -webkit-clip-path: polygon(0 0, calc(100% - 23px) 0, 100% 23px, 100% 100%, 23px 100%, 0 calc(100% - 23px));
    z-index: 0;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
}
.mt-map-container__pin {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -100%);
    width: 44px; height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    background: #0A1E5E;
    color: #fff;
    border-radius: 50%;
    box-shadow: 0 6px 18px -4px rgba(10,30,94,.5);
    z-index: 2;
}
.mt-map-container__pin svg { width: 22px; height: 22px; }
.mt-map-container__cta {
    position: absolute;
    left: 16px; bottom: 16px;
    background: #fff;
    color: #0A1E5E;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: -0.005em;
    display: inline-flex; align-items: center; gap: 6px;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(10,30,94,.15);
    z-index: 2;
    text-decoration: none;
}
.mt-map-container__cta svg { width: 12px; height: 12px; color: #2563EB; }

.mt-map-address {
    position: relative;
    background: #cbd5e1;
    padding: 0;
    border: none;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
    -webkit-clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
    filter: drop-shadow(0 2px 10px rgba(10,30,94,.08)) drop-shadow(0 8px 24px rgba(10,30,94,.06));
    display: flex; flex-direction: column;
    overflow: hidden;
    min-height: 360px;
}
.mt-map-address::after {
    content: ; position: absolute; inset: 1px;
    background: #fff;
    clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 21px 100%, 0 calc(100% - 21px));
    -webkit-clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 21px 100%, 0 calc(100% - 21px));
    z-index: 0;
}
.mt-map-address::before {
    content: ; position: absolute; top: 0; left: 0;
    width: 72px; height: 3px;
    background: linear-gradient(90deg, #0A1E5E, #2563EB);
    z-index: 5;
}
.mt-map-address > * { position: relative; z-index: 1; }
.mt-map-address {
    padding: 28px 26px;
}
.mt-map-address .mt-section__eyebrow {
    font-size: 11px; font-weight: 800; color: #2563EB; letter-spacing: .14em;
    text-transform: uppercase; margin: 8px 0 14px; display: block;
}
.mt-map-address__line {
    font-size: 15px;
    line-height: 1.55;
    color: #0a0f1a;
    margin: 0 0 4px;
}
.mt-map-address__line strong { font-weight: 800; }
.mt-map-address__actions {
    display: flex; flex-direction: column; gap: 10px;
    margin-top: 22px;
}
.mt-map-address__actions .mt-btn { justify-content: center; }

/* mh-map-osm-2026-05-26 — OSM iframe inside chamfered card; address card gets white inset */
.mt-map-container { background: #cbd5e1 !important; }
.mt-map-container iframe {
    display: block !important;
    width: calc(100% - 2px) !important;
    height: calc(100% - 2px) !important;
    border: 0 !important;
    position: absolute;
    inset: 1px;
    clip-path: polygon(0 0, calc(100% - 23px) 0, 100% 23px, 100% 100%, 23px 100%, 0 calc(100% - 23px));
    -webkit-clip-path: polygon(0 0, calc(100% - 23px) 0, 100% 23px, 100% 100%, 23px 100%, 0 calc(100% - 23px));
    z-index: 1;
}

/* CTA chip on top of map */
.mt-map-container .mt-map-container__cta {
    position: absolute !important;
    left: 16px !important; bottom: 16px !important;
    background: #fff !important;
    color: #0A1E5E !important;
    padding: 9px 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: -0.005em !important;
    display: inline-flex !important; align-items: center; gap: 6px;
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(10,30,94,.25) !important;
    z-index: 3 !important;
    text-decoration: none !important;
}
.mt-map-container .mt-map-container__cta svg { color: #2563EB; }

/* Address card white inset (matches every other chamfered card) */
.mt-map-address { background: #cbd5e1 !important; }
.mt-map-address::after {
    content:  !important;
    position: absolute !important;
    inset: 1px !important;
    background: #fff !important;
    clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 21px 100%, 0 calc(100% - 21px)) !important;
    -webkit-clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 21px 100%, 0 calc(100% - 21px)) !important;
    z-index: 0 !important;
}
.mt-map-address > * { position: relative; z-index: 1; }

/* mh-archive-top-cleanup-2026-05-26 — the wrapper page.php now owns the H1
   + breadcrumb on /product-category/{slug}/, so hide the duplicate set the
   product-archive template renders. Also drop the redundant 'X products found'
   under the wrapper title (the same count appears in the archive toolbar). */
body.page-template-default .mighty-products-archive .mighty-breadcrumb,
body.page-template-default .mighty-products-archive .mighty-archive-header,
body.page-template-default .mighty-products-archive .mighty-archive-title {
    display: none !important;
}
body.page-template-default .mighty-products-archive {
    padding-top: 8px;
}
/* Trim the page-content padding so the navy hero sits flush */
body.page-template-default .mt-page-content { padding-top: 28px !important; padding-bottom: 80px; }

/* Polish the navy page header so it matches the homepage CTA */
.mt-page-header {
    position: relative;
    background: linear-gradient(135deg, #06133D 0%, #0A1E5E 100%);
    color: #fff;
    overflow: hidden;
    padding: clamp(48px, 6vw, 72px) 0;
    isolation: isolate;
}
.mt-page-header__bg {
    position: absolute; inset: 0; z-index: 0;
    background:
        radial-gradient(ellipse 60% 50% at 18% 0%, rgba(37,99,235,.22) 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 88% 100%, rgba(37,99,235,.16) 0%, transparent 60%);
    pointer-events: none;
}
.mt-page-header .mt-container { position: relative; z-index: 1; }
.mt-page-header .mt-breadcrumb {
    display: inline-flex; align-items: center; gap: 8px;
    margin-bottom: 14px;
    font-size: 13px;
    color: rgba(255,255,255,.78);
    font-weight: 600;
}
.mt-page-header .mt-breadcrumb a { color: rgba(255,255,255,.92); text-decoration: none; }
.mt-page-header .mt-breadcrumb a:hover { color: #60a5fa; }
.mt-page-header .mt-breadcrumb__sep { color: rgba(255,255,255,.35); }
.mt-page-header__title {
    font-family: 'Teko', 'Poppins', sans-serif;
    font-size: clamp(2.2rem, 4.6vw, 3.2rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.015em;
    color: #fff;
    margin: 0 0 10px;
    text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.mt-page-header__desc {
    font-size: 15.5px;
    line-height: 1.55;
    color: rgba(255,255,255,.85);
    max-width: 640px;
    margin: 0 0 18px;
}
.mt-page-header__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.mt-page-header__pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: rgba(255,255,255,.92);
}
.mt-page-header__pill svg { width: 13px; height: 13px; opacity: .85; }

/* On category pages, hide the trust pills (the category H1 is the focus) */
.mt-page-header--category .mt-page-header__pills { display: none; }

/* ════════════════════════════════════════════════════════════════════ */
/* v17 — Category intro card + archive breadcrumb dedupe                */
/* ════════════════════════════════════════════════════════════════════ */
.mighty-category-intro {
    max-width: 880px;
    margin: 0 auto 28px;
    padding: 22px 26px 18px;
    background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%);
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    position: relative;
    box-shadow: 0 4px 14px -8px rgba(10,30,94,.08);
    overflow: hidden;
}
.mighty-category-intro::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 72px; height: 4px;
    background: linear-gradient(90deg, #0A1E5E 0%, #2563EB 100%);
    border-bottom-right-radius: 4px;
    pointer-events: none;
}
.mighty-category-intro::after {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 0; height: 0;
    border-style: solid;
    border-width: 0 22px 22px 0;
    border-color: transparent #0A1E5E transparent transparent;
    pointer-events: none;
}
.mighty-category-intro p {
    margin: 0 0 12px;
    color: #0F172A;
    font-size: 15.5px;
    line-height: 1.6;
    letter-spacing: -0.005em;
}
.mighty-category-intro p:last-child { margin-bottom: 0; }
.mighty-category-intro strong { color: #0A1E5E; font-weight: 700; }
@media (max-width: 640px) {
    .mighty-category-intro { padding: 18px 18px 14px; margin-bottom: 22px; }
    .mighty-category-intro p { font-size: 14.5px; }
}

/* Hide the in-archive breadcrumb when a navy page hero already shows one above */
body.product-category .mt-page-header + .mt-page-content .mighty-products-archive > .mighty-container > .mighty-breadcrumb,
.mt-page-header + .mt-page-content .mighty-products-archive .mighty-breadcrumb {
    display: none;
}
/* Also hide the archive's H1 when the hero already shows the title */
.mt-page-header + .mt-page-content .mighty-products-archive .mighty-archive-title {
    display: none;
}
/* Tighten the gap between intro and product grid */
.mt-page-header + .mt-page-content .mighty-products-archive { padding-top: 4px; }
.mt-page-header + .mt-page-content .mighty-archive-header { margin-top: 0; }

/* v18 — Category intro rendered INSIDE the navy hero */
.mt-page-header__intro {
    margin-top: 12px;
    max-width: 1100px;
}
.mt-page-header__intro p {
    margin: 0 0 8px;
    color: rgba(255,255,255,.85);
    font-size: 14.5px;
    line-height: 1.55;
    letter-spacing: -0.005em;
    break-inside: avoid;
}
.mt-page-header__intro p:last-child { margin-bottom: 0; }
.mt-page-header__intro strong { color: #fff; font-weight: 700; }
.mt-page-header__intro a { color: #FBBF24; text-decoration: underline; }
.mt-page-header__intro a:hover { color: #fff; }
@media (max-width: 640px) {
    .mt-page-header__intro p { font-size: 14px; }
}

/* Hide the duplicate in-content intro card now that it lives in the hero */
.mighty-category-intro { display: none !important; }

.mt-page-header:has(.mt-page-header__intro) {
    padding: clamp(36px, 4vw, 56px) 0;
}
.mt-page-header__title { margin-bottom: 6px; }

/* ════════════════════════════════════════════════════════════════════ */
/* v20 — info page brand polish (Fitting Guide / Delivery / Colour Chart) */
/* Apply canonical brand card aesthetic from .mighty-category-intro:    */
/*   - white→#F8FAFC vertical gradient                                  */
/*   - 14px radius, 1.5px #e2e8f0 border                                */
/*   - 72×4px navy→blue accent line top-left                            */
/*   - 22×22 navy triangle top-right                                    */
/*   - soft shadow + hover lift                                         */
/* ════════════════════════════════════════════════════════════════════ */

/* Shared brand-card mixin via :is() ─ override v17 grey wash overrides  */
.mt-guide-step,
.mt-guide-nav,
.mt-guide-tip,
.mt-delivery-card,
.mt-info-card,
.mt-colour-info,
.mt-colour-info__note,
.mt-delivery-region,
.mt-product-link-card,
.mt-spec-table {
    position: relative !important;
    background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%) !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px -8px rgba(10,30,94,.08) !important;
    overflow: hidden !important;
    filter: none !important;
    transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease !important;
}

/* Hover lift — applied to interactive cards (skip static spec-table & note) */
.mt-guide-step:hover,
.mt-delivery-card:hover,
.mt-info-card:hover,
.mt-delivery-region:hover,
.mt-product-link-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px -14px rgba(10,30,94,.22), 0 4px 12px -6px rgba(10,30,94,.10) !important;
    border-color: #cbd5e1 !important;
}

/* Blue accent line top-left (72×4) */
.mt-guide-step::before,
.mt-guide-nav::before,
.mt-guide-tip::before,
.mt-delivery-card::before,
.mt-info-card::before,
.mt-delivery-region::before,
.mt-colour-info__note::before,
.mt-product-link-card::before,
.mt-spec-table::before {
    content: '' !important;
    position: absolute !important;
    top: 0; left: 0;
    width: 72px; height: 4px;
    background: linear-gradient(90deg, #0A1E5E 0%, #2563EB 100%) !important;
    border-bottom-right-radius: 4px;
    pointer-events: none;
    z-index: 3;
    transition: width .35s cubic-bezier(.2,.8,.2,1);
}

.mt-guide-step:hover::before,
.mt-delivery-card:hover::before,
.mt-info-card:hover::before,
.mt-delivery-region:hover::before,
.mt-product-link-card:hover::before {
    width: 140px;
}

/* Navy triangle top-right */
.mt-guide-step::after,
.mt-guide-nav::after,
.mt-delivery-card::after,
.mt-info-card::after,
.mt-delivery-region::after,
.mt-product-link-card::after,
.mt-spec-table::after {
    content: '' !important;
    position: absolute !important;
    top: 0; right: 0;
    width: 0; height: 0;
    border-style: solid;
    border-width: 0 22px 22px 0;
    border-color: transparent #0A1E5E transparent transparent;
    pointer-events: none;
    z-index: 3;
    transition: border-color .3s ease;
}

.mt-guide-step:hover::after,
.mt-delivery-card:hover::after,
.mt-info-card:hover::after,
.mt-delivery-region:hover::after,
.mt-product-link-card:hover::after {
    border-color: transparent #2563EB transparent transparent;
}

/* ──────────────────────── Fitting Guide ──────────────────────────── */

/* Step card — flex layout, padding inside, premium */
.mt-guide-step {
    display: flex !important;
    gap: 22px !important;
    padding: 28px 28px 24px !important;
    margin-bottom: 24px !important;
    border-bottom: none !important;
    align-items: flex-start;
}
.mt-guide-step:last-child { margin-bottom: 0 !important; }
.mt-guide-step > div:not(.mt-guide-step__number) {
    flex: 1;
    min-width: 0;
}
.mt-guide-step h2 {
    color: #0A1E5E !important;
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    margin: 4px 0 12px !important;
    line-height: 1.25;
}
.mt-guide-step p {
    color: #475569 !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
    margin-bottom: 14px;
}
.mt-guide-step__image {
    margin: 14px 0 6px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    max-width: 100%;
    height: auto;
}

/* Step number — substantial navy gradient with shadow */
.mt-guide-step__number {
    flex-shrink: 0 !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #0A1E5E 0%, #2563EB 100%) !important;
    color: #fff !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    letter-spacing: -0.02em;
    box-shadow: 0 6px 16px -6px rgba(10,30,94,.45), inset 0 1px 0 rgba(255,255,255,.18);
    position: relative;
    z-index: 2;
    margin-top: 2px;
}
.mt-guide-step__number::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 16px;
    border: 1.5px solid rgba(37,99,235,.18);
    pointer-events: none;
}

/* Sidebar nav — sticky brand card */
.mt-guide-nav {
    padding: 22px 22px 20px !important;
    position: sticky;
    top: 90px;
    align-self: start;
}
.mt-guide-nav h3 {
    color: #0A1E5E !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    margin: 2px 0 14px !important;
}
.mt-guide-nav ul { list-style: none; padding: 0; margin: 0 0 18px; }
.mt-guide-nav li { margin: 0; }
.mt-guide-nav a {
    display: block !important;
    padding: 9px 12px !important;
    margin: 2px -6px !important;
    color: #475569 !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background .2s, color .2s, transform .2s;
    border-left: 2px solid transparent;
}
.mt-guide-nav a:hover {
    background: rgba(37,99,235,.08) !important;
    color: #0A1E5E !important;
    border-left-color: #2563EB;
    transform: translateX(2px);
}
.mt-guide-nav__cta {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}
.mt-guide-nav__cta p {
    font-size: 0.85rem;
    color: #64748b;
    margin: 0 0 10px;
    font-weight: 500;
}

/* Tip box — subtle bg, blue accent already inherited */
.mt-guide-tip {
    padding: 16px 20px !important;
    margin: 18px 0 6px !important;
    color: #334155 !important;
    font-size: 0.94rem !important;
    line-height: 1.6;
    background: linear-gradient(180deg, #FFFBEB 0%, #FEF3C7 100%) !important;
    border-color: #FDE68A !important;
}
.mt-guide-tip::before {
    background: linear-gradient(90deg, #F59E0B 0%, #FBBF24 100%) !important;
}
.mt-guide-tip strong { color: #0A1E5E; font-weight: 700; }
.mt-guide-tip a { color: #2563EB; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(37,99,235,.4); }
.mt-guide-tip a:hover { text-decoration-color: #2563EB; }

/* Spec table — brand colours, navy header, alt row tint */
.mt-spec-table {
    padding: 0 !important;
    margin: 18px 0 14px !important;
    overflow: hidden !important;
}
.mt-spec-table table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    background: transparent;
}
.mt-spec-table thead {
    background: linear-gradient(135deg, #0A1E5E 0%, #1E3A8A 100%);
}
.mt-spec-table th {
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 14px 18px !important;
    text-align: left !important;
    border: none !important;
}
.mt-spec-table th:first-child { padding-left: 22px !important; }
.mt-spec-table td {
    padding: 13px 18px !important;
    color: #334155 !important;
    font-size: 0.94rem !important;
    border: none !important;
    border-top: 1px solid #e2e8f0 !important;
    background: transparent !important;
}
.mt-spec-table td:first-child { padding-left: 22px !important; }
.mt-spec-table tbody tr:nth-child(even) td { background: rgba(248,250,252,.6) !important; }
.mt-spec-table tbody tr:hover td { background: rgba(37,99,235,.05) !important; }
.mt-spec-table strong { color: #0A1E5E; font-weight: 800; }

/* Checklist — premium feel */
.mt-guide-checklist {
    display: grid;
    gap: 10px;
    margin: 16px 0 6px;
}
.mt-guide-checklist__item {
    display: flex !important;
    align-items: flex-start;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: linear-gradient(180deg, #F0FDF4 0%, #ECFDF5 100%) !important;
    border: 1px solid #BBF7D0 !important;
    border-radius: 10px !important;
    color: #14532D !important;
    font-size: 0.94rem !important;
    line-height: 1.5 !important;
    font-weight: 500;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.mt-guide-checklist__item:hover {
    transform: translateX(3px);
    border-color: #86EFAC;
    box-shadow: 0 6px 16px -8px rgba(20,83,45,.18);
}
.mt-guide-checklist__item::before { display: none !important; }
.mt-guide-checklist__item svg {
    flex-shrink: 0;
    width: 20px; height: 20px;
    color: #16A34A;
    margin-top: 1px;
}

/* ──────────────────────── Delivery page ─────────────────────────── */

.mt-delivery-card {
    padding: 28px 26px 24px !important;
    text-align: left;
}
.mt-delivery-card__icon {
    width: 54px !important;
    height: 54px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #0A1E5E 0%, #2563EB 100%) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    margin-bottom: 16px !important;
    box-shadow: 0 6px 16px -6px rgba(10,30,94,.4);
    position: relative;
    z-index: 2;
}
.mt-delivery-card__icon svg { width: 26px; height: 26px; }
.mt-delivery-card h3 {
    color: #0A1E5E !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    margin: 0 0 6px !important;
    letter-spacing: -0.01em;
}
.mt-delivery-card__time {
    display: inline-block;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #2563EB !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    background: rgba(37,99,235,.08);
    padding: 4px 10px;
    border-radius: 6px;
    margin: 0 0 12px !important;
}
.mt-delivery-card p {
    color: #475569 !important;
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
    margin: 0;
}

/* Info cards (delivery details quad) */
.mt-info-card {
    padding: 24px 24px 20px !important;
}
.mt-info-card h3 {
    color: #0A1E5E !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    margin: 4px 0 10px !important;
    letter-spacing: -0.01em;
}
.mt-info-card p {
    color: #475569 !important;
    font-size: 0.93rem !important;
    line-height: 1.6 !important;
    margin: 0;
}
.mt-info-card a { color: #2563EB; font-weight: 700; }

/* Delivery regions */
.mt-delivery-region {
    padding: 22px 24px 20px !important;
}
.mt-delivery-region h3 {
    color: #0A1E5E !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    margin: 4px 0 10px !important;
    letter-spacing: -0.01em;
}
.mt-delivery-region p {
    color: #475569 !important;
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
    margin: 0;
}

/* ──────────────────────── Colour Chart page ─────────────────────── */

.mt-colour-info {
    padding: 28px 30px 24px !important;
    align-items: start;
}
.mt-colour-info__text h2 {
    color: #0A1E5E !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    margin: 4px 0 12px !important;
    letter-spacing: -0.01em;
}
.mt-colour-info__text p {
    color: #475569 !important;
    font-size: 0.96rem !important;
    line-height: 1.65 !important;
}
.mt-colour-info__text .mt-feature-list { margin-top: 14px; }
.mt-colour-info__text .mt-feature-list li {
    color: #334155;
    font-size: 0.94rem;
    line-height: 1.6;
    margin-bottom: 8px;
}
.mt-colour-info__text .mt-feature-list strong { color: #0A1E5E; font-weight: 700; }

/* Note callout — amber/warning tone */
.mt-colour-info__note {
    padding: 18px 20px !important;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: linear-gradient(180deg, #FFFBEB 0%, #FEF3C7 100%) !important;
    border-color: #FDE68A !important;
}
.mt-colour-info__note::before {
    background: linear-gradient(90deg, #F59E0B 0%, #FBBF24 100%) !important;
}
.mt-colour-info__note svg {
    flex-shrink: 0;
    color: #B45309;
    width: 22px; height: 22px;
    margin-top: 2px;
}
.mt-colour-info__note p {
    margin: 0;
    color: #78350F !important;
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
}
.mt-colour-info__note strong { color: #78350F; font-weight: 800; }

/* Colour swatches — premium feel */
.mt-colour-card {
    background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%) !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px -8px rgba(10,30,94,.08) !important;
    overflow: hidden !important;
    filter: none !important;
    transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease !important;
    position: relative;
}
.mt-colour-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 32px -14px rgba(10,30,94,.22), 0 4px 12px -6px rgba(10,30,94,.10) !important;
    border-color: #cbd5e1 !important;
}
.mt-colour-card__swatch {
    height: 90px !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    transition: transform .35s;
    position: relative;
}
.mt-colour-card:hover .mt-colour-card__swatch { transform: scale(1.03); }
.mt-colour-card__swatch--light {
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
}
.mt-colour-card__name {
    display: block;
    padding: 12px 14px !important;
    text-align: center;
    color: #0A1E5E !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.005em;
}

/* ──────────────────────── Product link cards (shared) ────────────── */

.mt-product-link-card {
    padding: 26px 24px 22px !important;
    display: block;
    text-decoration: none !important;
    color: inherit !important;
}
.mt-product-link-card > svg:first-of-type {
    width: 38px !important;
    height: 38px !important;
    padding: 8px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0A1E5E 0%, #2563EB 100%);
    color: #fff;
    margin-bottom: 14px;
    box-shadow: 0 6px 16px -6px rgba(10,30,94,.4);
    position: relative;
    z-index: 2;
}
.mt-product-link-card h3 {
    color: #0A1E5E !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    margin: 0 0 6px !important;
    letter-spacing: -0.01em;
}
.mt-product-link-card p {
    color: #475569 !important;
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
    margin: 0 0 12px;
}
.mt-product-link-card__cta {
    display: inline-flex !important;
    align-items: center;
    color: #2563EB !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    transition: transform .3s, color .3s;
}
.mt-product-link-card:hover .mt-product-link-card__cta {
    color: #0A1E5E !important;
    transform: translateX(3px);
}

/* ──────────────────────── Page hero polish ──────────────────────── */
/* Title + subtitle consistency for the three info pages on .mt-page-hero--bg */
.mt-page-hero--bg .mt-page-hero__title {
    font-weight: 800;
    letter-spacing: -0.02em;
}
.mt-page-hero--bg .mt-page-hero__subtitle {
    color: rgba(255,255,255,.88);
    font-weight: 500;
    max-width: 760px;
    line-height: 1.55;
}

/* ──────────────────────── Responsive ──────────────────────────── */
@media (max-width: 768px) {
    .mt-guide-step {
        flex-direction: column;
        gap: 14px !important;
        padding: 22px 20px 20px !important;
    }
    .mt-guide-step__number {
        width: 44px !important; height: 44px !important;
        font-size: 1.2rem !important;
        border-radius: 12px !important;
    }
    .mt-guide-step h2 { font-size: 1.25rem !important; }
    .mt-guide-nav { position: static; }
    .mt-spec-table th, .mt-spec-table td { padding: 11px 12px !important; font-size: 0.85rem !important; }
    .mt-spec-table th:first-child, .mt-spec-table td:first-child { padding-left: 14px !important; }
}
/* ════════════════ END v20 — info page brand polish ═══════════════ */

/* ════════════════════════════════════════════════════════════════════ */
/* v21 — Apply chamfered octagonal corners to brand cards               */
/* matches .mh-pc on the homepage: 32px notch top-right + bottom-left   */
/* ════════════════════════════════════════════════════════════════════ */
.mighty-category-intro,
.mt-guide-step,
.mt-guide-tip,
.mt-guide-nav,
.mt-spec-table,
.mt-delivery-card,
.mt-info-card,
.mt-delivery-region,
.mt-colour-info,
.mt-colour-info__note,
.mt-colour-card,
.mt-product-link-card,
.mt-stat-card {
    --cnr: 22px;
    clip-path: polygon(
        0 0,
        calc(100% - var(--cnr)) 0,
        100% var(--cnr),
        100% 100%,
        var(--cnr) 100%,
        0 calc(100% - var(--cnr))
    );
    -webkit-clip-path: polygon(
        0 0,
        calc(100% - var(--cnr)) 0,
        100% var(--cnr),
        100% 100%,
        var(--cnr) 100%,
        0 calc(100% - var(--cnr))
    );
    border-radius: 0 !important;
    border: 0 !important;
}

/* Tip / table-wrap / smaller cards get a tighter chamfer */
.mt-guide-tip,
.mt-colour-info__note,
.mt-stat-card {
    --cnr: 16px;
}

/* The ::after navy triangle should now align with the clip-path notch */
.mighty-category-intro::after,
.mt-guide-step::after,
.mt-guide-tip::after,
.mt-guide-nav::after,
.mt-spec-table::after,
.mt-delivery-card::after,
.mt-info-card::after,
.mt-delivery-region::after,
.mt-colour-info::after,
.mt-colour-info__note::after,
.mt-colour-card::after,
.mt-product-link-card::after {
    display: none !important;
}

/* The blue accent line top-left should sit flush against the chamfer */
.mighty-category-intro::before,
.mt-guide-step::before,
.mt-guide-tip::before,
.mt-guide-nav::before,
.mt-spec-table::before,
.mt-delivery-card::before,
.mt-info-card::before,
.mt-delivery-region::before,
.mt-colour-info::before,
.mt-colour-info__note::before,
.mt-colour-card::before,
.mt-product-link-card::before {
    top: 0 !important;
    left: 0 !important;
    width: 72px !important;
    height: 4px !important;
}

/* Drop-shadow filter (works with clip-path, unlike box-shadow) */
.mighty-category-intro,
.mt-guide-step,
.mt-guide-tip,
.mt-guide-nav,
.mt-spec-table,
.mt-delivery-card,
.mt-info-card,
.mt-delivery-region,
.mt-colour-info,
.mt-colour-info__note,
.mt-colour-card,
.mt-product-link-card,
.mt-stat-card {
    box-shadow: none !important;
    filter: drop-shadow(0 6px 18px rgba(10, 30, 94, .14)) drop-shadow(0 2px 4px rgba(10, 30, 94, .06));
    transition: filter .3s ease, transform .3s ease;
}
.mt-guide-step:hover,
.mt-delivery-card:hover,
.mt-info-card:hover,
.mt-delivery-region:hover,
.mt-colour-card:hover,
.mt-product-link-card:hover {
    filter: drop-shadow(0 18px 38px rgba(10, 30, 94, .22)) drop-shadow(0 5px 12px rgba(10, 30, 94, .10));
}

/* Hero category intro is INSIDE a navy hero — no card chamfer there, just text */
.mt-page-header__intro { clip-path: none !important; filter: none !important; }

/* v22 — Wider Products You'll Need section + stronger shadow */
.mt-section .mt-product-links-grid {
    max-width: 100%;
}
.mt-section:has(.mt-product-links-grid) > .mt-container {
    max-width: min(1800px, 96vw);
}
.mt-product-links-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 22px;
}
.mt-product-link-card {
    filter: drop-shadow(0 6px 18px rgba(10, 30, 94, .14)) drop-shadow(0 2px 4px rgba(10, 30, 94, .06));
}
.mt-product-link-card:hover {
    filter: drop-shadow(0 16px 34px rgba(10, 30, 94, .22)) drop-shadow(0 4px 10px rgba(10, 30, 94, .10));
    transform: translateY(-3px);
}

/* ===================================================================
   mh-fitting-guide-align-2026-06-01
   Bring the Fitting Guide cards/boxes in line with the brand card
   system (matches delivery/contact cards). Appended last so it wins.
   =================================================================== */

/* Step number badge -> clean circular brand badge (matches homepage steps) */
.mt-guide-step__number {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #0A1E5E 0%, #2563EB 100%) !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 800 !important;
    font-size: 1.2rem !important;
    box-shadow: 0 6px 16px -6px rgba(10,30,94,.45) !important;
    align-self: flex-start;
}
.mt-guide-step__number::after { display: none !important; }

/* Diagram/step images -> chamfered to match the card, drop the rounded box */
.mt-guide-step__image {
    border: none !important;
    border-radius: 0 !important;
    margin: 16px 0 4px !important;
    -webkit-clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
    background: #fff;
}

/* Layout/spacing -> align sidebar + content rhythm with the rest of the site */
.mt-guide-layout { gap: 40px !important; align-items: start; }
.mt-guide-nav { position: sticky; top: 100px; align-self: start; }
@media (max-width: 900px) {
    .mt-guide-layout { grid-template-columns: 1fr !important; }
    .mt-guide-nav { position: static; }
}

/* mh-fitting-guide-align-2026-06-01 (part 2) — give the step card the same
   crisp chamfered edge + elevation as the delivery/contact cards. */
.mt-guide-step {
    background: #cbd5e1 !important;            /* 1.5px chamfer edge colour */
    filter: drop-shadow(0 8px 22px rgba(10,30,94,.12)) drop-shadow(0 2px 6px rgba(10,30,94,.07)) !important;
}
.mt-guide-step::after {
    content: '' !important;
    position: absolute !important;
    inset: 1.5px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
    -webkit-clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 21px 100%, 0 calc(100% - 21px)) !important;
    clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 21px 100%, 0 calc(100% - 21px)) !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
.mt-guide-step > * { position: relative !important; z-index: 1 !important; }
.mt-guide-step:hover {
    filter: drop-shadow(0 18px 40px rgba(10,30,94,.20)) drop-shadow(0 5px 12px rgba(10,30,94,.10)) !important;
}

/* mh-fitting-guide-align-2026-06-01 (part 3) — clean white chamfered card,
   strong shadow, no conflicting grey inset. */
.mt-guide-content .mt-guide-step {
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%) !important;
    filter: drop-shadow(0 10px 26px rgba(10,30,94,.13)) drop-shadow(0 3px 7px rgba(10,30,94,.07)) !important;
}
.mt-guide-content .mt-guide-step::after { display: none !important; }
.mt-guide-content .mt-guide-step:hover {
    filter: drop-shadow(0 18px 40px rgba(10,30,94,.20)) drop-shadow(0 5px 12px rgba(10,30,94,.10)) !important;
}

/* mh-fitting-guide-align-2026-06-01 (part 4) — spec table: white card + navy
   header (the chamfer white-inset was covering the navy thead). */
.mt-guide-content .mt-spec-table {
    background: #ffffff !important;
    filter: drop-shadow(0 8px 22px rgba(10,30,94,.12)) drop-shadow(0 2px 6px rgba(10,30,94,.07)) !important;
    overflow: hidden;
}
.mt-guide-content .mt-spec-table::after { display: none !important; }
.mt-guide-content .mt-spec-table thead {
    background: linear-gradient(135deg, #0A1E5E 0%, #1E3A8A 100%) !important;
}
.mt-guide-content .mt-spec-table thead th {
    color: #ffffff !important;
    position: relative;
    z-index: 2;
}

/* mh-fitting-guide-align-2026-06-01 (part 5) — header cells transparent so the
   navy thead shows behind the white header text. */
.mt-guide-content .mt-spec-table thead th { background: transparent !important; color: #ffffff !important; }

/* mh-fitting-guide-align-2026-06-01 (part 6) — redesign Quick Links sidebar */
.mt-guide-content ~ * {} /* no-op anchor */
.mt-guide-nav {
    background: linear-gradient(180deg,#ffffff 0%, #f6f9ff 100%) !important;
    filter: drop-shadow(0 10px 26px rgba(10,30,94,.12)) drop-shadow(0 3px 7px rgba(10,30,94,.07)) !important;
    padding: 24px 20px 22px !important;
    gap: 0 !important;
}
.mt-guide-nav::after { display: none !important; }
.mt-guide-nav h3 { margin: 2px 0 16px !important; }

.mt-guide-nav ul { counter-reset: ql; display: flex; flex-direction: column; gap: 2px; margin: 0 0 4px !important; }
.mt-guide-nav a {
    display: flex !important; align-items: center; gap: 11px;
    padding: 9px 10px !important; margin: 0 !important;
    color: #334155 !important; font-size: 0.9rem !important; font-weight: 600 !important;
    border-radius: 10px !important; border-left: none !important;
    transition: background .18s ease, color .18s ease !important;
}
.mt-guide-nav a::before {
    counter-increment: ql; content: counter(ql);
    flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.72rem; font-weight: 800;
    background: #eef2fb; color: #2563EB;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.mt-guide-nav a:hover {
    background: rgba(37,99,235,.08) !important;
    color: #0A1E5E !important;
    transform: none !important;
}
.mt-guide-nav a:hover::before {
    background: linear-gradient(135deg,#0A1E5E 0%, #2563EB 100%);
    color: #fff; transform: scale(1.08);
}

.mt-guide-nav__cta { margin-top: 14px !important; padding-top: 16px !important; border-top: 1px solid #e7ecf3 !important; }
.mt-guide-nav__cta p { font-size: 0.85rem !important; color: #64748b !important; margin: 0 0 12px !important; font-weight: 600 !important; }
.mt-guide-nav__cta .mt-btn {
    display: flex !important; width: 100% !important; justify-content: center !important; gap: 8px;
    background: linear-gradient(135deg,#0A1E5E 0%, #2563EB 100%) !important;
    color: #fff !important; border: none !important;
    font-weight: 700 !important; font-size: 0.9rem !important; padding: 12px 16px !important;
    border-radius: var(--mt-radius-pill) !important;
    box-shadow: 0 8px 18px -8px rgba(37,99,235,.55) !important;
}
.mt-guide-nav__cta .mt-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* part 6 fix — the numbered counter must not apply to the CTA button */
.mt-guide-nav__cta .mt-btn::before { content: none !important; display: none !important; }


/* mh-header-account-2026-06-01 */
.mt-header__account{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--mt-text-2);transition:all .2s var(--mt-ease);text-decoration:none}
.mt-header__account:hover{background:#eef2fb;color:#0A1E5E}

/* mh-header-icons-tidy-2026-06-01: unify phone / account / cart header icons */
.mt-header__actions .mt-header__phone,
.mt-header__actions .mt-header__account,
.mt-header__actions .mighty-mini-cart,
.mt-header__actions .mighty-mini-cart-icon{
    display:inline-flex !important;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:50%;
    color:var(--mt-text-2) !important;
    position:relative;transition:background .2s ease,color .2s ease;text-decoration:none;
}
.mt-header__actions .mighty-mini-cart{width:auto;height:auto}
.mt-header__actions .mt-header__phone:hover,
.mt-header__actions .mt-header__account:hover,
.mt-header__actions .mighty-mini-cart-icon:hover{background:#eef2fb;color:#0A1E5E !important}
.mt-header__actions .mt-header__phone svg,
.mt-header__actions .mt-header__account svg,
.mt-header__actions .mighty-mini-cart-icon svg{width:20px !important;height:20px !important;display:block}


/* mh-account-dropdown-2026-06-01 */
.mt-header__account-wrap{position:relative;display:inline-flex}
.mt-header__account-wrap > .mt-header__account{background:transparent;border:0;cursor:pointer;padding:0;font:inherit}
.mt-header__account-wrap::after{content:"";position:absolute;top:100%;right:0;width:80px;height:12px}
.mt-account-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:206px;background:#fff;padding:8px;z-index:1200;
  -webkit-clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
  filter:drop-shadow(0 14px 32px rgba(10,30,94,.20)) drop-shadow(0 3px 8px rgba(10,30,94,.10));
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.mt-header__account-wrap:hover .mt-account-menu,
.mt-header__account-wrap:focus-within .mt-account-menu,
.mt-account-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.mt-account-menu::before{content:"";position:absolute;top:0;left:0;width:46px;height:3px;background:linear-gradient(90deg,#0A1E5E,#2563EB)}
.mt-account-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#334155;font-weight:600;font-size:.9rem;text-decoration:none;white-space:nowrap;transition:background .15s ease,color .15s ease}
.mt-account-menu a svg{width:17px;height:17px;flex:0 0 auto;color:#94a3b8;transition:color .15s ease}
.mt-account-menu a:hover{background:#eef2fb;color:#0A1E5E}
.mt-account-menu a:hover svg{color:#2563EB}
.mt-account-menu__logout{margin-top:4px;border-top:1px solid #eef2f7;color:#b91c1c !important}
.mt-account-menu__logout svg{color:#ef4444 !important}
.mt-account-menu__logout:hover{background:#fef2f2 !important;color:#b91c1c !important}
.mt-account-menu__logout:hover svg{color:#ef4444 !important}


/* mh-finishes-2026-06-01: Available Finishes redesign (colour chart) */
.mt-finishes{margin-top:8px}
.mt-finishes__intro{max-width:680px;margin-bottom:26px}
.mt-finishes__title{color:#0A1E5E}
.mt-finishes__intro p{color:#475569;margin:8px 0 0}
.mt-finishes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:22px}
@media(max-width:860px){.mt-finishes__grid{grid-template-columns:1fr}}
.mt-finish-card{position:relative;background:#fff;padding:24px 24px 22px;--cnr:20px;clip-path:polygon(0 0,calc(100% - var(--cnr)) 0,100% var(--cnr),100% 100%,var(--cnr) 100%,0 calc(100% - var(--cnr)));filter:drop-shadow(0 8px 22px rgba(10,30,94,.10)) drop-shadow(0 2px 6px rgba(10,30,94,.06))}
.mt-finish-card::before{content:"";position:absolute;top:0;left:0;width:64px;height:4px;background:linear-gradient(90deg,#0A1E5E,#2563EB)}
.mt-finish-card--featured::before{background:linear-gradient(90deg,#F59E0B,#FBBF24)}
.mt-finish-card__life{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#2563EB;background:#eef2fb;padding:4px 11px;border-radius:999px;margin-bottom:13px}
.mt-finish-card--featured .mt-finish-card__life{color:#92400e;background:#fef3c7}
.mt-finish-card h3{margin:0 0 8px;color:#0A1E5E;font-size:1.12rem;font-weight:800}
.mt-finish-card h3 span{color:#94a3b8;font-weight:700}
.mt-finish-card p{margin:0;color:#475569;font-size:.92rem;line-height:1.55}
.mt-finishes__note{display:flex;gap:12px;align-items:flex-start;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:16px 18px;color:#475569;font-size:.9rem;line-height:1.55}
.mt-finishes__note svg{flex:0 0 auto;color:#f59e0b;margin-top:1px}
.mt-finishes__note strong{color:#0A1E5E}

/* mh-news-cards-2026-06-01: blog cards match my-account cards on light-blue bg */
.mt-news-section{background:#eef2f7}
.mt-news-section .mt-blog-card{
  position:relative;background:#fff !important;border:0 !important;border-radius:0 !important;overflow:hidden;
  --cnr:22px;
  -webkit-clip-path:polygon(0 0,calc(100% - var(--cnr)) 0,100% var(--cnr),100% 100%,var(--cnr) 100%,0 calc(100% - var(--cnr)));
  clip-path:polygon(0 0,calc(100% - var(--cnr)) 0,100% var(--cnr),100% 100%,var(--cnr) 100%,0 calc(100% - var(--cnr)));
  box-shadow:none !important;
  filter:drop-shadow(0 10px 26px rgba(10,30,94,.10)) drop-shadow(0 3px 7px rgba(10,30,94,.06));
  transition:filter .3s ease,transform .3s ease}
.mt-news-section .mt-blog-card::after{display:none !important}
.mt-news-section .mt-blog-card::before{content:"";position:absolute;top:0;left:0;width:72px;height:4px;background:linear-gradient(90deg,#0A1E5E,#2563EB);z-index:3 !important}
.mt-news-section .mt-blog-card:hover{transform:translateY(-3px);filter:drop-shadow(0 18px 40px rgba(10,30,94,.18)) drop-shadow(0 5px 12px rgba(10,30,94,.10))}
.mt-news-section .mt-blog-card > *{position:relative;z-index:1}
.mt-news-section .mt-blog-card__title a{color:#0A1E5E}
.mt-news-section .mt-blog-card__date{color:#94a3b8;text-transform:uppercase}

/* mh-lightcards-2026-06-01: light-blue section bg + clean chamfered cards (delivery etc.) */
.mt-lightcards{background:#eef2f7}
.mt-lightcards .mt-delivery-card,
.mt-lightcards .mt-info-card,
.mt-lightcards .mt-delivery-region{
  position:relative;background:#fff !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;
  --cnr:22px;
  -webkit-clip-path:polygon(0 0,calc(100% - var(--cnr)) 0,100% var(--cnr),100% 100%,var(--cnr) 100%,0 calc(100% - var(--cnr)));
  clip-path:polygon(0 0,calc(100% - var(--cnr)) 0,100% var(--cnr),100% 100%,var(--cnr) 100%,0 calc(100% - var(--cnr)));
  filter:drop-shadow(0 10px 26px rgba(10,30,94,.10)) drop-shadow(0 3px 7px rgba(10,30,94,.06));
  transition:filter .3s ease,transform .3s ease}
.mt-lightcards .mt-delivery-card::after,
.mt-lightcards .mt-info-card::after,
.mt-lightcards .mt-delivery-region::after{display:none !important}
.mt-lightcards .mt-delivery-card::before,
.mt-lightcards .mt-info-card::before,
.mt-lightcards .mt-delivery-region::before{content:"" !important;position:absolute !important;top:0 !important;left:0 !important;width:72px !important;height:4px !important;background:linear-gradient(90deg,#0A1E5E,#2563EB) !important;z-index:3 !important}
.mt-lightcards .mt-delivery-card > *,
.mt-lightcards .mt-info-card > *,
.mt-lightcards .mt-delivery-region > *{position:relative;z-index:1}
.mt-lightcards .mt-delivery-card:hover,
.mt-lightcards .mt-info-card:hover,
.mt-lightcards .mt-delivery-region:hover{transform:translateY(-3px);filter:drop-shadow(0 18px 40px rgba(10,30,94,.18)) drop-shadow(0 5px 12px rgba(10,30,94,.10))}

/* mh-lightcards-spacing-2026-06-01: tidy header sizes + spacing on light-card sections */
.mt-lightcards{padding-top:56px;padding-bottom:56px}
.mt-lightcards .mt-section__title{font-size:clamp(1.5rem,2.4vw,2.05rem) !important;letter-spacing:-.01em !important;line-height:1.15 !important;margin-bottom:0 !important}
.mt-lightcards .mt-section__subtitle{font-size:1rem !important;line-height:1.55 !important;margin-top:10px !important;max-width:640px}
.mt-lightcards .mt-delivery-grid,
.mt-lightcards .mt-info-columns{margin-top:30px !important;margin-bottom:0 !important;gap:22px !important}
.mt-lightcards .mt-delivery-regions{margin-top:30px !important}
.mt-lightcards .mt-delivery-card{padding:30px 22px !important}
.mt-lightcards .mt-info-card{padding:26px 26px !important}

/* mh-videos-2026-06-01: Facebook video embeds grid */
.mt-video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}
@media(max-width:980px){.mt-video-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.mt-video-grid{grid-template-columns:1fr;max-width:360px;margin:30px auto 0}}
.mt-video-card{position:relative;background:#fff;padding:8px;--cnr:18px;-webkit-clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));filter:drop-shadow(0 10px 26px rgba(10,30,94,.10)) drop-shadow(0 3px 7px rgba(10,30,94,.06))}
.mt-video-card::before{content:"";position:absolute;top:0;left:0;width:58px;height:4px;background:linear-gradient(90deg,#0A1E5E,#2563EB);z-index:2}
.mt-video-card__embed{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;border-radius:10px;background:#0A1E5E}
.mt-video-card__embed iframe{position:absolute;inset:0;width:100%;height:100%}

/* mh-contact-lightcards-2026-06-01: light-blue bg + clean chamfered cards on contact page */
body.page-template-template-contact .mt-page-content{background:#eef2f7}
body.page-template-template-contact .mt-map-section{background:#eef2f7 !important}
body.page-template-template-contact .mt-contact-card,
body.page-template-template-contact .mt-contact-form-wrapper,
body.page-template-template-contact .mt-contact-hours,
body.page-template-template-contact .mt-contact-quick-links,
body.page-template-template-contact .mt-contact-social,
body.page-template-template-contact .mt-map-address{
  position:relative;background:#fff !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;
  --cnr:20px;
  -webkit-clip-path:polygon(0 0,calc(100% - var(--cnr)) 0,100% var(--cnr),100% 100%,var(--cnr) 100%,0 calc(100% - var(--cnr)));
  clip-path:polygon(0 0,calc(100% - var(--cnr)) 0,100% var(--cnr),100% 100%,var(--cnr) 100%,0 calc(100% - var(--cnr)));
  filter:drop-shadow(0 10px 26px rgba(10,30,94,.10)) drop-shadow(0 3px 7px rgba(10,30,94,.06))}
body.page-template-template-contact .mt-contact-card::after,
body.page-template-template-contact .mt-contact-form-wrapper::after,
body.page-template-template-contact .mt-contact-hours::after,
body.page-template-template-contact .mt-contact-quick-links::after,
body.page-template-template-contact .mt-contact-social::after,
body.page-template-template-contact .mt-map-address::after{display:none !important}
body.page-template-template-contact .mt-contact-card::before,
body.page-template-template-contact .mt-contact-form-wrapper::before,
body.page-template-template-contact .mt-contact-hours::before,
body.page-template-template-contact .mt-contact-quick-links::before,
body.page-template-template-contact .mt-contact-social::before,
body.page-template-template-contact .mt-map-address::before{content:"" !important;position:absolute !important;top:0 !important;left:0 !important;width:64px !important;height:4px !important;background:linear-gradient(90deg,#0A1E5E,#2563EB) !important;z-index:3 !important}
body.page-template-template-contact .mt-contact-card > *,
body.page-template-template-contact .mt-contact-form-wrapper > *,
body.page-template-template-contact .mt-contact-hours > *,
body.page-template-template-contact .mt-contact-quick-links > *,
body.page-template-template-contact .mt-contact-social > *,
body.page-template-template-contact .mt-map-address > *{position:relative;z-index:1}

/* mh-contact-sidebar-fix-2026-06-01: remove the wrapper bubble around the sidebar cards */
body.page-template-template-contact .mt-contact-sidebar{
  background:transparent !important;border:0 !important;padding:0 !important;border-radius:0 !important;
  box-shadow:none !important;filter:none !important;
  display:flex !important;flex-direction:column !important;gap:20px !important;
}
body.page-template-template-contact .mt-contact-sidebar::before,
body.page-template-template-contact .mt-contact-sidebar::after{display:none !important}

/* mh-nav-dropdown-2026-06-01: match nav dropdowns to the account dropdown style */
.mt-nav__dropdown{
  border:0 !important;border-radius:0 !important;box-shadow:none !important;
  filter:drop-shadow(0 14px 32px rgba(10,30,94,.20)) drop-shadow(0 3px 8px rgba(10,30,94,.10));
  -webkit-clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.mt-nav__dropdown::before{content:"";position:absolute;top:0;left:0;width:46px;height:3px;background:linear-gradient(90deg,#0A1E5E,#2563EB);z-index:2}
.mt-nav__dropdown a{display:flex !important;align-items:center;gap:10px;padding:10px 12px !important;border-radius:8px !important;color:#334155 !important;font-weight:600 !important;font-size:.9rem !important;white-space:nowrap;transition:background .15s ease,color .15s ease !important}
.mt-nav__dropdown a:hover{background:#eef2fb !important;color:#0A1E5E !important}
