/* =========================================================
   ROST MARTIN DAYS & RANGE DAY PAGE
   Scoped to #rost-martin-days so it doesn't wreck Bootstrap 3 header/footer
   (Built from the Ruger Days stylesheet - same rd- class names)
   Matches the 2026 Rost Martin Days graphics: black, bone text, lime accent,
   grotesk type (Inter Tight, standing in for the graphics' Sohne), square edges.
   The banner images carry the event title and dates.
   Needs the Inter Tight Google Fonts link in the page head.
========================================================= */
#rost-martin-days {
    /* Rost Martin colors (from rostmartin.com) */
    --rd-black: #161616;
    --rd-bone: #e1e2d6;
    --rd-bone-soft: rgba(225,226,214,0.62);
    --rd-line: rgba(225,226,214,0.22);
    --rd-lime: #ddee80;
    /* The graphics use Sohne (Klim Type Foundry). Inter Tight is the closest free match.
       If Vance buys a Sohne web license, add its @font-face and put 'Sohne' first here. */
    --rd-wide: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;   /* headings */
    --rd-sans: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;   /* body + labels */

    --rd-primary: var(--rd-lime);
    --rd-primary-dark: #c6d866;
    --rd-gold: var(--rd-lime);
    --rd-gold-dark: #c6d866;
    --rd-charcoal: var(--rd-black);
    --rd-bg: var(--rd-black);
    --rd-surface: #1f1f1f;
    --rd-surface-2: #1b1b1b;
    --rd-text: var(--rd-bone);
    --rd-text-soft: #c9cabf;
    --rd-text-muted: #8f9086;
    --rd-border: var(--rd-line);
    --rd-accent: var(--rd-primary);
    --rd-accent-soft: rgba(221,238,128,0.12);
    --rd-accent-ink: var(--rd-lime);
    --rd-date: var(--rd-lime);
    --rd-shadow: 0 18px 45px rgba(0,0,0,0.28);
    --rd-radius-xl: 0;            /* square edges, like the Rost Martin site */
    --rd-radius-lg: 0;
    background: var(--rd-bg);
    color: var(--rd-text);
    font-family: var(--rd-wide);
    overflow: hidden;
}
#rost-martin-days.theme-light {
    --rd-bg: #e9eaec;
    --rd-surface: #ffffff;
    --rd-surface-2: #f0f1f4;
    --rd-text: #1d1f24;
    --rd-text-soft: #424854;
    --rd-text-muted: #6f7783;
    --rd-border: rgba(0,0,0,0.10);
    --rd-accent-soft: rgba(221,238,128,0.08);
    --rd-accent-ink: var(--rd-primary);
    --rd-date: var(--rd-primary);
    --rd-shadow: 0 18px 45px rgba(0,0,0,0.10);
    /* Brushed-silver background like the graphics */
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,0.25) 0 1px, transparent 1px 3px),
        linear-gradient(180deg, #f3f3f4 0%, #dcdde0 100%);
}
#rost-martin-days * { box-sizing: border-box; }

#rost-martin-days .rd-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}
#rost-martin-days .rd-section { padding: 60px 0; }

