/* ==========================================================================
   Talk in Arabia — Polish layer (v2 / production-grade)
   Loaded AFTER main.css. Only structure/alignment/spacing/responsiveness.
   No visual redesign — colors, fonts and section order are untouched.

   AUDIT FINDINGS this layer addresses:
     • Container widths inconsistent (1200/1400/full)         → unified 1200
     • Section padding ad-hoc per section                     → fluid system
     • 1.5/1.6/1.7/1.8 line-heights mixed                     → 1.6 body / 1.2 head
     • Random margins (16, 18, 20, 22, 24, 32, 40, 48 …)      → 8 px scale
     • Breakpoints: 640/700/768/1024/1200                     → 320/768/1024/1280
     • main.css ships broken UUID `background-image` URLs     → neutralized
     • Inline styles for card BGs leak through                → respected
     • Video cards not clickable                              → fixed
     • VIP badge clipped by overflow:hidden                   → fixed
     • Scroll-reveal sections invisible if JS slow            → fail-safe visible
     • Hero text + video flex side-by-side                    → stacked
     • Newsletter / countdown overflow on mobile              → grid stacking
   ========================================================================== */


/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root {
    /* 8 px spacing scale */
    --tia-s-1:  8px;
    --tia-s-2: 16px;
    --tia-s-3: 24px;
    --tia-s-4: 32px;
    --tia-s-5: 48px;
    --tia-s-6: 64px;
    --tia-s-7: 96px;

    /* Container */
    --tia-container: 1200px;
    --tia-pad-mobile:  16px;
    --tia-pad-tablet:  24px;
    --tia-pad-desktop: 32px;

    /* Vertical rhythm */
    --tia-section-y: clamp(56px, 7vw, 96px);

    /* Type */
    --tia-leading-body: 1.6;
    --tia-leading-head: 1.2;
    --tia-readable-w: 65ch;

    /* Radii */
    --tia-radius-sm: 8px;
    --tia-radius:   12px;
    --tia-radius-lg: 20px;

    /* Shadows */
    --tia-shadow-sm: 0 2px 6px rgba(15,23,42,0.06);
    --tia-shadow:    0 8px 24px rgba(15,23,42,0.08);
    --tia-shadow-lg: 0 20px 50px rgba(237,30,121,0.18);
}


/* ==========================================================================
   2. RESET & GUARDS
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; max-width: 100%; }
html       { scroll-behavior: smooth; }
body       { font-size: 16px; line-height: var(--tia-leading-body); }

img, picture, video, svg, iframe {
    max-width: 100%;
    height: auto;
    display: block;
}
img { object-fit: cover; }

section, header, footer, main, article, aside { max-width: 100%; }


/* ==========================================================================
   3. UNIFIED CONTAINER
   Every section the_user can see uses the same fluid math:
     content area is at most 1200 px and centered with side padding
     16 px (mobile) / 24 px (tablet) / 32 px (desktop)
   ========================================================================== */
.section,
.flash-sale,
.countdown,
.newsletter,
.footer,
.site-header {
    padding-top:    var(--tia-section-y);
    padding-bottom: var(--tia-section-y);
    padding-left:   max(var(--tia-pad-mobile), calc((100% - var(--tia-container)) / 2));
    padding-right:  max(var(--tia-pad-mobile), calc((100% - var(--tia-container)) / 2));
}
@media (min-width: 768px) {
    .section,
    .flash-sale,
    .countdown,
    .newsletter,
    .footer,
    .site-header {
        padding-left:  max(var(--tia-pad-tablet),  calc((100% - var(--tia-container)) / 2));
        padding-right: max(var(--tia-pad-tablet),  calc((100% - var(--tia-container)) / 2));
    }
}
@media (min-width: 1024px) {
    .section,
    .flash-sale,
    .countdown,
    .newsletter,
    .footer,
    .site-header {
        padding-left:  max(var(--tia-pad-desktop), calc((100% - var(--tia-container)) / 2));
        padding-right: max(var(--tia-pad-desktop), calc((100% - var(--tia-container)) / 2));
    }
}

/* Header keeps a tight vertical rhythm */
.site-header {
    padding-top: var(--tia-s-2);
    padding-bottom: var(--tia-s-2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--tia-s-3);
}

/* Banner sections get tighter vertical rhythm */
.flash-sale  { padding-top: var(--tia-s-5); padding-bottom: var(--tia-s-5); }
.countdown   { padding-top: var(--tia-s-6); padding-bottom: var(--tia-s-6); }
.newsletter  { padding-top: var(--tia-s-6); padding-bottom: var(--tia-s-6); }

.section-container {
    width: 100%;
    max-width: var(--tia-container);
    margin: 0 auto;
}


/* ==========================================================================
   4. TYPOGRAPHY — fluid scaling, normalised line-heights
   ========================================================================== */
h1, h2, h3, h4 { line-height: var(--tia-leading-head); text-wrap: balance; }
p              { line-height: var(--tia-leading-body); }

.hero-title {
    font-size: clamp(34px, 5.5vw, 64px) !important;
    line-height: 1.1 !important;
    margin-bottom: var(--tia-s-2);
}
.hero-subtitle {
    font-size: clamp(15px, 1.4vw, 18px) !important;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto var(--tia-s-4);
}
.section-title {
    font-size: clamp(28px, 4vw, 44px) !important;
    line-height: 1.15 !important;
    margin-bottom: var(--tia-s-5) !important;
}
.story-featured-title { font-size: clamp(22px, 2.4vw, 32px) !important; line-height: 1.2; }
.story-card-title     { font-size: clamp(15px, 1.2vw, 17px) !important; line-height: 1.35; }
.video-title          { font-size: clamp(15px, 1.2vw, 17px); line-height: 1.3; }
.tier-name            { font-size: clamp(22px, 2.2vw, 28px) !important; }
.testimonial-text     { font-size: clamp(14px, 1.1vw, 16px) !important; line-height: 1.6; }
.countdown-info h3    { font-size: clamp(22px, 2.4vw, 32px) !important; }
.timer-number         { font-size: clamp(22px, 2.4vw, 32px) !important; line-height: 1; }

/* Reading-width caps for body copy in dense sections */
.hero-subtitle,
.flash-text,
.countdown-info p,
.newsletter-content p {
    max-width: var(--tia-readable-w);
    margin-left: auto;
    margin-right: auto;
}


/* ==========================================================================
   5. BUTTON SYSTEM
   ========================================================================== */
.hero-btn,
.flash-btn,
.tier-btn,
.newsletter-form button,
.story-featured-link,
.search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;          /* Apple HIG / Material tap target */
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .02em;
    border-radius: 999px;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.hero-btn:focus-visible,
.flash-btn:focus-visible,
.tier-btn:focus-visible,
.newsletter-form button:focus-visible,
.search-btn:focus-visible {
    outline: 2px solid var(--primary-light, #ff4d94);
    outline-offset: 3px;
}
.hero-cta-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--tia-s-2);
    justify-content: center;
}


/* ==========================================================================
   6. CARDS / GRIDS
   Auto-fit grids so rows always look balanced, with explicit caps for
   sections where 5–7 items would otherwise leave orphans.
   ========================================================================== */
.stories-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: clamp(16px, 2.5vw, 32px);
    align-items: start;
}
.gallery-grid,
.trending-grid,
.tiers-grid,
.performers-grid,
.testimonials-grid,
.category-grid,
.highlights-grid {
    display: grid;
    gap: clamp(16px, 2vw, 28px);
}
.gallery-grid       { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.trending-grid      { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.tiers-grid         { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.performers-grid    { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.testimonials-grid  { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.category-grid      { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.highlights-grid    { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

/* Common card shell — flex column so children flow predictably */
.story-card,
.story-featured,
.video-card,
.trending-card,
.performer-card,
.testimonial-card,
.category-card,
.highlight-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border-radius: var(--tia-radius);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* VIP cards must NOT clip — badge sits at top: -12px */
.tier-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: visible;
    border-radius: var(--tia-radius-lg);
    margin-top: 18px;
}
.tier-badge { z-index: 2; }

/* Fixed aspect ratios — kill height jitter and stop image stretch */
.story-featured       { aspect-ratio: 16 / 11; min-height: 400px; }
.video-card           { aspect-ratio: 16 / 10; }
.trending-card        { aspect-ratio: 4 / 5; }
.performer-card       { aspect-ratio: 1 / 1.1; }
.category-card        { aspect-ratio: 4 / 3; }
.highlight-card       { aspect-ratio: 1 / 1; }
.tier-card            { min-height: 460px; }

/* Make video cards fully clickable + add hover overlay */
.video-card { position: relative; }
.video-card__link {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: var(--tia-s-3);
    color: #fff;
    text-decoration: none;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.75) 100%);
    transition: background .25s ease;
    z-index: 1;
}
.video-card__link:hover {
    background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(237,30,121,0.65) 100%);
}
.video-card .video-overlay { width: 100%; }
.video-card::before { z-index: 0; }

/* Neutralise main.css's broken UUID placeholder backgrounds */
.category-card:not([style*="background-image"]),
.video-card:not([style*="background-image"]),
.trending-card:not([style*="background-image"]),
.performer-card:not([style*="background-image"]),
.highlight-card:not([style*="background-image"]),
.story-card-img:not([style*="background-image"]),
.story-featured:not([style*="background-image"]) {
    background-image: none !important;
}


/* ==========================================================================
   7. HERO
   ========================================================================== */
.hero {
    min-height: clamp(520px, 100vh, 900px);
    padding-left:  var(--tia-pad-mobile);
    padding-right: var(--tia-pad-mobile);
    text-align: center;
}
@media (min-width: 768px) {
    .hero { padding-left: var(--tia-pad-tablet);  padding-right: var(--tia-pad-tablet); }
}
@media (min-width: 1024px) {
    .hero { padding-left: var(--tia-pad-desktop); padding-right: var(--tia-pad-desktop); }
}
.hero-content {
    width: 100%;
    max-width: 900px;
    padding: 0;
    z-index: 10;
}
.hero-cta-group { margin-top: var(--tia-s-3); }


/* ==========================================================================
   8. FLASH SALE / COUNTDOWN / NEWSLETTER content centering
   ========================================================================== */
.flash-sale-content,
.countdown-content,
.newsletter-form,
.newsletter-content {
    width: 100%;
    max-width: var(--tia-container);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.flash-sale-content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 2vw, 32px);
    text-align: center;
}
.countdown-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 60px);
    align-items: center;
}
.countdown-timer {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(8px, 1vw, 16px);
}
.timer-item {
    padding: clamp(12px, 1.5vw, 20px) clamp(8px, 1vw, 16px);
    text-align: center;
    min-width: 0;
}


/* ==========================================================================
   9. NEWSLETTER FORM
   ========================================================================== */
.newsletter-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--tia-s-2);
    justify-content: center;
    margin-top: var(--tia-s-3);
}
.newsletter-form input[type="email"] {
    flex: 1 1 280px;
    min-height: 44px;
    padding: 12px 16px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.12);
    font: inherit;
    font-size: 15px;
    background: #fff;
}
.newsletter-form input[type="email"]:focus-visible {
    outline: 2px solid var(--primary-light, #ff4d94);
    outline-offset: 1px;
}
.newsletter-form button { flex: 0 0 auto; }


/* ==========================================================================
   10. FOOTER
   ========================================================================== */
.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: clamp(24px, 3vw, 48px);
    width: 100%;
    max-width: var(--tia-container);
    margin: 0 auto;
}
.footer-col h4 {
    font-size: 13px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: var(--tia-s-2);
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li + li { margin-top: var(--tia-s-1); }
.footer-col a { transition: opacity .2s ease; }
.footer-col a:hover { opacity: 0.75; }


/* ==========================================================================
   11. RESPONSIVE BREAKPOINTS
   320 / 768 / 1024 / 1280 normalised across the site.
   ========================================================================== */

/* ≥ 1280 — desktop polish */
@media (min-width: 1280px) {
    :root { --tia-section-y: 96px; }
}

/* Tablet (≤ 1024) */
@media (max-width: 1024px) {
    .stories-grid      { grid-template-columns: 1fr; }
    .countdown-content { grid-template-columns: 1fr; text-align: center; }
    .countdown-info    { display: flex; flex-direction: column; align-items: center; }
}

/* Tablet portrait (≤ 768) */
@media (max-width: 768px) {
    nav.site-nav .site-nav__list { display: none; }
    .hero-cta-group              { flex-direction: column; align-items: stretch; }
    .hero-btn                    { width: 100%; }
    .stories-sidebar             { display: grid; grid-template-columns: 1fr; gap: var(--tia-s-2); }
    .timer-number                { font-size: 22px !important; }
    .timer-label                 { font-size: 9px !important; letter-spacing: .5px !important; }
    .footer-grid                 { grid-template-columns: repeat(2, 1fr); text-align: left; }
}

/* Mobile (≤ 480) */
@media (max-width: 480px) {
    :root { --tia-section-y: 48px; }
    .hero-title       { font-size: clamp(30px, 9vw, 40px) !important; }
    .section-title    { font-size: clamp(22px, 7vw, 30px) !important; }
    .countdown-timer  { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .timer-item       { padding: 10px 4px; }
    .footer-grid      { grid-template-columns: 1fr; text-align: center; }
}

/* Tiny mobile (≤ 360) */
@media (max-width: 360px) {
    .hero-title { font-size: 28px !important; }
    .timer-number { font-size: 18px !important; }
}


/* ==========================================================================
   12. UTILITIES
   ========================================================================== */
.full-bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}


/* ==========================================================================
   13. BROWSE CATEGORIES — premium Netflix-style cards
   Replaces the legacy .category-content overlay (which caused the dark
   "white-bar" artefact in main.css). Uses an inner .category-card__media
   div so the image can zoom on hover without affecting the lift transform.
   ========================================================================== */

/* Section title with gradient underline.
 * The original .section-title used background-clip text gradient that
 * rendered nearly invisible on light backgrounds; we override here only
 * for the categories block to keep the design coherent. */
.categories .section-title,
.section-title--underline {
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
    color: #0a0a0a !important;
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
    margin-bottom: clamp(28px, 4vw, 48px) !important;
    text-align: left;
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    letter-spacing: -0.01em;
}
.categories .section-title::after,
.section-title--underline::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 64px; height: 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, #ED1E79 0%, #ffd700 100%);
}

/* Grid: 3 / 2 / 1 columns with consistent gap */
.categories .category-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(20px, 2.5vw, 30px) !important;
}
@media (max-width: 1024px) {
    .categories .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
    .categories .category-grid { grid-template-columns: 1fr !important; }
}

/* Card shell — equal heights via aspect-ratio, rounded, soft shadow */
.categories .category-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 20px;
    aspect-ratio: 4 / 5;
    background: linear-gradient(135deg, #ED1E79 0%, #B8135D 100%);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(15,23,42,0.10);
    transition: transform .4s cubic-bezier(.22,1,.36,1),
                box-shadow .4s ease;
    isolation: isolate;
    height: auto;             /* override main.css fixed 380px */
}

/* Image layer — separate from the card so it can scale independently */
.categories .category-card__media {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1);
    transition: transform .6s cubic-bezier(.22,1,.36,1);
    z-index: 1;
}

/* Soft bottom-only gradient — image stays bright, text stays readable */
.categories .category-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 45%,
        rgba(0,0,0,0.20) 65%,
        rgba(0,0,0,0.65) 100%);
    transition: background .4s ease;
    pointer-events: none;
    z-index: 2;
}

/* Text block bottom-left, padded, white with subtle shadow */
.categories .category-card__content {
    position: absolute;
    inset: auto 0 0 0;
    padding: clamp(16px, 2vw, 24px);
    z-index: 3;
}
.categories .category-card__title {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,0.40);
}
.categories .category-card__desc {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255,255,255,0.88);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .35s ease, transform .35s ease;
}

/* Hover — Netflix-style zoom + card lift + glow + reveal description */
.categories .category-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(237,30,121,0.25),
                0 4px 12px rgba(15,23,42,0.10);
}
.categories .category-card:hover .category-card__media {
    transform: scale(1.08);
}
.categories .category-card:hover .category-card__overlay {
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(0,0,0,0.10) 50%,
        rgba(237,30,121,0.30) 100%);
}
.categories .category-card:hover .category-card__desc {
    opacity: 1;
    transform: translateY(0);
}

/* Keyboard focus state */
.categories .category-card:focus-visible {
    outline: 3px solid #ff4d94;
    outline-offset: 4px;
}

/* Neutralize ANY leftover .category-content overlay from main.css that
 * could still target old cached HTML — kills the "white bar" bug. */
.categories .category-content {
    background: none !important;
}


/* ==========================================================================
   14. GLOBAL SECTION TITLE FIX
   The original main.css uses `background-clip: text` to render titles as
   a white-to-pink gradient that's nearly invisible on light backgrounds.
   Replace with solid black + gradient underline for ALL sections.
   ========================================================================== */
.section-title,
.featured-stories .section-title,
.video-gallery .section-title,
.trending .section-title,
.testimonials .section-title,
.vip-tiers .section-title,
.performers .section-title,
.highlights .section-title,
.newsletter .section-title {
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
    color: #0a0a0a !important;
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
    margin-bottom: clamp(28px, 4vw, 48px) !important;
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    letter-spacing: -0.01em;
}
.section-title::after,
.featured-stories .section-title::after,
.video-gallery .section-title::after,
.trending .section-title::after,
.testimonials .section-title::after,
.vip-tiers .section-title::after,
.performers .section-title::after,
.highlights .section-title::after,
.newsletter .section-title::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 64px; height: 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, #ED1E79 0%, #ffd700 100%);
}

/* On dark banners (testimonials gradient is light, but if anything gets
 * a dark bg the title flips white) */
