/* ============================================================
   MORETECH -- ABOUT PREVIEW
   First-party markup + CSS (see partials/about_preview.php's own header
   for the full rationale). Every recurring visual value is a real --mt-*
   token.

   Design Language v2 (MoreTech craftsmanship pass): an EDITORIAL
   asymmetric split (wider narrative column, a framed visual), a kicker
   header, mission/vision as accent-edged blocks, and -- the section's
   real hierarchy device -- a divided STAT BAND with oversized figures.
   Class hooks (.mt-about, .mt-about__container/__row/__content/__eyebrow/
   __title/__lead/__actions/__cta-btn/__visual/__secondary/__mv/__mv-item/
   __mv-icon/__mv-label/__mv-text/__features/__feature/__feature-icon/
   __stats/__stat, and the --stacked / --split-media-start modifiers) are
   UNCHANGED. The two real Live-UAT layout bug fixes (__content:only-child
   width cap; --stacked __content flex reset) are preserved verbatim.
   ============================================================ */

.mt-about {
    position: relative;
    padding: var(--mt-section-py) 0;
    background: var(--mt-page-bg);
    background-image: var(--mt-section-glow);
    font-family: var(--mt-font-sans);
    /* About Module Coordinated Pass (2026-09-19): explicit base color so
       .mt-about__title (below) can read `currentColor` and a Studio
       self.color edit actually reaches it -- confirmed via Studio's own
       effectiveness.py that .mt-about__title previously hardcoded this
       same value directly, making self.color a silent no-op (the same
       defect class Hero/CTA were already fixed for). Same literal value
       as before -- default rendering is unchanged. */
    color: var(--mt-text-strong);
}

.mt-about__row {
    display: flex;
    align-items: center;
    gap: var(--mt-space-12) var(--mt-space-16);
    flex-wrap: wrap;
}

/* Editorial asymmetry: the narrative column is deliberately wider than
   the visual, rather than a 50/50 split. */
.mt-about__content {
    flex: 1.2 1 440px;
    min-width: 0;
}

/* Real bug fix (Live UAT) -- preserved verbatim: .mt-about__visual only
   renders when a real image is set. Without it, .mt-about__content is
   .mt-about__row's ONLY flex item and flex-grow stretches its box to the
   full row width even though the text needs a fraction of it. Cap width
   only when there is no sibling to share the row with. */
.mt-about__content:only-child {
    flex-grow: 0;
    max-width: 640px;
}

.mt-about__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--mt-space-3);
    font-size: var(--mt-text-xs);
    font-weight: var(--mt-weight-bold);
    letter-spacing: var(--mt-tracking-wider);
    text-transform: uppercase;
    /* Ally identity (2026-09-19): --mt-accent (orange) -> --ally-blue-500,
       matching the "blue is the only accent" rule Header/Hero/Trust Bar
       already established. */
    color: var(--ally-blue-500);
    margin-bottom: var(--mt-space-4);
}

.mt-about__eyebrow::before {
    content: "";
    width: var(--mt-kicker-rule);
    height: 2px;
    background: currentColor;
    flex-shrink: 0;
}

.mt-about__title {
    font-size: var(--mt-text-4xl);
    font-weight: var(--mt-weight-black);
    /* Ally identity / Studio fix (2026-09-19): was a hardcoded literal --
       now reads .mt-about's own color (same value by default, unchanged
       rendering), so a Studio self.color edit reaches this heading. */
    color: currentColor;
    line-height: var(--mt-leading-tight);
    letter-spacing: var(--mt-tracking-tight);
    margin: 0 0 var(--mt-space-5);
    max-width: 18ch;
}

.mt-about__lead {
    font-size: var(--mt-text-md);
    color: var(--mt-text-body);
    line-height: var(--mt-leading-relaxed);
    max-width: var(--mt-measure);
    margin: 0;
}

.mt-about__actions {
    margin-top: var(--mt-space-8);
}

/* Ally identity (2026-09-19): explicit navy-700 fill / white text -- the
   same pairing the Header's own CTA uses (--mt-header-cta-bg/-fg), the
   correct "inverse of a light section background" reading for About
   (which, unlike Hero, sits on a light surface). Same rendered color as
   the previous --mt-brand-primary alias, now an explicit, named member
   of the Ally navy family instead of a generic brand token. */