/* ---------- HERO BANNER ----------
   The designer's banner (text is part of the image), used on the
   countdown splash and the full page. Desktop: 2400x700 banner.
   Phones: 800x400 version with CTA (swapped by <picture> in the page).
   The whole banner links to the Rost Martin brand page.
-------------------------------- */
#rost-martin-days .rd-banner {
    display: block;
    background: #000;
    border-bottom: 4px solid var(--rd-lime);
}
#rost-martin-days .rd-banner img {
    display: block;
    width: 100%;
    max-width: 2400px;
    height: auto;
    margin: 0 auto;
}
/* Page title for screen readers / search (the visible title is in the banner image) */
#rost-martin-days .rd-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
/* Action bar under the banner: Shop button + Range Day callout */
#rost-martin-days .rd-hero-actions {
    padding: 28px 0;
    background: var(--rd-black);
}
#rost-martin-days .rd-hero-actions .rd-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 18px 28px;
}
/* Lime "Shop Rost Martin" button, styled like the banner's LEARN MORE button */
#rost-martin-days .rd-btn-shop {
    display: inline-block;
    padding: 16px 34px;
    background: var(--rd-lime);
    color: var(--rd-black) !important;
    font-family: var(--rd-wide);
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none !important;
    border: 2px solid var(--rd-lime);
    transition: background .2s ease, color .2s ease;
}
#rost-martin-days .rd-btn-shop:hover,
#rost-martin-days .rd-btn-shop:focus-visible {
    background: transparent;
    color: var(--rd-lime) !important;
}
#rost-martin-days .rd-btn-shop:focus-visible { outline: 2px solid var(--rd-bone); outline-offset: 3px; }
/* Fine print under the action bar, from the banner */
#rost-martin-days .rd-hero-note {
    margin: 16px 0 0;
    width: 100%;
    text-align: center;
    font-family: var(--rd-sans);
    font-size: 14px;
    font-weight: 300;   /* light italic, like the graphics' fine print */
    font-style: italic;
    color: var(--rd-text-muted);
}
#rost-martin-days .rd-hero-note small {
    display: block;
    margin-top: 2px;
    font-size: 12px;
}
@media (max-width: 767px) {
    #rost-martin-days .rd-btn-shop { display: block; width: 100%; text-align: center; }
}
/* Dates sit right under the logo, centered, with a big button below them,
   so everything fits above the fold */
#rost-martin-days .rd-hero-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    text-align: center;
}
#rost-martin-days .rd-hero-logo {
    text-align: center;
    padding: 0 0 14px;
}
#rost-martin-days .rd-logo {
    max-width: 300px;
    width: 100%;
    height: auto;
    display: inline-block;
    filter: drop-shadow(0 10px 25px rgba(0,0,0,0.45));
}
#rost-martin-days.theme-light .rd-logo { filter: drop-shadow(0 10px 25px rgba(0,0,0,0.25)); }
#rost-martin-days .rd-hero-dates-value {
    margin-top: 6px;
    font-size: 38px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
    /* White + dark glow so the dates read over the dark part of the hero photo */
    color: #fff;
    text-shadow:
        0 2px 4px rgba(0,0,0,0.85),
        0 0 18px rgba(0,0,0,0.65);
}
/* "EVENT DATES" label in the handout gold */
#rost-martin-days .rd-hero .rd-heading-eyebrow {
    color: var(--rd-gold);
    text-shadow: 0 1px 3px rgba(0,0,0,0.85);
}

/* Two date blocks side by side (VAC early access | open to everyone) */
#rost-martin-days .rd-hero-dates {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 14px;
}
#rost-martin-days .rd-hero-date-block { padding: 0 28px; }
#rost-martin-days .rd-hero-date-block + .rd-hero-date-block {
    border-left: 2px solid rgba(255,255,255,0.6);
}
#rost-martin-days .rd-hero-date-block .rd-hero-dates-value { font-size: 32px; }

/* VAC 2X points badge - big gold block, "2X POINTS" as the headline */
#rost-martin-days .rd-hero-points {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 36px 14px;
    border: 3px solid #fff;
    border-radius: 6px;
    background: var(--rd-gold);
    color: var(--rd-charcoal);
    font-family: var(--rd-wide);
    text-transform: uppercase;
    box-shadow: 0 0 0 4px var(--rd-charcoal), 0 14px 30px rgba(0,0,0,0.35);
    transform: rotate(-2deg);   /* slight tilt so it reads like a sticker/burst */
}
#rost-martin-days .rd-hero-points-big {
    font-size: 54px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .02em;
}
#rost-martin-days .rd-hero-points-label {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 2px solid rgba(44,40,42,0.4);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .08em;
}
/* Big, eye-catching hero button */
#rost-martin-days .rd-hero-action .rd-btn {
    margin: 0;
    padding: 20px 56px;
    font-size: 22px;
    letter-spacing: .1em;
    border: 3px solid #fff;
    box-shadow: 0 0 0 4px var(--rd-primary), 0 14px 30px rgba(0,0,0,0.35);
    animation: rdBtnPulse 2.4s ease-in-out infinite;
}
#rost-martin-days .rd-hero-action .rd-btn:hover { animation: none; }
@keyframes rdBtnPulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
    #rost-martin-days .rd-hero-action .rd-btn { animation: none; }
}

