/* Light theme for the marketing site.
   Dark stays on the existing :root tokens.
   Applied when data-theme is light, or when no theme is set (default).
   data-theme="dark" is set only when the OS prefers dark. */

html:not([data-theme="dark"]) {
    color-scheme: light;
    --bg-primary: #f4f6fb;
    --bg-secondary: #eef1f8;
    --bg-tertiary: #ffffff;
    --card-bg: #ffffff;
    --card-bg-hover: #f8fafc;
    --primary: #4f46e5;
    --primary-light: #4338ca;
    --primary-dark: #3730a3;
    --secondary: #0284c7;
    --secondary-light: #0369a1;
    --accent: #4338ca;
    --pink: #7e22ce;
    --gradient: linear-gradient(135deg, #4f46e5 0%, #0284c7 100%);
    --gradient-hover: linear-gradient(135deg, #4338ca 0%, #0369a1 100%);
    --gradient-reverse: linear-gradient(135deg, #0284c7 0%, #4f46e5 100%);
    --gradient-subtle: linear-gradient(135deg, rgba(79, 70, 229, 0.08) 0%, rgba(2, 132, 199, 0.08) 100%);
    --gradient-hero: radial-gradient(ellipse 80% 60% at 18% 30%, rgba(79, 70, 229, 0.14) 0%, transparent 68%),
        radial-gradient(ellipse 70% 50% at 82% 70%, rgba(14, 165, 233, 0.12) 0%, transparent 68%);
    --gradient-mesh: linear-gradient(rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.045) 1px, transparent 1px);
    --gradient-border: linear-gradient(135deg, rgba(79, 70, 229, 0.35), rgba(2, 132, 199, 0.35));
    --text: #0f172a;
    --text-secondary: #1e293b;
    --text-muted: #475569;
    --text-faint: #64748b;
    --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
    --shadow-lg: 0 18px 44px rgba(15, 23, 42, 0.1);
    --shadow-glow-primary: 0 8px 28px rgba(79, 70, 229, 0.16);
    --shadow-glow-secondary: 0 8px 28px rgba(2, 132, 199, 0.14);
    --shadow-glow-sm: 0 4px 16px rgba(79, 70, 229, 0.14);
    --shadow-card: 0 8px 24px rgba(15, 23, 42, 0.06);
    --border: 1px solid rgba(15, 23, 42, 0.1);
    --border-subtle: 1px solid rgba(15, 23, 42, 0.06);
    --border-primary: 1px solid rgba(79, 70, 229, 0.28);
    --border-secondary: 1px solid rgba(2, 132, 199, 0.28);
    --border-glow: 1px solid rgba(67, 56, 202, 0.35);
}

html[data-theme="dark"] {
    color-scheme: dark;
}

html:not([data-theme="dark"]) body {
    background: #f4f6fb;
    color: #0f172a;
}

html:not([data-theme="dark"]) ::selection {
    background: rgba(79, 70, 229, 0.18);
    color: #0f172a;
}

/* Logo: dark wordmark on light surfaces. Picture stays in the DOM for dark mode. */
html:not([data-theme="dark"]) .nav-logo picture,
html:not([data-theme="dark"]) .footer-logo picture {
    display: none;
}

html:not([data-theme="dark"]) .nav-logo::after,
html:not([data-theme="dark"]) .footer-logo::after {
    content: "";
    display: block;
    background: url("../images/logo/logo-light.webp") left center / contain no-repeat;
    flex-shrink: 0;
}

html:not([data-theme="dark"]) .nav-logo::after {
    width: 155px;
    height: 46px;
}

html:not([data-theme="dark"]) .footer-logo::after {
    width: 168px;
    height: 50px;
    margin-bottom: 4px;
}

/* Navbar, menu, footer */
html:not([data-theme="dark"]) .nav-pill,
html:not([data-theme="dark"]) .navbar.scrolled .nav-pill {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

html:not([data-theme="dark"]) .navbar.scrolled {
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
}

html:not([data-theme="dark"]) .nav-links a:hover,
html:not([data-theme="dark"]) .nav-links a.active,
html:not([data-theme="dark"]) .btn-nav-login:hover {
    background: rgba(79, 70, 229, 0.08);
}

html:not([data-theme="dark"]) .nav-icon-btn,
html:not([data-theme="dark"]) .hamburger {
    background: rgba(15, 23, 42, 0.05);
}

html:not([data-theme="dark"]) .nav-icon-btn:hover,
html:not([data-theme="dark"]) .hamburger:hover {
    background: rgba(79, 70, 229, 0.1);
}

html:not([data-theme="dark"]) .hamburger span {
    background: #0f172a;
}

html:not([data-theme="dark"]) .nav-divider,
html:not([data-theme="dark"]) .proof-sep {
    background: rgba(15, 23, 42, 0.12);
}

html:not([data-theme="dark"]) .mobile-menu {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-top: none;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

html:not([data-theme="dark"]) .mobile-menu-backdrop {
    background: rgba(15, 23, 42, 0.35);
}

html:not([data-theme="dark"]) .mobile-menu-actions,
html:not([data-theme="dark"]) .footer-bottom,
html:not([data-theme="dark"]) .page-home .footer .footer-bottom {
    border-top-color: rgba(15, 23, 42, 0.08);
}

html:not([data-theme="dark"]) .footer {
    background: #ffffff;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

/* Buttons, badges, gradient type */
html:not([data-theme="dark"]) .btn-outline {
    color: #0f172a;
    border: 1px solid rgba(15, 23, 42, 0.16);
    background: #ffffff;
}

html:not([data-theme="dark"]) .btn-outline:hover {
    background: rgba(79, 70, 229, 0.06);
    border-color: rgba(79, 70, 229, 0.4);
}

html:not([data-theme="dark"]) .btn-gradient,
html:not([data-theme="dark"]) .btn-nav-cta,
html:not([data-theme="dark"]) .newsletter-btn,
html:not([data-theme="dark"]) .popular-badge,
html:not([data-theme="dark"]) .pricing-card.popular .plan-cta,
html:not([data-theme="dark"]) .pricing-card.popular .plan-icon,
html:not([data-theme="dark"]) .blog-filter-btn.active,
html:not([data-theme="dark"]) .blog-filter-btn:hover,
html:not([data-theme="dark"]) .social-icon:hover,
html:not([data-theme="dark"]) .team-socials a:hover,
html:not([data-theme="dark"]) .slider-btn:hover,
html:not([data-theme="dark"]) .cheapest-pill-icon,
html:not([data-theme="dark"]) .team-avatar,
html:not([data-theme="dark"]) .blog-category,
html:not([data-theme="dark"]) .proof-av {
    color: #ffffff;
}

html:not([data-theme="dark"]) .gradient-text {
    background-image: linear-gradient(135deg, #4338ca 0%, #0369a1 58%, #4f46e5 100%);
}

html:not([data-theme="dark"]) .hero-badge,
html:not([data-theme="dark"]) .page-hero-label {
    color: #4338ca;
    background: rgba(79, 70, 229, 0.08);
    border-color: rgba(79, 70, 229, 0.22);
}

html:not([data-theme="dark"]) .hero-badge i {
    color: #4338ca;
}

html:not([data-theme="dark"]) .hero-title,
html:not([data-theme="dark"]) .hero-subtitle {
    color: #0f172a;
}

html:not([data-theme="dark"]) .hero-subtitle,
html:not([data-theme="dark"]) .nav-links a {
    color: #475569;
}

html:not([data-theme="dark"]) .nav-links a:hover,
html:not([data-theme="dark"]) .nav-links a.active {
    color: #0f172a;
}

html:not([data-theme="dark"]) .badge-primary {
    color: #4338ca;
    background: rgba(79, 70, 229, 0.1);
    border-color: rgba(79, 70, 229, 0.22);
}

html:not([data-theme="dark"]) .badge-success {
    color: #047857;
    background: rgba(4, 120, 87, 0.1);
    border-color: rgba(4, 120, 87, 0.22);
}

html:not([data-theme="dark"]) .badge-cyan {
    color: #0369a1;
    background: rgba(3, 105, 161, 0.1);
    border-color: rgba(3, 105, 161, 0.22);
}

/* Hero cards and dashboard preview */
html:not([data-theme="dark"]) .hero-profile-card,
html:not([data-theme="dark"]) .hfc,
html:not([data-theme="dark"]) .hero-emoji-rail,
html:not([data-theme="dark"]) .activity-panel,
html:not([data-theme="dark"]) .preview-panel,
html:not([data-theme="dark"]) .glass-card,
html:not([data-theme="dark"]) .service-card,
html:not([data-theme="dark"]) .feature-card,
html:not([data-theme="dark"]) .pricing-card,
html:not([data-theme="dark"]) .testimonial-card,
html:not([data-theme="dark"]) .faq-item,
html:not([data-theme="dark"]) .contact-form-wrap,
html:not([data-theme="dark"]) .team-card,
html:not([data-theme="dark"]) .stat-badge,
html:not([data-theme="dark"]) .legal-toc {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

html:not([data-theme="dark"]) .glass-card:hover,
html:not([data-theme="dark"]) .service-card:hover,
html:not([data-theme="dark"]) .feature-card:hover,
html:not([data-theme="dark"]) .pricing-card:hover,
html:not([data-theme="dark"]) .testimonial-card:hover,
html:not([data-theme="dark"]) .team-card:hover,
html:not([data-theme="dark"]) .stat-badge:hover,
html:not([data-theme="dark"]) .hfc:hover,
html:not([data-theme="dark"]) .hero-profile-card:hover {
    border-color: rgba(79, 70, 229, 0.35);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
}

html:not([data-theme="dark"]) .panel-header {
    background: #f8fafc;
    border-bottom-color: rgba(15, 23, 42, 0.08);
}

html:not([data-theme="dark"]) .panel-widget,
html:not([data-theme="dark"]) .emoji-orb,
html:not([data-theme="dark"]) .team-socials a,
html:not([data-theme="dark"]) .social-icon {
    background: #f4f6fb;
    border-color: rgba(15, 23, 42, 0.08);
}

html:not([data-theme="dark"]) .emoji-orb:hover {
    background: #eef2ff;
}

html:not([data-theme="dark"]) .proof-av {
    border-color: #ffffff;
}

html:not([data-theme="dark"]) .yt-bar:not(.red),
html:not([data-theme="dark"]) .act-bar.bg-low,
html:not([data-theme="dark"]) .act-bar.bg-mid,
html:not([data-theme="dark"]) .ac-progress-track,
html:not([data-theme="dark"]) .progress-track,
html:not([data-theme="dark"]) .slider-dot::before {
    background: rgba(15, 23, 42, 0.1);
}

html:not([data-theme="dark"]) .hfc-positive,
html:not([data-theme="dark"]) .form-success i,
html:not([data-theme="dark"]) [style*="color:#10b981"] {
    color: #047857 !important;
}

html:not([data-theme="dark"]) [style*="color:#f59e0b"] {
    color: #b45309 !important;
}

html:not([data-theme="dark"]) [style*="color:#c084fc"] {
    color: #7e22ce !important;
}

html:not([data-theme="dark"]) [style*="color:#f87171"] {
    color: #dc2626 !important;
}

html:not([data-theme="dark"]) [style*="color:#ffb1c6"] {
    color: #be185d !important;
}

html:not([data-theme="dark"]) [style*="color:#75d1ff"] {
    color: #0369a1 !important;
}

html:not([data-theme="dark"]) .service-card.tt .service-icon-wrap {
    background: rgba(15, 23, 42, 0.06);
    border-color: rgba(15, 23, 42, 0.12);
}

html:not([data-theme="dark"]) .service-card.tt .service-icon-wrap i,
html:not([data-theme="dark"]) i[style*="color:#fff"] {
    color: #0f172a !important;
}

html:not([data-theme="dark"]) .cta-inner {
    background: linear-gradient(135deg, rgba(79, 70, 229, 0.08) 0%, rgba(14, 165, 233, 0.1) 100%);
    border-color: rgba(79, 70, 229, 0.22);
}

html:not([data-theme="dark"]) .pricing-card.popular {
    background: linear-gradient(160deg, #eef2ff 0%, #f0f9ff 100%);
    border-color: rgba(79, 70, 229, 0.35);
    box-shadow: 0 16px 40px rgba(79, 70, 229, 0.12);
}

html:not([data-theme="dark"]) .pricing-card.popular .price-amount {
    color: #0369a1;
}

html:not([data-theme="dark"]) .form-input,
html:not([data-theme="dark"]) .form-select,
html:not([data-theme="dark"]) .form-textarea,
html:not([data-theme="dark"]) .newsletter-input {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.14);
    color: #0f172a;
}

html:not([data-theme="dark"]) .form-input::placeholder,
html:not([data-theme="dark"]) .form-textarea::placeholder,
html:not([data-theme="dark"]) .newsletter-input::placeholder {
    color: #64748b;
}

html:not([data-theme="dark"]) .form-input:focus,
html:not([data-theme="dark"]) .form-select:focus,
html:not([data-theme="dark"]) .form-textarea:focus,
html:not([data-theme="dark"]) .newsletter-input:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
}

/* About page floating stats written as inline dark glass */
html:not([data-theme="dark"]) [style*="rgba(14,18,40"] {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, 0.1) !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

html:not([data-theme="dark"]) .hero-orb-1,
html:not([data-theme="dark"]) .page-hero-orb-1 {
    background: rgba(79, 70, 229, 0.16);
}

html:not([data-theme="dark"]) .hero-orb-2,
html:not([data-theme="dark"]) .page-hero-orb-2,
html:not([data-theme="dark"]) .cta-orb-2 {
    background: rgba(14, 165, 233, 0.12);
}

@media (prefers-reduced-motion: reduce) {
    html:not([data-theme="dark"]) .gradient-text {
        animation: none;
    }
}

/* Light photos stay bright. Dark overlays are only for the dark theme images. */
html:not([data-theme="dark"]) .blog-thumb-overlay,
html:not([data-theme="dark"]) .blog-featured-img-overlay {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 55%, rgba(15, 23, 42, 0.06) 100%);
}

html:not([data-theme="dark"]) .about-visual-card {
    background: transparent;
    border: none;
    box-shadow: none;
}

html:not([data-theme="dark"]) .blog-thumb,
html:not([data-theme="dark"]) .blog-featured-thumb {
    background: transparent;
}

@media (max-width: 1024px) {
    .services-bento,
    .features-grid {
        grid-template-columns: 1fr 1fr;
    }
    .service-card.featured {
        grid-column: span 2;
        grid-row: span 1;
    }
}

@media (max-width: 768px) {
    .services-bento,
    .features-grid { gap: 10px; }
    .service-card,
    .feature-card { padding: 16px 14px; }
    .service-desc,
    .feature-desc {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

html:not([data-theme="dark"]) .about-visual-card::before,
html:not([data-theme="dark"]) .about-visual-tint {
    display: none;
}

html:not([data-theme="dark"]) .about-proof-overlay {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(238, 242, 255, 0.72) 58%, rgba(255, 255, 255, 0.35) 100%) !important;
}

html:not([data-theme="dark"]) .about-proof-stats > div {
    color: #0f172a !important;
}

html:not([data-theme="dark"]) .about-proof-stats > div > div[style*="255,255,255"] {
    color: #475569 !important;
}

/* Pricing: 4 reel plans. Desktop shows every card. Phones use tabs. */
.pricing-toggle-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 28px;
}

.bill-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--text-muted);
}

.bill-label.is-active {
    color: var(--text);
}

.save-pill {
    background: rgba(16, 185, 129, 0.18);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.35);
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
}

html:not([data-theme="dark"]) .save-pill {
    color: #047857;
    background: rgba(4, 120, 87, 0.1);
    border-color: rgba(4, 120, 87, 0.28);
}

.switch {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 28px;
    flex-shrink: 0;
}

.switch input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.switch .slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: rgba(255, 255, 255, 0.12);
    border: var(--border);
    border-radius: 34px;
    transition: background 0.2s ease, border-color 0.2s ease;
}

html:not([data-theme="dark"]) .switch .slider {
    background: #e2e8f0;
    border-color: rgba(15, 23, 42, 0.12);
}

.switch .slider::before {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    left: 2px;
    top: 2px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.28);
    transition: transform 0.2s ease;
}