.mt-about__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--mt-space-2);
    padding: var(--mt-space-4) var(--mt-space-8);
    border-radius: var(--mt-radius-full);
    background: var(--ally-navy-700);
    color: var(--mt-text-inverse);
    font-weight: var(--mt-weight-semibold);
    text-decoration: none;
    box-shadow: var(--mt-elevation-raised);
    transition: background-color var(--mt-duration-normal) var(--mt-ease-default),
                transform var(--mt-duration-normal) var(--mt-ease-default);
}

.mt-about__cta-btn:hover {
    background: var(--ally-navy-600);
    transform: translateY(-2px);
}

/* Framed visual: a soft offset accent panel behind the image gives the
   column real depth even with a single flat photo. */
.mt-about__visual {
    position: relative;
    flex: 1 1 380px;
    min-width: 0;
}

.mt-about__visual::before {
    content: "";
    position: absolute;
    inset: var(--mt-space-6) auto auto calc(-1 * var(--mt-space-6));
    width: 62%;
    height: 78%;
    border-radius: var(--mt-radius-xl);
    /* Ally identity (2026-09-19): --ally-blue-500 at 10% -- the same wash
       strength Trust Bar's own icon badges use, not a generic brand tint. */
    background: rgba(75, 130, 212, 0.10);
    z-index: 0;
}

.mt-about__visual img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    border-radius: var(--mt-radius-xl);
    /* Ally identity (2026-09-19): a subtle navy-tinted inset ring alongside
       the existing elevation shadow -- a deliberate frame, not a bare
       photo -- rather than shadow alone. --ally-navy-700 at 8%, the same
       recipe as --ally-hairline-strong's own documented alpha steps. */
    box-shadow: var(--mt-shadow-lg), inset 0 0 0 1px rgba(20, 33, 61, 0.08);
    display: block;
}

/* ── Mission/Vision + Features + Stats (shared area below) ── */

.mt-about__secondary {
    display: flex;
    gap: var(--mt-space-10) var(--mt-space-12);
    margin-top: var(--mt-space-16);
    padding-top: var(--mt-space-12);
    border-top: 1px solid var(--mt-border-light);
    flex-wrap: wrap;
}

.mt-about__mv {
    flex: 1 1 300px;
    display: flex;
    flex-direction: column;
    gap: var(--mt-space-6);
}

.mt-about__mv-item {
    display: flex;
    gap: var(--mt-space-4);
    align-items: flex-start;
    padding-left: var(--mt-space-4);
    /* Ally identity (2026-09-19): --mt-accent (orange) -> --ally-blue-400. */
    border-left: 2px solid var(--ally-blue-400);
}

/* Ally identity (2026-09-19): reuses Trust Bar's own icon-badge recipe
   verbatim (rgba(--ally-blue-500) at 10% / --ally-blue-500 foreground) --
   the same "blue is the only accent" language, not a separate treatment
   invented for this section. */
.mt-about__mv-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--mt-radius-md);
    background: rgba(75, 130, 212, 0.10);
    color: var(--ally-blue-500);
}

.mt-about__mv-label {
    font-size: var(--mt-text-base);
    font-weight: var(--mt-weight-bold);
    color: var(--mt-text-strong);
    margin: 0 0 var(--mt-space-1);
}

.mt-about__mv-text {
    font-size: var(--mt-text-sm);
    color: var(--mt-text-body);
    margin: 0;
    line-height: var(--mt-leading-normal);
    max-width: var(--mt-measure-tight);
}

.mt-about__features {
    flex: 1 1 300px;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--mt-space-3) var(--mt-space-5);
    align-content: start;
}

.mt-about__feature {
    display: flex;
    align-items: center;
    gap: var(--mt-space-3);
    font-size: var(--mt-text-sm);
    color: var(--mt-text-body);
}

/* Ally identity (2026-09-19): same blue icon-badge language as
   .mt-about__mv-icon above (was --mt-accent-soft/--mt-accent orange). */
.mt-about__feature-icon {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--mt-radius-full);
    background: rgba(75, 130, 212, 0.10);
    color: var(--ally-blue-500);
    font-size: var(--mt-text-xs);
}

