/* ==========================================================================
   meridian — "Clinical Minimalism" brand layer over modern-retail.

   Ported from the Google Stitch export
   (docs/templates/pending/stitch_23_meridian_e_commerce_store — the
   meridian_horology/DESIGN.md "Clinical Minimalism" system is the
   design-system source): a warm porcelain canvas, near-black ink for all
   primary text/UI, a deep oxblood accent used sparingly as TEXT/keylines
   (never as a large fill on its own — see the contrast note below), hairline
   neutral dividers, ZERO shadows/gradients and perfectly sharp (0px) corners
   everywhere, no exceptions.

   This stylesheet has two jobs:
     (a) style meridian's OWN sections (md-* — featured/journal header rows,
         the movement-story band, the ink category band, the newsletter
         band); and
     (b) restyle the INHERITED `mr-*` surfaces — chiefly by re-pointing the
         base neutral tokens at the porcelain/ink palette, flattening every
         radius and shadow, and drawing the hairline/ink keyline structure.
         This is the only reason shop / PDP / cart / checkout / account /
         blog pick up the new palette without a single page override.

   Everything is scoped under `body.md-theme` and reads the 5 customizer
   tokens (--bs-primary, --bs-primary-rgb, --ll-accent, --ll-font-headings,
   --ll-font-body, --ll-btn-radius) with theme.json-default fallbacks, so the
   customizer + live preview keep working: change the primary colour and
   every ink surface follows.

   Contrast note (App\Support\Theming\ContrastChecker, scratchpad script,
   never committed — ratios measured, not assumed):
     - ink #191b1e on porcelain #faf9f6            = 16.39:1
     - ink #191b1e on porcelain-band #f2f2ef        = 15.39:1
     - white #ffffff on ink #191b1e (button fill)   = 17.26:1
     - oxblood #7d2a2a AS TEXT on porcelain #faf9f6 = 8.92:1  (safe)
     - white #ffffff on oxblood #7d2a2a (fill)      = 9.39:1 (safe)
     - DESIGN.md "secondary" #5d5f5d on porcelain    = 6.12:1 (used for
       --mr-soft instead of the YAML "outline" #76777b, which only measures
       4.25:1 — below WCAG AA 4.5:1 for normal text on the pagination/
       breadcrumb-sized copy that reads this token)
     - oxblood #7d2a2a AS TEXT on ink #191b1e        = 1.84:1 (FAILS) — so
       oxblood is used as a TEXT/border colour ONLY on the porcelain canvas.
       Anywhere the canvas flips to ink (the category band, the footer), any
       accent moment uses an oxblood FILL with white text (9.39:1) instead —
       never oxblood text on ink.
   ========================================================================== */