.countdown .section-title,
.newsletter .section-title {
    color: #fff !important;
}

/* Trending section — give cards a bit more breathing room and proper sizing
 * so 3 cards fill the 1200 container nicely instead of feeling lost. */
.trending .trending-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(20px, 2.5vw, 32px) !important;
}
@media (max-width: 900px) {
    .trending .trending-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
    .trending .trending-grid { grid-template-columns: 1fr !important; }
}
.trending .trending-card {
    aspect-ratio: 3 / 4;        /* slightly less tall than 4/5 — better fill */
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(15,23,42,0.10);
    transition: transform .4s cubic-bezier(.22,1,.36,1),
                box-shadow .4s ease;
}
.trending .trending-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(237,30,121,0.22);
}

/* Tighten section vertical rhythm a touch on big screens so cards don't
 * feel like islands floating in empty space. */
@media (min-width: 1280px) {
    :root { --tia-section-y: 80px; }
}


/* ==========================================================================
   15. TRENDING NOW — 4 cards in a single row
   User explicitly wants all 4 articles in one row at desktop.
   ========================================================================== */
.trending .trending-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(16px, 1.8vw, 24px) !important;
}
@media (max-width: 1100px) { .trending .trending-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 820px)  { .trending .trending-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 480px)  { .trending .trending-grid { grid-template-columns: 1fr !important; } }


/* ==========================================================================
   16. RELATED ARTICLES on single article page
   "You might also like" was rendering as plain text/links because the
   .tia-related-grid wasn't getting display:grid in the .ra-prose context.
   Force the grid + card styling so it always renders as proper cards.
   ========================================================================== */
.ra .ra-related .tia-related-grid,
.tia-single .tia-related-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(16px, 2vw, 28px) !important;
    margin-top: clamp(24px, 3vw, 40px) !important;
}
@media (max-width: 900px) {
    .ra .ra-related .tia-related-grid,
    .tia-single .tia-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
    .ra .ra-related .tia-related-grid,
    .tia-single .tia-related-grid { grid-template-columns: 1fr !important; }
}

/* Force each related card to render as a full white card with image */
.ra .ra-related .tia-acard,
.tia-single .tia-acard {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(15,23,42,0.08) !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
    text-decoration: none !important;
    transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease !important;
    min-width: 0 !important;
}
.ra .ra-related .tia-acard:hover,
.tia-single .tia-acard:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 24px 48px rgba(237,30,121,0.18) !important;
}

/* Image / media block — fixed aspect ratio so the card never collapses */
.ra .ra-related .tia-acard__media,
.tia-single .tia-acard__media {
    display: block !important;
    aspect-ratio: 16 / 10 !important;
    /* v15.8 fix — use background-color (not background shorthand) so inline
       featured-image URLs from tia_article_card() are preserved. The pink
       gradient now only shows when no image URL exists. */
    background-color: #1a0a14 !important;
    background-size: cover !important;
    background-position: center !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
}
/* Branded fallback gradient ONLY when no inline image URL present */
.ra .ra-related .tia-acard__media:not([style*="background-image"]),
.tia-single .tia-acard__media:not([style*="background-image"]) {
    background-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120'><defs><linearGradient id='g' x1='0' x2='1' y1='0' y2='1'><stop offset='0' stop-color='%23ED1E79'/><stop offset='1' stop-color='%231a0a14'/></linearGradient></defs><rect width='200' height='120' fill='url(%23g)'/><text x='100' y='75' font-family='Outfit,sans-serif' font-size='48' font-weight='800' fill='rgba(255,255,255,0.18)' text-anchor='middle' letter-spacing='-2'>TiA</text><circle cx='160' cy='30' r='28' fill='rgba(255,215,0,0.12)'/><circle cx='30' cy='95' r='40' fill='rgba(255,77,148,0.18)'/></svg>"),
        linear-gradient(135deg, #1a0a14 0%, #ED1E79 100%) !important;
}

/* Category pill at top-left of media */
.ra .ra-related .tia-acard__cat,
.tia-single .tia-acard__cat {
    position: absolute !important;
    top: 12px; left: 12px !important;
    background: rgba(237,30,121,0.95) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    z-index: 2;
}

/* Body */
.ra .ra-related .tia-acard__body,
.tia-single .tia-acard__body {
    padding: 18px 20px 20px !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.ra .ra-related .tia-acard__title,
.tia-single .tia-acard__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    color: #0a0a0a !important;
}
.ra .ra-related .tia-acard__title a,
.tia-single .tia-acard__title a {
    color: #0a0a0a !important;
    text-decoration: none !important;
    background: none !important;
}
.ra .ra-related .tia-acard:hover .tia-acard__title a,
.tia-single .tia-acard:hover .tia-acard__title a {
    color: #ED1E79 !important;
}
.ra .ra-related .tia-acard__meta,
.tia-single .tia-acard__meta {
    display: flex !important;
    gap: 8px !important;
    font-size: 11px !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    margin-top: auto !important;
}

/* Section heading on related row */
.ra .ra-related .ra-section-h,
.tia-single .tia-single__h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(24px, 3vw, 32px) !important;
    font-weight: 700 !important;
    color: #0a0a0a !important;
    margin: 0 0 clamp(20px, 3vw, 32px) !important;
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
}
.ra .ra-related .ra-section-h::after,
.tia-single .tia-single__h2::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 60px; height: 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, #ED1E79 0%, #ffd700 100%);
}


/* ==========================================================================
   17. COUNTDOWN ALIGNMENT FIX
   The 1fr/1fr grid with 60 px gap left a big visual gap between the title
   and the timer boxes. Switch to flex with constrained widths so the info
   block and the timer sit naturally beside each other.
   ========================================================================== */
.countdown .countdown-content {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: clamp(20px, 2.5vw, 40px) !important;
}
.countdown .countdown-info {
    flex: 1 1 320px;
    max-width: 460px;
    min-width: 0;
}
.countdown .countdown-timer {
    flex: 1 1 320px;
    max-width: 540px;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(8px, 1vw, 14px);
}
@media (max-width: 1024px) {
    .countdown .countdown-content { justify-content: center; text-align: center; }
    .countdown .countdown-info    { max-width: 720px; }
    .countdown .countdown-timer   { max-width: 600px; margin: 0 auto; }
}


/* ==========================================================================
   18. CATEGORY ARCHIVE TEMPLATE (taxonomy-tia_category.php)
   Premium hero + grid layout, mirrors Time Out / Lovin Dubai feel.
   ========================================================================== */
.tia-tax-archive {
    background: var(--bg-white, #fff);
}

/* Hero */
.tia-tax-hero {
    position: relative;
    min-height: clamp(280px, 32vw, 420px);
    display: flex;
    align-items: center;
    color: #fff;
    background: linear-gradient(135deg, #ED1E79 0%, #B8135D 60%, #2a1a2a 100%);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    padding-top:    clamp(60px, 8vw, 96px);
    padding-bottom: clamp(60px, 8vw, 96px);
    padding-left:   max(var(--tia-pad-mobile), calc((100% - var(--tia-container)) / 2));
    padding-right:  max(var(--tia-pad-mobile), calc((100% - var(--tia-container)) / 2));
}
@media (min-width: 768px) {
    .tia-tax-hero {
        padding-left:  max(var(--tia-pad-tablet), calc((100% - var(--tia-container)) / 2));
        padding-right: max(var(--tia-pad-tablet), calc((100% - var(--tia-container)) / 2));
    }
}
@media (min-width: 1024px) {
    .tia-tax-hero {
        padding-left:  max(var(--tia-pad-desktop), calc((100% - var(--tia-container)) / 2));
        padding-right: max(var(--tia-pad-desktop), calc((100% - var(--tia-container)) / 2));
    }
}

.tia-tax-hero__inner {
    position: relative;
    z-index: 2;
    max-width: 800px;
}
.tia-tax-hero__eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    background: rgba(255,255,255,0.18);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.25);
    color: #fff;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 18px;
}
.tia-tax-hero__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 900;
    line-height: 1.05;
    margin: 0 0 16px;
    color: #fff !important;
    text-wrap: balance;
    text-shadow: 0 4px 20px rgba(0,0,0,0.30);
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
}
.tia-tax-hero__desc {
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.6;
    color: rgba(255,255,255,0.92);
    max-width: 65ch;
    margin: 0;
}

/* Body */
.tia-tax-body {
    padding-top: clamp(48px, 6vw, 72px) !important;
    padding-bottom: clamp(48px, 6vw, 72px) !important;
}
.tia-tax-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.5vw, 32px);
    width: 100%;
    max-width: var(--tia-container);
    margin: 0 auto;
}
@media (max-width: 900px) { .tia-tax-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tia-tax-grid { grid-template-columns: 1fr; } }

/* Cards inside .tia-tax-grid use the same styling as related-row cards */
.tia-tax-grid .tia-acard {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15,23,42,0.08);
    border: 1px solid rgba(0,0,0,0.04);
    text-decoration: none;
    transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
    min-width: 0;
}
.tia-tax-grid .tia-acard:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(237,30,121,0.18);
}
.tia-tax-grid .tia-acard__media {
    display: block;
    aspect-ratio: 16 / 10;
    /* v15.8 fix — use background-color, not shorthand, so inline featured-image survives */
    background-color: #1a0a14;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}
.tia-tax-grid .tia-acard__cat {
    position: absolute;
    top: 12px; left: 12px;
    background: rgba(237,30,121,0.95);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 999px;
    z-index: 2;
}
.tia-tax-grid .tia-acard__body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.tia-tax-grid .tia-acard__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    color: #0a0a0a;
}
.tia-tax-grid .tia-acard__title a { color: #0a0a0a; text-decoration: none; }
.tia-tax-grid .tia-acard:hover .tia-acard__title a { color: #ED1E79; }
.tia-tax-grid .tia-acard__meta {
    display: flex;
    gap: 8px;
    font-size: 11px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    margin-top: auto;
}

/* Empty state */
.tia-tax-empty {
    text-align: center;
    padding: clamp(40px, 6vw, 80px) 16px;
    max-width: 520px;
    margin: 0 auto;
}
.tia-tax-empty h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(22px, 2.4vw, 32px);
    margin-bottom: 12px;
}
.tia-tax-empty p { color: #6b7280; margin-bottom: 24px; }

/* Pagination */
.tia-tax-pagination {
    margin-top: clamp(40px, 5vw, 60px);
    display: flex;
    justify-content: center;
}
.tia-tax-pagination .nav-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.tia-tax-pagination .page-numbers {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.10);
    color: #0a0a0a;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.tia-tax-pagination .page-numbers:hover {
    background: rgba(237,30,121,0.08);
    border-color: #ED1E79;
    color: #ED1E79;
}
.tia-tax-pagination .page-numbers.current {
    background: #ED1E79;
    border-color: #ED1E79;
    color: #fff;
}


/* ==========================================================================
   19. PREMIUM HERO — 3-card editorial layout
   Replaces the legacy .hero section with a dark editorial grid:
     • Left:        large feature card (2fr / spans both rows)
     • Top right:   insights / trends
     • Bottom right: community
   All scoped under .tia-hero so no other section is touched.
   ========================================================================== */

.tia-hero {
    --tia-hero-bg:        #0a0a0a;
    --tia-hero-ink:       #ffffff;
    --tia-hero-ink-soft:  rgba(255,255,255,0.78);
    --tia-hero-line:      rgba(255,255,255,0.14);
    --tia-hero-pink:      #ED1E79;
    --tia-hero-pink-l:    #ff4da6;
    --tia-hero-pink-glow: rgba(237,30,121,0.45);
    --tia-hero-radius:    20px;
    --tia-hero-ease:      cubic-bezier(0.22, 1, 0.36, 1);
    --tia-hero-speed:     0.45s;

    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
    padding: 40px;
    min-height: 90vh;
    background: radial-gradient(120% 80% at 0% 0%, #1a0d18 0%, #0a0a0a 60%);
    position: relative;
    isolation: isolate;
    color: var(--tia-hero-ink);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.tia-hero::before {
    content: "";
    position: absolute; inset: 0;
    background:
        radial-gradient(60% 50% at 100% 0%, rgba(237,30,121,0.15) 0%, transparent 60%),
        radial-gradient(50% 50% at 0% 100%, rgba(255,77,166,0.10) 0%, transparent 60%);
    z-index: -1;
    pointer-events: none;
}

/* CARD BASE */
.tia-hero__card {
    position: relative;
    overflow: hidden;
    border-radius: var(--tia-hero-radius);
    border: 1px solid var(--tia-hero-line);
    background: #111;
    isolation: isolate;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    transition: transform var(--tia-hero-speed) var(--tia-hero-ease),
                box-shadow var(--tia-hero-speed) var(--tia-hero-ease),
                border-color var(--tia-hero-speed) var(--tia-hero-ease);
}
.tia-hero__card:hover {
    transform: scale(1.012);
    border-color: rgba(255,255,255,0.22);
    box-shadow: 0 30px 80px rgba(0,0,0,0.45),
                0 0 0 1px rgba(255,255,255,0.04);
}
.tia-hero__card:focus-visible {
    outline: 2px solid var(--tia-hero-pink-l);
    outline-offset: 4px;
}

/* MEDIA + OVERLAY layers */
.tia-hero__media {
    position: absolute; inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1);
    transition: transform 0.9s var(--tia-hero-ease);
    z-index: 0;
}
.tia-hero__card:hover .tia-hero__media { transform: scale(1.08); }

.tia-hero__overlay {
    position: absolute; inset: 0;
    transition: opacity var(--tia-hero-speed) var(--tia-hero-ease);
    z-index: 1;
    pointer-events: none;
}
.tia-hero__card:hover .tia-hero__overlay { opacity: 0.78; }

.tia-hero__overlay--feature {
    background: linear-gradient(90deg,
        rgba(0,0,0,0.78) 0%,
        rgba(0,0,0,0.45) 45%,
        rgba(0,0,0,0.20) 100%);
}
.tia-hero__overlay--insights {
    background: linear-gradient(180deg,
        rgba(0,0,0,0.20) 0%,
        rgba(0,0,0,0.55) 60%,
        rgba(0,0,0,0.85) 100%);
}
.tia-hero__overlay--community {
    background:
        linear-gradient(180deg,
            rgba(0,0,0,0.10) 0%,
            rgba(0,0,0,0.30) 50%,
            rgba(0,0,0,0.55) 100%),
        linear-gradient(135deg,
            rgba(237,30,121,0.55) 0%,
            rgba(237,30,121,0.05) 60%);
}

/* CONTENT */
.tia-hero__content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 36px;
    gap: 14px;
}
.tia-hero__card--insights  .tia-hero__content,
.tia-hero__card--community .tia-hero__content {
    padding: 28px;
    gap: 10px;
}

/* GLASS BADGE */
.tia-hero__badge {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.10);
    backdrop-filter: blur(12px) saturate(160%);
    -webkit-backdrop-filter: blur(12px) saturate(160%);
    border: 1px solid rgba(255,255,255,0.18);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    line-height: 1;
}
.tia-hero__dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--tia-hero-pink-l);
    box-shadow: 0 0 12px var(--tia-hero-pink-glow);
    animation: tia-hero-pulse 2s var(--tia-hero-ease) infinite;
}
@keyframes tia-hero-pulse {
    0%, 100% { transform: scale(1);   opacity: 1; }
    50%      { transform: scale(1.4); opacity: 0.6; }
}

/* TYPOGRAPHY */
.tia-hero__h1 {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 800;
    font-size: clamp(2.25rem, 4.6vw, 4rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0;
    color: #fff;
    text-wrap: balance;
    text-shadow: 0 2px 24px rgba(0,0,0,0.5);
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
}
.tia-hero__h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 2vw, 1.85rem);
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin: 0;
    color: #fff;
    text-wrap: balance;
    text-shadow: 0 2px 16px rgba(0,0,0,0.55);
}
.tia-hero__lead {
    max-width: 56ch;
    font-size: 1.0625rem;
    line-height: 1.55;
    color: var(--tia-hero-ink-soft);
    margin: 0;
    text-shadow: 0 1px 12px rgba(0,0,0,0.4);
}
.tia-hero__lead--small {
    font-size: 0.95rem;
    line-height: 1.5;
    max-width: 38ch;
}

/* BUTTONS */
.tia-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
}
.tia-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 14px 26px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: transform 0.25s var(--tia-hero-ease),
                box-shadow 0.25s var(--tia-hero-ease),
                background 0.25s var(--tia-hero-ease),
                border-color 0.25s var(--tia-hero-ease);
    white-space: nowrap;
    cursor: pointer;
    color: #fff !important;
    text-decoration: none !important;
}
.tia-hero__arrow {
    display: inline-block;
    transition: transform 0.3s var(--tia-hero-ease);
}
.tia-hero__btn:hover .tia-hero__arrow { transform: translateX(4px); }
.tia-hero__btn--primary {
    background: linear-gradient(135deg, var(--tia-hero-pink) 0%, var(--tia-hero-pink-l) 100%);
    box-shadow: 0 8px 24px var(--tia-hero-pink-glow),
                inset 0 1px 0 rgba(255,255,255,0.25);
}
.tia-hero__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px var(--tia-hero-pink-glow),
                inset 0 1px 0 rgba(255,255,255,0.3);
}
.tia-hero__btn--ghost {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.28);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.tia-hero__btn--ghost:hover {
    background: rgba(255,255,255,0.14);
    border-color: rgba(255,255,255,0.45);
    transform: translateY(-2px);
}

/* GRID PLACEMENT */
.tia-hero__card--feature   { grid-column: 1 / 2; grid-row: 1 / 3; }
.tia-hero__card--insights  { grid-column: 2 / 3; grid-row: 1 / 2; }
.tia-hero__card--community { grid-column: 2 / 3; grid-row: 2 / 3; }