/* The STAT BAND -- the section's hierarchy device. Oversized figures,
   quiet uppercase labels, a divider rule between blocks. Its own
   classes; conceptually the same "value-led block" thinking the Trust
   Bar's divided composition uses (Trust Bar itself is untouched). */
.mt-about__stats {
    flex-basis: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--mt-space-8) 0;
    margin-top: var(--mt-space-4);
    padding-top: var(--mt-space-10);
    border-top: 1px solid var(--mt-border-light);
}

.mt-about__stat {
    display: flex;
    flex-direction: column;
    gap: var(--mt-space-2);
    padding: 0 var(--mt-space-10);
    border-left: 1px solid var(--mt-border-light);
}

.mt-about__stat:first-child {
    border-left: none;
    padding-left: 0;
}

.mt-about__stat .mt-about__feature-icon {
    margin-bottom: var(--mt-space-1);
}

/* Ally identity (2026-09-19): navy value (was the generic --mt-brand-
   primary alias) plus a short blue underline -- the same value-led,
   blue-underline motif Trust Bar's own 'divided' composition uses, so
   About's stats visually relate to Trust Bar without literally
   duplicating it (About's own stats stay secondary/supporting; Trust
   Bar remains the primary proof showcase). Left-anchored, not centered,
   to match this section's own left-aligned reading (Trust Bar's own
   version is centered because ITS stat blocks are centered). */
.mt-about__stat strong {
    position: relative;
    display: inline-block;
    padding-bottom: 6px;
    font-size: var(--mt-text-4xl);
    font-weight: var(--mt-weight-black);
    color: var(--ally-navy-700);
    line-height: 1;
    letter-spacing: var(--mt-tracking-tight);
}

.mt-about__stat strong::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 22px;
    height: 2px;
    border-radius: var(--mt-radius-full);
    background: var(--ally-blue-400);
}

.mt-about__stat span {
    font-size: var(--mt-text-xs);
    font-weight: var(--mt-weight-semibold);
    letter-spacing: var(--mt-tracking-wide);
    text-transform: uppercase;
    color: var(--mt-text-muted);
}

/* ------------------------------------------------------------
   Composition: stacked -- a single centred narrative column. The real
   image (if set) becomes a wide banner above the text. v2: a real
   reading measure and a centred stat band.
   ------------------------------------------------------------ */

.mt-about--stacked .mt-about__row {
    flex-direction: column;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}

/* Real bug fix (Live UAT) -- preserved verbatim: .mt-about__content's own
   flex-basis applies to the flex MAIN axis, which --stacked switches to
   vertical -- forcing a 420px minimum height regardless of content.
   flex:0 1 auto sizes purely from real content height. */
.mt-about--stacked .mt-about__content {
    flex: 0 1 auto;
}

.mt-about--stacked .mt-about__title {
    max-width: none;
}

.mt-about--stacked .mt-about__lead {
    margin-left: auto;
    margin-right: auto;
}

.mt-about--stacked .mt-about__eyebrow {
    justify-content: center;
}

.mt-about--stacked .mt-about__visual {
    order: -1;
    width: 100%;
}

.mt-about--stacked .mt-about__visual::before {
    display: none;
}

.mt-about--stacked .mt-about__visual img {
    max-height: 380px;
    object-fit: cover;
}

.mt-about--stacked .mt-about__actions {
    display: flex;
    justify-content: center;
}

.mt-about--stacked .mt-about__secondary {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
    text-align: left;
}

.mt-about--stacked .mt-about__stats {
    justify-content: center;
    text-align: center;
}

.mt-about--stacked .mt-about__stat {
    align-items: center;
}

/* ------------------------------------------------------------
   media_position (whole-page design review round) -- preserved: which
   side the image column occupies within 'split'. Default 'end' needs no
   rule (natural DOM order). This fires only for the deliberate 'start'.
   ------------------------------------------------------------ */
.mt-about--split-media-start .mt-about__visual {
    order: -1;
}