.switch input:checked + .slider {
    background: var(--gradient);
    border-color: transparent;
}

.switch input:checked + .slider::before {
    transform: translateX(24px);
}

.switch input:focus-visible + .slider {
    outline: 2px solid var(--primary);
    outline-offset: 3px;
}

.plan-tabs {
    display: none;
}

.plan-tab {
    min-height: 44px;
    padding: 8px 6px;
    border-radius: 999px;
    border: var(--border);
    background: var(--card-bg);
    color: var(--text);
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.plan-tab[aria-selected="true"] {
    background: var(--gradient);
    color: #fff;
    border-color: transparent;
}

.plan-tab:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

#pricing .pricing-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
    max-width: none;
}

#pricing .pricing-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 28px 18px 22px;
}

#pricing .pricing-card.popular {
    padding-top: 52px;
}

#pricing .pricing-card.popular,
#pricing .pricing-card.popular:hover {
    transform: none;
}

#pricing .plan-name,
#pricing .plan-tagline,
#pricing .price-period {
    margin: 0;
}

#pricing .plan-tagline {
    margin-bottom: 16px;
}

#pricing .price-amount {
    font-size: clamp(1.85rem, 2.2vw, 2.5rem);
}

#pricing .price-currency {
    line-height: 1.5;
}

#pricing .price-period {
    margin-bottom: 16px;
}