/* ---------- BUTTONS ---------- */
#rost-martin-days .rd-btn-row { margin-top: 28px; }
#rost-martin-days .rd-btn {
    display: inline-block;
    margin: 0 6px 12px;
    padding: 11px 22px;
    border-radius: 4px;
    border: 1px solid transparent;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-family: var(--rd-sans);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    transition: background .2s ease, color .2s ease;
}
#rost-martin-days .rd-btn-lg { padding: 13px 28px; font-size: 15px; }
#rost-martin-days .rd-btn-primary {
    background: var(--rd-accent);
    color: var(--rd-black) !important;   /* dark text on lime */
}
#rost-martin-days .rd-btn-primary:hover { background: var(--rd-primary-dark); }
#rost-martin-days .rd-btn-light {
    background: #fff;
    color: #111 !important;
}
#rost-martin-days .rd-btn-light:hover { background: #e9e9e9; }

/* ---------- SECTION HEADINGS ---------- */
#rost-martin-days .rd-heading-row { margin-bottom: 26px; }
#rost-martin-days .rd-heading-eyebrow {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: var(--rd-accent-ink);
    font-family: var(--rd-sans);
}
#rost-martin-days .rd-heading {
    margin: 10px 0 0;
    font-size: 38px;
    line-height: 1.15;
    font-weight: 800;
    color: var(--rd-text);
}
#rost-martin-days .rd-heading-copy {
    margin: 12px 0 0;
    color: var(--rd-text-soft);
    font-family: var(--rd-sans);
    font-size: 16px;
    line-height: 1.6;
}
#rost-martin-days .rd-instore-note a {
    color: var(--rd-accent-ink);
    font-weight: 700;
    text-decoration: underline;
}

/* ---------- IN-STORE DEAL CARDS ---------- */
/* Flex row so cards with different text lengths don't snag Bootstrap 3 floats;
   a short last row is centered */
#rost-martin-days .rd-deals-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#rost-martin-days .rd-deals-row::before,
#rost-martin-days .rd-deals-row::after { display: none; }
#rost-martin-days .rd-deal {
    display: flex;          /* lets each card stretch to the tallest card in the row */
    margin-bottom: 24px;
}
#rost-martin-days .rd-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 22px;
    border: 1px solid var(--rd-border);
    border-radius: var(--rd-radius-xl);
    background: var(--rd-surface);
    box-shadow: var(--rd-shadow);
}
#rost-martin-days .rd-instore-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    padding: 6px 12px;
    border-radius: 3px;
    background: var(--rd-accent);
    color: var(--rd-black);
    font-family: var(--rd-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
/* Same image height on every card so titles start on the same line */
#rost-martin-days .rd-product-image {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: contain;
    border-radius: var(--rd-radius-lg);
}
#rost-martin-days .rd-img-placeholder {
    width: 100%;
    min-height: 200px;
    padding: 16px;
    border: 1px dashed var(--rd-border);
    border-radius: var(--rd-radius-lg);
    background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.05));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rd-text-muted);
    font-size: 13px;
    font-family: var(--rd-sans);
}
#rost-martin-days .rd-product-title {
    margin: 18px 0 0;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
    color: var(--rd-text);
}
#rost-martin-days .rd-product-desc {
    margin-top: 12px;
    color: var(--rd-text-soft);
    font-size: 15px;
    line-height: 1.7;
    font-family: var(--rd-sans);
}
/* margin-top:auto pushes price + fine print to the bottom of the card,
   so prices line up across the row no matter how long the description is */
