/*
 * Designic Next 1.8 — unified, readable typography and vertical rhythm.
 * This layer is intentionally loaded after every page-specific stylesheet.
 */
:root {
    --designic-display-size: clamp(48px, 5.6vw, 88px);
    --designic-page-title-size: clamp(42px, 4.8vw, 76px);
    --designic-section-title-size: clamp(27px, 2.45vw, 40px);
    --designic-feature-title-size: clamp(28px, 2.8vw, 44px);
    --designic-card-title-size: clamp(20px, 1.8vw, 29px);
    --designic-reading-size: clamp(15px, 1.05vw, 17px);
    --designic-space-section: clamp(64px, 6.5vw, 96px);
    --designic-space-hero-top: clamp(118px, 10vw, 148px);
}

/* Main site and archive pages. */
.designic-hero h1,
.cinematic-hero h1,
.cinestage-hero-copy h1,
.ikuwait-hero-copy h1,
.lubb-hero-copy h1,
.macropulse-hero-copy h1,
.messenger-hero-copy h1,
.dirc-hero-copy h1 {
    font-size: var(--designic-display-size) !important;
    line-height: .9 !important;
    letter-spacing: -.052em !important;
}

.designic-entry-header h1,
.designic-not-found h1,
.designic-product h1,
.designic-dynamic-product h1,
.designic-dynamic-product .designic-product-hero--cinematic h1 {
    font-size: var(--designic-page-title-size) !important;
    line-height: .94 !important;
}

.designic-section-heading h2,
.cinestage-centered-heading h2,
.cinestage-section-heading h2,
.cinestage-workflow-heading h2,
.cinestage-feature-hub-heading h2,
.cinestage-final-cta h2,
.ikuwait-centered-heading h2,
.ikuwait-steps-copy h2,
.ikuwait-showcase-copy h2,
.ikuwait-cta h2,
.lubb-centered-heading h2,
.lubb-section-heading h2,
.lubb-operations-heading h2,
.lubb-final-inner h2,
.macropulse-section-heading h2,
.messenger-heading h2,
.messenger-copy h2,
.dirc-memory-copy h2,
.dirc-showcase-heading h2,
.cinematic-ending h2,
.designic-music-heading h2,
.designic-music-heading h3,
.designic-product h2,
.designic-dynamic-product h2 {
    font-size: var(--designic-section-title-size) !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
}

.designic-featured-copy h3,
.designic-product-copy h3,
.designic-focus-copy h3,
.designic-product-feature h3,
.designic-dynamic-product h3,
.designic-cinematic-media-copy h3,
.cinematic-feature-card__content h2,
.cinematic-project-info h2,
.cinestage-feature-card-copy h3,
.lubb-feature-copy h3,
.dirc-final-copy h2,
.messenger-final-card h2,
.macropulse-final-card h2 {
    font-size: var(--designic-feature-title-size) !important;
    line-height: 1.02 !important;
    letter-spacing: -.038em !important;
}

.designic-discipline-main h3,
.designic-world-copy strong {
    font-size: var(--designic-card-title-size) !important;
    line-height: 1.05 !important;
}

.designic-entry-content,
.designic-product-copy > p:not(.designic-product-kicker),
.cinematic-intro,
.cinematic-project-description,
.cinestage-hero-description,
.ikuwait-hero-description,
.lubb-hero-description,
.macropulse-hero-copy > p,
.messenger-hero-description,
.messenger-heading > p:last-child,
.messenger-copy > p,
.dirc-hero-description,
.dirc-memory-copy > p:not(.dirc-kicker) {
    font-size: var(--designic-reading-size) !important;
    line-height: 1.7 !important;
}

/* Homepage: retain the visual character without billboard-sized type. */
body.designic-home .designic-hero h1 { max-width: 690px; }
body.designic-home .designic-section-heading h2,
body.designic-home .designic-about .designic-section-heading h2,
body.designic-home .designic-contact .designic-section-heading h2 {
    font-size: var(--designic-section-title-size) !important;
}
body.designic-home .designic-focus-copy h3,
.designic-identity-statement,
body.designic-home .designic-contact-grid > h3 {
    font-size: var(--designic-feature-title-size) !important;
    line-height: 1.02 !important;
}

/* Remove stacked whitespace and establish one consistent section rhythm. */
.designic-section { padding-top: var(--designic-space-section); }
body.designic-home .designic-section { padding-top: var(--designic-space-section) !important; }
body.designic-home .designic-work { padding-top: clamp(54px, 5vw, 76px) !important; }
body.designic-home .designic-services {
    margin-top: 0 !important;
    padding-top: var(--designic-space-section) !important;
    padding-bottom: var(--designic-space-section) !important;
}
body.designic-home .designic-current-focus > .designic-section-inner { padding-top: var(--designic-space-section) !important; }
body.designic-home .designic-about { padding: var(--designic-space-section) 0 !important; }
body.designic-home .designic-contact { padding: var(--designic-space-section) 0 !important; }

.designic-product-hero,
.designic-dynamic-product .designic-product-hero,
.cinestage-hero,
.ikuwait-hero,
.lubb-hero,
.macropulse-hero,
.messenger-hero,
.dirc-hero {
    min-height: auto !important;
    padding-top: var(--designic-space-hero-top) !important;
    padding-bottom: clamp(60px, 6vw, 88px) !important;
}
.designic-dynamic-product .designic-product-hero--cinematic {
    min-height: auto !important;
}
.designic-dynamic-product .designic-product-hero--cinematic .designic-product-hero-grid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.designic-product-overview,
.designic-product-features,
.designic-product-showcase,
.designic-product-cta,
.cinestage-feature-hub,
.ikuwait-features,
.ikuwait-steps-section,
.ikuwait-showcase,
.ikuwait-reviews,
.ikuwait-cta,
.lubb-section,
.macropulse-section,
.messenger-section,
.dirc-memory,
.dirc-showcase {
    padding-top: var(--designic-space-section) !important;
    padding-bottom: var(--designic-space-section) !important;
}
.designic-product-feature-list { gap: clamp(58px, 6vw, 86px) !important; }
.designic-product-features header,
.designic-product-showcase header { margin-bottom: clamp(38px, 4vw, 56px) !important; }
.cinematic-ending { padding: var(--designic-space-section) 0 !important; }
.designic-dynamic-product .designic-cinematic-media {
    min-height: 0 !important;
    padding-top: var(--designic-space-section) !important;
    padding-bottom: var(--designic-space-section) !important;
}
.designic-dynamic-product .designic-music-section {
    padding: clamp(30px, 4vw, 56px) !important;
}

@media (max-width: 680px) {
    :root {
        --designic-display-size: clamp(40px, 12vw, 56px);
        --designic-page-title-size: clamp(36px, 10vw, 48px);
        --designic-section-title-size: clamp(25px, 7vw, 34px);
        --designic-feature-title-size: clamp(26px, 7.5vw, 36px);
        --designic-card-title-size: clamp(20px, 6vw, 27px);
        --designic-space-section: clamp(48px, 13vw, 64px);
        --designic-space-hero-top: 108px;
    }
    body.designic-home .designic-hero { min-height: min(820px, 100svh); }
    body.designic-home .designic-hero-inner { padding-bottom: 72px; }
    .designic-about-kinetic { font-size: 100px; }
    .designic-world-panel { min-height: 340px; }
    .designic-product-copy > p:not(.designic-product-kicker) { margin: 20px 0; }
    .designic-dynamic-product .designic-product-hero--cinematic .designic-product-hero-grid {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}