body.md-theme {
    /* Customizer-driven brand tokens (fallbacks match theme.json defaults).
       --md-oxblood tracks accent_color (like every sibling theme's own
       accent var, e.g. zaree's --zr-gold: var(--ll-accent, ...)) so the
       customizer stays meaningful; the contrast ratios in the file header
       are measured against the THEME DEFAULT accent value that ships in the
       demo, same exposure every other theme's accent-as-text usage has. */
    --md-oxblood: var(--ll-accent, #7d2a2a);
    --md-font-head: var(--ll-font-headings, "Albert Sans"), system-ui, -apple-system, sans-serif;
    --md-font-body: var(--ll-font-body, "Inter"), system-ui, -apple-system, sans-serif;

    /* Clinical Minimalism palette (meridian_horology/DESIGN.md). --md-ink is
       a FIXED LITERAL, never bound to --bs-primary — body text must stay
       near-black even if a merchant later customises primary_color to
       something else (every sibling theme keeps ink/canvas literals for the
       same reason; only "accent" tracks the customizer). */
    --md-porcelain: #faf9f6;       /* surface / background (DESIGN.md YAML + rendered body bg) */
    --md-porcelain-band: #f2f2ef;  /* DESIGN.md prose "Porcelain" hex — used for quiet bands   */
    --md-white: #ffffff;           /* surface-container-lowest — card media wells               */
    --md-fill: #e8e8e5;            /* surface-container-high — placeholders                     */
    --md-ink: #191b1e;             /* on-surface — primary text/UI                              */
    --md-muted: #45474a;           /* on-surface-variant                                        */
    --md-soft: #5d5f5d;            /* DESIGN.md "secondary" — see contrast note above           */
    --md-hairline: #d1d1ce;        /* Hairline Neutral — decorative 1px dividers                */

    /* Re-point the inherited base neutrals at the porcelain/ink palette so
       every inherited mr-* surface (bands, borders, fills, muted text)
       follows across shop/PDP/cart/checkout/account/blog. */
    --mr-ink: var(--md-ink);
    --mr-muted: var(--md-muted);
    --mr-soft: var(--md-soft);
    --mr-surface: var(--md-porcelain);
    --mr-band: var(--md-porcelain-band);
    --mr-band-alt: var(--md-porcelain-band);
    --mr-fill: var(--md-fill);
    --mr-border: var(--md-hairline);
    --mr-border-strong: var(--md-ink);
    --mr-radius: 0;
    --mr-gold: var(--md-oxblood);
    --mr-shadow: none;

    /* Bootstrap paints bare <a> via rgba(var(--bs-link-color-rgb),1) —
       theme-vars sets the hex --bs-link-color but never the -rgb triplet, so
       without this a bare <a> (no .mr-* class) renders factory blue even
       though --bs-link-color is correctly ink. Alias to the already-computed
       --bs-primary-rgb so it tracks the customizer. */
    --bs-link-color-rgb: var(--bs-primary-rgb);

    background-color: var(--md-porcelain);
    color: var(--md-ink);
    font-family: var(--md-font-body);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

/* --------------------------------------------------------------------------
   Shape discipline — DESIGN.md: "Every UI component, image container, and
   button must have 90-degree corners. No exceptions are made for mobile or
   interactive elements." Zero shadows/gradients too (depth = tonal layering
   + hairline keylines only).
   -------------------------------------------------------------------------- */
body.md-theme .mr-card,
body.md-theme .mr-card__media,
body.md-theme .mr-btn,
body.md-theme .mr-promo,
body.md-theme .mr-promo__img,
body.md-theme .mr-icon-btn,
body.md-theme .mr-tile,
body.md-theme .mr-article__media,
body.md-theme .form-control,
body.md-theme .form-select,
body.md-theme .dropdown-menu,
body.md-theme .offcanvas,
body.md-theme img,
body.md-theme input,
body.md-theme select,
body.md-theme textarea,
body.md-theme button {
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* The two round overlay controls on the product card (wishlist heart, quick
   view eye) are EXEMPT from the flatten above. `.mr-card__wish` renders as a
   <button> for signed-in shoppers and an <a> for guests — a flatten rule that
   catches the `button` tag would square the heart for logged-in users only
   while the guest's <a> stayed round. Target the classes directly instead
   (matches both tags identically) and keep them pill-shaped, matching the
   rest of the platform's round icon-affordance convention. */
body.md-theme .mr-card__wish,
body.md-theme .mr-card__quickview {
    border-radius: 9999px !important;
}

/* --------------------------------------------------------------------------
   Typography — Albert Sans 600 authority for headings (tight tracking on
   large display sizes only, per DESIGN.md); Inter for everything else.
   Labels/eyebrows/buttons are uppercase + widely tracked throughout.
   -------------------------------------------------------------------------- */
body.md-theme h1,
body.md-theme h2,
body.md-theme h3,
body.md-theme h4,
body.md-theme h5,
body.md-theme h6,
body.md-theme .mr-display,
body.md-theme .mr-logo {
    font-family: var(--md-font-head);
    font-weight: 600;
    color: var(--md-ink);
    letter-spacing: -0.01em;
}

body.md-theme .mr-display {
    font-size: clamp(2rem, 3.6vw, 3.75rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
}

body.md-theme .mr-eyebrow,
body.md-theme .md-eyebrow {
    font-family: var(--md-font-body);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--md-oxblood);
}

body.md-theme a {
    color: var(--md-ink);
}

body.md-theme a:hover {
    color: var(--md-oxblood);
}

/* A quiet tracked keyline link ("View All" / "Read All Entries") */
body.md-theme .md-keyline-link {
    font-family: var(--md-font-body);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--md-ink);
    text-decoration: none;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid var(--md-ink);
    transition: color 0.25s ease, border-color 0.25s ease;
}

body.md-theme .md-keyline-link:hover {
    color: var(--md-oxblood);
    border-bottom-color: var(--md-oxblood);
}

/* --------------------------------------------------------------------------
   Buttons & form controls — solid ink primary / porcelain-with-ink-border
   secondary (DESIGN.md Components → Buttons); the base's token-driven
   defaults already deliver this exact pair once primary_color = ink, so
   only the tracking/size are tuned to the export's button-text spec
   (Inter 600, 13px, 0.2em) and the underline input treatment is added.
   -------------------------------------------------------------------------- */
body.md-theme .mr-btn {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    border-radius: 0;
}

/* DESIGN.md Elevation: "state changes are indicated by colour inversions
   (e.g. a button moving from Ink background to Porcelain background with an
   Ink border) rather than lifting the element via shadows." Primary inverts
   to porcelain-with-ink-border on hover — the mirror image of the secondary/
   outline button's own (already token-correct) ink-fill hover below. */
body.md-theme .mr-btn--primary:hover {
    filter: none;
    background-color: var(--md-porcelain);
    color: var(--md-ink);
    border-color: var(--md-ink);
}

/* Re-assert the primary button's light label. The bare `body.md-theme a`
   link-colour rule above (needed so prose links aren't Bootstrap-blue) is
   specificity (0,1,2) and would otherwise repaint every <a>-based
   .mr-btn--primary — e.g. the hero CTA — to ink, making the label vanish on
   the ink fill. (0,2,1) wins it back to porcelain-white. */
body.md-theme .mr-btn--primary { color: #fff; }

/* Inputs — DESIGN.md: "a single 1px bottom border in Ink. Labels sit above
   the line in label-caps." Shared shorthand below intentionally zeroes the
   inline padding; .form-select restores the END gutter afterwards so
   Bootstrap's caret background-image never runs under the option text. */
body.md-theme .form-control,
body.md-theme .form-select {
    border: 0;
    border-bottom: 1px solid var(--md-ink);
    background-color: transparent;
    color: var(--md-ink);
    padding-inline: 0;
    padding-block: 0.6rem;
}

body.md-theme .form-select {
    padding-inline-end: 2.25rem;
}

body.md-theme .form-control::placeholder {
    color: var(--md-soft);
}

body.md-theme .form-control:focus,
body.md-theme .form-select:focus {
    border-color: var(--md-oxblood);
    box-shadow: none;
}

body.md-theme .form-label,
body.md-theme .mr-field-label {
    font-family: var(--md-font-body);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--md-ink);
}

/* --------------------------------------------------------------------------
   Announcement + header — ink announce band; the header itself is INHERITED
   (logo-left, single sticky row — the export just visually centres the nav
   between logo and icons, which is a layout concern solved here with CSS,
   not a structural difference requiring a header override).
   -------------------------------------------------------------------------- */
body.md-theme .mr-announce {
    background-color: var(--md-ink);
    color: var(--md-porcelain);
    letter-spacing: 0.16em;
    font-size: 0.68rem;
}

body.md-theme .mr-header {
    background-color: rgba(250, 249, 246, 0.95);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid var(--md-ink);
}

body.md-theme .mr-logo {
    font-weight: 700;
    letter-spacing: -0.02em;
}

/* Visually centre the nav between the logo and the icon cluster without
   forking the header partial: the base groups hamburger+logo+nav together
   in .mr-header__left, so pulling .mr-nav out of flow (absolute, centred on
   the bar) leaves .mr-header__left holding only the logo — which
   justify-content:space-between then pushes to the far left, exactly
   matching the export's logo-left / nav-centre / icons-right row. Only
   takes effect at the nav's own d-lg-flex breakpoint; mobile's offcanvas nav
   is unaffected. */
body.md-theme .mr-header__bar {
    position: relative;
}

/* NOTE: the export centres the nav, but absolute-centring it over the bar
   collided with the inherited 256px search input + icon cluster on the right
   at 992–1280px (the opaque search box painted over the nav text). Left the
   nav in normal flow (logo-left, like every sibling theme) — clean and
   collision-free — rather than ship an overlapping header. */
body.md-theme .mr-nav {
    margin-left: 1.5rem;
}

/* Ink-band surfaces (category band + footer): a merchant-set category heading
   must not render ink-on-ink, and the base oxblood keyboard focus ring is
   1.84:1 on ink — both get the porcelain treatment on these surfaces. */
body.md-theme .md-categories h2 { color: var(--md-porcelain); }
body.md-theme .mr-footer *:focus-visible,
body.md-theme .md-categories *:focus-visible { outline-color: var(--md-porcelain); }

body.md-theme .mr-nav-link {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--md-soft);
}

body.md-theme .mr-nav-link:hover,
body.md-theme .mr-nav-link.is-active {
    color: var(--md-ink);
    border-bottom-color: var(--md-ink);
}

body.md-theme .mr-icon-btn {
    color: var(--md-ink);
}

body.md-theme .mr-icon-btn:hover {
    color: var(--md-oxblood);
}

body.md-theme .mr-search input {
    border-radius: 0;
    background-color: var(--md-porcelain-band);
}

body.md-theme .mr-search input:focus {
    border-color: var(--md-ink);
}

/* --------------------------------------------------------------------------
   Hero (inherited markup) — full-bleed movement photograph with a
   semi-transparent "glass" copy panel (the export's
   bg-background/10 backdrop-blur-md border-white/10 treatment), not a bare
   overlay text block.
   -------------------------------------------------------------------------- */
body.md-theme .mr-hero__overlay {
    background: linear-gradient(90deg, rgba(25, 27, 30, 0.55) 0%, rgba(25, 27, 30, 0.25) 48%, rgba(25, 27, 30, 0.04) 100%);
}

body.md-theme .mr-hero .mr-hero__copy {
    background-color: rgba(250, 249, 246, 0.1);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.16);
    padding: clamp(1.5rem, 4vw, 2.75rem);
}