.mt-about--split-media-start .mt-about__visual::before {
    left: auto;
    right: calc(-1 * var(--mt-space-6));
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
    .mt-about__row {
        gap: var(--mt-space-10);
    }
    .mt-about__title {
        font-size: var(--mt-text-3xl);
        max-width: 22ch;
    }
    .mt-about__secondary {
        gap: var(--mt-space-8);
    }
    .mt-about__stat {
        padding: 0 var(--mt-space-6);
    }
    .mt-about__stat strong {
        font-size: var(--mt-text-3xl);
    }
}

@media (max-width: 767px) {
    .mt-about {
        padding: var(--mt-section-py-sm) 0;
    }
    .mt-about__row {
        gap: var(--mt-space-8);
    }
    .mt-about__title {
        font-size: var(--mt-text-2xl);
    }
    /* drop the offset frame on small screens -- it crowds a full-width
       image -- keep the rounded, shadowed photo. */
    .mt-about__visual::before {
        display: none;
    }
    .mt-about__secondary {
        margin-top: var(--mt-space-10);
        padding-top: var(--mt-space-10);
        gap: var(--mt-space-8);
    }
    .mt-about__features {
        grid-template-columns: 1fr;
    }
    /* stat band stacks to a 2-up grid so figures stay large and legible
       instead of scrolling off a nowrap row. */
    .mt-about__stats {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--mt-space-6) var(--mt-space-4);
        padding-top: var(--mt-space-8);
    }
    .mt-about__stat {
        padding: 0;
        border-left: none;
    }
    .mt-about__stat strong {
        font-size: var(--mt-text-3xl);
    }
    .mt-about--stacked .mt-about__stats {
        text-align: left;
    }
    .mt-about--stacked .mt-about__stat {
        align-items: flex-start;
    }
}


/* ============================================================
   PLUSFAB ABOUT (2026-10-01) -- presentation layer, appended (wins by
   source order). Same markup, same content contract, same compositions
   (split / stacked, media_position start|end) -- re-skinned only.
   Language (shared with Hero / Header / Trust Bar / Services): white
   section between the grey Trust Bar and grey Services; steel label +
   copper rule + Archivo heading; a steel-MOUNTED image (1px steel frame,
   white mount, copper corner brackets like drawing registration marks,
   fixed aspect so it never runs tall); square steel icon tiles with
   copper glyphs; features as a hairline specification list; stats as a
   steel-ruled band. Values/labels are rendered exactly as stored.
============================================================ */
.mt-about {
    background: #FFFFFF;
    background-image: none;
}

.mt-about__row { gap: var(--mt-space-12) var(--mt-space-20); }

/* -- Header / narrative -- */
.mt-about__eyebrow {
    font-size: 0.75rem;
    font-weight: var(--mt-weight-semibold);
    letter-spacing: 0.16em;
    color: #555C63;
    margin-bottom: var(--mt-space-5);
}
.mt-about__eyebrow::before { background: var(--mt-accent); }

.mt-about__title {
    font-family: var(--mt-font-heading);
    font-size: clamp(1.95rem, 1.35rem + 1.7vw, 2.7rem);
    font-weight: var(--mt-weight-bold);
    line-height: 1.1;
    letter-spacing: -0.02em;
    max-width: 20ch;
    text-wrap: balance;
    margin-bottom: var(--mt-space-6);
}

.mt-about__lead {
    font-size: 1.04rem;
    line-height: 1.72;
    color: #3E444A;
}

.mt-about__actions { margin-top: var(--mt-space-8); }

.mt-about__cta-btn {
    padding: 0.95rem 1.6rem;
    border-radius: var(--mt-radius-sm, 6px);
    background: var(--ally-navy-700);
    font-family: var(--mt-font-heading);
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: none;
}
.mt-about__cta-btn:hover {
    background: var(--ally-navy-900);
    color: var(--mt-text-inverse);
    transform: none;
}
.mt-about__cta-btn:focus-visible {
    outline: 2px solid var(--mt-accent);
    outline-offset: 3px;
}

/* -- Steel-mounted visual -- */
.mt-about__visual {
    padding: var(--mt-space-3);
    background: #FFFFFF;
    border: 1px solid #C5CBD0;
}
/* Copper corner brackets (top-left, bottom-right) replace the inherited
   blue offset panel. */