.plan-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.plan-stats li {
    text-align: center;
    background: var(--gradient-subtle);
    border-radius: 12px;
    padding: 8px 4px;
}

.plan-stats strong {
    display: block;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    color: var(--text);
    line-height: 1.2;
}

.plan-stats span {
    font-size: 11px;
    color: var(--text-muted);
}

#pricing .plan-features {
    flex: 1;
    margin-bottom: 20px;
}

.popular-badge i {
    margin-right: 4px;
}

@media (max-width: 1100px) {
    #pricing .pricing-cards {
        grid-template-columns: 1fr 1fr;
        max-width: 720px;
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    #pricing .plan-tabs {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        margin: 0 auto 16px;
        max-width: 420px;
    }

    #pricing .pricing-cards {
        grid-template-columns: 1fr;
        max-width: 420px;
    }

    html.js #pricing .pricing-card {
        display: none;
        padding: 28px 20px 22px;
    }

    html.js #pricing .pricing-card.popular {
        padding-top: 52px;
    }

    html.js #pricing .pricing-card.is-selected {
        display: flex;
    }
}

@media (prefers-reduced-motion: reduce) {
    .switch .slider,
    .switch .slider::before {
        transition: none;
    }
}

/* ─────────────────────────────────────────────────────────
   Global rhythm tuning (all pages).
   ───────────────────────────────────────────────────────── */