/* The hero eyebrow sits over the (darkened) hero photo behind a 10%-porcelain
   glass panel, NOT on the porcelain canvas — so it keeps the base's WHITE
   (matching the white h1), never oxblood, which measured 1.4–2.9:1 over the
   photo. Section eyebrows on light bands still use oxblood via the general
   .mr-eyebrow rule. */
body.md-theme .mr-hero .mr-hero__copy .mr-eyebrow {
    color: #fff;
}

body.md-theme .mr-hero .mr-hero__copy h1 {
    letter-spacing: -0.02em;
}

/* --------------------------------------------------------------------------
   Product cards (inherited) — the export keeps cards "naked" on the
   porcelain canvas; only the media well gains a hairline-to-ink border on
   hover (DESIGN.md Cards). The border lives on .mr-card__media alone (never
   the whole .mr-card), so the title/price siblings below it never need a
   text inset.
   -------------------------------------------------------------------------- */
body.md-theme .mr-card__media {
    background-color: var(--md-white);
    border: 1px solid transparent;
    transition: border-color 0.25s ease;
}

body.md-theme .mr-card:hover .mr-card__media,
body.md-theme .mr-card:focus-within .mr-card__media {
    border-color: var(--md-ink);
}

body.md-theme .mr-card__title {
    font-family: var(--md-font-head);
    font-weight: 600;
    letter-spacing: -0.005em;
    color: var(--md-ink);
}