#rost-martin-days .rd-price-row {
    margin-top: auto;
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}
#rost-martin-days .rd-price {
    font-size: 26px;
    line-height: 1;
    font-weight: 800;
    color: var(--rd-text);
}
#rost-martin-days .rd-save {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 3px;
    background: var(--rd-accent-soft);
    color: var(--rd-accent-ink);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-family: var(--rd-sans);
}
/* Purchase requirement under the price (e.g. "With purchase of any new Ruger rifle") */
/* Purchase requirement: solid red banner, like the print graphics */
#rost-martin-days .rd-offer-note {
    display: flex;          /* min-height keeps 1- and 2-line banners the same size */
    align-items: center;
    justify-content: center;
    min-height: 62px;
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 4px;
    background: var(--rd-primary);
    color: var(--rd-black);
    font-family: var(--rd-wide);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .03em;
    text-align: center;
    text-transform: uppercase;
}
/* Cards with no price: push the banner to the bottom
   so it lines up with the prices on neighboring cards */
#rost-martin-days .rd-product-desc { margin-bottom: 16px; }
#rost-martin-days .rd-product-desc + .rd-offer-note,
#rost-martin-days .rd-style + .rd-offer-note,
#rost-martin-days .rd-product-title + .rd-offer-note { margin-top: auto; }

/* Style / item number under the product name */
#rost-martin-days .rd-style {
    margin: 8px 0 16px;
    font-family: var(--rd-sans);
    font-size: 13px;
    line-height: 1.5;
    color: var(--rd-text-muted);
    overflow-wrap: anywhere;   /* long numbers like RB-SG36-WS-BK-BULK wrap instead of overflowing */
}

/* Red/gold box stacks its lines (main text, then style numbers if any) */
#rost-martin-days .rd-offer-note { flex-direction: column; }
#rost-martin-days .rd-offer-style {
    display: block;
    margin-top: 6px;
    font-family: var(--rd-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    opacity: .9;
}
/* Small "EACH" after a price (GSL) */
#rost-martin-days .rd-price-each {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
#rost-martin-days .rd-fine-print {
    margin: 14px 0 0;
    font-size: 12px;
    font-style: italic;
    color: var(--rd-text-muted);
    font-family: var(--rd-sans);
}

/* ---------- CARD COLOR TYPES (matches the Promos Handout) ----------
   rd-card--receive : receive with purchase -> red
   rd-card--deal : buy this, get this  -> gold
-------------------------------- */
#rost-martin-days .rd-card--receive { border-top: 6px solid var(--rd-primary); }
#rost-martin-days .rd-card--deal { border-top: 6px solid var(--rd-gold); }

/* Receive = red banner, white text (the default .rd-offer-note look) */
#rost-martin-days .rd-card--receive .rd-offer-note,
#rost-martin-days .rd-card--receive .rd-instore-tag {
    background: var(--rd-primary);
    color: var(--rd-black);
}
/* Deal = gold banner, charcoal text (white on gold is too low-contrast) */
#rost-martin-days .rd-card--deal .rd-offer-note,
#rost-martin-days .rd-card--deal .rd-instore-tag {
    background: var(--rd-gold);
    color: var(--rd-charcoal);
}

/* ---------- FULL-WIDTH CARD (col-lg-12, e.g. Advantage Club) ----------
   Image on the left, text on the right; red box sized to its text
   instead of stretching across the whole page.
-------------------------------- */
@media (min-width: 768px) {
    #rost-martin-days .col-lg-12 > .rd-card {
        display: grid;
        grid-template-columns: 280px 1fr;
        column-gap: 32px;
        align-content: center;
    }
    #rost-martin-days .col-lg-12 > .rd-card .rd-product-image {
        grid-column: 1;
        grid-row: 1 / span 3;
        height: 170px;
        align-self: center;
    }
    #rost-martin-days .col-lg-12 > .rd-card .rd-product-title,
    #rost-martin-days .col-lg-12 > .rd-card .rd-offer-note,
    #rost-martin-days .col-lg-12 > .rd-card .rd-fine-print { grid-column: 2; }
    #rost-martin-days .col-lg-12 > .rd-card .rd-product-title {
        align-self: end;
        margin: 0;
        font-size: 30px;
    }
    #rost-martin-days .col-lg-12 > .rd-card .rd-offer-note {
        justify-self: start;
        min-height: 0;
        margin: 14px 0 0;
        padding: 12px 24px;
        font-size: 18px;
    }
    #rost-martin-days .col-lg-12 > .rd-card .rd-fine-print { align-self: start; }
}

