/* ============================================
   J&D Vantage Quant - Responsive Styles
   Mobile-first breakpoints
   ============================================ */

/* ---- Tablet (max-width: 1024px) ---- */
@media (max-width: 1024px) {
    /* Disable fullpage snap on tablet/mobile */
    .snap-panel {
        min-height: auto;
    }

    :root {
        --text-5xl: 2.5rem;
        --text-6xl: 3rem;
        --text-7xl: 3.5rem;
    }

    .nav-pill {
        display: none;
    }

    .nav-cta {
        display: none;
    }

    .nav-discord {
        display: none;
    }

    .menu-toggle {
        display: flex;
    }

    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-8);
    }

    .section {
        padding: var(--space-16) 0;
    }

    .section-lg {
        padding: var(--space-20) 0;
    }

    /* Hero adjustments */
    .hero {
        padding-top: var(--space-16);
        min-height: auto;
    }

    .hero-split {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }

    .hero-content {
        align-items: center;
        text-align: center;
    }

    .hero-cta {
        justify-content: center;
    }

    .hero-metrics {
        flex-wrap: wrap;
        gap: var(--space-4);
        padding: var(--space-4) var(--space-5);
        justify-content: center;
    }

    .hero-metric-divider:nth-child(4) {
        display: none;
    }

    .hero-visual {
        order: -1;
    }

    .hero-float-badge {
        display: none;
    }

    .comparison-hero-card {
        max-width: 520px;
    }

    .hero-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Hero dashboard tablet */
    .hero-dash-advantages {
        flex-wrap: wrap;
        gap: var(--space-3);
    }

    /* Table responsive */
    .table-wrapper {
        margin: 0 calc(var(--space-6) * -1);
        width: calc(100% + var(--space-6) * 2);
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    /* EA Detail pages */
    .ea-detail-stats {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .ea-detail-params,
    .ea-params-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .ea-stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Trade Copier Dashboard */
    .copier-accounts {
        grid-template-columns: 1fr !important;
    }

    /* Brochure comparison */
    .comparison-grid {
        grid-template-columns: 1fr !important;
    }

    /* Consultation tiers */
    .consult-grid {
        grid-template-columns: 1fr !important;
    }

    /* ---- Home Page Redesign v2 responsive @1024px ---- */
    .stats-counter-grid {
        grid-template-columns: 1fr auto 1fr;
        gap: var(--space-5);
    }

    .stats-counter-divider:nth-child(4) {
        display: none;
    }

    .featured-strategy-inner {
        grid-template-columns: 1fr;
    }

    .featured-strategy-right {
        border-left: none;
        border-top: 1px solid var(--border-color);
    }

    .featured-strategy-stats {
        grid-template-columns: repeat(4, 1fr);
    }

    .ea-cards-grid-v2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-grid-v2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-quick-links {
        justify-content: center;
    }

    /* Fold 2 */
    .fold2 {
        min-height: auto;
        padding: var(--space-12) 0;
    }

    .fold2-stats {
        flex-wrap: wrap;
    }

    .fold2-stat-card {
        flex: 1 1 calc(50% - var(--space-4));
        min-width: 0;
    }

    .fold2-nav {
        flex-direction: column;
    }
}

/* ---- Mobile (max-width: 768px) ---- */
@media (max-width: 768px) {
    :root {
        --text-4xl: 1.875rem;
        --text-5xl: 2.25rem;
        --text-6xl: 2.5rem;
    }

    .container {
        padding: 0 var(--space-4);
    }

    .section {
        padding: var(--space-12) 0;
    }

    /* Undo snap-panel compact override on mobile — let normal section padding rule */
    .section.snap-panel {
        padding-top: var(--space-10);
        padding-bottom: var(--space-10);
    }

    .snap-panel .section-header {
        margin-bottom: var(--space-6);
    }

    .section-lg {
        padding: var(--space-16) 0;
    }

    .section-header {
        margin-bottom: var(--space-8);
    }

    .section-title {
        font-size: var(--text-2xl);
    }

    .section-subtitle {
        font-size: var(--text-sm);
    }

    .grid-2 {
        grid-template-columns: 1fr;
    }

    .grid-3 {
        grid-template-columns: 1fr;
    }

    .grid-4 {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }

    /* Simplify footer on mobile: hide brand desc, keep nav columns in 2-col grid */
    .footer-brand {
        display: none;
    }

    .footer-grid > div:nth-child(2),
    .footer-grid > div:nth-child(3),
    .footer-grid > div:nth-child(4) {
        display: block;
    }

    /* Re-flow link columns into a compact 2-column grid */
    .footer-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-4) var(--space-6);
    }

    /* Contact column spans full width */
    .footer-grid > div:nth-child(4) {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .footer-bottom-links {
        justify-content: center;
    }

    /* ---- Hero Mobile ---- */
    .hero {
        padding-top: 64px;
        padding-bottom: 0;
        min-height: 100vh;
        min-height: 100dvh;
        display: flex;
        align-items: stretch;
    }

    .hero > .container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex: 1;
        padding-top: var(--space-6);
        padding-bottom: var(--space-6);
    }

    .hero-split {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }

    .hero-content {
        align-items: flex-start;
        text-align: left;
    }

    /* Left-align hero-center layout on mobile */
    .hero-center {
        align-items: flex-start;
        text-align: left;
        justify-content: center;
        flex: 1;
    }

    .hero-title,
    .hero-title-center {
        font-size: clamp(4rem, 16vw, 7rem) !important;
        margin-bottom: var(--space-3);
        text-align: left;
        line-height: 0.95;
        font-weight: 900;
    }

    .hero-line-sub {
        font-size: clamp(1rem, 4vw, 1.4rem) !important;
        letter-spacing: 0.1em;
        margin-top: var(--space-4);
    }

    .hero-desc,
    .hero-desc-center {
        font-size: clamp(1.1rem, 4.5vw, 1.5rem) !important;
        margin-bottom: var(--space-8);
        margin-top: var(--space-6);
        line-height: 1.5;
        text-align: left;
        margin-left: 0;
        margin-right: 0;
    }

    .hero-cta {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: var(--space-4);
        width: 100%;
        max-width: 400px;
        margin-left: 0;
        margin-right: auto;
    }

    .hero-cta .btn-hero-primary,
    .hero-cta .btn-hero-secondary,
    .hero-cta .btn-hero-outline {
        justify-content: center;
        width: 100%;
        padding: 18px 36px;
        font-size: 1.2rem;
        font-weight: 600;
    }

    .hero-scroll-indicator {
        margin-top: var(--space-8);
        align-self: center;
    }

    .scroll-circle {
        width: 44px;
        height: 44px;
    }

    .hero-bg-accent {
        filter: blur(80px);
        opacity: 0.4;
    }

    /* ---- Fold 2 Mobile ---- */

    .fold2-header {
        margin-bottom: var(--space-6);
    }

    .fold2-title {
        font-size: 1.4rem;
    }

    .fold2-stats {
        flex-wrap: wrap;
        gap: var(--space-3);
    }

    .fold2-stat-card {
        flex: 1 1 calc(50% - var(--space-3));
        padding: var(--space-4) var(--space-3);
    }

    .fold2-stat-value {
        font-size: 1.4rem;
    }

    .fold2-stat-label {
        font-size: 12px;
    }

    .fold2-stat-sub {
        font-size: 10px;
    }

    .fold2-nav {
        flex-direction: column;
        gap: var(--space-3);
    }

    .fold2-nav-card {
        padding: var(--space-4);
        gap: var(--space-3);
    }

    .fold2-nav-desc {
        font-size: 12px;
    }

    .fold2-trust {
        flex-direction: column;
        gap: var(--space-2);
        align-items: center;
    }

    .fold2-trust-item {
        font-size: 12px;
    }

    /* ---- Featured Strategy Mobile ---- */
    .featured-strategy-inner {
        grid-template-columns: 1fr;
    }

    .featured-strategy-left {
        padding: var(--space-5);
    }

    .featured-strategy-right {
        padding: var(--space-5);
        border-left: none;
        border-top: 1px solid var(--border-color);
    }

    .featured-strategy-name {
        font-size: var(--text-2xl);
    }

    .featured-strategy-desc {
        font-size: var(--text-sm);
    }

    .featured-strategy-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-3);
    }

    .featured-strategy-cta {
        flex-direction: column;
    }

    .featured-strategy-cta .btn {
        width: 100%;
        justify-content: center;
    }

    .featured-strategy-meta {
        grid-template-columns: 1fr;
    }

    .featured-chart-visual {
        height: 100px;
    }

    .featured-chart-svg {
        height: 100%;
    }

    /* ---- EA Strategy Cards Mobile ---- */
    .ea-cards-grid-v2 {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .ea-card-v2 {
        padding: var(--space-5);
    }

    .ea-card-v2-name {
        font-size: var(--text-base);
    }

    /* ---- Services Cards Mobile ---- */
    .services-home-grid.grid-3 {
        grid-template-columns: 1fr;
    }

    .service-card-v2-top {
        padding: var(--space-5) var(--space-5) var(--space-4);
    }

    .service-card-v2-top h3 {
        font-size: var(--text-lg);
    }

    .service-card-v2-features {
        padding: 0 var(--space-5) var(--space-5);
        gap: var(--space-2);
    }

    .service-card-v2-btn {
        margin: 0 var(--space-5) var(--space-5);
    }

    /* ---- Trust / Why Choose Us Mobile ---- */
    .trust-grid-v2 {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }

    .trust-card-v2 {
        padding: var(--space-6) var(--space-5);
    }

    .trust-card-v2-icon {
        margin-bottom: var(--space-4);
    }

    .trust-card-v2 h3 {
        font-size: var(--text-base);
        margin-bottom: var(--space-2);
    }

    .trust-card-v2 p {
        font-size: 13px;
    }

    .platforms-strip {
        margin-top: var(--space-6) !important;
    }

    .platforms-strip-items {
        gap: var(--space-2);
        flex-wrap: wrap;
        justify-content: center;
    }

    .platforms-strip-item {
        font-size: 11px;
    }

    /* ---- CTA Section Mobile ---- */
    .cta-card-v2 {
        padding: var(--space-8) var(--space-5);
    }

    .cta-card-v2-title {
        font-size: var(--text-2xl);
    }

    .cta-card-v2-desc {
        font-size: var(--text-sm);
    }

    .cta-card-v2-buttons {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-3);
    }

    .cta-card-v2-buttons .btn {
        justify-content: center;
        font-size: var(--text-sm);
    }

    .cta-card-v2-trust {
        flex-direction: column;
        gap: var(--space-2);
    }

    /* ---- Comparison Table Mobile ---- */
    .table-wrapper {
        margin: 0 calc(var(--space-4) * -1);
        width: calc(100% + var(--space-4) * 2);
        border-radius: 0;
    }

    .table {
        font-size: 11px;
    }

    .table th,
    .table td {
        padding: var(--space-2) var(--space-3);
    }

    /* ---- Monthly Chart Mobile ---- */
    .chart-container {
        min-width: 500px;
        height: 220px;
        gap: 4px;
        padding: 20px var(--space-2) var(--space-2);
    }

    .chart-bar {
        max-width: 24px;
    }

    .chart-bar-label {
        font-size: 0.5rem;
    }

    .chart-bar-value {
        font-size: 0.55rem;
    }

    /* ---- Cards general mobile ---- */
    .card {
        padding: var(--space-5);
    }

    .card:hover {
        transform: none;
    }

    .card-glass {
        padding: var(--space-5);
    }

    /* Stats */
    .stat-value {
        font-size: var(--text-2xl);
    }

    /* EA detail stats */
    .ea-detail-stats,
    .ea-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--space-3);
    }

    .ea-detail-params,
    .ea-params-grid {
        grid-template-columns: 1fr !important;
    }

    /* EA detail pages — tighten up inline-styled cards */
    .ea-detail-hero {
        padding: var(--space-8) 0;
    }

    .ea-detail-hero h1 {
        font-size: var(--text-2xl);
    }

    .ea-detail-stats {
        margin: var(--space-6) 0;
    }

    .ea-stat-card {
        padding: var(--space-4);
    }

    .ea-stat-value {
        font-size: var(--text-xl);
    }

    /* Chart card on mobile */
    .card-chart {
        padding: var(--space-4) !important;
        margin-top: var(--space-6) !important;
    }

    .card-chart h3 {
        font-size: var(--text-base) !important;
        margin-bottom: var(--space-4) !important;
    }

    /* Feature list in EA pages */
    .feature-list li {
        font-size: var(--text-sm);
    }

    /* Buttons */
    .btn-lg {
        padding: var(--space-3) var(--space-6);
        font-size: var(--text-sm);
    }

    /* Hero metrics */
    .hero-metrics {
        flex-direction: column;
        gap: var(--space-4);
        padding: var(--space-4);
    }

    .hero-metric-divider {
        width: 80%;
        height: 1px;
    }

    .hero-trust-items {
        gap: var(--space-2);
    }

    .hero-visual {
        order: -1;
    }

    .hero-float-badge {
        display: none;
    }

    .comparison-hero-card {
        max-width: 100%;
    }

    .comparison-hero-row {
        grid-template-columns: 1.4fr 0.8fr 0.8fr;
        padding: var(--space-2) var(--space-4);
        gap: var(--space-2);
    }

    .comparison-hero-feature {
        font-size: 12px;
    }

    .comparison-hero-old,
    .comparison-hero-new {
        font-size: 12px;
    }

    .hero-stats {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-4);
    }

    /* Hero dashboard mobile */

    .hero-dash-grid {
        grid-template-columns: 1fr;
    }

    .hero-dash-primary {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        padding: var(--space-5) var(--space-4);
    }

    .hero-dash-value {
        font-size: 2.2rem !important;
    }

    .hero-dash-advantages {
        flex-wrap: wrap;
        gap: var(--space-2);
        padding: var(--space-3) var(--space-4);
    }

    .hero-dash-adv-divider {
        display: none;
    }

    .hero-dash-adv {
        font-size: 11px;
    }

    .hero-quick-links {
        flex-direction: column;
        align-items: center;
        gap: var(--space-2);
    }

    .hero-quick-divider {
        display: none;
    }

    /* Mobile nav adjustments */
    .mobile-nav {
        top: 72px;
        padding: var(--space-4) var(--space-5);
    }

    .mobile-nav-link {
        font-size: var(--text-base);
        padding: var(--space-3) var(--space-4);
    }

    .mobile-nav-group-title {
        padding: var(--space-3) var(--space-4) var(--space-1);
        margin-top: var(--space-3);
    }

    /* Team section */
    .team-grid {
        grid-template-columns: 1fr !important;
    }

    /* Monthly chart wrapper */
    .monthly-chart {
        overflow-x: auto;
    }

    .chart-bars {
        min-width: 500px;
        height: 220px;
        gap: 4px;
        padding: 20px var(--space-2) var(--space-2);
    }

    .chart-bar-wrapper {
        min-width: 32px;
    }

    /* GoldShort comparison table */
    .goldshort-comparison-table {
        margin: 0 calc(var(--space-4) * -1);
        width: calc(100% + var(--space-4) * 2);
    }

    .goldshort-comparison-table th,
    .goldshort-comparison-table td {
        padding: var(--space-3) var(--space-3);
        font-size: var(--text-xs);
    }

    /* Contact form */
    .contact-grid {
        grid-template-columns: 1fr !important;
    }

    /* Products grid */
    .products-featured {
        flex-direction: column !important;
    }

    /* Dev process */
    .dev-process {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .dev-step::after {
        display: none;
    }

    /* Referral cards */
    .referral-link-card {
        flex-direction: column !important;
    }

    /* Onboarding */
    .onboard-block {
        padding: var(--space-6);
    }

    .onboard-account-card {
        padding: var(--space-4);
        gap: var(--space-3);
    }

    .onboard-account-icon {
        width: 38px;
        height: 38px;
    }

    .onboard-account-arrow {
        display: none;
    }

    .onboard-extras {
        flex-direction: column;
        gap: var(--space-2);
    }

    .onboard-extra-dot {
        display: none;
    }

    .onboard-adv-item {
        padding: var(--space-3) var(--space-4);
    }

    /* Back to top */
    .back-to-top {
        bottom: var(--space-4);
        right: var(--space-4);
        width: 38px;
        height: 38px;
    }

    /* Hide decorative elements on mobile */
    .glow-orb {
        display: none;
    }

    .particle-grid {
        display: none;
    }

    /* Disable hover transforms on touch devices */
    .ea-card-v2:hover,
    .fold2-nav-card:hover,
    .fold2-stat-card:hover,
    .trust-card-v2:hover,
    .featured-strategy-card:hover,
    .btn-primary:hover,
    .btn-hero-primary:hover {
        transform: none;
    }

}