body.md-theme .mr-card__price {
    font-weight: 500;
    letter-spacing: 0.03em;
}

body.md-theme .mr-card__eyebrow {
    color: var(--md-soft);
}

/* DESIGN.md "Technical Badges": oxblood text on a transparent background
   with a 1px oxblood border — not a filled tag. 8.92:1 as text on porcelain. */
body.md-theme .mr-card__badge {
    background: var(--md-porcelain);
    color: var(--md-oxblood);
    border: 1px solid var(--md-oxblood);
    border-radius: 0;
    font-weight: 600;
    letter-spacing: 0.08em;
}

body.md-theme .mr-card__quick {
    letter-spacing: 0.16em;
}

/* --------------------------------------------------------------------------
   Promo tiles (inherited) — plain descriptive caption under the title, no
   underline chip (the export's subtitle is quiet, not link-styled); the
   base's own .mr-promo:hover border/scrim/scale motion is kept as-is.
   -------------------------------------------------------------------------- */
body.md-theme .mr-promo__title {
    font-weight: 600;
}

body.md-theme .mr-promo__cta {
    border-bottom: 0;
    padding-bottom: 0;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: rgba(255, 255, 255, 0.82);
}

body.md-theme .mr-promo:hover .mr-promo__cta {
    color: #ffffff;
}