/* ---------- SHOPPABLE (LINKED) CARDS ----------
   Gold cards are wrapped in <a class="rd-card-link">.
   The whole card is clickable; a "Shop Now" line is added at the bottom.
-------------------------------- */
#rost-martin-days .rd-card-link {
    display: flex;          /* keeps the card stretching to the row height */
    width: 100%;
    color: inherit;
    text-decoration: none !important;
}
#rost-martin-days .rd-card-link .rd-card {
    transition: transform .2s ease, box-shadow .2s ease;
}
#rost-martin-days .rd-card-link:hover .rd-card,
#rost-martin-days .rd-card-link:focus-visible .rd-card {
    transform: translateY(-3px);
    box-shadow: 0 22px 45px rgba(0,0,0,0.18);
}
#rost-martin-days .rd-card-link .rd-card::after {
    content: "Shop Now \203A";
    display: block;
    margin-top: 12px;
    text-align: center;
    font-family: var(--rd-sans);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--rd-charcoal);
}
#rost-martin-days .rd-card-link:hover .rd-card::after { text-decoration: underline; }

/* ---------- REP SCHEDULE ----------
   One card per day, styled after the "Meet the Ruger Reps" poster:
   black day header, crimson date, store + hours below.
-------------------------------- */
#rost-martin-days .rd-reps-section {
    background: var(--rd-surface-2);
    border-top: 1px solid var(--rd-border);
}
#rost-martin-days.theme-light .rd-reps-section {
    background: rgba(255,255,255,0.35);
}
#rost-martin-days .rd-reps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
}
#rost-martin-days .rd-rep-card {
    overflow: hidden;
    border: 1px solid var(--rd-border);
    border-radius: 10px;
    background: var(--rd-surface);
    box-shadow: var(--rd-shadow);
    text-align: center;
}
#rost-martin-days .rd-rep-day {
    padding: 12px 20px;
    background: var(--rd-charcoal);
    border-bottom: 4px solid var(--rd-primary);
    color: #fff;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
#rost-martin-days .rd-rep-body { padding: 18px 20px 22px; }
#rost-martin-days .rd-rep-date {
    margin-bottom: 10px;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--rd-date);
}
/* Stores for the same day sit side by side with a thin divider between them */
#rost-martin-days .rd-rep-stores {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
#rost-martin-days .rd-rep-store {
    padding: 8px 16px;
    font-family: var(--rd-sans);
}
#rost-martin-days .rd-rep-store + .rd-rep-store { border-left: 1px solid var(--rd-text-muted); }
#rost-martin-days .rd-rep-store-name {
    display: block;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--rd-text);
}
#rost-martin-days .rd-rep-store-time {
    display: block;
    margin-top: 2px;
    font-size: 15px;
    color: var(--rd-text-muted);
}

/* ---------- DEALS PAGE CTA ----------
   Black / crimson diagonal split with a silver seam, like the banners
-------------------------------- */
#rost-martin-days .rd-cta-band {
    /* Seam kept left of center so the centered heading/button sit fully on the red */
    background: linear-gradient(110deg, var(--rd-charcoal) 0%, var(--rd-charcoal) 22%, #d9dadc 22%, #d9dadc 22.5%, var(--rd-primary) 22.5%, var(--rd-primary-dark) 100%);
    text-align: center;
}
/* Single big button in the band */
#rost-martin-days .rd-cta-band .rd-btn {
    margin: 0;
    padding: 20px 44px;
    font-size: 20px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.3);
}
#rost-martin-days .rd-cta-band .rd-heading {
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

/* ---------- LEGAL / FINE PRINT ---------- */
#rost-martin-days .rd-legal {
    padding: 30px 0 40px;
    font-family: var(--rd-sans);
    font-size: 13px;
    line-height: 1.6;
    color: var(--rd-text-muted);
}
#rost-martin-days .rd-legal p { margin: 0 0 6px; }
#rost-martin-days .rd-legal-lead {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rd-date);
}
#rost-martin-days .rd-legal-strong {
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rd-text-soft);
}