.mt-about__visual::before,
.mt-about__visual::after {
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    border-radius: 0;
    background: none;
    pointer-events: none;
    z-index: 2;
}
.mt-about__visual::before {
    inset: -1px auto auto -1px;
    border-top: 2px solid var(--mt-accent);
    border-left: 2px solid var(--mt-accent);
}
.mt-about__visual::after {
    inset: auto -1px -1px auto;
    border-bottom: 2px solid var(--mt-accent);
    border-right: 2px solid var(--mt-accent);
}
.mt-about__visual img {
    border-radius: 0;
    box-shadow: none;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #E9EBED;
}

/* -- Secondary area: mission/vision | specification list, then stats -- */
.mt-about__secondary {
    margin-top: var(--mt-space-16);
    padding-top: var(--mt-space-12);
    border-top: 1px solid #D5DADE;
    gap: var(--mt-space-10) var(--mt-space-16);
}

.mt-about__mv { gap: var(--mt-space-8); }

.mt-about__mv-item {
    gap: var(--mt-space-5);
    padding-left: 0;
    border-left: 0;
}

.mt-about__mv-icon,
.mt-about__feature-icon {
    border-radius: 2px;
    background: #FFFFFF;
    border: 1px solid #C5CBD0;
    color: var(--mt-accent-hover);
}
.mt-about__mv-icon { width: 44px; height: 44px; font-size: 1.05rem; }

.mt-about__mv-label {
    font-family: var(--mt-font-heading);
    font-size: 1.08rem;
    font-weight: var(--mt-weight-bold);
    color: var(--ally-navy-700);
    margin-bottom: var(--mt-space-2);
}
.mt-about__mv-text {
    font-size: 0.92rem;
    line-height: 1.65;
    color: #555C63;
}

/* Features: a two-column specification list with hairline rows. */
.mt-about__features {
    gap: 0 var(--mt-space-8);
    border-top: 1px solid #E1E4E7;
}
.mt-about__feature {
    gap: var(--mt-space-4);
    padding: var(--mt-space-4) 0;
    border-bottom: 1px solid #E1E4E7;
    font-size: 0.92rem;
    font-weight: var(--mt-weight-medium);
    color: var(--ally-navy-700);
}
.mt-about__feature-icon { width: 30px; height: 30px; font-size: 0.8rem; }

/* Stats: a steel-ruled band (top and bottom hairlines, steel dividers),
   Archivo figures with a short square copper rule. */
.mt-about__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0;
    margin-top: var(--mt-space-6);
    padding: var(--mt-space-8) 0;
    border-top: 1px solid #D5DADE;
    border-bottom: 1px solid #D5DADE;
}
.mt-about__stat {
    gap: var(--mt-space-3);
    padding: 0 var(--mt-space-8);
    border-left: 1px solid #D5DADE;
}
.mt-about__stat:first-child { border-left: 0; padding-left: 0; }
.mt-about__stat strong {
    font-family: var(--mt-font-heading);
    font-size: clamp(2rem, 1.5rem + 1.3vw, 2.6rem);
    font-weight: var(--mt-weight-bold);
    letter-spacing: -0.02em;
    color: var(--ally-navy-700);
    padding-bottom: 10px;
}
.mt-about__stat strong::after {
    width: 20px;
    border-radius: 0;
    background: var(--mt-accent);
}
.mt-about__stat span {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    color: #6B737A;
}

/* stacked composition: centred band keeps its dividers centred too */
.mt-about--stacked .mt-about__stat strong::after { left: 50%; transform: translateX(-50%); }

/* split with the image on the left: the inherited rule moves ::before to
   the right edge (offset panel logic) -- keep the bracket top-left. */
.mt-about--split-media-start .mt-about__visual::before { left: -1px; right: auto; }

/* -- Tablet: image goes wide under the text, so a wider aspect keeps
   it from dominating the column. -- */
@media (max-width: 1024px) {
    .mt-about__row { gap: var(--mt-space-10); }
    .mt-about__visual img { aspect-ratio: 16 / 9; }
    .mt-about__secondary { gap: var(--mt-space-10); }
    .mt-about__stat { padding: 0 var(--mt-space-6); }
}

/* Tablet band (768-1024): mission/vision side by side across the full
   width, the specification list below it in three columns -- instead
   of two squeezed half-width columns. */