/* --------------------------------------------------------------------------
   meridian "The Core Collection" featured rail header row
   -------------------------------------------------------------------------- */
body.md-theme .md-featured {
    background-color: var(--md-porcelain-band);
}

/* --------------------------------------------------------------------------
   Movement story — meridian-only split band (image one side, an intro
   paragraph + up to 3 numbered technical specs the other), separated by
   hairline keylines, laid out like a technical spec sheet.
   -------------------------------------------------------------------------- */
body.md-theme .md-story {
    display: flex;
    flex-wrap: wrap;
    min-height: 640px;
    background-color: var(--md-porcelain);
    border-top: 1px solid var(--md-ink);
    border-bottom: 1px solid var(--md-ink);
}

body.md-theme .md-story__media {
    flex: 1 1 50%;
    min-height: 420px;
    overflow: hidden;
}

body.md-theme .md-story__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.md-theme .md-story__body {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    border-left: 1px solid var(--md-ink);
}

body.md-theme .md-story__inner {
    padding: 4.5rem clamp(1.5rem, 4vw, 5rem);
    max-width: 640px;
}

body.md-theme .md-story__title {
    text-transform: uppercase;
}

body.md-theme .md-story__lede {
    color: var(--md-soft);
    font-size: 1.05rem;
    line-height: 1.6;
    max-width: 46ch;
}

body.md-theme .md-story__specs {
    display: grid;
    gap: 1.5rem;
}

body.md-theme .md-story__spec {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    padding-top: 1.5rem;
    border-top: 1px solid var(--md-hairline);
}

body.md-theme .md-story__spec:first-child {
    padding-top: 0;
    border-top: 0;
}

body.md-theme .md-story__num {
    font-family: var(--md-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: var(--md-oxblood);
    line-height: 1.5;
    min-width: 1.75rem;
}

body.md-theme .md-story__spec-title {
    font-family: var(--md-font-body);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--md-ink);
    margin-bottom: 0.3rem;
}

body.md-theme .md-story__spec-body {
    color: var(--md-soft);
    font-size: 0.9rem;
}

/* --------------------------------------------------------------------------
   Category band — full-width ink fill with bordered icon tiles, replacing
   the base's photographic image tiles (the export shows plain icon+label
   tiles on a solid ink band). White text/icon on ink = 16.39:1+; the
   accent is NEVER used as text here (1.84:1 on ink — see the file header
   contrast note), so hover moves to a brighter border only.
   -------------------------------------------------------------------------- */
body.md-theme .md-categories {
    background-color: var(--md-ink);
}

body.md-theme .md-catlink {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    padding-block: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    text-decoration: none;
    transition: border-color 0.25s ease;
}

body.md-theme .md-catlink:hover {
    border-color: #ffffff;
    color: #ffffff;
}

body.md-theme .md-catlink__icon {
    width: 32px;
    height: 32px;
}