/* ── Desktop rhythm: slightly tighter sections everywhere ── */
:root { --section-padding: 15px 0; margin-top: 10px; }

/* ── Desktop hero: app-like, no full-screen gap ── */
@media (min-width: 601px) {
    .hero { min-height: auto; padding: calc(var(--navbar-height) + 48px) 0 52px; }
    .hero-inner { gap: 40px; }
    .rb-hero-grid { gap: 36px; }
}
@media (max-width: 600px) {
    :root {
        --section-padding: 28px 0;
        --container-pad: 0 16px;
    }

    html, body { overflow-x: clip; }

    .section-header { margin-bottom: 18px !important; }
    .section-label { margin-bottom: 8px; }
    .section-subtitle { font-size: 13px !important; line-height: 1.6; }

    /* Landing hero: compact app-like */
    .hero { padding-top: calc(var(--navbar-height) + 14px); padding-bottom: 32px; }
    .hero-inner { gap: 18px; text-align: center; }
    .hero-content { display: flex; flex-direction: column; align-items: center; }
    .hero-badge { margin-bottom: 10px; font-size: 10.5px; }
    .hero-title { letter-spacing: -0.03em; }
    .hero-subtitle { margin-bottom: 18px; font-size: 13.5px; }
    .hero-actions { margin-bottom: 12px; width: 100%; max-width: 340px; margin-left: auto; margin-right: auto; }
    .hero-actions .btn { width: 100%; max-width: 100%; }
    .hero-proof-strip { margin-top: 12px; }
    /* trust ticks row: centered app-style */
    .hero-content > div[style] { justify-content: center !important; text-align: center; }
    .hero-badge { margin-bottom: 12px; }
    .hero-subtitle { margin-bottom: 18px; }
    .hero-actions { margin-bottom: 14px; }
    .hero-proof-strip { margin-top: 14px; }
    .hero-bridge .bridge-ticker { padding: 10px 0; }

    .stat-item { padding: 14px 8px !important; }
    .stat-icon { margin-bottom: 8px !important; }

    .services-bento,
    .features-grid { gap: 12px !important; }
    .service-card,
    .feature-card { padding: 20px 16px !important; }
    .service-icon-wrap,
    .feature-icon { margin-bottom: 12px !important; }
    .service-desc,
    .feature-desc { font-size: 13px !important; line-height: 1.6; }

    .faq-list { gap: 10px !important; }
    .cta-section { padding: 44px 0 !important; }
    .cta-inner { padding: 34px 18px !important; }
    .cta-desc { font-size: 13.5px !important; }
    .cta-trust { gap: 8px 14px !important; font-size: 12px; }

    .testimonials-track { gap: 12px !important; }
    .page-hero { padding-bottom: 32px !important; }
    .page-hero-content { gap: 0; }

    /* Blog: tighter cards */
    .blog-grid { gap: 12px !important; }
    .blog-body { padding: 16px 14px !important; }
    .blog-featured { margin-bottom: 32px !important; }
    .blog-meta { margin-bottom: 12px !important; }
}

@media (max-width: 390px) {
    :root { --section-padding: 24px 0; }
    .section-header { margin-bottom: 16px !important; }
    .services-bento,
    .features-grid { gap: 10px !important; }
}