@media (min-width: 768px) and (max-width: 1024px) {
    .mt-about__mv {
        flex-basis: 100%;
        flex-direction: row;
        gap: var(--mt-space-8);
    }
    .mt-about__mv-item { flex: 1 1 0; }
    .mt-about__features {
        flex-basis: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0 var(--mt-space-6);
    }
}

/* -- Mobile -- */
@media (max-width: 767px) {
    .mt-about__row { gap: var(--mt-space-8); }
    .mt-about__title { font-size: 1.75rem; }
    .mt-about__visual { padding: var(--mt-space-2); }
    /* the inherited mobile rule hid ::before -- keep both brackets */
    .mt-about__visual::before { display: block; }
    .mt-about__visual::before,
    .mt-about__visual::after { width: 20px; height: 20px; }
    .mt-about__visual img { aspect-ratio: 16 / 10; }
    .mt-about__secondary { margin-top: var(--mt-space-10); padding-top: var(--mt-space-8); gap: var(--mt-space-8); }
    .mt-about__cta-btn { width: 100%; justify-content: center; }
    .mt-about__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0;
    }
    .mt-about__stat,
    .mt-about__stat:first-child {
        padding: var(--mt-space-5) var(--mt-space-4);
        border-left: 0;
        border-top: 1px solid #E1E4E7;
    }
    .mt-about__stat:nth-child(2n) { border-left: 1px solid #E1E4E7; }
    .mt-about__stat:nth-child(-n+2) { border-top: 0; }
    .mt-about__stat:nth-child(2n+1) { padding-left: 0; }
    .mt-about__stat strong { font-size: 1.9rem; }
}


/* ============================================================
   PLUSFAB ABOUT v2 (2026-10-01, client revision) -- "WORKSHOP SHEET".
   Appended after the v1 layer; same markup, content and compositions.
   1. A faint technical-drawing grid fades in behind the image side of
      the intro (drawing-office detail, not decoration).
   2. The image sits on a BRUSHED-STAINLESS mount with a solid graphite
      block offset behind it -- a fabricated, layered plate. Copper
      corner brackets are kept.
   3. Mission / vision / specification list / stats move onto a DEEP
      GRAPHITE "spec plate" (brushed grain, copper corner brackets): the
      dark counterpart to the white intro, and a white -> dark -> grey
      rhythm with Services below. Text is re-toned for the dark plate;
      stats close the plate with white Archivo figures and copper rules.
============================================================ */