body.md-theme .md-catlink__label {
    font-family: var(--md-font-body);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Newsletter — "On The Hour": centred, no image column, a single
   hairline-underlined row holding the email field and a plain-text
   Subscribe button (unlike the base's boxed 2-col navy CTA).
   -------------------------------------------------------------------------- */
body.md-theme .md-cta {
    padding: clamp(4rem, 8vw, 6rem) 0;
    background-color: var(--md-porcelain);
}

body.md-theme .md-cta__title {
    text-transform: uppercase;
}

body.md-theme .md-cta__body {
    color: var(--md-soft);
    max-width: 52ch;
}

body.md-theme .md-cta__form {
    display: flex;
    align-items: flex-end;
    gap: 1.25rem;
    max-width: 32rem;
    margin-top: 2.5rem;
    border-bottom: 1px solid var(--md-ink);
    padding-bottom: 0.6rem;
}

body.md-theme .md-cta__form input {
    flex: 1 1 auto;
    background: transparent;
    border: 0;
    color: var(--md-ink);
    font-family: var(--md-font-body);
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.md-theme .md-cta__form input::placeholder {
    color: var(--md-soft);
}

body.md-theme .md-cta__form input:focus {
    outline: none;
}

body.md-theme .md-cta__btn {
    background: transparent;
    border: 0;
    color: var(--md-ink);
    font-family: var(--md-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding-bottom: 0.2rem;
    transition: opacity 0.2s ease;
}

body.md-theme .md-cta__btn:hover {
    opacity: 0.7;
}

body.md-theme .md-cta__note {
    color: var(--md-soft);
    font-size: 0.78rem;
}

/* --------------------------------------------------------------------------
   Inherited component finishing — journal, footer, pagination.
   -------------------------------------------------------------------------- */
body.md-theme .mr-article__title a {
    color: var(--md-ink);
}

body.md-theme .mr-article__title a:hover {
    color: var(--md-oxblood);
}

/* Footer — ink fill (the export's footer is a solid black band). Anywhere
   the canvas flips to ink, the accent moves to a FILL (never text — see the
   file-header contrast note), so link/social hovers brighten to white or
   fill with oxblood rather than shifting text colour to oxblood-on-ink. */
body.md-theme .mr-footer {
    background-color: var(--md-ink);
    color: rgba(250, 249, 246, 0.72);
    border-top: 0;
}

body.md-theme .mr-footer h4 {
    color: var(--md-porcelain);
}

body.md-theme .mr-footer a {
    color: rgba(250, 249, 246, 0.72);
}

body.md-theme .mr-footer a:hover {
    color: #ffffff;
}

body.md-theme .mr-footer__brand {
    color: var(--md-porcelain);
}

body.md-theme .mr-social {
    border-color: rgba(250, 249, 246, 0.35);
    color: var(--md-porcelain);
}

body.md-theme .mr-social:hover {
    background-color: var(--md-oxblood);
    border-color: var(--md-oxblood);
    color: #ffffff;
}

body.md-theme .mr-divider {
    border-color: var(--md-hairline);
}

body.md-theme .mr-page {
    border-color: var(--md-ink);
}

/* --------------------------------------------------------------------------
   Motion & responsive
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    body.md-theme .mr-reveal,
    body.md-theme .mr-card__media,
    body.md-theme .md-keyline-link,
    body.md-theme .md-catlink {
        transition: none !important;
    }

    body.md-theme .mr-card:hover .mr-card__media img,
    body.md-theme .mr-tile:hover .mr-tile__img,
    body.md-theme .mr-promo:hover .mr-promo__img {
        transition: none !important;
        transform: none !important;
    }
}

@media (max-width: 991.98px) {
    body.md-theme .mr-hero .mr-hero__copy {
        padding: 1.5rem;
    }

    body.md-theme .md-story {
        min-height: 0;
    }

    body.md-theme .md-story__media,
    body.md-theme .md-story__body {
        flex: 1 1 100%;
    }

    body.md-theme .md-story__body {
        border-left: 0;
        border-top: 1px solid var(--md-ink);
    }

    body.md-theme .md-story__inner {
        padding: 3rem 1.5rem;
    }

    body.md-theme .md-cta__form {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
}
