:root {
    --cpb-font-body: "Inter", Arial, sans-serif;
    --cpb-font-display: "Instrument Serif", "Bodoni Moda", Georgia, serif;
    --cpb-page-max: 1320px;
    --cpb-page-gutter: clamp(24px, 5vw, 72px);
    --cpb-form-max: 1180px;
    --cpb-type-ink: #17114d;
    --cpb-type-muted: #696477;
    --cpb-type-leading: 1.55;
    --cpb-edge-content-shift: clamp(44px, 4vw, 64px);
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    font-family: var(--cpb-font-body);
    font-size: 1rem;
    line-height: var(--cpb-type-leading);
    font-kerning: normal;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
    font-family: var(--cpb-font-body);
}

body :is(h1, h2, h3) {
    font-family: var(--cpb-font-display) !important;
    font-style: normal;
    font-weight: 400 !important;
    font-optical-sizing: auto;
    text-wrap: balance;
}

body h1 {
    line-height: 0.96 !important;
    letter-spacing: -0.035em !important;
}

body h2 {
    line-height: 1 !important;
    letter-spacing: -0.025em !important;
}

body h3 {
    line-height: 1.12 !important;
    letter-spacing: -0.015em !important;
}

body p {
    text-wrap: pretty;
}

body :is(a, button, input, select, textarea) {
    text-rendering: optimizeLegibility;
}

:is(
    .home-container,
    .home-hero__inner,
    .home-story-container,
    .community-container,
    .workspace-container,
    .profile-container,
    .studio-container
) {
    width: min(
        var(--cpb-page-max),
        calc(100% - var(--cpb-page-gutter) - var(--cpb-page-gutter))
    );
    margin-inline: auto;
    translate: 0 0;
    transition: translate 240ms cubic-bezier(0.2, 0.75, 0.2, 1);
}

.priority-course .priority-course__inner {
    width: min(
        var(--cpb-page-max),
        calc(100% - var(--cpb-page-gutter) - var(--cpb-page-gutter))
    );
    margin-inline: auto;
    translate: 0 0;
    transition: translate 240ms cubic-bezier(0.2, 0.75, 0.2, 1);
}

.site-header .navigation {
    width: min(
        var(--cpb-page-max),
        calc(100% - var(--cpb-page-gutter) - var(--cpb-page-gutter))
    );
    margin-inline: auto;
}

:is(.account-main, .onboarding-shell) {
    width: min(
        var(--cpb-form-max),
        calc(100% - var(--cpb-page-gutter) - var(--cpb-page-gutter))
    );
    margin-inline: auto;
}

:is(
    .home-hero__eyebrow,
    .home-story-eyebrow,
    .priority-course__eyebrow,
    .community-eyebrow,
    .profile-eyebrow,
    .studio-eyebrow,
    .workspace-kicker,
    .account-eyebrow,
    .journey-kicker
) {
    font-family: var(--cpb-font-body) !important;
    font-size: clamp(0.66rem, 0.7vw, 0.72rem) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase;
}

:is(
    .home-hero__cta,
    .priority-course__primary,
    .priority-course__reassign,
    .community-join-steps a,
    .workspace-primary-action,
    .profile-action,
    .studio-action,
    .account-button,
    .google-auth-button
) {
    font-family: var(--cpb-font-body) !important;
    font-size: clamp(0.8rem, 0.85vw, 0.88rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

:is(
    .profile-card,
    .studio-card,
    .workspace-theme-card,
    .format-grid article,
    .priority-course__stage a
) {
    text-align: left;
}

:is(
    .account-brand span,
    .home-section-detail article strong,
    .home-index-grid strong,
    .profile-card > strong,
    .studio-card > strong,
    .workspace-hero aside strong,
    .priority-course__stage strong
) {
    font-family: var(--cpb-font-display) !important;
    font-weight: 400 !important;
    letter-spacing: -0.015em;
}

.home-hero--voyage .home-hero__support {
    max-width: 66ch;
    font-size: clamp(0.94rem, 1.05vw, 1.06rem) !important;
    line-height: 1.58 !important;
    white-space: normal !important;
}

@media (min-width: 1181px) {
    body:has(.journey-edge-nav:hover) :is(
        .home-container,
        .home-hero__inner,
        .home-story-container,
        .community-container,
        .workspace-container,
        .profile-container,
        .studio-container
    ),
    body:has(.journey-edge-nav.is-open) :is(
        .home-container,
        .home-hero__inner,
        .home-story-container,
        .community-container,
        .workspace-container,
        .profile-container,
        .studio-container
    ),
    body:has(.journey-edge-nav:hover) .priority-course .priority-course__inner,
    body:has(.journey-edge-nav.is-open) .priority-course .priority-course__inner {
        translate: var(--cpb-edge-content-shift) 0;
    }
}

@media (max-width: 620px) {
    :root {
        --cpb-page-gutter: 16px;
    }

    body h1 {
        line-height: 0.98 !important;
    }

    :is(.account-main, .onboarding-shell) {
        width: min(var(--cpb-form-max), calc(100% - 28px));
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(
        .home-container,
        .home-hero__inner,
        .home-story-container,
        .community-container,
        .workspace-container,
        .profile-container,
        .studio-container,
        .priority-course__inner
    ) {
        transition-duration: 0.01ms !important;
    }
}