/* 1. Drawing grid behind the intro's image side */
.mt-about { position: relative; overflow: hidden; }
.mt-about::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 48%;
    height: 620px;
    background-image:
        linear-gradient(rgba(30, 34, 38, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(30, 34, 38, 0.05) 1px, transparent 1px);
    background-size: 32px 32px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 70% 40%, #000 30%, transparent 75%);
    mask-image: radial-gradient(ellipse 70% 70% at 70% 40%, #000 30%, transparent 75%);
    pointer-events: none;
    z-index: 0;
}
.mt-about__container { position: relative; z-index: 1; }

/* 2. Brushed-stainless mount + graphite offset block */
.mt-about__visual {
    padding: var(--mt-space-4);
    border: 1px solid #C5CBD0;
    background-color: #E6E9EC;
    background-image:
        repeating-linear-gradient(90deg,
            rgba(255, 255, 255, 0.35) 0 1px,
            rgba(255, 255, 255, 0) 1px 2px,
            rgba(30, 34, 38, 0.03) 2px 3px,
            rgba(255, 255, 255, 0) 3px 5px),
        linear-gradient(160deg, #F3F5F6 0%, #DCE0E4 60%, #ECEFF1 100%);
    box-shadow: 18px 18px 0 0 var(--ally-navy-700);
}
.mt-about--split-media-start .mt-about__visual { box-shadow: -18px 18px 0 0 var(--ally-navy-700); }
.mt-about__visual img { border: 1px solid rgba(30, 34, 38, 0.18); }

/* 3. Deep-graphite spec plate */
.mt-about__secondary {
    position: relative;
    margin-top: var(--mt-space-20);
    padding: var(--mt-space-12) var(--mt-space-12) 0;
    border-top: 0;
    background-color: var(--ally-navy-900);
    background-image: repeating-linear-gradient(90deg,
        rgba(255, 255, 255, 0.018) 0 1px,
        rgba(255, 255, 255, 0) 1px 4px);
    color: #C5CBD0;
}
.mt-about__secondary::before,
.mt-about__secondary::after {
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    pointer-events: none;
}
.mt-about__secondary::before {
    top: 0;
    left: 0;
    border-top: 2px solid var(--mt-accent);
    border-left: 2px solid var(--mt-accent);
}
.mt-about__secondary::after {
    right: 0;
    bottom: 0;
    border-bottom: 2px solid var(--mt-accent);
    border-right: 2px solid var(--mt-accent);
}

/* Mission / vision on dark */
.mt-about__secondary .mt-about__mv-icon,
.mt-about__secondary .mt-about__feature-icon {
    background: transparent;
    border-color: rgba(197, 203, 208, 0.30);
    color: var(--mt-accent);
}
.mt-about__secondary .mt-about__mv-label { color: #FFFFFF; }
.mt-about__secondary .mt-about__mv-text { color: #B9BFC5; }

/* Specification list on dark */
.mt-about__secondary .mt-about__features { border-top-color: rgba(255, 255, 255, 0.10); }
.mt-about__secondary .mt-about__feature {
    border-bottom-color: rgba(255, 255, 255, 0.10);
    color: #E1E4E7;
    transition: color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}
.mt-about__secondary .mt-about__feature:hover { color: #FFFFFF; }
.mt-about__secondary .mt-about__feature:hover .mt-about__feature-icon { border-color: var(--mt-accent); }

/* Stats close the plate */
.mt-about__secondary .mt-about__stats {
    margin-top: var(--mt-space-8);
    padding: var(--mt-space-10) 0 var(--mt-space-12);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 0;
}
.mt-about__secondary .mt-about__stat { border-left-color: rgba(255, 255, 255, 0.12); }
.mt-about__secondary .mt-about__stat:first-child { border-left: 0; }
.mt-about__secondary .mt-about__stat strong { color: #FFFFFF; }
.mt-about__secondary .mt-about__stat span { color: #8A939B; }

@media (max-width: 1024px) {
    .mt-about::before { width: 100%; height: 520px; }
    .mt-about__secondary { padding: var(--mt-space-10) var(--mt-space-8) 0; margin-top: var(--mt-space-16); }
    .mt-about__visual { box-shadow: 14px 14px 0 0 var(--ally-navy-700); margin-right: 14px; }
}

@media (max-width: 767px) {
    .mt-about__visual {
        padding: var(--mt-space-2);
        box-shadow: 8px 8px 0 0 var(--ally-navy-700);
        margin-right: 8px;
    }
    .mt-about--split-media-start .mt-about__visual { box-shadow: 8px 8px 0 0 var(--ally-navy-700); }
    .mt-about__secondary {
        margin-top: var(--mt-space-12);
        padding: var(--mt-space-8) var(--mt-space-5) 0;
    }
    .mt-about__secondary::before,
    .mt-about__secondary::after { width: 22px; height: 22px; }
    .mt-about__secondary .mt-about__stats { padding: 0 0 var(--mt-space-4); }
    .mt-about__secondary .mt-about__stat,
    .mt-about__secondary .mt-about__stat:first-child { border-top-color: rgba(255, 255, 255, 0.10); }
    .mt-about__secondary .mt-about__stat:nth-child(2n) { border-left-color: rgba(255, 255, 255, 0.10); }
}

/* v2 stats fit: word-figures (e.g. BESPOKE / WEMBLEY) need more width
   than four tablet columns give -- 2x2 on tablet, smaller on phones. */
@media (min-width: 768px) and (max-width: 1024px) {
    .mt-about__secondary .mt-about__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: var(--mt-space-8);
    }
    .mt-about__secondary .mt-about__stat:nth-child(2n+1) {
        border-left: 0;
        padding-left: 0;
    }
}
@media (max-width: 767px) {
    .mt-about__secondary .mt-about__stat strong {
        font-size: 1.45rem;
        white-space: nowrap;
    }
}