/* ---------- COUNTDOWN SPLASH (before the event starts) ----------
   Styled after rostmartin.com: near-black, bone text, lime accent,
   wide all-caps headings, square edges.
-------------------------------- */
#rost-martin-days .rd-teaser {
    position: relative;
    padding: 44px 0 56px;
    text-align: center;
    color: var(--rd-bone);
    background: var(--rd-black);
}
/* Event copy from the banner, under the Range Day block */
#rost-martin-days .rd-teaser-copy {
    max-width: 46ch;
    margin: 30px auto 22px;
    font-family: var(--rd-sans);
    font-size: 18px;
    line-height: 1.5;
    color: var(--rd-bone);
}
/* Faint hairline grid behind the content */
#rost-martin-days .rd-teaser::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(var(--rd-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--rd-line) 1px, transparent 1px);
    background-size: 80px 80px;
    background-position: center;
    opacity: .35;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%);
            mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%);
}
#rost-martin-days .rd-presents {
    margin: 0 0 18px;
    font-family: var(--rd-wide);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--rd-lime);
}
/* Text wordmark - TODO: swap for the event logo when graphics arrive */
#rost-martin-days .rd-wordmark {
    margin: 0;
    font-family: var(--rd-wide);
    font-size: 58px;
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.01em;
    text-transform: uppercase;
    color: var(--rd-bone);
    text-wrap: balance;
}
#rost-martin-days .rd-wordmark span { display: block; color: var(--rd-lime); }

#rost-martin-days .rd-teaser-eyebrow {
    margin: 0 0 16px;
    font-family: var(--rd-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--rd-bone-soft);
}
#rost-martin-days .rd-countdown {
    display: inline-grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid var(--rd-bone-soft);
}
#rost-martin-days .rd-countdown-unit { min-width: 132px; padding: 20px 12px 16px; }
#rost-martin-days .rd-countdown-unit + .rd-countdown-unit { border-left: 1px solid var(--rd-line); }
#rost-martin-days .rd-countdown-num {
    display: block;
    font-family: var(--rd-wide);
    font-size: 60px;
    font-weight: 700;
    line-height: 1;
    color: var(--rd-bone);
    font-variant-numeric: tabular-nums;   /* digits don't jiggle as they change */
}
#rost-martin-days .rd-countdown-unit:last-child .rd-countdown-num { color: var(--rd-lime); }
#rost-martin-days .rd-countdown-label {
    display: block;
    margin-top: 10px;
    font-family: var(--rd-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--rd-bone-soft);
}
#rost-martin-days .rd-teaser-when {
    margin: 28px 0 32px;
    font-family: var(--rd-wide);
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
}
#rost-martin-days .rd-teaser-details {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto 36px;
    border-top: 1px solid var(--rd-line);
    border-bottom: 1px solid var(--rd-line);
    max-width: 760px;
}
#rost-martin-days .rd-teaser-detail { flex: 1 1 0; padding: 16px 20px; }
#rost-martin-days .rd-teaser-detail + .rd-teaser-detail { border-left: 1px solid var(--rd-line); }
#rost-martin-days .rd-teaser-detail-label {
    display: block;
    font-family: var(--rd-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--rd-lime);
}
#rost-martin-days .rd-teaser-detail-value {
    display: block;
    margin-top: 6px;
    font-family: var(--rd-wide);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
}
/* Range Day callout: solid lime block like the Rost Martin site's primary button.
   Used on the splash and in the hero. */