/* RESPONSIVE — tablet */
@media (max-width: 1024px) {
    .tia-hero {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: minmax(380px, 1fr) minmax(220px, auto);
        padding: 28px;
        gap: 16px;
        min-height: auto;
    }
    .tia-hero__card--feature   { grid-column: 1 / 3; grid-row: 1 / 2; }
    .tia-hero__card--insights  { grid-column: 1 / 2; grid-row: 2 / 3; }
    .tia-hero__card--community { grid-column: 2 / 3; grid-row: 2 / 3; }
    .tia-hero__content         { padding: 28px; }
}

/* RESPONSIVE — mobile */
@media (max-width: 640px) {
    .tia-hero {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-auto-flow: row;
        padding: 16px;
        gap: 14px;
    }
    .tia-hero__card--feature,
    .tia-hero__card--insights,
    .tia-hero__card--community { grid-column: 1 / 2; grid-row: auto; }
    .tia-hero__card--feature   { aspect-ratio: 4 / 5; }
    .tia-hero__card--insights  { aspect-ratio: 16 / 10; }
    .tia-hero__card--community { aspect-ratio: 16 / 10; }
    .tia-hero__content         { padding: 22px; }
    .tia-hero__actions         { flex-direction: column; align-items: stretch; }
    .tia-hero__actions .tia-hero__btn { width: 100%; }
}

/* Override the LEGACY .hero rules that would conflict with the new layout.
 * The old hero was a vertically-centered flex with a 100vh min-height;
 * the new tia-hero replaces it via the homepage hero.php template, so we
 * simply hide any remaining legacy block in case of cache mismatch. */
.hero:not(.tia-hero) { display: none !important; }


/* ==========================================================================
   20. TRENDING NOW — premium slider with HOT/NEW/TOP badges
   ========================================================================== */
.tia-trending {
    --tia-tr-radius: 22px;
    --tia-tr-card-w: 360px;          /* ideal card width */
    --tia-tr-gap:    24px;
    --tia-tr-ease:   cubic-bezier(.22,1,.36,1);
}
.tia-trending .tia-trending__head {
    text-align: left;
    margin-bottom: clamp(28px, 4vw, 44px);
}
.tia-trending .tia-trending__head .section-title { margin-bottom: 14px !important; }
.tia-trending__sub {
    color: #6b7280;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    margin: 0;
    text-align: center;
}

/* Viewport: holds nav arrows + scroll track */
.tia-trending__viewport {
    position: relative;
    overflow: hidden;
    margin-inline: -8px;
}

/* Track: horizontal scroll/snap container */
.tia-trending__track {
    display: flex;
    gap: var(--tia-tr-gap);
    padding: 16px 8px 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.tia-trending__track::-webkit-scrollbar { display: none; }

/* Card */
.tia-trending__card {
    position: relative;
    flex: 0 0 var(--tia-tr-card-w);
    aspect-ratio: 4 / 5;
    border-radius: var(--tia-tr-radius);
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(135deg, #2a1a2a 0%, #0a0a0a 100%);
    box-shadow: 0 10px 28px rgba(15,23,42,0.12);
    scroll-snap-align: start;
    isolation: isolate;
    transition: transform .4s var(--tia-tr-ease),
                box-shadow .4s var(--tia-tr-ease);
}
.tia-trending__card:hover {
    transform: translateY(-6px) scale(1.012);
    box-shadow: 0 28px 60px rgba(237,30,121,0.22),
                0 4px 12px rgba(15,23,42,0.10);
}

.tia-trending__media {
    position: absolute; inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
    transform: scale(1);
    transition: transform .9s var(--tia-tr-ease);
}
.tia-trending__card:hover .tia-trending__media { transform: scale(1.08); }

.tia-trending__shade {
    position: absolute; inset: 0;
    background: linear-gradient(180deg,
        rgba(0,0,0,0.05) 0%,
        rgba(0,0,0,0.10) 45%,
        rgba(0,0,0,0.85) 100%);
    z-index: 1;
    pointer-events: none;
}

/* Badge (top-right pill) */
.tia-trending__badge {
    position: absolute;
    top: 16px; right: 16px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ED1E79 0%, #ff4da6 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    box-shadow: 0 6px 18px rgba(237,30,121,0.35);
    text-transform: uppercase;
    line-height: 1;
}
.tia-trending__badge-icon { font-size: 12px; line-height: 1; }
.tia-trending__badge[data-tia-badge="new"]      { background: linear-gradient(135deg, #ff4da6 0%, #ED1E79 100%); }
.tia-trending__badge[data-tia-badge="top"]      { background: linear-gradient(135deg, #ED1E79 0%, #B8135D 100%); }
.tia-trending__badge[data-tia-badge="featured"] { background: linear-gradient(135deg, #ffd700 0%, #ED1E79 100%); color: #1a1612; }
.tia-trending__badge[data-tia-badge="soldout"]  { background: linear-gradient(135deg, #B8135D 0%, #4a0a26 100%); }

/* Content */
.tia-trending__content {
    position: absolute;
    inset: auto 0 0 0;
    padding: 24px;
    z-index: 2;
}
.tia-trending__eyebrow {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.85);
    margin-bottom: 10px;
}
.tia-trending__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 14px;
    color: #fff;
    text-wrap: balance;
    text-shadow: 0 2px 10px rgba(0,0,0,0.45);
}
.tia-trending__foot {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.18);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .5px;
    color: rgba(255,255,255,0.92);
    text-transform: uppercase;
}
.tia-trending__divider {
    width: 4px; height: 4px;
    border-radius: 50%;
    background: rgba(255,255,255,0.55);
    flex: 0 0 4px;
}
.tia-trending__price { color: #ffd180; }

/* Nav arrows (circular, glass) */
.tia-trending__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px; height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #1a1612;
    box-shadow: 0 8px 20px rgba(15,23,42,0.18);
    cursor: pointer;
    z-index: 5;
    transition: transform .25s var(--tia-tr-ease),
                box-shadow .25s var(--tia-tr-ease),
                background .25s var(--tia-tr-ease),
                color .25s var(--tia-tr-ease),
                opacity .25s var(--tia-tr-ease);
}
.tia-trending__nav:hover {
    transform: translateY(-50%) scale(1.08);
    background: #ED1E79;
    color: #fff;
    box-shadow: 0 12px 30px rgba(237,30,121,0.4);
}
.tia-trending__nav:disabled,
.tia-trending__nav[aria-disabled="true"] {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}
.tia-trending__nav--prev { left: -14px; }
.tia-trending__nav--next { right: -14px; }
@media (max-width: 700px) {
    .tia-trending__nav--prev { left: 4px; }
    .tia-trending__nav--next { right: 4px; }
}

/* Dots */
.tia-trending__dots {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 28px;
}
.tia-trending__dot {
    width: 8px; height: 8px;
    border: 0;
    border-radius: 999px;
    background: #d1d5db;
    cursor: pointer;
    transition: width .3s var(--tia-tr-ease),
                background .3s var(--tia-tr-ease);
    padding: 0;
}
.tia-trending__dot.is-active {
    width: 28px;
    background: linear-gradient(90deg, #ED1E79 0%, #ff4da6 100%);
}

/* Card width responsive */
@media (max-width: 1100px) { .tia-trending { --tia-tr-card-w: 320px; } }
@media (max-width: 700px)  { .tia-trending { --tia-tr-card-w: 80vw;  --tia-tr-gap: 16px; } }
@media (max-width: 480px)  { .tia-trending { --tia-tr-card-w: 86vw; } }


/* ==========================================================================
   21. NEWSPAPER ABOVE-THE-FOLD HERO (tia-news)
   Replaces the previous tia-hero. Lead story (left, 2/3) + 3-card deck (right, 1/3).
   ========================================================================== */
.tia-news {
    --tia-n-bg:        #0a0a0a;
    --tia-n-paper:     #fafaf7;
    --tia-n-ink:       #0a0a0a;
    --tia-n-ink-soft:  #4a4a4a;
    --tia-n-line:      #d8d4cc;
    --tia-n-pink:      #ED1E79;
    --tia-n-pink-l:    #ff4da6;
    --tia-n-radius:    18px;
    --tia-n-ease:      cubic-bezier(.22,1,.36,1);

    background: var(--tia-n-paper);
    color: var(--tia-n-ink);
    padding: 0;
    font-family: 'Playfair Display', Georgia, serif;
}

/* Ticker bar */
.tia-news__ticker {
    background: #0a0a0a;
    color: #fff;
    padding: 10px 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    overflow: hidden;
    white-space: nowrap;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 700;
}
.tia-news__ticker-pill {
    flex: 0 0 auto;
    background: linear-gradient(135deg, var(--tia-n-pink) 0%, var(--tia-n-pink-l) 100%);
    color: #fff;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 10px;
    letter-spacing: 2px;
    box-shadow: 0 0 12px rgba(237, 30, 121, 0.4);
    animation: tia-news-pulse 2s var(--tia-n-ease) infinite;
}
@keyframes tia-news-pulse {
    0%, 100% { box-shadow: 0 0 12px rgba(237, 30, 121, 0.4); }
    50%      { box-shadow: 0 0 24px rgba(237, 30, 121, 0.7); }
}
.tia-news__ticker-text {
    display: inline-block;
    padding-left: 100%;
    animation: tia-news-marquee 50s linear infinite;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase;
}
@keyframes tia-news-marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

/* Grid */
.tia-news__grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 0;
    padding: 32px;
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}

/* LEAD card */
.tia-news__lead {
    position: relative;
    overflow: hidden;
    border-radius: var(--tia-n-radius);
    aspect-ratio: 5 / 4;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    transition: transform .4s var(--tia-n-ease), box-shadow .4s var(--tia-n-ease);
    margin-right: 24px;
}
.tia-news__lead:hover {
    transform: translateY(-4px);
    box-shadow: 0 32px 80px rgba(15,23,42,0.25);
}
.tia-news__lead-media {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transform: scale(1);
    transition: transform 1s var(--tia-n-ease);
    z-index: 0;
}
.tia-news__lead:hover .tia-news__lead-media { transform: scale(1.06); }
.tia-news__lead-shade {
    position: absolute; inset: 0;
    background: linear-gradient(180deg,
        rgba(0,0,0,0.10) 0%,
        rgba(0,0,0,0.40) 45%,
        rgba(0,0,0,0.90) 100%);
    z-index: 1;
}
.tia-news__lead-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 40px;
    gap: 14px;
}
.tia-news__kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    color: rgba(255,255,255,0.92);
    text-transform: uppercase;
    margin-bottom: 4px;
}
.tia-news__kicker-line {
    width: 36px; height: 2px;
    background: var(--tia-n-pink);
}
.tia-news__h1 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(32px, 4vw, 54px);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0;
    color: #fff;
    text-wrap: balance;
    text-shadow: 0 2px 24px rgba(0,0,0,0.5);
}
.tia-news__lead-text {
    font-family: 'Inter', sans-serif;
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.55;
    color: rgba(255,255,255,0.82);
    margin: 0;
    max-width: 56ch;
}
.tia-news__lead-byline {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: rgba(255,255,255,0.72);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 600;
}
.tia-news__sep { font-size: 8px; opacity: 0.5; }
.tia-news__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    align-self: flex-start;
    margin-top: 8px;
    padding: 14px 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--tia-n-pink) 0%, var(--tia-n-pink-l) 100%);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 8px 24px rgba(237,30,121,0.4);
    transition: transform .25s var(--tia-n-ease), box-shadow .25s var(--tia-n-ease);
}
.tia-news__cta-arrow { transition: transform .3s var(--tia-n-ease); }
.tia-news__lead:hover .tia-news__cta-arrow { transform: translateX(4px); }
.tia-news__lead:hover .tia-news__cta {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(237,30,121,0.5);
}

/* DECK */
.tia-news__deck {
    display: flex;
    flex-direction: column;
    background: var(--tia-n-paper);
    padding: 0;
}
.tia-news__deck-head {
    border-bottom: 2px solid var(--tia-n-ink);
    padding-bottom: 14px;
    margin-bottom: 14px;
}
.tia-news__deck-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--tia-n-ink);
    text-transform: uppercase;
}
.tia-news__deck-item {
    display: flex;
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid var(--tia-n-line);
    text-decoration: none;
    color: var(--tia-n-ink);
    transition: transform .25s var(--tia-n-ease);
}
.tia-news__deck-item:last-child { border-bottom: 0; }
.tia-news__deck-item:hover { transform: translateX(4px); }
.tia-news__deck-text { flex: 1; min-width: 0; }
.tia-news__deck-text .tia-news__kicker {
    color: var(--tia-n-pink);
    margin-bottom: 6px;
}
.tia-news__deck-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 8px;
    color: var(--tia-n-ink);
    text-wrap: balance;
    transition: color .25s var(--tia-n-ease);
}
.tia-news__deck-item:hover .tia-news__deck-title { color: var(--tia-n-pink); }
.tia-news__deck-meta {
    font-family: 'Inter', sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 1.5px;
    color: var(--tia-n-ink-soft);
    text-transform: uppercase;
}
.tia-news__deck-thumb {
    flex: 0 0 96px;
    width: 96px; height: 72px;
    background-size: cover; background-position: center;
    border-radius: 8px;
    background-color: #1a1a1a;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .tia-news__grid { grid-template-columns: 1fr; padding: 24px; }
    .tia-news__lead { margin-right: 0; margin-bottom: 24px; aspect-ratio: 16/10; }
    .tia-news__lead-content { padding: 28px; }
    .tia-news__deck-thumb { flex-basis: 88px; width: 88px; height: 64px; }
}
@media (max-width: 640px) {
    .tia-news__ticker { padding: 8px 16px; gap: 10px; font-size: 10px; }
    .tia-news__grid { padding: 16px; }
    .tia-news__lead { aspect-ratio: 4/5; margin-bottom: 16px; }
    .tia-news__lead-content { padding: 22px; gap: 10px; }
    .tia-news__lead-text { display: none; }
    .tia-news__cta { padding: 12px 22px; font-size: 13px; }
    .tia-news__deck-item { padding: 14px 0; gap: 12px; }
    .tia-news__deck-thumb { flex-basis: 72px; width: 72px; height: 54px; }
}


/* ==========================================================================
   22. MAGAZINE ASYMMETRIC TRENDING GRID (tia-mag)
   Replaces the slider. 1 large + 3 small cards in a 3-column / 2-row grid.
   ========================================================================== */
.tia-mag {
    --tia-m-radius: 18px;
    --tia-m-ease:   cubic-bezier(.22,1,.36,1);
}
.tia-mag__head {
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 44px);
}
.tia-mag__sub {
    font-family: 'Inter', sans-serif;
    font-size: clamp(14px, 1.1vw, 16px);
    color: #6b7280;
    margin: -8px 0 0;
}
.tia-mag__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: minmax(220px, 1fr) minmax(220px, 1fr);
    gap: clamp(14px, 1.5vw, 20px);
    width: 100%;
    max-width: var(--tia-container, 1200px);
    margin: 0 auto;
}
.tia-mag__card {
    position: relative;
    overflow: hidden;
    border-radius: var(--tia-m-radius);
    background: linear-gradient(135deg, #1a1a1a 0%, #2a1a2a 100%);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(15,23,42,0.10);
    isolation: isolate;
    transition: transform .4s var(--tia-m-ease), box-shadow .4s var(--tia-m-ease);
    min-height: 220px;
}
.tia-mag__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px rgba(237,30,121,0.22);
}

/* Position assignments */
.tia-mag__card--p1 { grid-column: 1 / 2; grid-row: 1 / 3; }
.tia-mag__card--p2 { grid-column: 2 / 3; grid-row: 1 / 2; }
.tia-mag__card--p3 { grid-column: 3 / 4; grid-row: 1 / 2; }
.tia-mag__card--p4 { grid-column: 2 / 4; grid-row: 2 / 3; }

.tia-mag__media {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    z-index: 0;
    transition: transform .9s var(--tia-m-ease);
}
.tia-mag__card:hover .tia-mag__media { transform: scale(1.08); }
.tia-mag__shade {
    position: absolute; inset: 0;
    background: linear-gradient(180deg,
        rgba(0,0,0,0.05) 0%,
        rgba(0,0,0,0.25) 50%,
        rgba(0,0,0,0.85) 100%);
    z-index: 1;
}

