:root {
    --identity-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --identity-ink: #18211d;
    --identity-paper: #f3f5f2;
    --identity-muted: #637069;
    --identity-line: #d8ded9;
    --identity-accent: #e65f3d;
    --identity-dark: #202b26;
    --identity-light: #fff;
    --identity-light-rgb: 255 255 255;
    --identity-page-title-size: clamp(3rem, 7vw, 6.4rem);
    --identity-page-title-line-height: .94;
    --ink: var(--identity-ink);
    --paper: var(--identity-paper);
    --muted: var(--identity-muted);
    --line: var(--identity-line);
    --accent: var(--identity-accent);
    --dark: var(--identity-dark);
    --light: var(--identity-light);
    --shell-ink: var(--identity-ink);
    --shell-paper: var(--identity-paper);
    --shell-muted: var(--identity-muted);
    --shell-accent: var(--identity-accent);
    --shell-dark: var(--identity-dark);
    --shell-light: var(--identity-light);
    --home-ink: var(--identity-ink);
    --home-paper: var(--identity-paper);
    --home-muted: var(--identity-muted);
    --home-accent: var(--identity-accent);
    --home-dark: var(--identity-dark);
    --home-light: var(--identity-light);
    color-scheme: light;
    font-family: var(--identity-font);
    letter-spacing: -.051em;
}

.page-title {
    margin: 0;
    font-size: var(--identity-page-title-size);
    font-weight: 700;
    line-height: var(--identity-page-title-line-height);
    letter-spacing: -.051em;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.brand-wordmark {
    display: inline-block;
    position: relative;
    padding-right: .075em;
    background-color: #000;
    background-image: none;
    background-clip: text;
    color: transparent;
    font-weight: 800;
    letter-spacing: -.051em;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.brand-wordmark::before,
.brand-wordmark::after {
    content: attr(data-wordmark);
    position: absolute;
    inset: 0;
    background-image: linear-gradient(105deg, #f0a202 0%, #f0a202 22%, #f18805 29%, #f18805 47%, #d95d39 54%, #d95d39 72%, #7b9e89 79%, #7b9e89 100%);
    background-position: 0 50%;
    background-size: 220% 100%;
    background-clip: text;
    color: transparent;
    letter-spacing: inherit;
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.brand-wordmark.studio-hero-wordmark {
    background-color: #fff;
}

.brand-wordmark.studio-hero-wordmark::before,
.brand-wordmark.studio-hero-wordmark::after {
    background-image: linear-gradient(105deg, #f0a202 0%, #f0a202 22%, #f18805 29%, #f18805 47%, #d95d39 54%, #d95d39 72%, #7b9e89 79%, #7b9e89 94%, #fff 100%);
}

.brand-wordmark::before {
    z-index: 1;
    animation: brand-gradient-flow 5.2s linear both;
}

.brand-wordmark::after { z-index: 2; }
.brand:hover .brand-wordmark::after,
.brand:focus-visible .brand-wordmark::after,
.site-brand:hover .brand-wordmark::after,
.site-brand:focus-visible .brand-wordmark::after { animation: brand-gradient-flow 5.2s linear both; }

.brand:focus-visible,
.site-brand:focus-visible {
    outline: 2px solid var(--identity-accent);
    outline-offset: .3rem;
    border-radius: .2rem;
}

@keyframes brand-gradient-flow {
    0% { background-position: 0% 50%; opacity: 0; }
    12% { opacity: 1; }
    88% { opacity: 1; }
    100% { background-position: 100% 50%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .brand-wordmark::before,
    .brand-wordmark::after { content: none; }
}