/* ---- Small Mobile (max-width: 480px) ---- */
@media (max-width: 480px) {
    :root {
        --text-3xl: 1.5rem;
        --text-4xl: 1.75rem;
        --text-5xl: 2rem;
    }

    .container {
        padding: 0 var(--space-3);
    }

    .section.snap-panel {
        padding-top: var(--space-8);
        padding-bottom: var(--space-8);
    }

    .snap-panel .section-header {
        margin-bottom: var(--space-4);
    }

    .section-title {
        font-size: var(--text-xl);
    }

    /* ---- Hero Small Mobile ---- */
    /* Inherits big hero styles from 768px breakpoint */

    .hero-stats {
        grid-template-columns: 1fr;
    }

    .hero-metrics {
        gap: var(--space-3);
    }

    .hero-metric-value {
        font-size: var(--text-lg);
    }

    .hero-badge {
        font-size: 11px;
    }

    /* Hero dashboard small mobile */
    .hero-dash-header {
        flex-direction: column;
        gap: var(--space-1);
        text-align: center;
        padding: var(--space-3) var(--space-4);
    }

    .hero-dash-primary {
        padding: var(--space-4) var(--space-3);
    }

    .hero-dash-sm {
        padding: var(--space-3) var(--space-3);
    }

    .hero-dash-value {
        font-size: 1.8rem !important;
    }

    /* ---- Fold 2 Small Mobile ---- */
    .fold2 {
        padding: var(--space-8) 0;
    }

    .fold2-title {
        font-size: 1.2rem;
    }

    .fold2-stat-card {
        flex: 1 1 100%;
        padding: var(--space-3) var(--space-3);
    }

    .fold2-stat-value {
        font-size: 1.2rem;
    }

    .fold2-stat-label {
        font-size: 11px;
    }

    .fold2-nav-card {
        padding: var(--space-3);
    }

    .fold2-nav-card h4 {
        font-size: var(--text-sm);
    }

    /* ---- Featured Strategy Small Mobile ---- */
    .featured-strategy-left,
    .featured-strategy-right {
        padding: var(--space-4);
    }

    .featured-strategy-name {
        font-size: var(--text-xl);
    }

    .featured-strategy-stats {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-2);
    }

    .featured-stat-value {
        font-size: var(--text-base);
    }

    .featured-chart-visual {
        height: 80px;
    }

    /* ---- EA Cards Small Mobile ---- */
    .ea-card-v2 {
        padding: var(--space-4);
    }

    .ea-card-v2-stats {
        gap: var(--space-2);
    }

    .ea-card-v2-stat-val {
        font-size: var(--text-sm);
    }

    /* ---- Services Small Mobile ---- */
    .service-card-v2-top {
        padding: var(--space-4) var(--space-4) var(--space-3);
    }

    .service-card-v2-features {
        padding: 0 var(--space-4) var(--space-4);
    }

    .service-card-v2-btn {
        margin: 0 var(--space-4) var(--space-4);
    }

    /* ---- Trust Small Mobile ---- */
    .trust-card-v2 {
        padding: var(--space-5) var(--space-4);
    }

    .trust-card-v2 h3 {
        font-size: var(--text-sm);
    }

    .trust-card-v2 p {
        font-size: 12px;
    }

    /* ---- CTA Small Mobile ---- */
    .cta-card-v2 {
        padding: var(--space-6) var(--space-4);
    }

    .cta-card-v2-title {
        font-size: var(--text-xl);
    }

    .cta-card-v2-desc {
        font-size: 0.8rem;
    }

    .stats-counter-grid {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }

    .stats-counter-value {
        font-size: var(--text-xl);
    }

    /* ---- General Small Mobile ---- */
    .header-inner {
        height: 60px;
    }

    .mobile-nav {
        top: 60px;
    }

    .logo-light {
        display: inline;
        font-size: 0.7rem;
    }

    h1 { font-size: var(--text-3xl); }
    h2 { font-size: var(--text-2xl); }
    h3 { font-size: var(--text-xl); }

    .badge {
        font-size: 0.65rem;
    }

    .card {
        padding: var(--space-4);
    }

    .card-glass {
        padding: var(--space-4);
    }

    .table {
        font-size: var(--text-xs);
    }

    .table th,
    .table td {
        padding: var(--space-2) var(--space-2);
    }

    /* EA stats on very small screens */
    .ea-stats-grid,
    .ea-detail-stats {
        grid-template-columns: 1fr 1fr !important;
        gap: var(--space-2);
    }

    .ea-stat-card {
        padding: var(--space-3);
    }

    .ea-stat-value {
        font-size: var(--text-lg);
    }

    /* Chart on very small screens */
    .chart-bars,
    .chart-container {
        min-width: 450px;
        height: 180px;
        padding: 16px var(--space-1) var(--space-1);
    }

    .chart-bar-wrapper {
        min-width: 28px;
    }

    .chart-bar {
        max-width: 20px;
    }

    .chart-bar-label {
        font-size: 0.45rem;
    }

    .chart-bar-value {
        font-size: 0.5rem;
    }

    /* Comparison card small mobile */
    .comparison-hero-row {
        grid-template-columns: 1fr 0.6fr 0.6fr;
        padding: var(--space-2) var(--space-3);
        gap: var(--space-1);
    }

    .comparison-hero-feature {
        font-size: 11px;
    }

    .comparison-hero-old,
    .comparison-hero-new {
        font-size: 11px;
    }

    .comparison-hero-feature svg {
        display: none;
    }

    /* Dev process grid */
    .dev-process {
        grid-template-columns: 1fr !important;
    }

    .dev-step::after {
        content: '↓';
        position: static;
        display: block;
        text-align: center;
        transform: none;
        margin-top: var(--space-2);
    }

    /* About values */
    .about-values {
        grid-template-columns: 1fr !important;
    }

    .about-value-card {
        flex-direction: column;
        text-align: center;
    }

    /* Copier stats */
    .copier-stats-row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ---- Large Desktop (min-width: 1400px) ---- */
@media (min-width: 1400px) {
    .hero-title {
        font-size: clamp(4rem, 6vw, 6rem) !important;
    }

    .hero-split {
        gap: var(--space-16);
    }

    .container {
        padding: 0 var(--space-8);
    }
}

/* ---- Print Styles ---- */
@media print {
    .header,
    .footer,
    .back-to-top,
    .mobile-nav,
    .menu-toggle {
        display: none !important;
    }

    body {
        background: white;
        color: black;
    }

    .page {
        display: block !important;
    }

    .card {
        border: 1px solid #ddd;
        box-shadow: none;
    }
}

/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .reveal,
    .reveal-left,
    .reveal-right,
    .reveal-scale {
        opacity: 1;
        transform: none;
    }

    body::before {
        display: none;
    }
}

/* ---- Performance: simplify bg effects on small screens ---- */
@media (max-width: 768px) {
    .hero-bg-accent {
        filter: blur(80px);
        opacity: 0.5;
    }

    .glow-orb {
        opacity: 0.5;
    }

    .hero::before {
        display: none;
    }

    .fold2::before {
        opacity: 0.3;
    }

    body::before {
        opacity: 0.2;
    }

    body {
        background-attachment: scroll;
    }
}