.tia-mag__badge {
    position: absolute;
    top: 14px; right: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ED1E79 0%, #ff4da6 100%);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.4px;
    box-shadow: 0 6px 18px rgba(237,30,121,0.35);
    text-transform: uppercase;
    line-height: 1;
}
.tia-mag__badge[data-tia-badge="new"]      { background: linear-gradient(135deg, #ff4da6, #ED1E79); }
.tia-mag__badge[data-tia-badge="top"]      { background: linear-gradient(135deg, #ED1E79, #B8135D); }
.tia-mag__badge[data-tia-badge="featured"] { background: linear-gradient(135deg, #ffd700, #ED1E79); color: #1a1612; }
.tia-mag__badge[data-tia-badge="soldout"]  { background: linear-gradient(135deg, #B8135D, #4a0a26); }

.tia-mag__content {
    position: absolute;
    inset: auto 0 0 0;
    padding: 22px;
    z-index: 2;
}
.tia-mag__card--p1 .tia-mag__content { padding: 32px; }

.tia-mag__eyebrow {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.85);
    margin-bottom: 8px;
}
.tia-mag__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 10px;
    color: #fff;
    text-wrap: balance;
    text-shadow: 0 2px 10px rgba(0,0,0,0.45);
}
.tia-mag__card--p1 .tia-mag__title { font-size: clamp(22px, 2.4vw, 32px); margin-bottom: 14px; }

.tia-mag__foot {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,0.18);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .5px;
    color: rgba(255,255,255,0.92);
    text-transform: uppercase;
}
.tia-mag__divider {
    width: 4px; height: 4px;
    border-radius: 50%;
    background: rgba(255,255,255,0.55);
}
.tia-mag__price { color: #ffd180; }

/* Responsive — collapse to single column on mobile */
@media (max-width: 900px) {
    .tia-mag__grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    .tia-mag__card--p1 { grid-column: 1 / 3; grid-row: auto; aspect-ratio: 16/10; }
    .tia-mag__card--p2,
    .tia-mag__card--p3,
    .tia-mag__card--p4 { grid-column: auto; grid-row: auto; aspect-ratio: 4/3; }
    .tia-mag__card--p4 { grid-column: 1 / 3; }
}
@media (max-width: 560px) {
    .tia-mag__grid { grid-template-columns: 1fr; }
    .tia-mag__card--p1,
    .tia-mag__card--p4 { grid-column: 1 / 2; }
}

/* Hide the legacy tia-trending block from v12.1 in case of cached HTML */
.tia-trending:not(.tia-mag) { display: none !important; }
.tia-hero:not(.tia-news)    { display: none !important; }


/* ==========================================================================
   23. EDITORIAL DESIGN SYSTEM — site-wide (v13.1)
   Brings every section into the newspaper / magazine aesthetic of the hero.
   Palette: pink #ED1E79 / #ff4d94 (logo) + gold #ffd700 + ink #0a0a0a + paper #fafaf7
   Motion : pink-pulse, marquee, hairline-draw, image zoom, card lift
   ========================================================================== */

:root {
    --tia-ed-paper:    #fafaf7;
    --tia-ed-paper-2:  #f3efe7;
    --tia-ed-ink:      #0a0a0a;
    --tia-ed-ink-soft: #4a4a4a;
    --tia-ed-line:     #d8d4cc;
    --tia-ed-pink:     #ED1E79;
    --tia-ed-pink-l:   #ff4d94;
    --tia-ed-gold:     #ffd700;
    --tia-ed-gold-d:   #b89968;
    --tia-ed-ease:     cubic-bezier(.22,1,.36,1);
}

/* Body palette + typography */
body { background: var(--tia-ed-paper); color: var(--tia-ed-ink); }
body { font-family: 'Inter', 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif; }
h1, h2, h3, h4, .section-title, .ra-h1, .ra-h2, .tia-news__h1, .tia-mag__title {
    font-family: 'Playfair Display', Georgia, serif;
}

/* ----- Logo: ink-draw animation on page load ----- */
.site-header__logo,
.logo { display: inline-flex; align-items: center; gap: 4px; }
.site-header__logo img,
.logo img {
    transition: transform .4s var(--tia-ed-ease);
    animation: tia-logo-draw .9s var(--tia-ed-ease) both;
}
.site-header__logo:hover img,
.logo:hover img { transform: scale(1.04); }
@keyframes tia-logo-draw {
    0%   { opacity: 0; transform: translateX(-12px) scale(0.96); filter: blur(2px); }
    60%  { opacity: 1; transform: translateX(2px)   scale(1.01); filter: blur(0); }
    100% { opacity: 1; transform: translateX(0)    scale(1); }
}

/* Subtle pink underline that draws under nav links on hover */
.site-nav__list a,
nav.site-nav a {
    position: relative;
    text-decoration: none;
    transition: color .25s var(--tia-ed-ease);
}
.site-nav__list a::after,
nav.site-nav a::after {
    content: '';
    position: absolute;
    left: 0; right: 100%;
    bottom: -4px;
    height: 2px;
    background: linear-gradient(90deg, var(--tia-ed-pink) 0%, var(--tia-ed-pink-l) 100%);
    transition: right .35s var(--tia-ed-ease);
}
.site-nav__list a:hover,
nav.site-nav a:hover { color: var(--tia-ed-pink); }
.site-nav__list a:hover::after,
nav.site-nav a:hover::after { right: 0; }

/* Search button — match logo pink */
.search-btn,
.site-nav__search {
    background: linear-gradient(135deg, var(--tia-ed-pink) 0%, var(--tia-ed-pink-l) 100%) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(237,30,121,0.35);
    transition: transform .25s var(--tia-ed-ease), box-shadow .25s var(--tia-ed-ease);
}
.search-btn:hover,
.site-nav__search:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 12px 28px rgba(237,30,121,0.5);
}

/* ----- Universal section-title underline (pink → gold gradient) ----- */
.section-title,
.section-title--underline {
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
    color: var(--tia-ed-ink) !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
    -webkit-background-clip: initial !important;
}
.section-title::after,
.section-title--underline::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 60px; height: 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--tia-ed-pink) 0%, var(--tia-ed-gold) 100%);
    animation: tia-bar-draw .9s var(--tia-ed-ease) .15s both;
    transform-origin: left;
}
@keyframes tia-bar-draw {
    0%   { transform: scaleX(0); }
    100% { transform: scaleX(1); }
}

/* ----- Featured Stories — refactored to editorial layout ----- */
.featured-stories { background: var(--tia-ed-paper) !important; }
.featured-stories .stories-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: clamp(20px, 2.5vw, 32px);
}
@media (max-width: 900px) {
    .featured-stories .stories-grid { grid-template-columns: 1fr; }
}
.featured-stories .story-featured {
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 5 / 4;
    box-shadow: 0 12px 32px rgba(15,23,42,0.10);
    transition: transform .4s var(--tia-ed-ease), box-shadow .4s var(--tia-ed-ease);
}
.featured-stories .story-featured:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(237,30,121,0.18);
}
.featured-stories .story-featured-content {
    background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,0.85) 100%);
    padding: 32px;
}
.featured-stories .story-featured-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(22px, 2.5vw, 36px) !important;
    line-height: 1.1;
    color: #fff;
}
.featured-stories .story-featured-link {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 14px;
    padding: 12px 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--tia-ed-pink), var(--tia-ed-pink-l));
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(237,30,121,0.4);
}
.featured-stories .stories-sidebar { display: flex; flex-direction: column; gap: 0; }
.featured-stories .story-card {
    display: flex;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid var(--tia-ed-line);
    background: transparent !important;
    transition: transform .25s var(--tia-ed-ease);
}
.featured-stories .story-card:hover { transform: translateX(4px); }
.featured-stories .story-card:last-child { border-bottom: 0; }
.featured-stories .story-card-img {
    flex: 0 0 96px; width: 96px; height: 72px;
    border-radius: 8px;
    background-size: cover; background-position: center;
    background-color: #1a1a1a;
}
.featured-stories .story-card-content { flex: 1; min-width: 0; }
.featured-stories .story-card-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 17px !important;
    line-height: 1.25;
    margin: 0 0 6px;
    color: var(--tia-ed-ink);
}
.featured-stories .story-card-title a { color: var(--tia-ed-ink); transition: color .25s; }
.featured-stories .story-card:hover .story-card-title a { color: var(--tia-ed-pink); }
.featured-stories .story-card-meta {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    color: var(--tia-ed-ink-soft);
}

/* ----- Video Highlights — match magazine cards ----- */
.video-gallery { background: var(--tia-ed-paper) !important; }
.video-gallery .gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2vw, 28px);
}
@media (max-width: 900px) { .video-gallery .gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .video-gallery .gallery-grid { grid-template-columns: 1fr; } }
.video-gallery .video-card {
    aspect-ratio: 16 / 11 !important;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(15,23,42,0.10);
}
.video-gallery .video-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px rgba(237,30,121,0.22);
}

/* ----- Guest Reviews — editorial quote treatment ----- */
.testimonials { background: var(--tia-ed-paper-2) !important; }
.testimonials .testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2vw, 28px);
}
@media (max-width: 900px) { .testimonials .testimonials-grid { grid-template-columns: 1fr; } }
.testimonials .testimonial-card {
    background: #fff;
    border: 0;
    border-top: 4px solid var(--tia-ed-pink);
    border-radius: 0 0 14px 14px;
    padding: 32px 28px;
    box-shadow: 0 10px 28px rgba(15,23,42,0.06);
    transition: transform .35s var(--tia-ed-ease), box-shadow .35s var(--tia-ed-ease);
    position: relative;
}
.testimonials .testimonial-card::before {
    content: '"';
    position: absolute;
    top: 12px; left: 22px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 80px;
    line-height: 1;
    color: var(--tia-ed-pink);
    opacity: 0.18;
}
.testimonials .testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 50px rgba(237,30,121,0.15);
}
.testimonials .testimonial-text {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(15px, 1.2vw, 17px) !important;
    line-height: 1.55;
    color: var(--tia-ed-ink);
    margin: 14px 0 18px;
    font-style: italic;
}
.testimonials .testimonial-author {
    font-weight: 700;
    font-size: 14px;
    color: var(--tia-ed-ink);
}
.testimonials .testimonial-role {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--tia-ed-pink);
    font-weight: 700;
    margin-top: 4px;
}
.testimonials .stars { color: var(--tia-ed-gold); font-size: 14px; }

/* ----- Featured Artists — editorial portrait cards ----- */
.performers { background: var(--tia-ed-paper) !important; }
.performers .performers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 1.8vw, 24px);
}
@media (max-width: 1024px) { .performers .performers-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .performers .performers-grid { grid-template-columns: 1fr; } }
.performers .performer-card {
    aspect-ratio: 4 / 5;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(135deg, #1a1a1a, #2a1a2a);
    color: #fff;
    box-shadow: 0 10px 28px rgba(15,23,42,0.10);
    transition: transform .4s var(--tia-ed-ease), box-shadow .4s var(--tia-ed-ease);
    position: relative;
}
.performers .performer-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px rgba(237,30,121,0.22);
}
.performers .performer-card::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.85) 100%);
    pointer-events: none;
}

/* ----- Past Highlights — editorial mosaic ----- */
.highlights { background: var(--tia-ed-paper-2) !important; }
.highlights .highlights-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: clamp(10px, 1vw, 16px);
}
@media (max-width: 1024px) { .highlights .highlights-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px)  { .highlights .highlights-grid { grid-template-columns: repeat(2, 1fr); } }
.highlights .highlight-card {
    aspect-ratio: 1 / 1;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(15,23,42,0.08);
    background: #1a1a1a;
    transition: transform .4s var(--tia-ed-ease);
}
.highlights .highlight-card:hover { transform: scale(1.04); }

/* ----- Countdown — pink editorial banner ----- */
.countdown {
    background: linear-gradient(135deg, var(--tia-ed-pink) 0%, #B8135D 100%) !important;
    color: #fff !important;
    position: relative;
    overflow: hidden;
}
.countdown::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(50% 60% at 100% 0%, rgba(255,215,0,0.25) 0%, transparent 60%),
        radial-gradient(40% 50% at 0% 100%, rgba(255,77,148,0.30) 0%, transparent 60%);
    pointer-events: none;
}
.countdown .section-title { color: #fff !important; }
.countdown .section-title::after { background: linear-gradient(90deg, var(--tia-ed-gold), #fff); }
.countdown .timer-item {
    background: rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255,255,255,0.30) !important;
}
.countdown .timer-number { color: #fff; }
.countdown .timer-label  { color: rgba(255,255,255,0.85); }

/* ----- Newsletter — editorial form ----- */
.newsletter { background: var(--tia-ed-ink) !important; color: #fff !important; }
.newsletter .section-title { color: #fff !important; }
.newsletter .section-title::after { background: linear-gradient(90deg, var(--tia-ed-pink), var(--tia-ed-gold)); }
.newsletter p { color: rgba(255,255,255,0.78); }
.newsletter-form input[type="email"] {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.22) !important;
    color: #fff !important;
}
.newsletter-form input[type="email"]::placeholder { color: rgba(255,255,255,0.45); }
.newsletter-form button {
    background: linear-gradient(135deg, var(--tia-ed-pink) 0%, var(--tia-ed-pink-l) 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(237,30,121,0.4);
}

/* ----- Footer — newspaper masthead ----- */
.footer {
    background: var(--tia-ed-ink) !important;
    color: rgba(255,255,255,0.75) !important;
    border-top: 4px solid var(--tia-ed-pink);
}
.footer .footer-col h4 { color: var(--tia-ed-pink) !important; }
.footer .footer-col a { color: rgba(255,255,255,0.78); transition: color .25s; }
.footer .footer-col a:hover { color: var(--tia-ed-pink-l) !important; opacity: 1 !important; }

/* ----- Floating CTA / Calendar widget — pink consistent ----- */
.floating-cta,
.tia-floating {
    background: linear-gradient(135deg, var(--tia-ed-pink) 0%, var(--tia-ed-pink-l) 100%) !important;
    box-shadow: 0 12px 32px rgba(237,30,121,0.45) !important;
    animation: tia-float-pulse 3s var(--tia-ed-ease) infinite;
}
@keyframes tia-float-pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.06); }
}

/* ----- Pink-pulse class — reusable accent dot ----- */
.tia-pulse-dot {
    display: inline-block;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--tia-ed-pink-l);
    box-shadow: 0 0 12px rgba(237,30,121,0.5);
    animation: tia-news-pulse 2s var(--tia-ed-ease) infinite;
}

/* ----- Scroll progress bar (subtle, pink, top of page) ----- */
.tia-scroll-progress {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: transparent;
    z-index: 9998;
    pointer-events: none;
}
.tia-scroll-progress__bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--tia-ed-pink), var(--tia-ed-gold));
    transition: width .12s linear;
    box-shadow: 0 0 8px rgba(237,30,121,0.4);
}

/* ----- Image card hover convention — used everywhere ----- */
.story-featured,
.video-card,
.trending-card,
.performer-card,
.highlight-card,
.tia-acard {
    transition: transform .4s var(--tia-ed-ease), box-shadow .4s var(--tia-ed-ease);
}
.story-featured:hover,
.video-card:hover,
.trending-card:hover,
.performer-card:hover,
.highlight-card:hover,
.tia-acard:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px rgba(237,30,121,0.22);
}

/* ----- Replace "with gratitude / from the team" style throughout ----- */
.tia-section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--tia-ed-pink);
}
.tia-section-eyebrow::before {
    content: '';
    width: 28px; height: 2px;
    background: var(--tia-ed-pink);
}


/* ==========================================================================
   24. EDITORIAL REDESIGN (v13.2)
   Sticky shrinking header, latest grid, editor's pick parallax,
   category blocks, stagger fade-in.
   ========================================================================== */

/* ----- Sticky shrinking header ----- */
.site-header {
    position: sticky !important;
    top: 0;
    z-index: 100;
    background: rgba(250,250,247,0.92) !important;
    backdrop-filter: saturate(180%) blur(10px);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    border-bottom: 1px solid transparent;
    transition: padding .35s var(--tia-ed-ease, cubic-bezier(.22,1,.36,1)),
                border-color .35s ease, background .35s ease,
                box-shadow .35s ease;
}
.site-header.scrolled {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    border-bottom-color: var(--tia-ed-line, #d8d4cc);
    background: rgba(250,250,247,0.96) !important;
    box-shadow: 0 4px 20px rgba(15,23,42,0.06);
}
.site-header.scrolled .site-header__logo img,
.site-header.scrolled .logo img { transform: scale(0.92); }


/* ----- Latest stories — 3-column editorial grid ----- */
.tia-grid { background: var(--tia-ed-paper, #fafaf7); }
.tia-grid__head { margin-bottom: clamp(28px, 4vw, 44px); }
.tia-grid__head .tia-section-eyebrow { display: block; margin-bottom: 8px; }
.tia-grid__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 3vw, 40px);
}
@media (max-width: 900px) { .tia-grid__cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .tia-grid__cards { grid-template-columns: 1fr; } }

.tia-grid__card {
    display: flex;
    flex-direction: column;
    background: transparent;
    transition: transform .4s var(--tia-ed-ease);
}
.tia-grid__card:hover { transform: translateY(-6px); }
.tia-grid__media-link {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 16px;
    aspect-ratio: 4 / 3;
    background: #1a1a1a;
    box-shadow: 0 10px 28px rgba(15,23,42,0.10);
    text-decoration: none;
    transition: box-shadow .4s var(--tia-ed-ease);
}
.tia-grid__card:hover .tia-grid__media-link { box-shadow: 0 24px 56px rgba(237,30,121,0.20); }
.tia-grid__media {
    position: absolute; inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform .9s var(--tia-ed-ease);
}
.tia-grid__card:hover .tia-grid__media { transform: scale(1.06); }
.tia-grid__cat {
    position: absolute;
    top: 14px; left: 14px;
    z-index: 2;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(8px);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}
.tia-grid__body { padding: 18px 0 0; }
.tia-grid__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(18px, 1.7vw, 22px);
    line-height: 1.25;
    margin: 0 0 10px;
    color: var(--tia-ed-ink, #0a0a0a);
    text-wrap: balance;
}
.tia-grid__title a {
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(transparent calc(100% - 2px), var(--tia-ed-pink, #ED1E79) 2px);
    background-size: 0% 100%;
    background-repeat: no-repeat;
    transition: background-size .4s var(--tia-ed-ease);
}
.tia-grid__card:hover .tia-grid__title a { background-size: 100% 100%; }
.tia-grid__excerpt {
    font-size: 14px;
    line-height: 1.55;
    color: var(--tia-ed-ink-soft, #4a4a4a);
    margin: 0 0 12px;
}
.tia-grid__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--tia-ed-ink-soft, #4a4a4a);
}
.tia-grid__sep { opacity: 0.5; }


/* ----- Editor's Pick — full-width split feature ----- */
.tia-pick {
    position: relative;
    overflow: hidden;
    min-height: clamp(380px, 50vw, 560px);
    color: #fff;
    isolation: isolate;
    margin: clamp(48px, 6vw, 80px) 0;
}
.tia-pick__media {
    position: absolute;
    top: -10%; left: 0; right: 0; bottom: -10%;
    background-size: cover;
    background-position: center;
    z-index: 0;
    will-change: transform;
}
.tia-pick__shade {
    position: absolute; inset: 0;
    background: linear-gradient(105deg,
        rgba(0,0,0,0.85) 0%,
        rgba(0,0,0,0.55) 45%,
        rgba(0,0,0,0.20) 100%);
    z-index: 1;
}
.tia-pick__inner {
    position: relative;
    z-index: 2;
    max-width: 720px;
    padding: clamp(48px, 7vw, 96px) clamp(24px, 5vw, 80px);
}
.tia-pick__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 20px;
}
.tia-pick__eyebrow-line {
    width: 36px; height: 2px;
    background: var(--tia-ed-pink, #ED1E79);
    box-shadow: 0 0 12px rgba(237,30,121,0.6);
}
.tia-pick__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(34px, 5vw, 64px);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 18px;
    color: #fff;
    text-wrap: balance;
    text-shadow: 0 4px 24px rgba(0,0,0,0.5);
}
.tia-pick__lead {
    font-family: 'Inter', sans-serif;
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.6;
    color: rgba(255,255,255,0.85);
    margin: 0 0 22px;
    max-width: 56ch;
}
.tia-pick__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
    margin-bottom: 28px;
}
.tia-pick__sep { opacity: 0.5; }
.tia-pick__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 30px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--tia-ed-pink, #ED1E79) 0%, var(--tia-ed-pink-l, #ff4d94) 100%);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
    box-shadow: 0 12px 32px rgba(237,30,121,0.45);
    transition: transform .25s var(--tia-ed-ease), box-shadow .25s var(--tia-ed-ease);
}
.tia-pick__arrow { transition: transform .3s var(--tia-ed-ease); }
.tia-pick__cta:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(237,30,121,0.55); }
.tia-pick__cta:hover .tia-pick__arrow { transform: translateX(5px); }