#rost-martin-days .rd-range {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: stretch;
    max-width: 100%;
    text-transform: uppercase;
}
#rost-martin-days .rd-range-big {
    padding: 16px 26px;
    background: var(--rd-lime);
    color: var(--rd-black);
    font-family: var(--rd-wide);
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
}
#rost-martin-days .rd-range-info {
    padding: 12px 22px;
    border: 1px solid var(--rd-lime);
    color: var(--rd-lime);
    font-family: var(--rd-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .14em;
    line-height: 1.6;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#rost-martin-days .rd-range-info strong { color: var(--rd-bone); font-weight: 600; }

@media (max-width: 767px) {
    #rost-martin-days .rd-teaser          { padding: 32px 0 44px; }
    #rost-martin-days .rd-teaser-copy     { font-size: 16px; }
    #rost-martin-days .rd-wordmark        { font-size: 32px; }
    #rost-martin-days .rd-countdown       { display: grid; }
    #rost-martin-days .rd-countdown-unit  { min-width: 0; padding: 14px 4px 12px; }
    #rost-martin-days .rd-countdown-num   { font-size: 30px; }
    #rost-martin-days .rd-countdown-label { font-size: 9px; letter-spacing: .12em; }
    #rost-martin-days .rd-teaser-when     { font-size: 16px; }
    #rost-martin-days .rd-teaser-detail   { flex-basis: 100%; }
    #rost-martin-days .rd-teaser-detail + .rd-teaser-detail { border-left: 0; border-top: 1px solid var(--rd-line); }
    #rost-martin-days .rd-range           { flex-direction: column; width: 100%; }
    #rost-martin-days .rd-range-big       { justify-content: center; font-size: 24px; }
    #rost-martin-days .rd-range-info      { text-align: center; }
}

/* ---------- COMING SOON SPLASH (old, unused) ---------- */
#rost-martin-days .rd-logo-wrap-splash {
    position: relative;
    height: 500px;
    text-align: center;
}
#rost-martin-days .rd-splash-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.9);
    z-index: 5;
    overflow: hidden;
}
#rost-martin-days .rd-splash-overlay::before {
    content: "";
    position: absolute;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at center, rgba(221,238,128,0.25), transparent 40%);
    animation: rdGlowMove 6s linear infinite;
}
#rost-martin-days .rd-splash-overlay span {
    position: relative;
    z-index: 2;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: 2.5rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-shadow: 0 0 5px rgba(255,255,255,0.6), 0 0 15px rgba(255,255,255,0.4), 0 0 30px rgba(255,255,255,0.3);
    animation: rdPulseText 2s ease-in-out infinite;
}
@keyframes rdGlowMove {
    0%   { transform: translate(-25%, -25%); }
    50%  { transform: translate(25%, 25%); }
    100% { transform: translate(-25%, -25%); }
}
@keyframes rdPulseText {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.7; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 991px) {
    #rost-martin-days .rd-heading           { font-size: 32px; }
    #rost-martin-days .rd-hero-dates-value  { font-size: 30px; }
    #rost-martin-days .rd-hero-date-block .rd-hero-dates-value { font-size: 24px; }
    #rost-martin-days .rd-hero-date-block   { padding: 0 18px; }
}
@media (max-width: 767px) {
    #rost-martin-days .rd-logo              { max-width: 220px; }
    #rost-martin-days .rd-hero-logo         { padding: 0 0 8px; }
    #rost-martin-days .rd-hero-action .rd-btn { padding: 16px 20px; font-size: 18px; }
    #rost-martin-days .rd-hero-bar          { flex-direction: column; text-align: center; }
    #rost-martin-days .rd-hero-action,
    #rost-martin-days .rd-hero-action .rd-btn { width: 100%; }
    #rost-martin-days .rd-hero-dates-value,
    #rost-martin-days .rd-hero-date-block .rd-hero-dates-value { font-size: 24px; }
    /* stack the two date blocks on phones, no divider */
    #rost-martin-days .rd-hero-date-block   { padding: 0; width: 100%; }
    #rost-martin-days .rd-hero-date-block + .rd-hero-date-block { border-left: 0; }
    #rost-martin-days .rd-hero-points       { padding: 10px 22px 12px; }
    #rost-martin-days .rd-hero-points-big   { font-size: 40px; }
    #rost-martin-days .rd-hero-points-label { font-size: 14px; }
    #rost-martin-days .rd-section           { padding: 42px 0; }
    #rost-martin-days .rd-heading           { font-size: 28px; }
    #rost-martin-days .rd-card              { padding: 20px; }
    #rost-martin-days .rd-btn               { display: block; margin: 0 0 12px; text-align: center; }
    #rost-martin-days .rd-cta-band          { background: linear-gradient(160deg, var(--rd-charcoal) 0%, var(--rd-charcoal) 35%, var(--rd-primary) 35%, var(--rd-primary-dark) 100%); }
}