/* ----- Category blocks ----- */
.tia-cat { background: var(--tia-ed-paper-2, #f3efe7); }
.tia-cat__head { margin-bottom: clamp(28px, 4vw, 44px); }
.tia-cat__head .tia-section-eyebrow { display: block; margin-bottom: 8px; }
.tia-cat__cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 3vw, 40px);
}
@media (max-width: 900px) { .tia-cat__cols { grid-template-columns: 1fr; } }
.tia-cat__col {
    background: #fff;
    border-radius: 18px;
    padding: clamp(20px, 2vw, 28px);
    box-shadow: 0 8px 24px rgba(15,23,42,0.06);
    transition: transform .35s var(--tia-ed-ease), box-shadow .35s var(--tia-ed-ease);
}
.tia-cat__col:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(237,30,121,0.12);
}
.tia-cat__col-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--tia-ed-ink, #0a0a0a);
}
.tia-cat__col-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 700;
    margin: 0;
    color: var(--tia-ed-ink, #0a0a0a);
}
.tia-cat__col-link {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--tia-ed-pink, #ED1E79);
    text-decoration: none;
    transition: transform .25s var(--tia-ed-ease);
    white-space: nowrap;
}
.tia-cat__col-link:hover { transform: translateX(3px); }
.tia-cat__list { list-style: none; padding: 0; margin: 0; }
.tia-cat__item {
    border-bottom: 1px solid var(--tia-ed-line, #d8d4cc);
}
.tia-cat__item:last-child { border-bottom: 0; }
.tia-cat__link {
    display: flex;
    gap: 14px;
    padding: 14px 0;
    text-decoration: none;
    color: inherit;
    transition: transform .25s var(--tia-ed-ease);
}
.tia-cat__link:hover { transform: translateX(4px); }
.tia-cat__thumb {
    flex: 0 0 72px;
    width: 72px; height: 56px;
    background: #1a1a1a;
    background-size: cover;
    background-position: center;
    border-radius: 8px;
}
.tia-cat__item--lead .tia-cat__thumb {
    flex-basis: 100%;
    width: 100%;
    height: 160px;
    margin-bottom: 4px;
}
.tia-cat__item--lead .tia-cat__link { flex-direction: column; gap: 12px; padding-top: 0; }
.tia-cat__text { flex: 1; min-width: 0; }
.tia-cat__h {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 6px;
    color: var(--tia-ed-ink, #0a0a0a);
    transition: color .25s var(--tia-ed-ease);
}
.tia-cat__item--lead .tia-cat__h { font-size: 18px; }
.tia-cat__link:hover .tia-cat__h { color: var(--tia-ed-pink, #ED1E79); }
.tia-cat__meta {
    font-family: 'Inter', sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--tia-ed-ink-soft, #4a4a4a);
}


/* ----- Stagger fade-in (pairs with [data-tia-stagger]) ----- */
[data-tia-stagger] [data-tia-stagger-item] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .7s var(--tia-ed-ease), transform .7s var(--tia-ed-ease);
}
[data-tia-stagger].is-visible [data-tia-stagger-item] {
    opacity: 1;
    transform: translateY(0);
}
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(1)  { transition-delay: 0.00s; }
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(2)  { transition-delay: 0.06s; }
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(3)  { transition-delay: 0.12s; }
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(4)  { transition-delay: 0.18s; }
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(5)  { transition-delay: 0.24s; }
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(6)  { transition-delay: 0.30s; }
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(7)  { transition-delay: 0.36s; }
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(8)  { transition-delay: 0.42s; }
[data-tia-stagger].is-visible [data-tia-stagger-item]:nth-child(9)  { transition-delay: 0.48s; }

@media (prefers-reduced-motion: reduce) {
    [data-tia-stagger] [data-tia-stagger-item] {
        opacity: 1 !important; transform: none !important;
        transition: none !important;
    }
}


/* ==========================================================================
   25. LOGO-MATCHING TYPOGRAPHY (v13.3)
   The logo is heavy geometric sans (TALK + IN + ARABIA). Switch all
   display headings from Playfair Display to Outfit ExtraBold so the page
   feels like one cohesive brand. Body stays Inter for crisp reading.
   ========================================================================== */
:root {
    --tia-display: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --tia-body:    'Inter',  'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
body {
    font-family: var(--tia-body) !important;
}
h1, h2, h3, h4, h5, h6,
.section-title, .section-title--underline,
.tia-news__h1, .tia-news__deck-title, .tia-news__deck-eyebrow,
.tia-mag__title,
.tia-grid__title,
.tia-cat__col-title, .tia-cat__h,
.tia-pick__title,
.ra-h1, .ra-h2, .ra-section-title, .ra-card__name,
.story-featured-title, .story-card-title,
.tier-name, .testimonial-text,
.tia-acard__title,
.video-title, .trending-title, .timer-number,
.hero-title, .hero-badge {
    font-family: var(--tia-display) !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
}
/* Heaviest weight for the biggest titles */
.tia-news__h1, .tia-pick__title, .hero-title {
    font-weight: 900 !important;
    letter-spacing: -0.025em;
}
/* Softer weight for body-adjacent headings */
.tia-grid__title, .tia-cat__h, .tia-news__deck-title {
    font-weight: 700 !important;
}

/* Brand-style site logo if rendered as text fallback */
.site-header__brand,
.site-header__logo span {
    font-family: var(--tia-display);
    font-weight: 900;
    letter-spacing: -0.04em;
    font-size: clamp(22px, 2vw, 28px);
}


/* ==========================================================================
   26. CUSTOM SECTION + HOMEPAGE BUILDER ADMIN POLISH
   ========================================================================== */
.tia-custom { background: var(--tia-ed-paper, #fafaf7); }
.tia-custom__inner {
    width: 100%;
    max-width: var(--tia-container, 1200px);
    margin: 0 auto;
}

/* Admin: branded Homepage Builder header */
body.toplevel_page_tia-homepage-builder #wpbody-content > .acf-settings-wrap > h1,
body.toplevel_page_tia-homepage-builder #wpbody-content > h1.wp-heading-inline {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 900;
    letter-spacing: -0.02em;
    color: var(--tia-ed-pink, #ED1E79);
}
body.toplevel_page_tia-homepage-builder .acf-flexible-content .layout {
    border-radius: 12px !important;
    border: 1px solid #e5e7eb !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(15,23,42,0.05);
    margin-bottom: 12px !important;
}
body.toplevel_page_tia-homepage-builder .acf-flexible-content .layout-handle {
    background: linear-gradient(135deg, #fff5f9, #fff) !important;
    border-bottom: 1px solid #f3e7ee !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
}
body.toplevel_page_tia-homepage-builder .acf-flexible-content .acf-fc-layout-controls {
    opacity: 1 !important;
}
body.toplevel_page_tia-homepage-builder .acf-button.button-primary {
    background: linear-gradient(135deg, #ED1E79, #ff4d94) !important;
    border-color: #ED1E79 !important;
    box-shadow: 0 4px 12px rgba(237,30,121,0.25);
}

/* Rail layout for trending if user picks "rail" instead of asymmetric */
.tia-mag__grid--rail {
    display: flex !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 20px !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 8px 0 24px;
}
.tia-mag__grid--rail .tia-mag__card {
    flex: 0 0 320px;
    grid-column: auto !important;
    grid-row: auto !important;
    aspect-ratio: 4 / 5;
    scroll-snap-align: start;
}
.tia-mag__grid--rail .tia-mag__content { padding: 22px; }

/* 4-column grid variant */
.tia-grid__cards--cols-4 { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 1100px) { .tia-grid__cards--cols-4 { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 800px)  { .tia-grid__cards--cols-4 { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px)  { .tia-grid__cards--cols-4 { grid-template-columns: 1fr !important; } }


/* ==========================================================================
   27. LIVE TICKER FIX (v14.6) + section-level admin styles
   ========================================================================== */

/* Ticker — keep LIVE pill above sliding text, hard mask at edges */
.tia-news .tia-news__ticker {
    position: relative;
    overflow: hidden;
}
.tia-news .tia-news__ticker-pill {
    position: relative;
    z-index: 3;
    background: linear-gradient(135deg, #ED1E79 0%, #ff4d94 100%);
    color: #fff;
    flex: 0 0 auto;
    padding: 5px 12px 5px 12px;
    margin-right: 0;
    box-shadow: 6px 0 12px rgba(0,0,0,0.6);     /* shadow rolls over the marquee */
}
/* Mask that hides the marquee under the pill */
.tia-news .tia-news__ticker::before {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    left: 0;
    width: 110px;                                 /* covers the LIVE pill */
    background: linear-gradient(90deg, #0a0a0a 0%, #0a0a0a 70%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}
/* Right edge fade — hides the marquee text under the floating CTA */
.tia-news .tia-news__ticker::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    right: 0;
    width: 110px;
    background: linear-gradient(270deg, #0a0a0a 0%, #0a0a0a 70%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}
.tia-news .tia-news__ticker-text {
    position: relative;
    z-index: 1;
    padding-left: 16px;
}

/* Ensure floating CTA / calendar widget never overlaps the ticker */
.floating-cta, .tia-floating {
    z-index: 50 !important;
}
.tia-news .tia-news__ticker {
    z-index: 60;
}

/* Section-level dynamic background (driven by builder field) */
/* v15.1 — section background + text-colour cascade. The user picks bg/text on the
   section wrapper (.tia-section-wrap[data-tia-bg]); these rules push the colour
   down into the inner section element so hard-coded backgrounds in main.css are
   overridden cleanly. Mind the !important — it's required to beat the existing
   !important on .newsletter and others. */
.tia-section-wrap[data-tia-bg],
.tia-section-wrap[data-tia-bg] > .tia-news,
.tia-section-wrap[data-tia-bg] > .tia-grid,
.tia-section-wrap[data-tia-bg] > .tia-pick,
.tia-section-wrap[data-tia-bg] > .tia-mag,
.tia-section-wrap[data-tia-bg] > .tia-cat,
.tia-section-wrap[data-tia-bg] > .newsletter,
.tia-section-wrap[data-tia-bg] > .tia-custom,
.tia-section-wrap[data-tia-bg] > .tia-trending,
.tia-section-wrap[data-tia-bg] > section,
.tia-news[data-tia-bg],
.tia-grid[data-tia-bg],
.tia-pick[data-tia-bg],
.tia-mag[data-tia-bg],
.tia-cat[data-tia-bg],
.newsletter[data-tia-bg],
.tia-custom[data-tia-bg] {
    background: var(--tia-section-bg, transparent) !important;
}

/* Section padding modifiers (driven by builder field) */
[data-tia-pad="sm"] { padding-top: 32px !important; padding-bottom: 32px !important; }
[data-tia-pad="md"] { padding-top: 64px !important; padding-bottom: 64px !important; }
[data-tia-pad="lg"] { padding-top: 96px !important; padding-bottom: 96px !important; }
[data-tia-pad="xl"] { padding-top: 128px !important; padding-bottom: 128px !important; }
[data-tia-pad="none"] { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ==========================================================================
   v15.1 — text-colour cascade for sections with custom backgrounds
   When the user picks "Light" or "Dark" in the section's Design tab, the
   front-end gets `tia-text-light` or `tia-text-dark` class on the wrapper.
   These rules push the chosen colour through every text-y child element.
   ========================================================================== */
.tia-section-wrap.tia-text-light,
.tia-section-wrap.tia-text-light h1,
.tia-section-wrap.tia-text-light h2,
.tia-section-wrap.tia-text-light h3,
.tia-section-wrap.tia-text-light h4,
.tia-section-wrap.tia-text-light h5,
.tia-section-wrap.tia-text-light p,
.tia-section-wrap.tia-text-light span,
.tia-section-wrap.tia-text-light a,
.tia-section-wrap.tia-text-light .tia-section-eyebrow,
.tia-section-wrap.tia-text-light .section-title,
.tia-section-wrap.tia-text-light .tia-grid__head,
.tia-section-wrap.tia-text-light .tia-mag__head,
.tia-section-wrap.tia-text-light .tia-cat__head {
    color: #ffffff !important;
}
.tia-section-wrap.tia-text-light .tia-card,
.tia-section-wrap.tia-text-light .tia-trending__card {
    color: inherit;
}

.tia-section-wrap.tia-text-dark,
.tia-section-wrap.tia-text-dark h1,
.tia-section-wrap.tia-text-dark h2,
.tia-section-wrap.tia-text-dark h3,
.tia-section-wrap.tia-text-dark h4,
.tia-section-wrap.tia-text-dark h5,
.tia-section-wrap.tia-text-dark p,
.tia-section-wrap.tia-text-dark span,
.tia-section-wrap.tia-text-dark a,
.tia-section-wrap.tia-text-dark .tia-section-eyebrow,
.tia-section-wrap.tia-text-dark .section-title,
.tia-section-wrap.tia-text-dark .tia-grid__head,
.tia-section-wrap.tia-text-dark .tia-mag__head,
.tia-section-wrap.tia-text-dark .tia-cat__head {
    color: #0a0a0a !important;
}

/* For the newsletter form specifically: when bg is light, button + input
   should adapt automatically. */
.tia-section-wrap.tia-text-dark .newsletter-form input[type="email"] {
    background: rgba(0, 0, 0, .06) !important;
    color: #0a0a0a !important;
    border-color: rgba(0, 0, 0, .15) !important;
}
.tia-section-wrap.tia-text-dark .newsletter-form input[type="email"]::placeholder {
    color: rgba(0, 0, 0, .5) !important;
}

/* Optional section CTA pill — branded styling */
.tia-section-cta-wrap {
    text-align: center;
    padding: 16px 16px 40px;
}
.tia-section-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ED1E79, #ff4d94);
    color: #fff !important;
    text-decoration: none;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    letter-spacing: .02em;
    box-shadow: 0 8px 24px rgba(237, 30, 121, .4);
    transition: transform .18s ease, box-shadow .18s ease;
}
.tia-section-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(237, 30, 121, .5);
}


/* ==========================================================================
   v15.2 — per-section colour overrides
   The wrapper carries CSS custom properties. Selectors read from them with
   a fallback so unconfigured sections inherit the theme defaults unchanged.
   ========================================================================== */

/* Heading colour override */
.tia-section-wrap[data-tia-heading="1"] h1,
.tia-section-wrap[data-tia-heading="1"] h2,
.tia-section-wrap[data-tia-heading="1"] h3,
.tia-section-wrap[data-tia-heading="1"] h4,
.tia-section-wrap[data-tia-heading="1"] h5,
.tia-section-wrap[data-tia-heading="1"] .section-title,
.tia-section-wrap[data-tia-heading="1"] .tia-grid__head h2,
.tia-section-wrap[data-tia-heading="1"] .tia-mag__head h2,
.tia-section-wrap[data-tia-heading="1"] .tia-cat__head h2,
.tia-section-wrap[data-tia-heading="1"] .newsletter h2,
.tia-section-wrap[data-tia-heading="1"] .tia-news__title {
    color: var(--tia-heading) !important;
}

/* Body text colour override */
.tia-section-wrap[data-tia-body="1"] p,
.tia-section-wrap[data-tia-body="1"] .tia-section-eyebrow,
.tia-section-wrap[data-tia-body="1"] .tia-card__excerpt,
.tia-section-wrap[data-tia-body="1"] .tia-mag__sub,
.tia-section-wrap[data-tia-body="1"] .tia-grid__sub,
.tia-section-wrap[data-tia-body="1"] li,
.tia-section-wrap[data-tia-body="1"] .newsletter p {
    color: var(--tia-body) !important;
}

/* Link colour override (excludes button-styled links) */
.tia-section-wrap[data-tia-link="1"] a:not(.tia-section-cta):not(.flash-btn):not(.hero-btn):not(.tier-btn):not(button) {
    color: var(--tia-link) !important;
}

/* Button background + text override — applies to the section CTA pill,
   the newsletter Subscribe button, and any .hero-btn / .flash-btn / .tier-btn. */
.tia-section-wrap[data-tia-btn="1"] .tia-section-cta,
.tia-section-wrap[data-tia-btn="1"] .newsletter-form button,
.tia-section-wrap[data-tia-btn="1"] .newsletter button,
.tia-section-wrap[data-tia-btn="1"] .hero-btn,
.tia-section-wrap[data-tia-btn="1"] .flash-btn,
.tia-section-wrap[data-tia-btn="1"] .tier-btn,
.tia-section-wrap[data-tia-btn="1"] button[type="submit"] {
    background: var(--tia-btn-bg, linear-gradient(135deg, #ED1E79, #ff4d94)) !important;
    color: var(--tia-btn-text, #fff) !important;
    border-color: var(--tia-btn-bg, transparent) !important;
}

/* Input background + border override (newsletter email field, forms in custom HTML) */
.tia-section-wrap[data-tia-input="1"] input[type="email"],
.tia-section-wrap[data-tia-input="1"] input[type="text"],
.tia-section-wrap[data-tia-input="1"] input[type="search"],
.tia-section-wrap[data-tia-input="1"] textarea,
.tia-section-wrap[data-tia-input="1"] select {
    background: var(--tia-input-bg, rgba(255, 255, 255, .12)) !important;
    border: 1px solid var(--tia-input-border, rgba(255, 255, 255, .25)) !important;
    color: inherit !important;
}
.tia-section-wrap[data-tia-input="1"] input::placeholder,
.tia-section-wrap[data-tia-input="1"] textarea::placeholder {
    color: currentColor !important;
    opacity: .55;
}
.tia-section-wrap[data-tia-input="1"] input:focus,
.tia-section-wrap[data-tia-input="1"] textarea:focus,
.tia-section-wrap[data-tia-input="1"] select:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(237, 30, 121, .25) !important;
}


/* ==========================================================================
   v15.3 — Hero "Cards grid" layout
   Asymmetric 1-big-2-small card layout matching the editorial mockup.
   Container at full width inside .tia-section-wrap so the bg colour set in
   the Design tab fills behind it.
   ========================================================================== */
.tia-hero-cards {
    position: relative;
    overflow: hidden;
    padding: clamp(40px, 6vw, 96px) clamp(20px, 4vw, 64px);
    background: var(--tia-section-bg, radial-gradient(circle at 12% 0%, #2a0a14 0%, #0a0a0a 60%));
    color: #fff;
}
/* When wrapper provides bg via --tia-section-bg, the inner section becomes
   transparent so the wrapper's colour shows through. */
.tia-section-wrap[data-tia-bg] > .tia-hero-cards {
    background: transparent;
}

/* Decorative soft pink blobs (defaults). */
.tia-hero-cards__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.tia-hero-cards__blob {
    position: absolute;
    width: 320px; height: 320px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: .35;
}
.tia-hero-cards__blob--tl {
    top: -120px; left: -120px;
    background: radial-gradient(circle, #ED1E79 0%, transparent 70%);
}
.tia-hero-cards__blob--br {
    right: -120px; bottom: -120px;
    background: radial-gradient(circle, #ff4d94 0%, transparent 70%);
}

.tia-hero-cards__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: clamp(16px, 2vw, 28px);
    max-width: 1320px;
    margin: 0 auto;
    align-items: stretch;
}
.tia-hero-cards__side {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: clamp(16px, 2vw, 28px);
    min-height: 0;
}

/* Cards */
.tia-hero-card {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background-color: #1a1a1a;
    background-size: cover;
    background-position: center;
    color: #fff;
    isolation: isolate;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .35);
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s ease;
    min-height: 320px;
}
.tia-hero-card--main {
    min-height: clamp(420px, 48vw, 620px);
}
.tia-hero-card--side {
    min-height: clamp(220px, 22vw, 300px);
}
.tia-hero-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 28px 60px rgba(0, 0, 0, .45);
}
.tia-hero-card__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .25) 0%, rgba(0, 0, 0, .55) 60%, rgba(0, 0, 0, .85) 100%);
    z-index: 0;
}
.tia-hero-card--main .tia-hero-card__shade {
    background: linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .45) 50%, rgba(0, 0, 0, .9) 100%);
}
.tia-hero-card__body {
    position: relative;
    z-index: 2;
    padding: clamp(20px, 3vw, 36px);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    gap: 14px;
}

/* Pill */
.tia-hero-card__pill {
    align-self: flex-start;
    padding: 6px 14px;
    border-radius: 999px;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fff;
}
.tia-hero-card__pill--pink  { background: rgba(237, 30, 121, .9); }
.tia-hero-card__pill--dark  { background: rgba(10, 10, 10, .75); backdrop-filter: blur(8px); }
.tia-hero-card__pill--glass { background: rgba(255, 255, 255, .14); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.2); }

/* Title */
.tia-hero-card__title {
    font-family: 'Outfit', 'Playfair Display', system-ui, sans-serif;
    font-size: clamp(28px, 4.2vw, 56px);
    font-weight: 800;
    line-height: 1.05;
    margin: 0;
    color: #fff;
    letter-spacing: -.01em;
}
.tia-hero-card__title--side {
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 700;
}
/* Gradient word effect: wrap a word in <em> in the admin field. */
.tia-hero-card__title em {
    font-style: normal;
    background: linear-gradient(90deg, #ED1E79 0%, #ff8a3d 50%, #ffd700 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* Description */
.tia-hero-card__desc {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.55;
    color: rgba(255, 255, 255, .82);
    margin: 0;
    max-width: 56ch;
}
.tia-hero-card__desc--side {
    font-size: 14px;
    line-height: 1.5;
}

/* Buttons */
.tia-hero-card__actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    flex-wrap: wrap;
}
.tia-hero-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 26px;
    border-radius: 999px;
    font-family: 'Outfit', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.tia-hero-card__btn--primary {
    background: linear-gradient(135deg, #ED1E79, #ff4d94);
    color: #fff;
    box-shadow: 0 8px 24px rgba(237, 30, 121, .45);
}
.tia-hero-card__btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(237, 30, 121, .55);
}
.tia-hero-card__btn--ghost {
    background: rgba(255, 255, 255, .08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .2);
    backdrop-filter: blur(8px);
}
.tia-hero-card__btn--ghost:hover {
    background: rgba(255, 255, 255, .14);
    transform: translateY(-1px);
}

/* Read-more link on side cards */
.tia-hero-card__readmore {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, .9);
    font-family: 'Outfit', system-ui, sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .25);
    padding-bottom: 4px;
    transition: color .15s ease, border-color .15s ease;
}
.tia-hero-card__readmore:hover {
    color: #ED1E79;
    border-color: #ED1E79;
}

/* Responsive: stack on small screens */
@media (max-width: 900px) {
    .tia-hero-cards__grid {
        grid-template-columns: 1fr;
    }
    .tia-hero-cards__side {
        grid-template-rows: auto auto;
    }
    .tia-hero-card--main {
        min-height: 420px;
    }
}

/* Per-section colour overrides (v15.2 cascade) — also flow through to cards
   so user-set Heading / Body / Button colours work here too. */
.tia-section-wrap[data-tia-heading="1"] .tia-hero-card__title {
    color: var(--tia-heading) !important;
}
.tia-section-wrap[data-tia-body="1"] .tia-hero-card__desc {
    color: var(--tia-body) !important;
}
.tia-section-wrap[data-tia-btn="1"] .tia-hero-card__btn--primary {
    background: var(--tia-btn-bg, linear-gradient(135deg, #ED1E79, #ff4d94)) !important;
    color: var(--tia-btn-text, #fff) !important;
}


/* ==========================================================================
   v15.4 — Hero Cards animations + WOW factor
   - Ken Burns drift on background images
   - Light-sweep shimmer on hover
   - 3D tilt on mouse-move (paired with admin.js / main.js)
   - Stagger entrance on first paint
   - Pulsing pill, animated read-more arrow
   - Tighter responsive breakpoints (tablet, phone, large phone)
   ========================================================================== */

/* ---------- Ken Burns: slow drift on background images ---------- */
.tia-hero-card {
    background-size: 110% 110%;
    background-position: 50% 50%;
    animation: tiaHeroDrift 24s ease-in-out infinite alternate;
    will-change: background-position, transform;
}
.tia-hero-card--side {
    animation-duration: 32s;
    animation-direction: alternate-reverse;
}
@keyframes tiaHeroDrift {
    0%   { background-position: 50% 50%; background-size: 108% 108%; }
    50%  { background-position: 53% 47%; background-size: 116% 116%; }
    100% { background-position: 47% 53%; background-size: 112% 112%; }
}

/* ---------- Light-sweep shimmer on hover ---------- */
.tia-hero-card::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(
        100deg,
        transparent 0%,
        rgba(255, 255, 255, .08) 40%,
        rgba(255, 255, 255, .18) 50%,
        rgba(255, 255, 255, .08) 60%,
        transparent 100%
    );
    transform: skewX(-18deg);
    pointer-events: none;
    z-index: 3;
    transition: left .8s cubic-bezier(.4,0,.2,1);
}
.tia-hero-card:hover::before {
    left: 130%;
}

/* ---------- Stagger entrance on first paint ---------- */
.tia-hero-card {
    opacity: 0;
    transform: translateY(24px) scale(.98);
    animation:
        tiaHeroDrift 24s ease-in-out infinite alternate,
        tiaHeroEnter .7s cubic-bezier(.16,1,.3,1) forwards;
}
.tia-hero-card--main { animation-delay: 0s, .05s; }
.tia-hero-card--side:nth-of-type(1) { animation-delay: 0s, .25s; }
.tia-hero-card--side:nth-of-type(2) { animation-delay: 0s, .4s; }
@keyframes tiaHeroEnter {
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ---------- 3D tilt — driven by main.js mouse-move (CSS variables) ---------- */
.tia-hero-card {
    transform-style: preserve-3d;
}
.tia-hero-card.is-tilting {
    transform:
        perspective(1200px)
        rotateX(var(--tia-tilt-x, 0deg))
        rotateY(var(--tia-tilt-y, 0deg))
        translateZ(0);
    transition: transform 0s;
}
.tia-hero-card:not(.is-tilting) {
    transition: transform .5s cubic-bezier(.23,1,.32,1);
}
/* Inner body floats forward in 3D for depth */
.tia-hero-card__body { transform: translateZ(20px); }
.tia-hero-card__pill { transform: translateZ(40px); }
.tia-hero-card__title { transform: translateZ(30px); }
.tia-hero-card__actions { transform: translateZ(50px); }

/* Hover lift overrides the rest state, BUT only when not tilting (mobile fallback) */
.tia-hero-card:not(.is-tilting):hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 32px 70px rgba(0, 0, 0, .55);
}

/* Image-zoom layer for hover (pseudo separates from animated bg) */
.tia-hero-card__shade {
    transition: opacity .3s ease;
}
.tia-hero-card:hover .tia-hero-card__shade {
    opacity: .85;
}

/* ---------- Pill subtle pulse ---------- */
.tia-hero-card__pill--pink {
    animation: tiaPillPulse 3.4s ease-in-out infinite;
}
@keyframes tiaPillPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(237, 30, 121, .55); }
    50%      { box-shadow: 0 0 0 10px rgba(237, 30, 121, 0); }
}

/* ---------- Read-more arrow micro-animation ---------- */
.tia-hero-card__readmore span {
    display: inline-block;
    transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.tia-hero-card__readmore:hover span {
    transform: translateX(6px);
}
.tia-hero-card__btn--primary span {
    display: inline-block;
    transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.tia-hero-card__btn--primary:hover span {
    transform: translateX(4px);
}

/* ---------- Floating particles in background ---------- */
.tia-hero-cards__bg::before,
.tia-hero-cards__bg::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.tia-hero-cards__bg::before {
    top: 30%; left: 8%;
    width: 8px; height: 8px;
    background: rgba(237, 30, 121, .55);
    box-shadow: 0 0 24px rgba(237, 30, 121, .8);
    animation: tiaParticleFloat 9s ease-in-out infinite;
}
.tia-hero-cards__bg::after {
    top: 65%; right: 14%;
    width: 6px; height: 6px;
    background: rgba(255, 215, 0, .65);
    box-shadow: 0 0 18px rgba(255, 215, 0, .8);
    animation: tiaParticleFloat 11s ease-in-out infinite reverse;
}
@keyframes tiaParticleFloat {
    0%, 100% { transform: translate(0, 0); opacity: .6; }
    25%      { transform: translate(20px, -30px); opacity: 1; }
    50%      { transform: translate(40px, 0); opacity: .4; }
    75%      { transform: translate(20px, 30px); opacity: .8; }
}

/* ---------- Better responsive breakpoints ---------- */
/* Tablet 900-1200 — slight grid balance shift */
@media (max-width: 1200px) and (min-width: 900px) {
    .tia-hero-cards__grid {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
        gap: 16px;
    }
    .tia-hero-card__title { font-size: clamp(28px, 4vw, 44px); }
}

/* Mobile (large) 600-899 — stack but keep main card big */
@media (max-width: 899px) and (min-width: 600px) {
    .tia-hero-cards { padding: 32px 24px; }
    .tia-hero-cards__grid { grid-template-columns: 1fr; gap: 16px; }
    .tia-hero-card--main { min-height: 380px; }
    .tia-hero-card--side { min-height: 200px; }
    .tia-hero-cards__side {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
    }
}

/* Mobile (phone) under 600 — full stack, all single column */
@media (max-width: 599px) {
    .tia-hero-cards { padding: 24px 16px; }
    .tia-hero-cards__grid { grid-template-columns: 1fr; gap: 14px; }
    .tia-hero-cards__side { grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 14px; }
    .tia-hero-card--main { min-height: 340px; }
    .tia-hero-card--side { min-height: 200px; }
    .tia-hero-card__title { font-size: clamp(24px, 7vw, 34px); }
    .tia-hero-card__title--side { font-size: 20px; }
    .tia-hero-card__desc { font-size: 14px; }
    .tia-hero-card__actions { flex-direction: column; align-items: stretch; }
    .tia-hero-card__btn { justify-content: center; }
    .tia-hero-cards__blob { width: 200px; height: 200px; filter: blur(60px); }
}

/* Reduced motion: disable Ken Burns, pulse, sweep, particle drift */
@media (prefers-reduced-motion: reduce) {
    .tia-hero-card,
    .tia-hero-card--side,
    .tia-hero-card__pill--pink,
    .tia-hero-cards__bg::before,
    .tia-hero-cards__bg::after {
        animation: none !important;
    }
    .tia-hero-card { opacity: 1; transform: none; }
    .tia-hero-card::before { display: none; }
}

/* ---------- Hide Hostinger preview FAB / promo widgets ---------- */
/* Lightweight defensive hide so the asymmetric hero isn't fighting third-party
   widgets that get injected on hostingersite.com preview URLs.
   Only matches obvious Hostinger preview chrome — your own widgets are safe. */
[id^="hostinger-preview"],
[class^="hostinger-preview"],
[class*="hostinger-cta"],
[id^="kodee-launcher"]:not(:hover),
.hostinger-preview-bar,
.hp-preview-bar {
    display: none !important;
}


/* ==========================================================================
   v15.5 — Site-wide WOW animation layer
   Tasteful, performant, reduced-motion friendly. Three intensity tiers:

   • Heavy   — tilt + Ken Burns + shimmer on big feature cards
               (.tia-pick, .tia-cat__lead, .tia-mag__lead)
   • Medium  — shimmer + lift + image-zoom on grid cards
               (.tia-card, .tia-trending__card, .story-card, .video-card,
                .trending-card, .performer-card)
   • Light   — fade-up stagger entrance + button-arrow micro-animation
               + section-title underline reveal site-wide
   ========================================================================== */

/* ---------- HEAVY TIER: feature cards ---------- */

/* Ken Burns drift on big background-image cards */
.tia-pick,
.tia-cat__lead-img,
.tia-mag__lead {
    background-size: 110% 110%;
    background-position: 50% 50%;
    will-change: background-position, transform;
    animation: tiaSiteDrift 28s ease-in-out infinite alternate;
}
.tia-cat__lead-img { animation-duration: 36s; animation-direction: alternate-reverse; }
@keyframes tiaSiteDrift {
    0%   { background-position: 50% 50%; background-size: 108% 108%; }
    50%  { background-position: 53% 47%; background-size: 116% 116%; }
    100% { background-position: 47% 53%; background-size: 112% 112%; }
}

/* Light-sweep on hover for big feature cards */
.tia-pick,
.tia-card,
.tia-trending__card,
.story-card,
.video-card,
.trending-card,
.performer-card {
    position: relative;
    overflow: hidden;
}
.tia-pick::before,
.tia-card::before,
.tia-trending__card::before,
.story-card::before,
.video-card::before,
.trending-card::before,
.performer-card::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(
        100deg,
        transparent 0%,
        rgba(255, 255, 255, .06) 40%,
        rgba(255, 255, 255, .14) 50%,
        rgba(255, 255, 255, .06) 60%,
        transparent 100%
    );
    transform: skewX(-18deg);
    pointer-events: none;
    z-index: 4;
    transition: left .8s cubic-bezier(.4, 0, .2, 1);
}
.tia-pick:hover::before,
.tia-card:hover::before,
.tia-trending__card:hover::before,
.story-card:hover::before,
.video-card:hover::before,
.trending-card:hover::before,
.performer-card:hover::before {
    left: 130%;
}

/* ---------- MEDIUM TIER: grid card lift + image-zoom ---------- */
.tia-card,
.tia-trending__card,
.story-card,
.video-card,
.performer-card {
    transition:
        transform .35s cubic-bezier(.23, 1, .32, 1),
        box-shadow .35s ease,
        border-color .25s ease;
}
.tia-card:hover,
.tia-trending__card:hover,
.story-card:hover,
.video-card:hover,
.performer-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(15, 23, 42, .14);
}

/* Image zoom inside cards */
.tia-card__media,
.tia-trending__card-media,
.story-card .card-image,
.video-card .card-image,
.tia-card__thumb,
.tia-trending__thumb {
    overflow: hidden;
}
.tia-card__media img,
.tia-trending__card-media img,
.story-card .card-image img,
.video-card .card-image img,
.tia-card__thumb img,
.tia-trending__thumb img {
    transition: transform .6s cubic-bezier(.23, 1, .32, 1);
    will-change: transform;
}
.tia-card:hover .tia-card__media img,
.tia-card:hover .tia-card__thumb img,
.tia-trending__card:hover .tia-trending__card-media img,
.tia-trending__card:hover .tia-trending__thumb img,
.story-card:hover .card-image img,
.video-card:hover .card-image img {
    transform: scale(1.06);
}

/* Big feature card lift bonus */
.tia-pick {
    transition: transform .45s cubic-bezier(.23, 1, .32, 1), box-shadow .45s ease;
}
.tia-pick:hover {
    transform: translateY(-5px) scale(1.005);
    box-shadow: 0 32px 70px rgba(15, 23, 42, .25);
}

/* ---------- LIGHT TIER: entrance fade-up stagger ---------- */

/* Body class tia-js-ready (set by main.js) gates the initial hide */
body.tia-js-ready .tia-card,
body.tia-js-ready .tia-trending__card,
body.tia-js-ready .story-card,
body.tia-js-ready .video-card,
body.tia-js-ready .performer-card,
body.tia-js-ready .tia-pick {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .65s cubic-bezier(.16, 1, .3, 1),
        transform .65s cubic-bezier(.16, 1, .3, 1);
}
.is-in-view.tia-card,
.is-in-view.tia-trending__card,
.is-in-view.story-card,
.is-in-view.video-card,
.is-in-view.performer-card,
.is-in-view.tia-pick {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger via nth-of-type — works for grids without JS attribute setting */
.is-in-view.tia-card:nth-of-type(1) { transition-delay: .05s; }
.is-in-view.tia-card:nth-of-type(2) { transition-delay: .12s; }
.is-in-view.tia-card:nth-of-type(3) { transition-delay: .19s; }
.is-in-view.tia-card:nth-of-type(4) { transition-delay: .26s; }
.is-in-view.tia-card:nth-of-type(5) { transition-delay: .33s; }
.is-in-view.tia-card:nth-of-type(6) { transition-delay: .40s; }
.is-in-view.tia-card:nth-of-type(7) { transition-delay: .47s; }
.is-in-view.tia-card:nth-of-type(8) { transition-delay: .54s; }
.is-in-view.tia-card:nth-of-type(9) { transition-delay: .61s; }
.is-in-view.tia-trending__card:nth-of-type(1) { transition-delay: .05s; }
.is-in-view.tia-trending__card:nth-of-type(2) { transition-delay: .15s; }
.is-in-view.tia-trending__card:nth-of-type(3) { transition-delay: .25s; }
.is-in-view.tia-trending__card:nth-of-type(4) { transition-delay: .35s; }

/* Section heading underline reveal */
.tia-grid__head h2,
.tia-mag__head h2,
.tia-cat__head h2,
.section-title {
    position: relative;
    display: inline-block;
}
.tia-grid__head h2::after,
.tia-mag__head h2::after,
.tia-cat__head h2::after,
.section-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, #ED1E79 0%, #ffd700 100%);
    transition: width .8s cubic-bezier(.16, 1, .3, 1) .2s;
}
.is-in-view.tia-grid__head h2::after,
.is-in-view.tia-mag__head h2::after,
.is-in-view.tia-cat__head h2::after,
.is-in-view.section-title::after,
section.is-in-view .tia-grid__head h2::after,
section.is-in-view .tia-mag__head h2::after,
section.is-in-view .tia-cat__head h2::after,
section.is-in-view .section-title::after {
    width: 80px;
}

/* Eyebrow pulse — site-wide */
.tia-section-eyebrow,
.tia-news__ticker-pill {
    position: relative;
}
.tia-news__ticker-pill::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: 0 0 0 0 rgba(237, 30, 121, .55);
    animation: tiaSitePulse 2.4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes tiaSitePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(237, 30, 121, .55); }
    50%      { box-shadow: 0 0 0 8px rgba(237, 30, 121, 0); }
}

/* Button arrow micro-animation site-wide */
.tia-section-cta,
.hero-btn,
.flash-btn,
.tier-btn,
.btn-primary,
button[type="submit"],
.button.tia-button {
    overflow: hidden;
    position: relative;
}
.tia-section-cta span[aria-hidden],
.hero-btn span[aria-hidden],
.flash-btn span[aria-hidden] {
    display: inline-block;
    transition: transform .25s cubic-bezier(.4, 0, .2, 1);
}
.tia-section-cta:hover span[aria-hidden],
.hero-btn:hover span[aria-hidden],
.flash-btn:hover span[aria-hidden] {
    transform: translateX(4px);
}

/* Generic button shine on hover */
.tia-section-cta::before,
.hero-btn::before,
.tier-btn::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 50%; height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .25),
        transparent
    );
    transform: skewX(-20deg);
    transition: left .6s cubic-bezier(.4, 0, .2, 1);
    pointer-events: none;
}
.tia-section-cta:hover::before,
.hero-btn:hover::before,
.tier-btn:hover::before {
    left: 130%;
}

/* Link underline grow on hover (anchors inside cards/sections) */
.tia-card__title a,
.tia-trending__title a,
.tia-cat__list a {
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    transition: background-size .35s cubic-bezier(.4, 0, .2, 1);
    text-decoration: none;
}
.tia-card__title a:hover,
.tia-trending__title a:hover,
.tia-cat__list a:hover {
    background-size: 100% 1px;
}

/* ---------- Newsletter form: input focus glow, button shine ---------- */
.newsletter-form input[type="email"],
.tia-section-wrap .newsletter-form input {
    transition: box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.newsletter-form input[type="email"]:focus,
.tia-section-wrap .newsletter-form input:focus {
    box-shadow: 0 0 0 3px rgba(237, 30, 121, .25), 0 0 24px rgba(237, 30, 121, .15);
    outline: none;
}

/* ---------- Reduced motion: kill the heavy stuff site-wide ---------- */
@media (prefers-reduced-motion: reduce) {
    .tia-pick,
    .tia-cat__lead-img,
    .tia-mag__lead,
    .tia-news__ticker-pill::before {
        animation: none !important;
    }
    .tia-card::before,
    .tia-trending__card::before,
    .story-card::before,
    .video-card::before,
    .performer-card::before,
    .tia-pick::before,
    .tia-section-cta::before,
    .hero-btn::before,
    .tier-btn::before {
        display: none !important;
    }
    body.tia-js-ready .tia-card,
    body.tia-js-ready .tia-trending__card,
    body.tia-js-ready .story-card,
    body.tia-js-ready .video-card,
    body.tia-js-ready .performer-card,
    body.tia-js-ready .tia-pick,
    body.tia-js-ready .tia-cat__item {
        opacity: 1;
        transform: none;
    }
}

/* ==========================================================================
   v15.6 — Empty-state safety + tighter FAB hide
   - Force-reveal animatable elements after 1.5s if IO somehow didn't fire
   - Broader Hostinger preview FAB hide
   ========================================================================== */

/* Safety net: any element that should have faded in but never received
   .is-in-view will be revealed after 1.5s via the JS timer below. This CSS
   makes the fallback transition smooth. */
body.tia-anim-failsafe .tia-card,
body.tia-anim-failsafe .tia-trending__card,
body.tia-anim-failsafe .story-card,
body.tia-anim-failsafe .video-card,
body.tia-anim-failsafe .performer-card,
body.tia-anim-failsafe .tia-pick,
body.tia-anim-failsafe .tia-cat__item {
    opacity: 1 !important;
    transform: none !important;
    transition: opacity .35s ease, transform .35s ease !important;
}

/* Aggressive Hostinger / preview / promo FAB hide.
   Targets common patterns: fixed-position elements bottom-right that contain
   calendar imagery. Without inspecting the exact widget, this is best-effort —
   if it persists tell us the iframe / element ID and we'll add a precise rule. */
[id*="hostinger"][class*="preview"],
[class*="hostinger-preview"],
[class*="hostinger-promo"],
[id*="hostinger-promo"],
[data-hostinger],
.hostinger-cta,
.hostinger-cta-floating,
.hostinger-promo-fab,
.hostinger-bottom-bar,
.hp-floating-cta,
iframe[src*="hostinger.com/promo"],
iframe[src*="hostinger.com/cta"],
iframe[src*="hostinger.com/preview"],
div[style*="position: fixed"][style*="bottom"][style*="right"][class*="cta"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* ==========================================================================
   v15.8 — Branded thumbnail fallback (no more solid pink)
   When a card's media element has no background-image, render a soft
   pink/ink gradient with a centred TitA monogram. The monogram is an
   inline SVG data-URI so it loads zero extra HTTP requests.
   ========================================================================== */
.tia-acard__media:not([style*="background-image"]),
.tia-card__media:not([style*="background-image"]),
.tia-grid__media:not([style*="background-image"]),
.tia-trending__card-media:not([style*="background-image"]),
.tia-card__thumb:not([style*="background-image"]),
.tia-trending__thumb:not([style*="background-image"]),
.tia-related-card .card-image:empty,
.tia-related-card__media:not([style*="background-image"]) {
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120'><defs><linearGradient id='g' x1='0' x2='1' y1='0' y2='1'><stop offset='0' stop-color='%23ED1E79'/><stop offset='1' stop-color='%231a0a14'/></linearGradient></defs><rect width='200' height='120' fill='url(%23g)'/><text x='100' y='75' font-family='Outfit,sans-serif' font-size='48' font-weight='800' fill='rgba(255,255,255,0.18)' text-anchor='middle' letter-spacing='-2'>TiA</text><circle cx='160' cy='30' r='28' fill='rgba(255,215,0,0.12)'/><circle cx='30' cy='95' r='40' fill='rgba(255,77,148,0.18)'/></svg>") center/cover no-repeat,
        linear-gradient(135deg, #1a0a14 0%, #ED1E79 100%);
    background-size: cover;
    position: relative;
}
/* Subtle animated shimmer over the empty-state gradient so it doesn't
   feel like a broken image — tells the user "image coming soon". */
.tia-acard__media:not([style*="background-image"])::after,
.tia-grid__media:not([style*="background-image"])::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        110deg,
        transparent 0%,
        rgba(255, 255, 255, .08) 45%,
        rgba(255, 255, 255, .15) 50%,
        rgba(255, 255, 255, .08) 55%,
        transparent 100%
    );
    transform: translateX(-100%);
    animation: tiaThumbShimmer 4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes tiaThumbShimmer {
    0%, 30%   { transform: translateX(-100%); }
    70%, 100% { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
    .tia-acard__media:not([style*="background-image"])::after,
    .tia-grid__media:not([style*="background-image"])::after {
        animation: none;
    }
}


/* ==========================================================================
   v15.9 — Article offer card (renders from ACF, not Elementor)
   Lives inside the_content() output on single-tia_article pages. Always fits
   inside the article column, never overflows. Editors fill out 6 ACF fields.
   ========================================================================== */
.tia-offer-card {
    background: linear-gradient(135deg, #ED1E79 0%, #1a0a14 100%);
    border-radius: 20px;
    color: #ffffff;
    padding: clamp(28px, 4vw, 48px) clamp(20px, 3vw, 40px);
    margin: 32px 0 40px;
    box-shadow: 0 24px 60px rgba(237, 30, 121, 0.25);
    max-width: 100%;
    box-sizing: border-box;
    font-family: 'Inter', system-ui, sans-serif;
}
.tia-offer-card__head {
    text-align: center;
    margin-bottom: 28px;
}
.tia-offer-card__eyebrow {
    display: inline-block;
    background: rgba(255, 215, 0, 0.18);
    color: #ffd700;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
}
.tia-offer-card__title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(24px, 3.4vw, 36px);
    font-weight: 800;
    letter-spacing: -0.5px;
    color: #ffffff;
    margin: 14px 0 0;
    line-height: 1.15;
}
.tia-offer-card__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.tia-offer-card__row--prices {
    margin-bottom: 28px;
}
.tia-offer-card__cell {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.tia-offer-card__cell--price {
    text-align: center;
    align-items: center;
    padding: 22px 16px;
}
.tia-offer-card__cell--accent {
    background: rgba(255, 215, 0, 0.12);
    border-color: rgba(255, 215, 0, 0.3);
}
.tia-offer-card__cell-label {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #ffd700;
}
.tia-offer-card__cell-big {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4;
    color: #ffffff;
    margin-top: 4px;
}
.tia-offer-card__cell-small {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #cbd5e1;
}
.tia-offer-card__price {
    font-family: 'Outfit', sans-serif;
    font-weight: 900;
    font-size: clamp(28px, 3vw, 36px);
    letter-spacing: -1px;
    color: #ffffff;
    margin: 4px 0;
}
.tia-offer-card__cell--accent .tia-offer-card__price { color: #ffd700; }
.tia-offer-card__cta {
    text-align: center;
}
.tia-offer-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    color: #ED1E79;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 32px;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
    transition: transform .18s ease, box-shadow .18s ease;
}
.tia-offer-card__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.35);
}
.tia-offer-card__btn-icon {
    font-size: 16px;
}
@media (max-width: 600px) {
    .tia-offer-card__row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .tia-offer-card__btn { transition: none !important; }
}


/* ==========================================================================
   v15.9.1 — Native footer (.site-footer--v2)
   Replaces the bare-headings rendering with a complete styled footer that
   works on every page (homepage, articles, taxonomy archives, etc.) without
   needing an Elementor template OR nav-menu configuration.
   ========================================================================== */
.site-footer--v2 {
    background: #0a0a0a;
    color: #cbd5e1;
    font-family: 'Inter', system-ui, sans-serif;
    padding: 60px 20px 24px;
    overflow: hidden;
}
.site-footer--v2 *,
.site-footer--v2 *::before,
.site-footer--v2 *::after { box-sizing: border-box; }
.site-footer--v2 .site-footer__inner {
    max-width: 1320px;
    margin: 0 auto;
}

/* Brand row */
.site-footer--v2 .site-footer__brand {
    text-align: center;
    margin-bottom: 48px;
}
.site-footer--v2 .site-footer__logo {
    display: inline-block;
    font-family: 'Outfit', sans-serif;
    font-weight: 900;
    font-size: 32px;
    letter-spacing: -0.5px;
    text-decoration: none;
    margin-bottom: 16px;
    line-height: 1;
}
.site-footer--v2 .site-footer__logo-pink  { color: #ED1E79; }
.site-footer--v2 .site-footer__logo-white { color: #ffffff; font-weight: 400; padding: 0 4px; }
.site-footer--v2 .site-footer__tagline {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.7;
    max-width: 600px;
    margin: 0 auto;
}

/* 4-column nav row */
.site-footer--v2 .site-footer__cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 40px;
}
.site-footer--v2 .site-footer__col { min-width: 0; }
.site-footer--v2 .site-footer__heading {
    color: #ED1E79;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 20px;
}
.site-footer--v2 .site-footer__menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.site-footer--v2 .site-footer__menu a {
    color: #cbd5e1;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color .18s ease, padding-left .18s ease;
    display: inline-block;
}
.site-footer--v2 .site-footer__menu a:hover {
    color: #ED1E79;
    padding-left: 4px;
}

/* Newsletter */
.site-footer--v2 .site-footer__col--newsletter .site-footer__newsletter-blurb {
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 16px;
}
.site-footer--v2 .site-footer__newsletter {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.site-footer--v2 .site-footer__email {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    padding: 12px 18px;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    width: 100%;
    transition: border-color .18s ease, box-shadow .18s ease;
    -webkit-appearance: none;
    appearance: none;
}
.site-footer--v2 .site-footer__email::placeholder { color: rgba(255, 255, 255, 0.5); }
.site-footer--v2 .site-footer__email:focus {
    border-color: #ED1E79;
    box-shadow: 0 0 0 3px rgba(237, 30, 121, 0.18);
    outline: none;
}
.site-footer--v2 .site-footer__subscribe {
    background: #ED1E79;
    border: 0;
    color: #ffffff;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.3px;
    padding: 12px 24px;
    border-radius: 999px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(237, 30, 121, 0.35);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.site-footer--v2 .site-footer__subscribe:hover {
    background: #ffd700;
    color: #0a0a0a;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(237, 30, 121, 0.5);
}

/* Divider + bottom bar */
.site-footer--v2 .site-footer__divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    margin-bottom: 24px;
}
.site-footer--v2 .site-footer__bottom {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    font-size: 13px;
}
.site-footer--v2 .site-footer__copy { color: #94a3b8; }
.site-footer--v2 .site-footer__copy strong { color: #ffffff; }
.site-footer--v2 .site-footer__legal { text-align: center; }
.site-footer--v2 .site-footer__legal a {
    color: #94a3b8;
    text-decoration: none;
    transition: color .18s ease;
}
.site-footer--v2 .site-footer__legal a:hover { color: #ED1E79; }
.site-footer--v2 .site-footer__legal-sep { color: #475569; padding: 0 8px; }
.site-footer--v2 .site-footer__social {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
.site-footer--v2 .site-footer__social-link {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .18s ease, transform .18s ease;
    position: relative;
}
.site-footer--v2 .site-footer__social-link:hover {
    background: #ED1E79;
    transform: scale(1.1);
}
/* Use CSS-only icon glyphs via SVG masks (no font dependency, no missing icons) */
.site-footer--v2 .site-footer__social-link::before {
    content: '';
    width: 16px; height: 16px;
    background-color: #ffffff;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.site-footer--v2 .site-footer__social-link--instagram::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2.2c3.2 0 3.6 0 4.85.07 1.17.05 1.8.25 2.23.42.56.22.96.48 1.38.9.42.42.68.82.9 1.38.17.43.37 1.06.42 2.23.07 1.25.07 1.65.07 4.85s0 3.6-.07 4.85c-.05 1.17-.25 1.8-.42 2.23a3.7 3.7 0 0 1-.9 1.38 3.7 3.7 0 0 1-1.38.9c-.43.17-1.06.37-2.23.42-1.25.07-1.65.07-4.85.07s-3.6 0-4.85-.07c-1.17-.05-1.8-.25-2.23-.42a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.17-.43-.37-1.06-.42-2.23C2.2 15.6 2.2 15.2 2.2 12s0-3.6.07-4.85c.05-1.17.25-1.8.42-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.43-.17 1.06-.37 2.23-.42C8.4 2.2 8.8 2.2 12 2.2zm0 1.8c-3.15 0-3.5 0-4.74.07-1.07.05-1.66.23-2.05.39a3 3 0 0 0-1.13.74 3 3 0 0 0-.74 1.13c-.16.39-.34.98-.39 2.05C3 8.5 3 8.85 3 12s0 3.5.07 4.74c.05 1.07.23 1.66.39 2.05.18.45.4.78.74 1.13.34.34.68.56 1.13.74.39.16.98.34 2.05.39 1.24.07 1.59.07 4.74.07s3.5 0 4.74-.07c1.07-.05 1.66-.23 2.05-.39.45-.18.78-.4 1.13-.74.34-.34.56-.68.74-1.13.16-.39.34-.98.39-2.05.07-1.24.07-1.59.07-4.74s0-3.5-.07-4.74c-.05-1.07-.23-1.66-.39-2.05a3 3 0 0 0-.74-1.13 3 3 0 0 0-1.13-.74c-.39-.16-.98-.34-2.05-.39C15.5 4 15.15 4 12 4zm0 3.2A4.8 4.8 0 1 1 7.2 12 4.8 4.8 0 0 1 12 7.2zm0 1.8a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm5-2.4a1.13 1.13 0 1 1 1.13 1.13A1.13 1.13 0 0 1 17 6.6z'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2.2c3.2 0 3.6 0 4.85.07 1.17.05 1.8.25 2.23.42.56.22.96.48 1.38.9.42.42.68.82.9 1.38.17.43.37 1.06.42 2.23.07 1.25.07 1.65.07 4.85s0 3.6-.07 4.85c-.05 1.17-.25 1.8-.42 2.23a3.7 3.7 0 0 1-.9 1.38 3.7 3.7 0 0 1-1.38.9c-.43.17-1.06.37-2.23.42-1.25.07-1.65.07-4.85.07s-3.6 0-4.85-.07c-1.17-.05-1.8-.25-2.23-.42a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.17-.43-.37-1.06-.42-2.23C2.2 15.6 2.2 15.2 2.2 12s0-3.6.07-4.85c.05-1.17.25-1.8.42-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.43-.17 1.06-.37 2.23-.42C8.4 2.2 8.8 2.2 12 2.2zm0 1.8c-3.15 0-3.5 0-4.74.07-1.07.05-1.66.23-2.05.39a3 3 0 0 0-1.13.74 3 3 0 0 0-.74 1.13c-.16.39-.34.98-.39 2.05C3 8.5 3 8.85 3 12s0 3.5.07 4.74c.05 1.07.23 1.66.39 2.05.18.45.4.78.74 1.13.34.34.68.56 1.13.74.39.16.98.34 2.05.39 1.24.07 1.59.07 4.74.07s3.5 0 4.74-.07c1.07-.05 1.66-.23 2.05-.39.45-.18.78-.4 1.13-.74.34-.34.56-.68.74-1.13.16-.39.34-.98.39-2.05.07-1.24.07-1.59.07-4.74s0-3.5-.07-4.74c-.05-1.07-.23-1.66-.39-2.05a3 3 0 0 0-.74-1.13 3 3 0 0 0-1.13-.74c-.39-.16-.98-.34-2.05-.39C15.5 4 15.15 4 12 4zm0 3.2A4.8 4.8 0 1 1 7.2 12 4.8 4.8 0 0 1 12 7.2zm0 1.8a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm5-2.4a1.13 1.13 0 1 1 1.13 1.13A1.13 1.13 0 0 1 17 6.6z'/></svg>");
}
.site-footer--v2 .site-footer__social-link--facebook::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M13.5 22v-9h2.7l.4-3.5h-3.1V7.3c0-1 .3-1.7 1.7-1.7H17V2.4c-.3 0-1.4-.1-2.7-.1-2.7 0-4.5 1.6-4.5 4.6v2.6H7v3.5h2.8V22h3.7z'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M13.5 22v-9h2.7l.4-3.5h-3.1V7.3c0-1 .3-1.7 1.7-1.7H17V2.4c-.3 0-1.4-.1-2.7-.1-2.7 0-4.5 1.6-4.5 4.6v2.6H7v3.5h2.8V22h3.7z'/></svg>");
}
.site-footer--v2 .site-footer__social-link--twitter::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zM17.083 19.77h1.833L7.084 4.126H5.117z'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zM17.083 19.77h1.833L7.084 4.126H5.117z'/></svg>");
}
.site-footer--v2 .site-footer__social-link--linkedin::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM8.34 18H5.67V9.5h2.67V18zM7 8.34a1.55 1.55 0 1 1 0-3.1 1.55 1.55 0 0 1 0 3.1zM18 18h-2.67v-4.13c0-.99-.02-2.27-1.38-2.27s-1.6 1.08-1.6 2.2V18H9.67V9.5h2.56v1.17h.04c.36-.67 1.22-1.38 2.51-1.38 2.69 0 3.18 1.77 3.18 4.07V18z'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM8.34 18H5.67V9.5h2.67V18zM7 8.34a1.55 1.55 0 1 1 0-3.1 1.55 1.55 0 0 1 0 3.1zM18 18h-2.67v-4.13c0-.99-.02-2.27-1.38-2.27s-1.6 1.08-1.6 2.2V18H9.67V9.5h2.56v1.17h.04c.36-.67 1.22-1.38 2.51-1.38 2.69 0 3.18 1.77 3.18 4.07V18z'/></svg>");
}
.site-footer--v2 .site-footer__social-link--youtube::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M21.6 7.2s-.2-1.4-.8-2c-.7-.8-1.6-.8-2-.9C16 4 12 4 12 4s-4 0-6.8.3c-.4.1-1.3.1-2 .9-.6.6-.8 2-.8 2S2.2 8.8 2.2 10.4v1.5c0 1.6.2 3.2.2 3.2s.2 1.4.8 2c.7.8 1.7.8 2.1.9 1.5.1 6.4.2 6.7.2 0 0 4 0 6.8-.3.4-.1 1.3-.1 2-.9.6-.6.8-2 .8-2s.2-1.6.2-3.2v-1.5c0-1.6-.2-3.2-.2-3.2zM10 14.6V8.4l5.2 3.1L10 14.6z'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M21.6 7.2s-.2-1.4-.8-2c-.7-.8-1.6-.8-2-.9C16 4 12 4 12 4s-4 0-6.8.3c-.4.1-1.3.1-2 .9-.6.6-.8 2-.8 2S2.2 8.8 2.2 10.4v1.5c0 1.6.2 3.2.2 3.2s.2 1.4.8 2c.7.8 1.7.8 2.1.9 1.5.1 6.4.2 6.7.2 0 0 4 0 6.8-.3.4-.1 1.3-.1 2-.9.6-.6.8-2 .8-2s.2-1.6.2-3.2v-1.5c0-1.6-.2-3.2-.2-3.2zM10 14.6V8.4l5.2 3.1L10 14.6z'/></svg>");
}

/* Tablet */
@media (max-width: 1024px) {
    .site-footer--v2 .site-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 32px; }
    .site-footer--v2 .site-footer__bottom { grid-template-columns: 1fr; text-align: center; }
    .site-footer--v2 .site-footer__legal,
    .site-footer--v2 .site-footer__social { justify-content: center; }
    .site-footer--v2 .site-footer__social { display: flex; justify-content: center; }
}

/* Phone */
@media (max-width: 600px) {
    .site-footer--v2 { padding: 48px 16px 20px; }
    .site-footer--v2 .site-footer__cols { grid-template-columns: 1fr; gap: 28px; text-align: center; }
    .site-footer--v2 .site-footer__menu { align-items: center; }
}

/* Hide the legacy floating-cta button if it's still in the markup */
.floating-cta { display: none !important; }


/* ==========================================================================
   v15.10 — Footer Builder layout variants
   .site-footer--brand_top     (default — brand centered above 4-col grid)
   .site-footer--brand_left    (brand on left, 3-col grid right)
   .site-footer--brand_below   (4-col grid on top, brand below centered)
   ========================================================================== */

/* Logo image rendering */
.site-footer .site-footer__logo-img {
    max-height: 60px;
    width: auto;
    display: inline-block;
}

/* === brand_left layout === */
.site-footer--brand_left .site-footer__inner {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 60px;
    max-width: 1320px;
    margin: 0 auto;
    align-items: start;
}
.site-footer--brand_left .site-footer__brand {
    text-align: left;
    margin-bottom: 0;
}
.site-footer--brand_left .site-footer__cols {
    margin-bottom: 0;
    grid-column: 2;
    grid-row: 1;
}
.site-footer--brand_left .site-footer__divider,
.site-footer--brand_left .site-footer__bottom {
    grid-column: 1 / -1;
}

/* === brand_below layout === */
.site-footer--brand_below .site-footer__brand {
    order: 2;
    margin-top: 48px;
    margin-bottom: 0;
}
.site-footer--brand_below .site-footer__cols {
    order: 1;
    margin-bottom: 0;
}
.site-footer--brand_below .site-footer__inner {
    display: flex;
    flex-direction: column;
}
.site-footer--brand_below .site-footer__divider { order: 3; }
.site-footer--brand_below .site-footer__bottom { order: 4; }

/* Auto column count */
.site-footer__cols--1 { grid-template-columns: 1fr; }
.site-footer__cols--2 { grid-template-columns: repeat(2, 1fr); }
.site-footer__cols--3 { grid-template-columns: repeat(3, 1fr); }
.site-footer__cols--4 { grid-template-columns: repeat(4, 1fr); }
.site-footer__cols--5 { grid-template-columns: repeat(5, 1fr); }
.site-footer__cols--6 { grid-template-columns: repeat(6, 1fr); }

/* Custom-HTML column basic styling */
.site-footer__col--custom .site-footer__custom-html {
    color: #94a3b8;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.7;
}
.site-footer__col--custom .site-footer__custom-html a {
    color: #cbd5e1;
    text-decoration: none;
}
.site-footer__col--custom .site-footer__custom-html a:hover { color: #ED1E79; }

/* Mobile stacking for all variants */
@media (max-width: 1024px) {
    .site-footer--brand_left .site-footer__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .site-footer--brand_left .site-footer__cols {
        grid-column: 1;
    }
    .site-footer__cols--3,
    .site-footer__cols--4,
    .site-footer__cols--5,
    .site-footer__cols--6 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .site-footer__cols--2,
    .site-footer__cols--3,
    .site-footer__cols--4,
    .site-footer__cols--5,
    .site-footer__cols--6 {
        grid-template-columns: 1fr;
    }
}

/* === Article archive — premium card grid (v2.5.3) ========================== */
.tia-archive { padding: 64px 0 80px; background: #FAF6F0; }
.tia-archive .section-container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.tia-archive .section-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 900; color: #0E0E10;
    letter-spacing: -1px;
    margin: 0 0 8px;
    position: relative; display: inline-block;
}
.tia-archive .section-title::after {
    content: ""; display: block;
    width: 80px; height: 4px; margin-top: 16px;
    background: linear-gradient(90deg, #FF1F70, #FFFFFF);
    border-radius: 999px;
}
.tia-archive .trending-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px;
    margin-top: 48px;
}
/* Card — overrides the floating-text bug from main.css */
.tia-archive .story-card,
.trending-grid .story-card {
    background: #FFFFFF;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(14,14,16,.06);
    transition: transform .4s cubic-bezier(.4,0,.2,1), box-shadow .4s ease;
    background-image: none !important; /* kill the inline bg-image on the article */
    cursor: pointer;
}
.tia-archive .story-card:hover,
.trending-grid .story-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 48px rgba(14,14,16,.14);
}
.tia-archive .story-card__link,
.trending-grid .story-card__link {
    display: flex; flex-direction: column;
    text-decoration: none; color: inherit; height: 100%;
}
.tia-archive .story-card__img,
.trending-grid .story-card__img {
    position: relative;
    width: 100%; aspect-ratio: 16 / 10;
    background-size: cover; background-position: center;
    background-color: #FAF6F0;
    overflow: hidden;
}
.tia-archive .story-card__img::after,
.trending-grid .story-card__img::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(14,14,16,.35) 100%);
    pointer-events: none;
    opacity: 0; transition: opacity .4s ease;
}
.tia-archive .story-card:hover .story-card__img::after,
.trending-grid .story-card:hover .story-card__img::after {
    opacity: 1;
}
.tia-archive .story-card__eyebrow,
.trending-grid .story-card__eyebrow {
    position: absolute; top: 16px; left: 16px;
    background: #FF1F70; color: #FFFFFF;
    font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    padding: 6px 12px; border-radius: 999px;
    z-index: 2;
}
.tia-archive .story-card__content,
.trending-grid .story-card__content {
    padding: 24px;
    background: #FFFFFF;
    flex: 1; display: flex; flex-direction: column; gap: 8px;
}
.tia-archive .story-card__title,
.trending-grid .story-card__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(18px, 1.4vw, 22px);
    font-weight: 700; line-height: 1.25;
    color: #0E0E10; margin: 0;
    letter-spacing: -.3px;
    transition: color .25s ease;
}
.tia-archive .story-card:hover .story-card__title,
.trending-grid .story-card:hover .story-card__title {
    color: #FF1F70;
}
.tia-archive .story-card__meta,
.trending-grid .story-card__meta {
    font-family: 'Inter', sans-serif;
    font-size: 14px; line-height: 1.55;
    color: #0E0E10; opacity: .7;
    margin: 0;
}

/* Pagination */
.tia-archive .pagination,
.tia-archive nav.pagination {
    display: flex; justify-content: center; gap: 8px;
    margin-top: 64px;
}
.tia-archive .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; height: 44px; padding: 0 16px;
    background: #FFFFFF; color: #0E0E10;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px;
    text-decoration: none; border-radius: 12px;
    transition: all .25s ease;
}
.tia-archive .page-numbers:hover { background: #FF1F70; color: #FFFFFF; }
.tia-archive .page-numbers.current { background: #0E0E10; color: #FFFFFF; }

/* Mobile */
@media (max-width: 700px) {
    .tia-archive { padding: 40px 0 64px; }
    .tia-archive .trending-grid { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; }
}

/* === Homepage newsletter section (v2.5.6) === */
.tia-news-section { background: #FF1F70; padding: 80px 24px; }
.tia-news-inner { max-width: 640px; margin: 0 auto; text-align: center; color: #FFFFFF; }
.tia-news-title { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(32px, 4vw, 48px); font-weight: 900; color: #FFFFFF; letter-spacing: -1px; margin: 0 0 8px; line-height: 1.1; }
.tia-news-title::after { content: ""; display: block; width: 64px; height: 4px; background: linear-gradient(90deg, #FFD700, #FFFFFF); border-radius: 999px; margin: 16px auto 24px; }
.tia-news-desc { font-family: 'Inter', sans-serif; font-size: 16px; line-height: 1.55; color: #FFFFFF; opacity: .9; max-width: 48ch; margin: 0 auto 32px; }
.tia-news-form { display: flex; flex-wrap: wrap; gap: 8px; max-width: 520px; margin: 0 auto; background: rgba(255,255,255,.18); padding: 8px; border-radius: 999px; backdrop-filter: blur(10px); }
.tia-news-input { flex: 1 1 220px; min-width: 200px; padding: 14px 24px; border: 0; border-radius: 999px; background: #FFFFFF; color: #0E0E10; font-family: 'Inter', sans-serif; font-size: 15px; outline: none; }
.tia-news-input::placeholder { color: rgba(14,14,16,.45); }
.tia-news-btn { background: #0E0E10; color: #FFFFFF; border: 0; padding: 14px 32px; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; transition: all .25s ease; min-height: 48px; }
.tia-news-btn:hover { background: #FFFFFF; color: #0E0E10; transform: scale(1.02); }
@media (max-width: 600px) {
    .tia-news-section { padding: 56px 20px; }
    .tia-news-form { flex-direction: column; padding: 12px; border-radius: 16px; }
    .tia-news-input { flex: 1; width: 100%; }
    .tia-news-btn { width: 100%; }
}

/* === Homepage newsletter — mobile responsive (v2.5.7, overrides inline styles) === */
@media (max-width: 600px) {
    #newsletter { padding: 56px 20px !important; }
    #newsletter > div > h2 { font-size: 36px !important; line-height: 1.15 !important; }
    #newsletter > div > p { font-size: 15px !important; margin-bottom: 24px !important; }
    #newsletter > div > form { flex-direction: column !important; padding: 12px !important; border-radius: 20px !important; gap: 10px !important; }
    #newsletter > div > form > input[type="email"] { width: 100% !important; flex: 0 0 auto !important; padding: 14px 20px !important; }
    #newsletter > div > form > button[type="submit"] { width: 100% !important; padding: 14px 20px !important; }
}
