:root {
    --color-cream: #f6f1e7;
    --color-ink: #001c22;
    --color-pink: #f7dfe5;
    --color-accent: #f4abcd;
    --color-project-pink: #f4abd0;
    --color-burgundy: #300e0c;
    --color-olive: #3a4011;
    --color-overlay-olive: #464b24;
    --color-mint: #f6faef;
    --color-error: #c51f3a;
    --font-serif: "Sharp Serif Text Trial", "Times New Roman", serif;
    --font-body: "Edict Text Trial", Georgia, serif;
    --font-mono: "Phonic Trial", "Courier New", monospace;
    --gutter: 40px;
    --editorial-grid-gap: 20px;
    --header-height: 90px;
    --line: color-mix(in srgb, var(--color-ink) 60%, transparent);
    --focus: #e94f9d;
    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --route-transition-duration: 260ms;
    --route-transition-easing: ease;
    --header-theme-duration: 260ms;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

*::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

html {
    color-scheme: light;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    overflow-x: clip;
    background: var(--color-cream);
    color: var(--color-ink);
    font-family: var(--font-body);
    font-size: 16.73px;
    font-weight: 400;
    line-height: 1.15;
    text-rendering: optimizeLegibility;
}

::selection {
    background: var(--color-accent);
    color: var(--color-ink);
    text-shadow: none;
}

.route-about ::selection {
    background: var(--color-cream);
    color: var(--color-burgundy);
}

.route-anecdotes ::selection {
    background: var(--color-olive);
    color: var(--color-pink);
}

.anecdote-dialog ::selection {
    background: var(--color-pink);
    color: var(--color-overlay-olive);
}

body.nav-open {
    overflow: hidden;
}

.site-scrollport,
.site-nav,
.project-bts[data-layout="carousel"] .project-bts__grid,
.anecdote-dialog__panel,
.anecdote-dialog__track {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.site-scrollport {
    min-width: 0;
}

img,
svg,
video,
iframe {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

a,
button {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 4px;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: visible;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: -9999px;
    padding: 10px 14px;
    background: var(--color-ink);
    color: var(--color-cream);
    font-family: var(--font-mono);
    font-size: 12px;
    text-transform: uppercase;
}

.skip-link:focus {
    left: 12px;
}

.eyebrow {
    margin: 0;
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.text-link {
    display: inline-block;
    margin-top: 1.4rem;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
    text-decoration-skip-ink: auto;
    text-transform: uppercase;
}

.site-header {
    position: fixed;
    z-index: 50;
    inset: 0 0 auto;
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) 170px;
    align-items: start;
    min-height: var(--header-height);
    width: 100%;
    padding: 19px var(--gutter) 0;
    background: var(--color-cream);
    transition: background-color var(--header-theme-duration) ease;
}

.site-header--overlay {
    background: transparent;
    color: var(--color-cream);
}

.wordmark {
    position: relative;
    z-index: 2;
    display: block;
    height: 52px;
}

.wordmark--grace {
    width: 113px;
}

.wordmark--full {
    display: none;
}

.wordmark--sunny {
    width: 163px;
    justify-self: end;
}

.wordmark__asset {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: filter var(--header-theme-duration) ease;
}

.site-header--overlay .wordmark__asset {
    filter: brightness(0) invert(1);
}

.site-nav {
    display: flex;
    justify-content: center;
    gap: clamp(28px, 3.6vw, 60px);
    padding-top: 8px;
    font-family: var(--font-serif);
    font-size: 16px;
    font-weight: 250;
    letter-spacing: 0.06em;
    line-height: 34px;
    text-transform: uppercase;
}

.site-nav__item {
    position: relative;
    white-space: nowrap;
    text-decoration: none;
    transition: color var(--header-theme-duration) ease;
}

.site-nav__item.is-current {
    color: var(--color-accent);
}

.site-header--overlay .site-nav__item.is-current {
    color: inherit;
}

.site-nav__item.is-disabled {
    cursor: default;
}

.nav-toggle {
    display: none;
}

.home .site-header {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
    background: color-mix(in srgb, var(--color-cream) 96%, transparent);
    transition: opacity 240ms ease, background-color 240ms ease;
}

.home-intro {
    position: relative;
    height: 100svh;
    min-height: 560px;
    background: var(--color-cream);
}

.home-intro__stage {
    position: relative;
    height: 100svh;
    min-height: 560px;
    overflow: hidden;
    background: var(--color-cream);
}

.home-intro__logo {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: min(566.681px, 72vw);
    aspect-ratio: 566.681 / 115.291;
    transform: translate3d(-50%, -50%, 0);
    transform-origin: top left;
    pointer-events: none;
    will-change: transform, opacity;
}

.home-intro__word {
    position: absolute;
    display: block;
    max-width: none;
    transform-origin: top left;
    will-change: transform, opacity;
}

.home-intro__word--grace {
    top: 3.47%;
    left: 1.235%;
    width: 42.177%;
    height: 95.41%;
}

.home-intro__word--sunny {
    top: 0;
    left: 36.882%;
    width: 63.175%;
    height: 98%;
}

.home-intro__track,
.home-intro__hint {
    display: none;
}

.intro-motion-enabled .home-intro {
    height: 420svh;
}

.intro-motion-enabled .home-intro__stage {
    position: sticky;
    top: 0;
}

.intro-motion-enabled .route-home.intro-header-visible .home-intro__logo {
    z-index: 51;
}

.intro-motion-enabled .route-home.intro-header-visible .home-intro__stage {
    pointer-events: none;
}

.intro-motion-enabled .home-intro__track {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: block;
    pointer-events: none;
    will-change: transform;
}

.home-intro__canvas {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1754px;
    height: 2462px;
    transform: translateX(-50%) scale(var(--intro-scale, 1));
    transform-origin: top center;
}

.home-intro__item {
    position: absolute;
    top: var(--intro-y);
    left: var(--intro-x);
    width: var(--intro-w);
    height: var(--intro-h);
    margin: 0;
    overflow: hidden;
    border-radius: var(--intro-radius);
    opacity: 0;
    transform: rotate(var(--intro-rotate)) translate3d(0, var(--intro-float-y, 0px), 0);
    will-change: transform, opacity;
}

.home-intro__item.is-blended {
    mix-blend-mode: multiply;
}

.intro-motion-enabled .home-intro.is-ready .home-intro__item {
    animation: intro-image-in 650ms cubic-bezier(0.22, 0.61, 0.36, 1) var(--intro-delay) both;
}

.home-intro__item img {
    position: absolute;
    top: var(--intro-image-top);
    left: var(--intro-image-left);
    width: var(--intro-image-width);
    height: var(--intro-image-height);
    max-width: none;
    object-fit: var(--intro-fit);
}

.home-intro__hint {
    position: absolute;
    z-index: 3;
    bottom: 24px;
    left: 50%;
    display: block;
    margin: 0;
    transform: translateX(-50%);
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: opacity 180ms ease;
}

.intro-motion-enabled .home .site-header {
    opacity: 0;
    pointer-events: none;
}

.intro-motion-enabled .home.intro-header-visible .site-header {
    opacity: 1;
    pointer-events: auto;
}

.home-main .selected-work {
    padding-top: calc(var(--header-height) + 74.669px);
}

@keyframes intro-image-in {
    from {
        opacity: 0;
    }
    to {
        opacity: var(--intro-opacity);
    }
}

.selected-work {
    padding: 74px var(--gutter) 88px;
}

.selected-work__grid {
    display: grid;
    grid-template-columns: minmax(0, 666.608fr) minmax(0, 663.467fr);
    width: calc(100% + 3.141px);
    margin-left: -3.141px;
    column-gap: 33.066px;
    row-gap: 65px;
}

.project-card {
    min-width: 0;
}

.project-card--2 {
    margin-top: 202.359px;
}

.project-card__link {
    display: block;
    text-decoration: none;
}

.project-card__media {
    position: relative;
    display: block;
    height: 579.756px;
    overflow: hidden;
    background: #d8d3ca;
}

.project-card--2 .project-card__media {
    height: 375.641px;
}

.project-card__media img {
    --media-zoom-duration: 700ms;
    --media-zoom-easing: var(--ease-out);
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--media-zoom-duration) var(--media-zoom-easing), filter 300ms ease;
}

.home-main .selected-work .project-card__media img {
    --media-zoom-duration: 900ms;
    --media-zoom-easing: cubic-bezier(0.16, 1, 0.3, 1);
    transform: scale(1);
    transform-origin: center;
}

.home-main .selected-work .project-card__link:hover .project-card__media img,
.home-main .selected-work .project-card__link:focus-visible .project-card__media img {
    transform: scale(1.035);
}

.project-card__link:hover .project-card__media img,
.project-card__link:focus-visible .project-card__media img {
    transform: scale(1.018);
    filter: saturate(1.04);
}

.project-card__heading {
    display: grid;
    grid-template-columns: 76px 1fr;
    align-items: baseline;
    gap: 23px;
    margin-top: 23px;
}

.project-card__type {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
}

.project-card__title {
    font-family: var(--font-serif);
    font-size: 32px;
    font-weight: 250;
    line-height: 1;
}

.project-card__deck {
    display: block;
    width: min(538.407px, calc(100% - 93.375px));
    margin: 28px 0 0 93.375px;
    font-family: var(--font-body);
    font-size: 16.73px;
    line-height: 1;
}

.selected-work__grid > .project-card:nth-child(even) .project-card__deck {
    width: min(538.407px, calc(100% - 94.375px));
    margin-left: 94.375px;
}

@media (min-width: 1101px) {
    .selected-work__grid {
        position: relative;
        display: block;
        height: 3201.15px;
    }

    .selected-work__grid > .project-card {
        position: absolute;
        margin: 0;
    }

    .selected-work__grid > .project-card--1 {
        top: 0;
        left: 0;
        width: 666.608px;
    }

    .selected-work__grid > .project-card--2 {
        top: 202.37px;
        left: 699.674px;
        width: 663.467px;
    }

    .selected-work__grid > .project-card--3 {
        top: 818.99px;
        left: 3.141px;
        width: 1360px;
    }

    .project-card--3 .project-card__heading {
        grid-template-columns: 60px 1fr;
        gap: 17.87px;
        margin-left: 12.36px;
    }

    .project-card--3 .project-card__deck {
        margin-left: 90.23px;
    }

    .selected-work__grid > .project-card--4 {
        top: 1648.45px;
        left: 699.674px;
        width: 663.467px;
    }

    .selected-work__grid > .project-card--5 {
        top: 2663.81px;
        left: 3.141px;
        width: 663.467px;
    }

    .selected-work__grid > .project-card--6 {
        top: 2459.69px;
        left: 699.674px;
        width: 663.467px;
    }

    .project-card--3 .project-card__media,
    .project-card--4 .project-card__media,
    .project-card--6 .project-card__media {
        height: 579.756px;
    }

    .project-card--5 .project-card__media {
        height: 375.641px;
    }

    .project-card--4 .project-card__media img {
        position: absolute;
        top: -55.93%;
        left: 0;
        height: 171.64%;
        max-width: none;
    }

    .project-card--6 .project-card__media img {
        object-position: bottom;
    }
}

.project-hero {
    position: relative;
    min-height: 733.161px;
    overflow: hidden;
    background: var(--color-ink);
    color: var(--color-project-pink);
}

.project-hero__picture,
.project-hero__image,
.project-hero__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.project-hero__picture {
    display: block;
}

.project-hero__image {
    object-fit: cover;
    object-position: var(--project-hero-position-x, 50%) var(--project-hero-position-y, 50%);
}

.project-hero__shade {
    background: linear-gradient(180deg, rgba(0, 18, 22, 0.12) 0%, rgba(0, 18, 22, 0) 48%, rgba(0, 18, 22, 0.38) 100%);
}

.project-hero__title {
    position: absolute;
    left: 40px;
    bottom: 55.856px;
    max-width: min(662px, 58vw);
    margin: 0;
    font-family: var(--font-serif);
    font-size: clamp(70px, 7.933vw, 114.24px);
    font-weight: 250;
    letter-spacing: -0.05em;
    line-height: 1;
}

.project-hero__meta {
    position: absolute;
    right: 5.967vw;
    bottom: 47.617px;
    width: min(428.377px, 29.748vw);
}

.project-hero__meta p:last-child {
    margin: 10px 0 0;
    font-size: 17.73px;
    line-height: 1.1;
}

.project-intro {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--editorial-grid-gap);
    row-gap: 0;
    min-height: 518px;
    padding: 85px var(--gutter) 72px;
}

.project-intro__lead {
    grid-column: 1 / span 5;
    width: min(547.391px, 100%);
}

.project-intro__deck {
    margin: 13px 0 0;
    font-family: var(--font-serif);
    font-size: 26px;
    font-style: italic;
    font-weight: 250;
    line-height: 1.15;
}

.project-intro__summary {
    grid-column: 10 / -1;
    justify-self: end;
    width: min(284.55px, 100%);
    font-size: 14.73px;
    line-height: 1.1;
}

.project-intro__summary p {
    margin: 0 0 1.15em;
}

.project-detail--carousel .project-intro {
    min-height: 361.84px;
    padding-right: 38.29px;
    padding-bottom: 70.1px;
    padding-left: 44.89px;
}

.project-video {
    padding: 0 var(--gutter) 118.48px;
}

.project-video__player,
.project-video__preview,
.project-video__embed {
    width: min(1353.334px, 100%);
    margin: 0;
}

@media (min-width: 1441px) {
    .project-video__player,
    .project-video__preview,
    .project-video__embed {
        width: 100%;
    }
}

@media (min-width: 1441px) and (min-aspect-ratio: 2 / 1) {
    .about-film {
        height: 100svh;
        min-height: 100svh;
    }

    .about-film .project-video__player {
        display: flex;
        flex-direction: column;
        height: 100%;
        min-height: 0;
    }

    .about-film .project-video__stage {
        flex: 1 1 auto;
        min-height: 0;
        aspect-ratio: auto;
    }

    .about-film .project-video__controls {
        flex: 0 0 auto;
    }
}

.project-video__stage {
    position: relative;
    aspect-ratio: var(--video-aspect-ratio, 16 / 9);
    overflow: hidden;
    background: #000;
}

.project-video__media {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
    cursor: pointer;
}

.project-video__play-overlay {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-cream);
    cursor: pointer;
}

.project-video__player.is-playing .project-video__play-overlay {
    opacity: 0;
    pointer-events: none;
}

.project-video__controls {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 27.095px;
    margin: 14.502px 1.71px 0;
    padding: 10px 4px 0;
    border-top: 1px solid var(--line);
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.project-video__controls-start,
.project-video__controls-end {
    display: flex;
    align-items: baseline;
}

.project-video__controls-start {
    gap: 46px;
}

.project-video__controls-end {
    gap: 44px;
}

.project-video__controls button {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
}

.project-video__controls button:hover,
.project-video__controls button:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.project-video__controls button:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

.project-video__player:fullscreen,
.project-video__player:-webkit-full-screen {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    width: 100%;
    height: 100%;
    margin: 0;
    background: #000;
    color: var(--color-cream);
}

.project-video__player:fullscreen .project-video__stage,
.project-video__player:-webkit-full-screen .project-video__stage {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    background: #000;
}

.project-video__player:fullscreen .project-video__media,
.project-video__player:-webkit-full-screen .project-video__media {
    object-fit: contain;
    background: #000;
}

.project-video__player:fullscreen .project-video__controls,
.project-video__player:-webkit-full-screen .project-video__controls {
    min-height: 52px;
    margin: 0;
    padding: 8px max(16px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    border-color: rgba(246, 241, 231, 0.45);
}

.project-video__preview img,
.project-video__embed iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    object-fit: contain;
    background: #000;
}

.project-video__preview figcaption {
    padding-top: 12px;
    border-top: 1px solid var(--line);
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.project-bts {
    padding: 0 20px 110px;
}

.project-bts > .section-rule {
    padding-right: 20px;
    padding-left: 20px;
}

.section-rule {
    padding-top: 15px;
    border-top: 1px solid var(--line);
}

.project-bts__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 20px;
    min-height: 0;
    padding: 70px 20px 0;
}

@media (min-width: 1101px) {
    .project-bts[data-layout="grid"] .project-bts__grid {
        --bts-row-unit: calc(0.735294vw - 0.588235px);
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        grid-template-rows: repeat(var(--bts-grid-rows, 218), var(--bts-row-unit));
        width: calc(100vw - 80px);
        height: auto;
        min-height: 0;
        margin: 87.399px auto 0;
        padding: 0;
        column-gap: 20px;
        row-gap: 0;
    }

    .project-bts[data-layout="grid"] .project-bts__item {
        grid-column: var(--bts-column-start, 1) / span var(--bts-column-span, 4);
        grid-row: var(--bts-row-start, 1) / span var(--bts-row-span, 37);
        align-self: start;
    }
}

.project-bts__item {
    min-width: 0;
    margin: 0;
}

.project-bts__media {
    display: block;
    width: 100%;
    aspect-ratio: var(--bts-frame-ratio, 1.3);
    overflow: hidden;
}

.project-bts__item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left bottom;
}

.project-bts__item figcaption {
    margin-top: 10px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.project-bts[data-layout="carousel"] {
    padding-right: 0;
    padding-bottom: 98.57px;
    color: var(--color-olive);
}

.project-bts[data-layout="carousel"] .section-rule {
    margin-right: var(--gutter);
}

.project-bts[data-layout="carousel"] .project-bts__grid {
    display: block;
    min-height: 0;
    padding: 35.83px var(--gutter) 26px 20px;
    overflow: hidden;
    scrollbar-width: none;
}

.project-bts[data-layout="carousel"] .project-bts__track {
    align-items: flex-start;
}

.project-bts[data-layout="carousel"] .project-bts__grid:focus-visible {
    outline-offset: -4px;
}

.project-bts[data-layout="carousel"] .project-bts__item {
    flex: 0 0 min(440px, 34vw);
    width: min(440px, 34vw);
    margin: 0;
    background: transparent;
}

.project-bts[data-layout="carousel"] .project-bts__media {
    width: 100%;
    height: var(--carousel-media-height, 327.242px);
    aspect-ratio: auto;
}

.project-bts[data-layout="carousel"] .project-bts__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-user-drag: none;
}

.project-bts[data-layout="carousel"] .project-bts__item:nth-child(1) {
    --carousel-media-height: 420.959px;
}

.project-bts[data-layout="carousel"] .project-bts__item:nth-child(1) img {
    object-position: center 75%;
}

.project-bts[data-layout="carousel"] .project-bts__item:nth-child(2) {
    --carousel-media-height: 591.495px;
}

.project-bts[data-layout="carousel"] .project-bts__item:nth-child(2) img {
    object-position: center bottom;
}

.project-bts[data-layout="carousel"] .project-bts__item:nth-child(4) {
    --carousel-media-height: 502.373px;
}

.project-bts[data-layout="carousel"] .project-bts__item figcaption {
    width: 61.12%;
    min-height: 56px;
    margin-left: auto;
    line-height: 1.15;
}

.project-detail--carousel .project-credits {
    padding-bottom: 0;
    color: var(--color-burgundy);
}

.project-detail--carousel .credits-group[data-layout="cast"] {
    min-height: 337px;
}

.project-detail--carousel .credits-group[data-layout="crew"] {
    min-height: 546px;
}

@media (max-width: 800px) {
    .credits-group[data-layout="crew"] .credit {
        grid-template-columns: 96px minmax(0, 1fr);
    }
}

.project-detail--carousel .related-work {
    padding-bottom: 102px;
}

.project-detail--carousel .related-work__grid {
    padding-top: 36px;
}

@media (max-width: 800px) {
    .project-bts[data-layout="carousel"] .project-bts__item {
        flex-basis: min(440px, 68vw);
        width: min(440px, 68vw);
    }
}

@media (max-width: 520px) {
    .project-video__controls {
        margin-right: 0;
        margin-left: 0;
        padding-right: 0;
        padding-left: 0;
        gap: 12px;
        font-size: 9px;
    }

    .project-video__controls-start,
    .project-video__controls-end {
        gap: 14px;
    }

    .project-video__controls button {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .project-bts[data-layout="carousel"] {
        padding-left: var(--gutter);
    }

    .project-bts[data-layout="carousel"] .section-rule {
        margin-right: 0;
    }

    .project-bts[data-layout="carousel"] .project-bts__grid {
        margin-right: calc(var(--gutter) * -1);
        padding-right: var(--gutter);
    }

    .project-bts[data-layout="carousel"] .project-bts__item {
        flex-basis: 82vw;
        width: 82vw;
    }
}

.project-credits {
    padding: 0 20px 110px;
}

.credits-group {
    padding: 15px 20px 72px;
    border-top: 1px solid var(--line);
}

.credits-group__items {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 44px 20px;
    padding: 54px 0 0;
}

.credits-group__columns {
    grid-template-columns: repeat(var(--credit-grid-columns, 9), minmax(0, 1fr));
    min-height: 419px;
    padding-top: 48px;
    column-gap: 20px;
}

.credits-column {
    display: flex;
    grid-column: span 3;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
}

.credits-column .credit {
    grid-column: auto;
}

.credit {
    grid-column: span var(--credit-column-span, 3);
    text-align: center;
}

.credit p {
    margin: 0;
}

.credit__name {
    font-family: var(--font-serif);
    font-size: 17.73px;
    font-weight: 300;
    line-height: 1.55;
}

.credit .eyebrow {
    margin-top: 1px;
}

.credits-group[data-layout="crew"] .credit {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "role name name";
    align-items: start;
    column-gap: 20px;
    text-align: left;
}

.credits-group[data-layout="crew"] .credit__name {
    grid-area: name;
    padding-right: 24px;
}

.credits-group[data-layout="crew"] .credit__name a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.14em;
}

.credits-group[data-layout="crew"] .credit .eyebrow {
    grid-area: role;
    margin-top: 0;
    padding-top: 8px;
}

@media (max-width: 800px) {
    .credits-group__items.credits-group__columns {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-top: 40px;
        row-gap: 44px;
    }

    .credits-column {
        grid-column: 1 / -1;
        justify-content: flex-start;
        gap: 28px;
    }

    .credits-group[data-layout="crew"] .credit {
        grid-template-columns: 96px minmax(0, 1fr);
        grid-template-areas: "role name";
    }

    .credits-group[data-layout="crew"] .credit__name {
        padding-right: 8px;
    }
}

.related-work {
    padding: 0 20px 115px;
}

.related-work .section-rule {
    padding-right: 20px;
    padding-left: 20px;
}

.related-work__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    padding: 36px 20px 0;
}

.related-work .project-card--2 {
    margin-top: 0;
}

.related-work .project-card__media,
.related-work .project-card--2 .project-card__media {
    height: auto;
    aspect-ratio: 664 / 580;
}

.related-work .project-card__heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
}

.related-work .project-card__type {
    order: 2;
}

.related-work .project-card__title {
    font-size: 32px;
    font-style: italic;
    line-height: 1.15;
}

.related-work .project-card__deck {
    display: none;
}

.site-header--about {
    background: var(--color-burgundy);
    color: var(--color-pink);
}

.site-header--about .wordmark__asset {
    filter: brightness(0) saturate(100%) invert(94%) sepia(7%) saturate(546%) hue-rotate(291deg) brightness(103%) contrast(94%);
}

.site-header--about .site-nav__item.is-current {
    color: var(--color-project-pink);
}

.site-header--anecdotes {
    background: var(--color-pink);
    color: var(--color-olive);
}

.site-header--anecdotes .wordmark__asset {
    filter: brightness(0) saturate(100%) invert(24%) sepia(16%) saturate(1305%) hue-rotate(25deg) brightness(90%) contrast(93%);
}

.about-page {
    padding-top: var(--header-height);
    overflow: clip;
    background: var(--color-burgundy);
    color: var(--color-pink);
    font-weight: 300;
}

.about-story {
    position: relative;
    min-height: 1471px;
}

.about-story__chapter {
    position: absolute;
}

.about-story__chapter--about {
    inset: 0 0 auto;
    height: 660px;
}

.about-overview__intro {
    position: absolute;
    top: 52px;
    left: var(--gutter);
    width: min(52vw, 738.905px);
}

.about-overview__intro h1 {
    margin: 5.6px 0 0;
    font-family: var(--font-serif);
    font-size: 26px;
    font-style: italic;
    font-weight: 250;
    line-height: 1.16;
}

.about-overview__details {
    position: absolute;
    top: 226px;
    left: 0;
    width: 100%;
}

.about-overview__bio {
    width: min(29vw, 412.862px);
    margin-left: 24.2vw;
    font-size: 14.73px;
    line-height: 1.13;
}

.about-overview__bio p {
    margin: 0 0 1.05em;
}

.about-overview__links {
    position: relative;
    display: grid;
    grid-template-columns: 115px 120px;
    margin-top: 28px;
    margin-left: 13.6vw;
    gap: 37px;
}

.about-overview__contact {
    display: block;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.about-overview__contact.is-disabled {
    cursor: default;
}

.about-overview__follow {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.about-overview__follow .eyebrow {
    margin-bottom: 9px;
}

.about-overview__follow a {
    text-decoration: none;
}

.about-overview__perspective {
    top: 692.8px;
    left: 7.03125vw;
    width: min(47.194vw, 679.597px);
}

.about-overview__perspective-copy {
    margin-top: 14px;
    font-family: var(--font-serif);
    font-size: 25px;
    font-weight: 250;
    line-height: 1.16;
}

.about-overview__perspective-copy p {
    margin: 0 0 1.25em;
    font-style: normal;
}

.about-story__media-shell {
    --about-media-top-gap: 24px;
    --about-media-bottom-gap: 33px;
    --about-media-height: min(40.307vw, 580.429px, calc(100svh - var(--header-height) - var(--about-media-top-gap) - var(--about-media-bottom-gap)));
    --about-media-top: clamp(calc(var(--header-height) + var(--about-media-top-gap)), calc(100svh - var(--about-media-height) - var(--about-media-bottom-gap)), 410.8px);
    position: absolute;
    top: calc(var(--about-media-top) - var(--header-height));
    right: 2.7083vw;
    bottom: var(--about-media-bottom-gap);
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    width: min(30.65vw, 441px);
}

.about-story__media-stage {
    position: sticky;
    top: var(--about-media-top);
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
    height: var(--about-media-height);
    aspect-ratio: 441 / 580.429;
    overflow: hidden;
    background: var(--media-placeholder, #d8d3ca);
}

.about-story__media {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 300ms ease;
}

.about-story__media.is-active {
    z-index: 1;
    opacity: 1;
}

.about-story__media img,
.about-story__mobile-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-story__mobile-media {
    display: none;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 441 / 580.429;
    background: var(--media-placeholder, #d8d3ca);
}

.about-experience {
    top: 1055px;
    right: 0;
    left: 0;
    min-height: 416px;
    padding: 0 var(--gutter) 84px;
}

.about-experience__list {
    display: grid;
    width: min(760px, 62vw);
    margin-top: 28px;
    gap: 70px;
}

.about-experience__item {
    display: grid;
    grid-template-columns: minmax(210px, 268px) minmax(240px, 320px) 1fr;
    gap: 28px 40px;
}

.about-experience__item h3,
.about-experience__item p {
    margin: 0;
}

.about-experience__item h3,
.about-experience__organization,
.about-experience__summary {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.14;
}

.about-experience__item h3 {
    grid-column: 1;
    grid-row: 1;
}

.about-experience__organization {
    grid-column: 1;
    grid-row: 1;
    margin-top: 1.1em !important;
    font-family: var(--font-serif);
    font-style: italic;
}

.about-experience__summary {
    grid-column: 2;
    grid-row: 1;
}

.about-experience__summary p + p {
    margin-top: 1em;
}

.about-experience__dates {
    grid-column: 3;
    grid-row: 1;
    white-space: nowrap;
}

.about-experience__resume {
    display: inline-block;
    margin-top: 30px;
    font-family: var(--font-mono);
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.about-film {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    min-height: 100svh;
    padding: var(--gutter);
    background: var(--color-burgundy);
}

.about-film .project-video__controls {
    border-top-color: var(--color-pink);
}

.about-film__placeholder,
.about-film__poster,
.about-film__embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #d8d8d8;
}

.about-film__placeholder {
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--color-burgundy) 55%, transparent);
}

.about-film__poster img,
.about-film__embed iframe {
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
}

.about-film__poster .eyebrow {
    position: absolute;
    right: 20px;
    bottom: 18px;
    padding: 9px 11px;
    background: var(--color-burgundy);
    color: var(--color-pink);
}

.site-footer[data-footer-image-treatment="about"] .site-footer__image img {
    filter: none;
    mix-blend-mode: multiply;
}

body.anecdote-open {
    overflow: hidden;
}

.anecdotes-page {
    padding-top: var(--header-height);
    overflow: clip;
    background: var(--color-pink);
    color: var(--color-olive);
}

.anecdotes-grid {
    display: grid;
    grid-template-columns: 32.816% 33.592% 33.592%;
    grid-template-rows: 704.56px 690.24px 722px 715.65px;
    width: calc(100% - 68.356px);
    margin-left: 38.424px;
    border-top: 1px solid var(--color-olive);
}

.anecdote-card {
    position: relative;
    min-width: 0;
}

.anecdote-card:nth-child(3n + 2),
.anecdote-card:nth-child(3n + 3) {
    border-left: 1px solid var(--color-olive);
}

.anecdote-card:nth-child(n + 4) {
    border-top: 1px solid var(--color-olive);
}

.anecdote-card__button {
    position: absolute;
    inset: 0;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.anecdote-card__heading {
    position: absolute;
    top: 28.375px;
    left: 15.137px;
    display: grid;
    grid-template-columns: 122.9px minmax(0, 1fr);
    width: calc(100% - 30px);
}

.anecdote-card__title-block {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.anecdote-card__title {
    font-family: var(--font-serif);
    font-size: 24.73px;
    font-weight: 250;
    line-height: 1;
}

.anecdote-card__media {
    position: absolute;
    top: var(--archive-media-top);
    left: var(--archive-media-left);
    display: block;
    width: var(--archive-media-width);
    height: var(--archive-media-height);
}

.anecdote-card__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.anecdote-card__image--layer {
    position: absolute;
    inset: 0;
    mix-blend-mode: multiply;
}

.anecdote-card__copy {
    position: absolute;
    top: var(--archive-copy-top);
    left: var(--archive-copy-left, var(--archive-media-left));
    display: block;
    width: var(--archive-copy-width, var(--archive-media-width));
    font-size: 14.73px;
    line-height: 1.1;
}

.anecdote-card--1 { --archive-media-left: 57.38px; --archive-media-top: 93.622px; --archive-media-width: 329.493px; --archive-media-height: 263.403px; --archive-copy-top: 390px; }
.anecdote-card--2 { --archive-media-left: 59.66px; --archive-media-top: 100.53px; --archive-media-width: 293.723px; --archive-media-height: 366.539px; --archive-copy-top: 505px; }
.anecdote-card--3 { --archive-media-left: 61px; --archive-media-top: 95px; --archive-media-width: 302px; --archive-media-height: 361px; --archive-copy-top: 493px; }
.anecdote-card--4 { --archive-media-left: 48.8px; --archive-media-top: 173.176px; --archive-media-width: 328.108px; --archive-media-height: 357.921px; --archive-copy-top: 570px; }
.anecdote-card--5 { --archive-media-left: 62.193px; --archive-media-top: 106.857px; --archive-media-width: 252.65px; --archive-media-height: 381.078px; --archive-copy-top: 526px; }
.anecdote-card--6 { --archive-media-left: 62.259px; --archive-media-top: 100.893px; --archive-media-width: 376.863px; --archive-media-height: 248.566px; --archive-copy-top: 389px; --archive-copy-width: 330px; }
.anecdote-card--7 { --archive-media-left: 55.137px; --archive-media-top: 146.5px; --archive-media-width: 366.006px; --archive-media-height: 207.225px; --archive-copy-top: 428px; }
.anecdote-card--8 { --archive-media-left: -0.789px; --archive-media-top: 28.332px; --archive-media-width: 405.347px; --archive-media-height: 502.999px; --archive-copy-left: 62px; --archive-copy-top: 568px; --archive-copy-width: 323px; }
.anecdote-card--9 { --archive-media-left: 50.637px; --archive-media-top: 103.374px; --archive-media-width: 288.199px; --archive-media-height: 347.941px; --archive-copy-top: 488px; }
.anecdote-card--10 { --archive-media-left: 58px; --archive-media-top: 106px; --archive-media-width: 315px; --archive-media-height: 361px; --archive-copy-top: 520px; }
.anecdote-card--11 { --archive-media-left: 65.61px; --archive-media-top: 117.148px; --archive-media-width: 326.346px; --archive-media-height: 259.379px; --archive-copy-top: 426px; }
.anecdote-card--11 .anecdote-card__media { transform: rotate(0.78deg); }
.anecdote-card--12 { --archive-media-left: 42.258px; --archive-media-top: 136.451px; --archive-media-width: 407.566px; --archive-media-height: 311.037px; --archive-copy-left: 62px; --archive-copy-top: 500px; --archive-copy-width: 330px; }

.anecdote-dialog {
    position: fixed;
    z-index: 40;
    inset: var(--header-height) 0 0;
    width: 100%;
    max-width: none;
    height: calc(100dvh - var(--header-height));
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
    color: var(--color-pink);
    opacity: 0;
    transition: opacity 280ms ease;
    will-change: opacity;
}

.anecdote-dialog[open].is-visible {
    opacity: 1;
}

.anecdote-dialog.is-closing {
    opacity: 0;
    pointer-events: none;
}

.anecdote-dialog::backdrop {
    background: transparent;
}

.anecdote-dialog__panel {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--color-overlay-olive);
}

.anecdote-dialog__close {
    position: absolute;
    z-index: 5;
    top: 48.949px;
    right: 60px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.anecdote-dialog__track {
    position: absolute;
    z-index: 1;
    top: 92px;
    left: 0;
    width: min(576px, 58vw);
    height: 695px;
    overflow-x: auto;
    overflow-y: clip;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    scroll-snap-type: none;
}

.anecdote-dialog__rail {
    display: flex;
    align-items: flex-start;
    width: max-content;
    min-width: 100%;
    height: 100%;
    padding: 36.137px 120px 35px 0;
    gap: 24px;
}

.anecdote-dialog__slide {
    flex: 0 0 auto;
    width: min(
        var(--anecdote-media-max-width, 495.054px),
        calc(var(--anecdote-media-max-height, 623.08px) * var(--anecdote-media-ratio, 1))
    );
    height: auto;
    margin: 0;
    overflow: hidden;
    scroll-snap-align: start;
}

.anecdote-dialog__slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.anecdote-dialog__details {
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
}

.anecdote-dialog__figure {
    position: absolute;
    top: 436.906px;
    left: 67.5076vw;
}

.anecdote-dialog__title-block {
    position: absolute;
    top: 436.906px;
    left: 77.7065vw;
}

.anecdote-dialog__title-block p {
    margin: 0 0 3px;
}

.anecdote-dialog__title-block h2 {
    width: 260px;
    margin: 0;
    font-family: var(--font-serif);
    font-size: 24.73px;
    font-weight: 250;
    line-height: 1;
}

.anecdote-dialog__deck {
    position: absolute;
    top: 502.476px;
    left: 59.4126vw;
    width: min(540.431px, 38vw);
    margin: 0;
    font-family: var(--font-serif);
    font-size: 24.73px;
    font-style: italic;
    font-weight: 250;
    line-height: 1;
}

.anecdote-dialog__body {
    position: absolute;
    top: 629.046px;
    left: 70.7006vw;
    width: min(377.885px, 27vw);
    font-size: 14.73px;
    line-height: 1.1;
}

.anecdote-dialog__body p {
    margin: 0 0 1.1em;
}

.anecdote-dialog__caption {
    position: absolute;
    z-index: 2;
    top: 777.046px;
    left: 6.0247vw;
    width: 225.166px;
    margin: 0;
    font-size: 14.73px;
    line-height: 1.1;
}

.anecdote-dialog__date {
    position: absolute;
    z-index: 2;
    top: 829.046px;
    left: 6.0247vw;
}

.anecdotes-empty {
    min-height: 70vh;
    margin: 0;
    padding: 80px var(--gutter);
}

.site-footer {
    display: grid;
    grid-template-columns: minmax(280px, 30%) minmax(0, 1fr) 120px;
    min-height: 500px;
    padding: 41px 40px 31px;
    gap: clamp(48px, 8vw, 145px);
    background: var(--footer-bg);
    color: var(--footer-fg);
}

.site-footer__image {
    min-width: 0;
    align-self: start;
}

.site-footer__image img {
    width: 100%;
    height: 418px;
    object-fit: cover;
}

.site-footer__main {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

.site-footer__nav {
    display: flex;
    gap: clamp(28px, 4vw, 62px);
    font-family: var(--font-serif);
    font-size: 32px;
    font-weight: 250;
    line-height: 1;
}

.site-footer__nav a {
    text-decoration: none;
}

.site-footer__projects {
    align-self: center;
}

.site-footer__projects ul {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.site-footer__projects a {
    font-family: var(--font-serif);
    font-size: 32px;
    font-weight: 250;
    line-height: 1.2;
    text-decoration: none;
    transition: color 220ms ease;
}

.site-footer__projects a.is-current,
.site-footer__projects a:is(:hover, :focus-visible) {
    color: var(--footer-accent);
    font-style: italic;
    text-decoration: none;
}

.site-footer__nav a:is(:hover, :focus-visible),
.site-footer__social a:is(:hover, :focus-visible) {
    color: var(--footer-accent);
}

.site-footer__copyright {
    margin: 0;
    color: var(--footer-accent);
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.site-footer__aside {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}

.site-footer__monogram {
    width: 59px;
    height: 79px;
    background: var(--footer-fg);
    -webkit-mask: url("../images/footer-monogram.png") center / contain no-repeat;
    mask: url("../images/footer-monogram.png") center / contain no-repeat;
}

:is(.route-home, .route-anecdotes, .route-contact) .site-footer__monogram {
    background: url("../images/footer-monogram.png") center / contain no-repeat;
    -webkit-mask: none;
    mask: none;
}

.site-footer__social {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.site-footer__social .eyebrow {
    margin-bottom: 9px;
    color: var(--footer-accent);
}

.site-footer__social a {
    text-decoration: none;
}

@media (min-width: 1101px) {
    .site-footer {
        grid-template-columns: repeat(9, minmax(0, 1fr));
        min-height: 500px;
        padding: 0 var(--gutter);
        column-gap: var(--editorial-grid-gap);
        row-gap: 0;
    }

    .site-footer__image {
        grid-column: 1 / span 3;
        grid-row: 1;
        width: calc(100% - 45.687px);
        height: 417.766px;
        margin-top: 41.45px;
    }

    .site-footer__image img {
        height: 100%;
    }

    .site-footer__main {
        display: block;
        grid-column: 6 / span 3;
        grid-row: 1;
        height: 500px;
    }

    .site-footer__nav {
        position: absolute;
        top: 36.79px;
        left: 0;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        gap: var(--editorial-grid-gap);
    }

    .site-footer__projects {
        position: absolute;
        top: 152.25px;
        left: 0;
    }

    .site-footer__projects ul {
        margin-top: 9.1px;
    }

    .site-footer__copyright {
        position: absolute;
        top: 449.21px;
        left: 0;
        width: 382px;
        line-height: 1;
    }

    .site-footer__aside {
        position: relative;
        display: block;
        grid-column: 9;
        grid-row: 1;
        height: 500px;
    }

    .site-footer__monogram {
        position: absolute;
        top: 25.45px;
        right: 5.842px;
    }

    .site-footer__social {
        position: absolute;
        top: 380.01px;
        left: 55.922%;
    }
}

.fallback-main {
    min-height: 55vh;
    padding: calc(100px + var(--header-height)) var(--gutter) 100px;
}

.fallback-main h1 {
    max-width: 800px;
    margin: 0 0 28px;
    font-family: var(--font-serif);
    font-size: clamp(52px, 8vw, 110px);
    font-weight: 250;
    line-height: 0.95;
}

@media (max-width: 1100px) {
    :root {
        --gutter: 28px;
    }

    .site-header {
        grid-template-columns: 145px minmax(0, 1fr) 145px;
    }

    .site-nav {
        gap: 24px;
        font-size: 14px;
    }

    .project-card__media {
        height: 42vw;
        max-height: 500px;
    }

    .project-card--2 .project-card__media {
        height: 28vw;
        max-height: 350px;
    }

    .project-card__heading {
        grid-template-columns: 58px 1fr;
        gap: 14px;
    }

    .project-card__deck {
        width: calc(100% - 70px);
        margin-left: 70px;
    }

    .about-overview__intro {
        width: 58vw;
    }

    .about-overview__bio {
        left: 22vw;
        width: 34vw;
    }

    .about-overview__perspective {
        left: var(--gutter);
        width: 55vw;
    }

    .about-overview__portrait-shell {
        --about-media-height: 44.743vw;
        right: var(--gutter);
        width: 34vw;
    }

    .about-experience__list {
        width: 74vw;
    }

    .project-hero {
        min-height: 58vw;
    }

    .project-bts__grid {
        grid-auto-rows: auto;
        min-height: 0;
        padding-top: 44px;
        gap: 48px 18px;
    }

    .credit {
        grid-column: span 6;
    }

    .site-footer {
        grid-template-columns: minmax(240px, 34%) minmax(0, 1fr) 85px;
        gap: 42px;
    }

    .site-footer__nav,
    .site-footer__projects a {
        font-size: 26px;
    }

    .anecdotes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-rows: 690px;
        width: calc(100% - 56px);
        margin-left: 28px;
    }

    .anecdote-card,
    .anecdote-card:nth-child(3n + 2),
    .anecdote-card:nth-child(3n + 3),
    .anecdote-card:nth-child(n + 4) {
        border: 0;
    }

    .anecdote-card:nth-child(even) {
        border-left: 1px solid var(--color-olive);
    }

    .anecdote-card:nth-child(n + 3) {
        border-top: 1px solid var(--color-olive);
    }

    .anecdote-dialog__figure {
        left: 65vw;
    }

    .anecdote-dialog__title-block {
        left: 76vw;
    }

    .anecdote-dialog__deck {
        left: 58vw;
    }

    .anecdote-dialog__body {
        left: 66vw;
        width: 31vw;
    }
}

@media (max-width: 800px) {
    :root {
        --gutter: 22px;
        --header-height: 90px;
    }

    html,
    body {
        height: 100%;
        overflow: hidden;
        overscroll-behavior: none;
    }

    .site-scrollport {
        width: 100%;
        height: 100vh;
        height: 100svh;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        touch-action: pan-y pinch-zoom;
    }

    body.nav-open .site-scrollport,
    body.anecdote-open .site-scrollport {
        overflow: hidden;
    }

    body.admin-bar .site-scrollport {
        height: calc(100vh - 46px);
        height: calc(100svh - 46px);
    }

    .site-header {
        --mobile-menu-bg: var(--color-ink);
        --mobile-menu-fg: var(--color-pink);
        --mobile-menu-active: var(--color-cream);
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 12px;
        align-items: center;
        height: var(--header-height);
        min-height: var(--header-height);
        padding: 0 18px;
    }

    .site-header--about {
        --mobile-menu-bg: var(--color-burgundy);
        --mobile-menu-fg: var(--color-pink);
        --mobile-menu-active: var(--color-cream);
    }

    .site-header--anecdotes {
        --mobile-menu-bg: var(--color-olive);
        --mobile-menu-fg: var(--color-pink);
        --mobile-menu-active: var(--color-mint);
    }

    .wordmark {
        height: 44px;
    }

    .wordmark--grace,
    .wordmark--sunny {
        display: none;
    }

    .wordmark--full {
        display: block;
        grid-column: 1;
        grid-row: 1;
        width: clamp(210px, 31vw, 240px);
        height: 44px;
        justify-self: start;
    }

    .wordmark__asset {
        width: 100%;
        height: 100%;
    }

    .wordmark--full .wordmark__asset {
        object-position: left center;
    }

    .nav-toggle {
        position: relative;
        z-index: 2;
        grid-column: 2;
        grid-row: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 64px;
        min-height: 44px;
        padding: 0;
        border: 0;
        background: transparent;
        color: inherit;
        font-family: var(--font-mono);
        font-size: 11px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        justify-self: end;
        transform: none;
        cursor: pointer;
    }

    .site-nav {
        position: fixed;
        z-index: 1;
        inset: var(--header-height) 0 auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0;
        max-height: calc(100vh - var(--header-height));
        max-height: calc(100svh - var(--header-height));
        visibility: hidden;
        padding: 12px var(--gutter) 18px;
        overflow-y: auto;
        border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent);
        border-bottom: 1px solid color-mix(in srgb, currentColor 22%, transparent);
        opacity: 0;
        background: var(--mobile-menu-bg);
        color: var(--mobile-menu-fg);
        box-shadow: 0 18px 28px rgba(0, 28, 34, 0.08);
        font-size: 24px;
        line-height: 1;
        pointer-events: none;
        transition: opacity 240ms ease, visibility 0s linear 240ms;
    }

    .site-nav__item {
        width: 100%;
        padding: 12px 0 11px;
        border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
    }

    .site-nav__item:last-child {
        border-bottom: 0;
    }

    .nav-open .site-nav {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transition-delay: 0s;
    }

    .nav-open .site-header {
        position: fixed;
        inset: 0 0 auto;
        width: 100%;
        background: var(--mobile-menu-bg);
        color: var(--mobile-menu-fg);
    }

    .nav-open .site-header .wordmark__asset {
        filter: brightness(0) saturate(100%) invert(94%) sepia(7%) saturate(546%) hue-rotate(291deg) brightness(103%) contrast(94%);
    }

    .nav-open .site-header--overlay {
        color: var(--mobile-menu-fg);
    }

    .nav-open .site-nav__item.is-current {
        color: var(--mobile-menu-active);
    }

    .about-story {
        display: flex;
        flex-direction: column;
        min-height: 0;
        padding: 44px var(--gutter) 90px;
        gap: 90px;
    }

    .about-story__chapter {
        position: static;
        width: auto;
    }

    .about-story__chapter--about {
        display: flex;
        flex-direction: column;
        height: auto;
        gap: 54px;
    }

    .about-overview__details {
        display: contents;
    }

    .about-overview__intro,
    .about-overview__bio,
    .about-overview__links,
    .about-overview__perspective {
        position: static;
        width: auto;
    }

    .about-overview__intro h1 {
        font-size: clamp(25px, 4.6vw, 36px);
    }

    .about-overview__bio {
        width: min(78%, 520px);
        margin-left: auto;
        font-size: 16px;
    }

    .about-overview__links {
        grid-template-columns: 1fr 1fr;
        margin-top: 0;
        margin-left: 12%;
    }

    .about-story__media-shell {
        display: none;
    }

    .about-story__mobile-media {
        display: block;
        width: auto;
        margin: 12px calc(var(--gutter) * -1) 0 18%;
    }

    .about-overview__perspective {
        display: flex;
        flex-direction: column;
    }

    .about-overview__perspective-copy {
        font-size: clamp(24px, 4.7vw, 34px);
    }

    .about-experience {
        min-height: 0;
        padding: 0;
    }

    .about-experience__list {
        width: 100%;
        gap: 66px;
    }

    .about-experience__item {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    }

    .about-experience__summary {
        grid-column: 2;
    }

    .about-experience__dates {
        grid-column: 1;
        grid-row: 2;
    }

    .about-experience .about-story__mobile-media {
        margin-top: 54px;
    }

    .about-film {
        padding: var(--gutter);
    }

    .selected-work {
        padding-top: 44px;
    }

    .selected-work__grid {
        grid-template-columns: 1fr;
        width: 100%;
        margin-left: 0;
        gap: 65px;
    }

    .project-card--2 {
        margin-top: 0;
    }

    .project-card__media,
    .project-card--2 .project-card__media {
        width: 100%;
        height: auto;
        max-height: none;
        aspect-ratio: 4 / 3;
    }

    .project-card--2 .project-card__media {
        aspect-ratio: 16 / 9;
    }

    .project-card__heading {
        grid-template-columns: 52px 1fr;
        margin-top: 15px;
    }

    .project-card__title {
        font-size: 27px;
    }

    .project-card__deck {
        width: calc(100% - 66px);
        margin: 20px 0 0 66px;
        font-size: 16px;
        line-height: 1.12;
    }

    .selected-work__grid > .project-card:nth-child(even) .project-card__deck {
        width: calc(100% - 66px);
        margin-left: 66px;
    }

    .project-hero {
        min-height: 82svh;
    }

    .project-hero__title {
        bottom: 145px;
        max-width: calc(100% - 44px);
        font-size: clamp(56px, 14vw, 94px);
    }

    .project-hero__meta {
        right: auto;
        bottom: 32px;
        left: var(--gutter);
        width: calc(100% - 44px);
    }

    .project-hero__meta p:last-child {
        max-width: 480px;
        font-size: 16px;
    }

    .project-intro {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-top: 64px;
        column-gap: 0;
        row-gap: 60px;
    }

    .project-intro__lead,
    .project-intro__summary {
        grid-column: 1;
        width: 100%;
    }

    .project-intro__summary {
        max-width: 520px;
        margin-left: auto;
        font-size: 16px;
        line-height: 1.2;
    }

    .project-video {
        padding-top: 18px;
        padding-bottom: 80px;
    }

    .project-bts {
        padding-bottom: 80px;
    }

    .project-bts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
        min-height: 0;
        padding-top: 44px;
        gap: 48px 18px;
    }

    .project-bts__item,
    .project-bts__item--1,
    .project-bts__item--2,
    .project-bts__item--3,
    .project-bts__item--4,
    .project-bts__item--5,
    .project-bts__item--6,
    .project-bts__item--7,
    .project-bts__item--8 {
        grid-column: auto;
        grid-row: auto;
    }

    .project-bts__item,
    .project-bts__item:nth-child(3n + 1) {
        width: 100%;
        margin-left: 0;
    }

    .project-bts[data-layout="grid"] .project-bts__media {
        aspect-ratio: auto;
        overflow: visible;
    }

    .project-bts[data-layout="grid"] .project-bts__item img {
        width: 100%;
        height: auto;
        max-height: 62svh;
        object-position: left top;
    }

    .credits-group__items {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        padding-right: 0;
        padding-left: 0;
    }

    .credit {
        grid-column: span 6;
    }

    .related-work__grid {
        grid-template-columns: 1fr;
        gap: 66px;
    }

    .site-footer {
        grid-template-columns: minmax(0, 1fr) 84px;
        min-height: 100svh;
        padding: 24px 22px 28px;
        gap: 36px 24px;
    }

    .site-footer__image {
        grid-column: 1 / -1;
    }

    .site-footer__image img {
        height: min(52svh, 480px);
    }

    .site-footer__main {
        min-height: 390px;
    }

    .site-footer__nav {
        flex-wrap: wrap;
        font-size: 25px;
    }

    .site-footer__projects a {
        font-size: 25px;
    }

    .site-footer__copyright {
        max-width: 280px;
        line-height: 1.35;
    }

    .anecdotes-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 650px;
        width: calc(100% - (var(--gutter) * 2));
        margin-left: var(--gutter);
    }

    .anecdote-card,
    .anecdote-card:nth-child(even),
    .anecdote-card:nth-child(n + 3) {
        border: 0;
    }

    .anecdote-card:nth-child(n + 2) {
        border-top: 1px solid var(--color-olive);
    }

    .anecdote-card__heading {
        top: 24px;
        left: 0;
        grid-template-columns: 82px minmax(0, 1fr);
        width: 100%;
    }

    .anecdote-card__title {
        font-size: 26px;
    }

    .anecdote-card__media,
    .anecdote-card--1 .anecdote-card__media,
    .anecdote-card--2 .anecdote-card__media,
    .anecdote-card--3 .anecdote-card__media,
    .anecdote-card--4 .anecdote-card__media,
    .anecdote-card--5 .anecdote-card__media,
    .anecdote-card--6 .anecdote-card__media,
    .anecdote-card--7 .anecdote-card__media,
    .anecdote-card--8 .anecdote-card__media,
    .anecdote-card--9 .anecdote-card__media,
    .anecdote-card--10 .anecdote-card__media,
    .anecdote-card--11 .anecdote-card__media,
    .anecdote-card--12 .anecdote-card__media {
        top: 105px;
        left: 50%;
        width: min(82%, 380px);
        height: 330px;
        transform: translateX(-50%);
    }

    .anecdote-card__copy,
    .anecdote-card--1 .anecdote-card__copy,
    .anecdote-card--2 .anecdote-card__copy,
    .anecdote-card--3 .anecdote-card__copy,
    .anecdote-card--4 .anecdote-card__copy,
    .anecdote-card--5 .anecdote-card__copy,
    .anecdote-card--6 .anecdote-card__copy,
    .anecdote-card--7 .anecdote-card__copy,
    .anecdote-card--8 .anecdote-card__copy,
    .anecdote-card--9 .anecdote-card__copy,
    .anecdote-card--10 .anecdote-card__copy,
    .anecdote-card--11 .anecdote-card__copy,
    .anecdote-card--12 .anecdote-card__copy {
        top: 472px;
        left: 0;
        width: 100%;
        font-size: 15px;
    }

    .anecdote-dialog__panel {
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .anecdote-dialog {
        height: calc(100vh - var(--header-height));
        height: calc(100svh - var(--header-height));
    }

    .anecdote-dialog__close {
        position: sticky;
        top: 20px;
        float: right;
        margin-right: 18px;
    }

    .anecdote-dialog__track {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: 52svh;
        min-height: 380px;
        padding-top: 54px;
        clear: both;
    }

    .anecdote-dialog__rail {
        height: calc(100% - 54px);
        padding: 0 72px 22px 0;
        gap: 18px;
    }

    .anecdote-dialog__slide {
        width: min(
            var(--anecdote-media-max-width, min(76vw, 495px)),
            calc(var(--anecdote-media-max-height, 100%) * var(--anecdote-media-ratio, 1))
        );
        height: auto;
    }

    .anecdote-dialog__details {
        position: relative;
        inset: auto;
        display: grid;
        grid-template-columns: 82px minmax(0, 1fr);
        padding: 30px 18px 0;
    }

    .anecdote-dialog__figure,
    .anecdote-dialog__title-block,
    .anecdote-dialog__deck,
    .anecdote-dialog__body {
        position: static;
        width: auto;
    }

    .anecdote-dialog__title-block h2 {
        width: auto;
        font-size: 27px;
    }

    .anecdote-dialog__deck {
        grid-column: 1 / -1;
        margin-top: 46px;
        font-size: 27px;
    }

    .anecdote-dialog__body {
        grid-column: 1 / -1;
        margin-top: 34px;
        font-size: 16px;
    }

    .anecdote-dialog__caption,
    .anecdote-dialog__date {
        position: static;
        width: auto;
        margin: 26px 18px 0;
    }

    .anecdote-dialog__date {
        padding-bottom: 42px;
    }
}

@media (max-width: 520px) {
    :root {
        --gutter: 16px;
    }

    body {
        font-size: 16px;
    }

    .site-header {
        grid-template-columns: minmax(0, 1fr) auto;
        padding-right: var(--gutter);
        padding-left: var(--gutter);
    }

    .wordmark {
        width: 84px;
        height: 40px;
    }

    .wordmark--full {
        width: min(210px, calc(100vw - 130px));
        height: 44px;
    }

    .wordmark__asset {
        width: 100%;
    }

    .about-story {
        padding-top: 34px;
        padding-bottom: 72px;
        gap: 76px;
    }

    .about-story__chapter--about {
        gap: 44px;
    }

    .about-overview__intro h1 {
        font-size: 26px;
    }

    .about-overview__bio {
        width: 88%;
        font-size: 15px;
    }

    .about-overview__links {
        margin-left: 0;
        gap: 24px;
    }

    .about-story__mobile-media {
        margin-right: calc(var(--gutter) * -1);
        margin-left: 9%;
    }

    .about-overview__perspective-copy {
        font-size: 25px;
    }

    .about-experience {
        padding-bottom: 0;
    }

    .about-experience__item {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .about-experience__item h3,
    .about-experience__organization,
    .about-experience__summary,
    .about-experience__dates {
        grid-column: 1;
        grid-row: auto;
    }

    .about-experience__organization {
        margin-top: -18px !important;
    }

    .about-film {
        padding: 0;
    }

    .about-film__placeholder,
    .about-film__poster,
    .about-film__embed {
        aspect-ratio: 16 / 9;
    }

    .selected-work {
        padding-bottom: 72px;
    }

    .selected-work__grid {
        gap: 65px;
    }

    .project-card__heading {
        grid-template-columns: 42px 1fr;
        gap: 10px;
    }

    .project-card__type {
        font-size: 10px;
    }

    .project-card__title {
        font-size: 25px;
    }

    .project-card__deck {
        width: calc(100% - 52px);
        margin-left: 52px;
        font-size: 15px;
        line-height: 1.15;
    }

    .project-hero {
        min-height: 100svh;
    }

    .project-hero__image {
        object-position: var(--project-hero-portrait-position-x, 59%) var(--project-hero-portrait-position-y, 50%);
    }

    .project-hero__title {
        left: var(--gutter);
        bottom: 168px;
        font-size: clamp(54px, 17vw, 74px);
    }

    .project-hero__meta {
        width: calc(100% - 32px);
    }

    .project-intro {
        padding: 54px var(--gutter) 66px;
    }

    .project-intro__deck {
        font-size: 24px;
    }

    .project-video,
    .project-bts {
        padding-right: var(--gutter);
        padding-left: var(--gutter);
    }

    .project-video__preview img,
    .project-video__embed iframe {
        aspect-ratio: 16 / 9;
    }

    .project-bts__grid {
        display: flex;
        flex-direction: column;
        gap: 48px;
    }

    .project-bts__item,
    .project-bts__item:nth-child(3n + 1) {
        width: 100%;
    }

    .project-bts__item:nth-child(even) {
        width: 100%;
        margin-left: 0;
    }

    .project-credits {
        padding-right: var(--gutter);
        padding-left: var(--gutter);
    }

    .credits-group {
        padding-right: 0;
        padding-left: 0;
    }

    .credits-group__items {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 28px;
        padding-top: 40px;
    }

    .credit {
        grid-column: 1 / -1;
    }

    .related-work {
        padding-right: 0;
        padding-left: 0;
    }

    .related-work .section-rule {
        margin: 0 var(--gutter);
        padding-right: 0;
        padding-left: 0;
    }

    .related-work__grid {
        padding: 36px var(--gutter) 0;
    }

    .related-work .project-card__title {
        font-size: 27px;
    }

    .site-footer {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .site-footer__image {
        grid-column: auto;
    }

    .site-footer__main {
        min-height: 420px;
    }

    .site-footer__nav {
        gap: 18px;
        font-size: 23px;
    }

    .site-footer__aside {
        flex-direction: row-reverse;
        align-items: flex-end;
    }

    .anecdotes-grid {
        grid-auto-rows: 610px;
    }

    .anecdote-card__title {
        font-size: 24px;
    }

    .anecdote-card__media,
    .anecdote-card--1 .anecdote-card__media,
    .anecdote-card--2 .anecdote-card__media,
    .anecdote-card--3 .anecdote-card__media,
    .anecdote-card--4 .anecdote-card__media,
    .anecdote-card--5 .anecdote-card__media,
    .anecdote-card--6 .anecdote-card__media,
    .anecdote-card--7 .anecdote-card__media,
    .anecdote-card--8 .anecdote-card__media,
    .anecdote-card--9 .anecdote-card__media,
    .anecdote-card--10 .anecdote-card__media,
    .anecdote-card--11 .anecdote-card__media,
    .anecdote-card--12 .anecdote-card__media {
        height: 300px;
    }

    .anecdote-card__copy,
    .anecdote-card--1 .anecdote-card__copy,
    .anecdote-card--2 .anecdote-card__copy,
    .anecdote-card--3 .anecdote-card__copy,
    .anecdote-card--4 .anecdote-card__copy,
    .anecdote-card--5 .anecdote-card__copy,
    .anecdote-card--6 .anecdote-card__copy,
    .anecdote-card--7 .anecdote-card__copy,
    .anecdote-card--8 .anecdote-card__copy,
    .anecdote-card--9 .anecdote-card__copy,
    .anecdote-card--10 .anecdote-card__copy,
    .anecdote-card--11 .anecdote-card__copy,
    .anecdote-card--12 .anecdote-card__copy {
        top: 438px;
    }
}

/* Persistent shell, media stability, and fluid editorial layout. */

:root {
    --footer-height: 500px;
    --media-placeholder: transparent;
}

.site-scrollport {
    position: relative;
}

.site-main {
    position: relative;
    z-index: 2;
    min-height: 100svh;
}

.home-main,
.fallback-main,
.project-main {
    background: var(--color-cream);
}

.about-page {
    background: var(--color-burgundy);
}

.anecdotes-page {
    background: var(--color-pink);
}

.site-footer-spacer {
    position: relative;
    height: var(--footer-height);
    pointer-events: none;
}

.site-footer {
    position: fixed;
    z-index: 0;
    inset: auto 0 0;
    width: 100%;
    height: var(--footer-height);
}

.has-ajax-navigation [data-site-transition-layer] {
    opacity: 1;
    transition: opacity var(--route-transition-duration) var(--route-transition-easing);
    will-change: opacity;
}

.is-ajaxing [data-site-transition-layer] {
    opacity: 0;
    pointer-events: none;
}

.project-card__media,
.project-hero,
.project-video__preview,
.project-bts__item,
.about-overview__portrait,
.about-film__poster,
.anecdote-card__media,
.anecdote-dialog__slide,
.site-footer__image {
    background-color: transparent;
}

.has-ajax-navigation :is(
    .project-card__media,
    .project-video__preview,
    .project-bts__item,
    .about-overview__portrait,
    .about-film__poster,
    .anecdote-card__media,
    .anecdote-dialog__slide
) > img[loading="lazy"] {
    opacity: 0;
    transition: opacity 320ms ease;
}

.has-ajax-navigation :is(
    .project-card__media,
    .project-video__preview,
    .project-bts__item,
    .about-overview__portrait,
    .about-film__poster,
    .anecdote-card__media,
    .anecdote-dialog__slide
).is-media-loaded > img[loading="lazy"] {
    opacity: 1;
}

.has-ajax-navigation .project-card__media > img[loading="lazy"] {
    transition:
        opacity 320ms ease,
        transform var(--media-zoom-duration) var(--media-zoom-easing),
        filter 300ms ease;
}

html.intro-boot,
html.intro-entering,
html.intro-boot body,
html.intro-entering body {
    overflow: hidden;
}

.intro-boot .home .site-header,
.intro-entering .route-home .site-header {
    opacity: 0;
    pointer-events: none;
}

.route-home:not(.nav-open) .site-header {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
    background: color-mix(in srgb, var(--color-cream) 96%, transparent);
    transition: opacity 160ms ease, background-color 240ms ease;
}

.home-intro__mark {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    transform-origin: top left;
    will-change: opacity, transform;
}

.home-intro__word {
    opacity: 0;
}

.intro-boot .home-intro__logo {
    opacity: 0;
}

.intro-motion-enabled .home-intro__logo {
    position: fixed;
    opacity: 0;
}

.intro-motion-enabled .home-intro__logo.is-ready {
    animation: intro-logo-in 550ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.intro-motion-enabled .route-home .site-header {
    transition: opacity 420ms ease, background-color 240ms ease;
}

.intro-motion-enabled .route-home .site-header .wordmark__asset {
    opacity: 0;
}

.intro-motion-enabled .route-home .home-main .selected-work {
    margin-top: -94svh;
    opacity: 1;
}

.home-selected-entry .home-intro {
    display: none;
}

.home-selected-entry .route-home .home-main .selected-work {
    margin-top: 0;
    opacity: 1;
}

.home-intro__item {
    transform: rotate(var(--intro-rotate)) translate3d(0, var(--intro-float-y, 0px), 0);
}

@keyframes intro-logo-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (min-width: 1101px) {
    .selected-work__grid {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 666.608fr) minmax(0, 663.467fr);
        column-gap: 33.066px;
        row-gap: 65px;
        width: 100%;
        height: auto;
        margin-left: 0;
        aspect-ratio: auto;
    }

    .selected-work__grid > .project-card {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        margin: 0;
    }

    .selected-work__grid > .project-card--1 {
        grid-column: 1;
        grid-row: 1;
    }

    .selected-work__grid > .project-card--2 {
        grid-column: 2;
        grid-row: 1;
        margin-top: calc(14.88vw - 11.904px);
    }

    .selected-work__grid > .project-card--3 {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .selected-work__grid > .project-card--4 {
        grid-column: 2;
        grid-row: 3;
    }

    .selected-work__grid > .project-card--5 {
        grid-column: 1;
        grid-row: 4;
        margin-top: calc(14.97vw - 11.976px);
    }

    .selected-work__grid > .project-card--6 {
        grid-column: 2;
        grid-row: 4;
    }

    .project-card__media,
    .project-card--2 .project-card__media,
    .project-card--3 .project-card__media,
    .project-card--4 .project-card__media,
    .project-card--5 .project-card__media,
    .project-card--6 .project-card__media {
        height: auto;
    }

    .project-card--1 .project-card__media {
        aspect-ratio: 666.608 / 579.756;
    }

    .project-card--2 .project-card__media,
    .project-card--5 .project-card__media {
        aspect-ratio: 663.467 / 375.641;
    }

    .project-card--3 .project-card__media {
        aspect-ratio: 1360 / 579.756;
    }

    .project-card--4 .project-card__media,
    .project-card--6 .project-card__media {
        aspect-ratio: 663.467 / 579.756;
    }

    .project-card__heading {
        grid-template-columns: 11.4% minmax(0, 1fr);
        gap: 3.45%;
    }

    .project-card__deck,
    .selected-work__grid > .project-card:nth-child(even) .project-card__deck {
        width: 80.8%;
        margin-left: 14%;
    }

    .project-card--3 .project-card__heading {
        grid-template-columns: 4.42% minmax(0, 1fr);
        gap: 1.31%;
        margin-left: 0.91%;
    }

    .project-card--3 .project-card__deck {
        width: 82%;
        margin-left: 6.63%;
    }

    .about-story {
        min-height: 1471px;
    }

    .about-overview__intro {
        width: 51.313vw;
    }

    .about-overview__bio {
        width: 28.671vw;
    }

    .about-overview__perspective {
        width: 47.194vw;
    }

    .about-overview__portrait-shell {
        --about-media-height: min(40.307vw, calc(100svh - var(--header-height) - var(--about-media-top-gap) - var(--about-media-bottom-gap)));
        width: 30.625vw;
    }

    .about-story__media-stage {
        height: var(--about-media-height);
    }

    .about-experience__list {
        width: 52.778vw;
    }

    .anecdotes-grid {
        grid-template-columns: 32.816% 33.592% 33.592%;
        grid-template-rows: 24.875% 24.369% 25.491% 25.265%;
        width: 95.253%;
        height: auto;
        margin-left: 2.668%;
        aspect-ratio: 1371.644 / 2832.45;
    }

    .anecdote-card__heading {
        top: 4.03%;
        left: 3.25%;
        grid-template-columns: 27.3% minmax(0, 1fr);
        width: 93.5%;
    }

    .anecdote-card__media {
        left: 50%;
        height: auto;
        transform: translateX(-50%);
    }

    .anecdote-card__copy {
        left: 50%;
        width: 82%;
        transform: translateX(-50%);
    }

    .anecdote-card--1 { --archive-media-top: 13.288%; --archive-media-width: 73.193%; --archive-copy-top: 55.354%; }
    .anecdote-card--2 { --archive-media-top: 14.268%; --archive-media-width: 63.743%; --archive-copy-top: 71.676%; }
    .anecdote-card--3 { --archive-media-top: 13.484%; --archive-media-width: 65.54%; --archive-copy-top: 69.973%; }
    .anecdote-card--4 { --archive-media-top: 25.089%; --archive-media-width: 72.885%; --archive-copy-top: 82.58%; }
    .anecdote-card--5 { --archive-media-top: 15.481%; --archive-media-width: 54.83%; --archive-copy-top: 76.205%; }
    .anecdote-card--6 { --archive-media-top: 14.617%; --archive-media-width: 81.786%; --archive-copy-top: 56.357%; }
    .anecdote-card--7 { --archive-media-top: 20.291%; --archive-media-width: 81.304%; --archive-copy-top: 59.28%; }
    .anecdote-card--8 { --archive-media-top: 3.924%; --archive-media-width: 87.968%; --archive-copy-top: 78.67%; }
    .anecdote-card--9 { --archive-media-top: 14.318%; --archive-media-width: 62.545%; --archive-copy-top: 67.59%; }
    .anecdote-card--10 { --archive-media-top: 14.812%; --archive-media-width: 69.974%; --archive-copy-top: 72.661%; }
    .anecdote-card--11 { --archive-media-top: 16.369%; --archive-media-width: 70.823%; --archive-copy-top: 59.526%; }
    .anecdote-card--12 { --archive-media-top: 19.067%; --archive-media-width: 88.449%; --archive-copy-top: 69.867%; }

    .anecdote-card--1 .anecdote-card__media { aspect-ratio: 1.25091; }
    .anecdote-card--2 .anecdote-card__media { aspect-ratio: 0.80134; }
    .anecdote-card--3 .anecdote-card__media { aspect-ratio: 0.83657; }
    .anecdote-card--4 .anecdote-card__media { aspect-ratio: 0.91671; }
    .anecdote-card--5 .anecdote-card__media { aspect-ratio: 0.66299; }
    .anecdote-card--6 .anecdote-card__media { aspect-ratio: 1.51615; }
    .anecdote-card--7 .anecdote-card__media { aspect-ratio: 1.76623; }
    .anecdote-card--8 .anecdote-card__media { aspect-ratio: 0.80586; }
    .anecdote-card--9 .anecdote-card__media { aspect-ratio: 0.8283; }
    .anecdote-card--10 .anecdote-card__media { aspect-ratio: 0.87258; }
    .anecdote-card--11 .anecdote-card__media { aspect-ratio: 1.25818; }
    .anecdote-card--12 .anecdote-card__media { aspect-ratio: 1.31035; }

    .anecdote-card--11 .anecdote-card__media {
        transform: translateX(-50%) rotate(0.78deg);
    }
}

.anecdote-dialog__track {
    width: min(576px, 58vw);
    overflow: visible;
    touch-action: pan-y;
}

.anecdote-dialog__rail {
    width: auto;
    min-width: 100%;
    padding: 36.137px 0 35px;
    gap: 0;
}

.anecdote-dialog__slide {
    background: color-mix(in srgb, var(--color-overlay-olive) 78%, #fff 22%);
}

.anecdote-dialog__slide img {
    background: inherit;
}

@media (max-width: 800px) {
    :root {
        --footer-height: 100svh;
    }

    html.intro-entering .site-scrollport,
    html.intro-boot .site-scrollport {
        overflow: hidden;
    }

    .site-footer-spacer {
        display: none;
    }

    .site-footer {
        position: relative;
        z-index: 2;
        inset: auto;
        height: auto;
        min-height: 100svh;
        overflow: visible;
    }

    .anecdote-dialog__rail {
        padding: 0 0 22px;
        gap: 0;
    }

    .anecdote-dialog__track {
        width: 100%;
    }

    .route-home:not(.nav-open) .site-header {
        background: var(--color-cream);
    }

    .intro-motion-enabled .route-home .home-main .selected-work {
        margin-top: calc(-90svh - 32px);
    }

    .site-nav {
        inset: var(--header-height) 0 0;
        align-items: center;
        justify-content: center;
        gap: clamp(2px, 1.5svh, 12px);
        min-height: calc(100svh - var(--header-height));
        max-height: none;
        padding: 0 var(--gutter) calc(var(--header-height) * 0.55);
        overflow-y: auto;
        border-bottom: 0;
        box-shadow: none;
        font-family: var(--font-serif);
        font-size: clamp(34px, 7vw, 46px);
        font-weight: 250;
        line-height: 1.2;
        letter-spacing: 0.01em;
        text-align: center;
    }

    .site-nav__item {
        width: auto;
        padding: 3px 0;
        border-bottom: 0;
    }
}

@media (min-width: 801px) {
    .about-story {
        --about-content-width: 58vw;
    }

    .about-story__chapter--about {
        inset: 0 auto auto var(--gutter);
        width: var(--about-content-width);
    }

    .about-overview__intro {
        left: 0;
        width: 100%;
    }

    .about-overview__bio {
        width: 58.62%;
        margin-left: 33.21%;
    }

    .about-overview__links {
        display: block;
        height: 80.953px;
        margin-left: 18.75%;
    }

    .about-overview__links > div:first-child {
        position: absolute;
        top: 0;
        left: 0;
    }

    .about-overview__follow {
        position: absolute;
        top: 0;
        left: 17.8%;
    }

    .about-overview__perspective {
        left: var(--gutter);
        width: 55vw;
    }

    .about-experience {
        top: 1071.96px;
        height: 399.04px;
        min-height: 0;
        padding: 0 var(--gutter);
    }

    .about-experience__list {
        width: 74vw;
        margin-top: 23.33px;
        gap: 71.2px;
    }

    .about-experience__item {
        align-items: start;
        grid-template-columns: 37.716% 3.416% 38.469% 7.948% 12.451%;
        gap: 0;
    }

    .about-experience__item h3,
    .about-experience__organization {
        font-family: var(--font-serif);
        font-size: 15.73px;
        font-weight: 300;
        line-height: 1.15;
    }

    .about-experience__organization {
        margin-top: 1.15em !important;
    }

    .about-experience__summary {
        grid-column: 3;
        width: 100%;
        font-size: 14.73px;
        line-height: 1;
    }

    .about-experience__item:first-child .about-experience__summary {
        width: 84.22%;
    }

    .about-experience__dates {
        grid-column: 5;
    }
}

@media (min-width: 1101px) {
    .about-story {
        --about-content-width: 51.875vw;
    }

    .about-overview__intro {
        width: 98.916%;
    }

    .about-overview__bio {
        width: 55.269%;
        margin-left: 41.292%;
    }

    .about-overview__links {
        margin-left: 20.875%;
    }

    .about-overview__follow {
        left: 25.804%;
    }

    .about-overview__perspective {
        left: calc(var(--gutter) + 4.2535vw);
        width: 47.194vw;
    }

    .about-experience__list {
        width: var(--about-content-width);
    }
}

/* Keep the verified long-form bio in the Figma column system without overlap. */
@media (min-width: 801px) and (max-width: 1100px) {
    .about-story {
        min-height: calc(1759px - 20vw);
    }

    .about-overview__perspective {
        top: calc(980px - 20vw);
    }

    .about-experience {
        top: calc(1360px - 20vw);
    }
}

@media (min-width: 1101px) {
    .about-story {
        min-height: max(1471px, calc(1887px - 28.9vw));
    }

    .about-overview__perspective {
        top: max(692.8px, calc(1041.3px - 24.2vw));
    }

    .about-experience {
        top: max(1071.96px, calc(1488px - 28.9vw));
    }
}

/* Final archive carousel and footer image variants. */

.anecdote-dialog {
    --anecdote-details-right: 43px;
    --anecdote-details-width: 540.431px;
    --anecdote-gallery-story-gap: 47px;
    --anecdote-media-max-width: min(495.054px, calc((100svh - var(--header-height)) * 0.536291));
    --anecdote-media-max-height: min(623.08px, calc((100svh - var(--header-height)) * 0.674987));
    height: calc(100svh - var(--header-height));
}

.anecdote-dialog__track {
    z-index: 3;
    top: min(92px, calc((100svh - var(--header-height)) * 0.099664));
    left: 0;
    width: 100%;
    height: calc(100% - 92px);
    padding: 0;
    overflow: visible;
    overscroll-behavior: contain;
    touch-action: pan-y pinch-zoom;
}

.anecdote-dialog__rail {
    align-items: flex-start;
    width: auto;
    min-width: 100%;
    height: 100%;
    padding: min(36.137px, calc((100svh - var(--header-height)) * 0.039147)) 0 0;
    gap: 0;
}

.anecdote-dialog__slide {
    display: block;
    width: min(
        var(--anecdote-media-max-width),
        calc(var(--anecdote-media-max-height) * var(--anecdote-media-ratio, 1))
    );
    height: auto;
    margin: 0;
    overflow: visible;
    background: transparent;
    opacity: 1;
    transform: none;
    transition: none;
    cursor: pointer;
}

.anecdote-dialog__slide.swiper-slide-active {
    opacity: 1;
    transform: none;
}

.anecdote-dialog__slide-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-height: none;
}

.anecdote-dialog__slide.is-square .anecdote-dialog__slide-content,
.anecdote-dialog__slide.is-landscape .anecdote-dialog__slide-content {
    width: 100%;
}

.anecdote-dialog__slide.is-portrait .anecdote-dialog__slide-content {
    width: 100%;
}

.anecdote-dialog__media {
    position: relative;
    display: grid;
    width: 100%;
    height: auto;
    aspect-ratio: var(--anecdote-media-ratio, 1);
    place-items: start center;
    background: transparent;
}

.anecdote-dialog__slide img,
.anecdote-dialog__media img,
.anecdote-dialog__media video {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-width: none;
    max-height: none;
    object-fit: contain;
    background: transparent;
    transform: rotate(var(--anecdote-image-rotation, 0deg));
    transform-origin: 50% 50%;
}

.anecdote-dialog__media video {
    display: block;
    background: #000;
}

.anecdote-dialog__layer {
    position: relative;
    z-index: 1;
    mix-blend-mode: multiply;
}

.anecdote-dialog__slide-meta {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: min(225.166px, 100%);
    margin-left: 5.48px;
    padding-top: min(25.826px, calc((100svh - var(--header-height)) * 0.027978));
    font-size: 14.73px;
    line-height: 1.1;
    opacity: 1;
    pointer-events: none;
}

.anecdote-dialog__slide-meta .anecdote-dialog__caption {
    position: static;
    width: 100%;
    margin: 0;
}

.anecdote-dialog__slide-date {
    position: static;
    margin: 19.61px 0 0;
    white-space: nowrap;
}

.anecdote-dialog__details {
    top: auto;
    right: var(--anecdote-details-right);
    bottom: 87px;
    left: auto;
    display: block;
    width: var(--anecdote-details-width);
    height: 306px;
}

@media (min-width: 801px) {
    .anecdote-dialog__track {
        width: calc(
            100%
            - var(--anecdote-details-right)
            - var(--anecdote-details-width)
            - var(--anecdote-gallery-story-gap)
        );
    }

    .anecdote-dialog__track.is-static-gallery .anecdote-dialog__rail {
        justify-content: flex-start;
    }
}

.anecdote-dialog__figure,
.anecdote-dialog__title-block,
.anecdote-dialog__deck,
.anecdote-dialog__body {
    position: absolute;
}

.anecdote-dialog__figure {
    top: 0;
    left: 116.57px;
}

.anecdote-dialog__title-block {
    top: 0;
    left: 263.43px;
}

.anecdote-dialog__title-block h2 {
    width: 260px;
    font-size: 24.73px;
    line-height: 1;
}

.anecdote-dialog__deck {
    top: 65.57px;
    left: 0;
    width: 540.431px;
    margin: 0;
    font-size: 24.73px;
    line-height: 1;
}

.anecdote-dialog__body {
    top: 192.14px;
    left: 162.55px;
    width: 377.885px;
    margin: 0;
    font-size: 14.73px;
    line-height: 1.1;
}

.site-footer__image {
    position: relative;
    overflow: hidden;
    background: transparent;
}

.site-footer__image img {
    transition: opacity 280ms ease;
}

.site-footer__image:not(.is-media-loaded) img {
    opacity: 0;
}

.site-footer:is(
    [data-footer-image-treatment="default"],
    [data-footer-image-treatment="about"],
    [data-footer-image-treatment="anecdotes"]
) .site-footer__image img {
    position: static;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    transform: none;
    filter: none;
    mix-blend-mode: normal;
}

@media (min-width: 801px) and (max-width: 1100px) {
    .site-footer__image {
        height: 418px;
    }
}

@media (max-width: 800px) {
    .anecdote-dialog {
        --anecdote-media-max-width: min(84vw, 540px);
        --anecdote-media-max-height: calc(min(64svh, 560px) - 150px);
    }

    .anecdote-dialog__close {
        position: absolute;
        top: 22px;
        right: 18px;
        float: none;
        margin: 0;
    }

    .anecdote-dialog__track {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: min(64svh, 560px);
        min-height: 360px;
        padding-top: 58px;
        clear: both;
    }

    .anecdote-dialog__rail {
        height: 100%;
        padding: 0 0 16px;
    }

    .anecdote-dialog__slide {
        width: min(
            var(--anecdote-media-max-width),
            calc(var(--anecdote-media-max-height) * var(--anecdote-media-ratio, 1))
        );
        height: auto;
    }

    .anecdote-dialog__slide-content,
    .anecdote-dialog__slide.is-portrait .anecdote-dialog__slide-content,
    .anecdote-dialog__slide.is-square .anecdote-dialog__slide-content,
    .anecdote-dialog__slide.is-landscape .anecdote-dialog__slide-content {
        width: 100%;
    }

    .anecdote-dialog__media {
        width: 100%;
        height: auto;
        aspect-ratio: var(--anecdote-media-ratio, 1);
    }

    .anecdote-dialog__media img,
    .anecdote-dialog__media video {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
    }

    .anecdote-dialog__slide-meta {
        width: 100%;
        margin-left: 0;
        padding: 12px 2px 0;
        font-size: 13px;
    }

    .anecdote-dialog__slide-date {
        position: static;
        margin-top: 19.61px;
    }

    .anecdote-dialog__details {
        position: relative;
        inset: auto;
        display: grid;
        width: auto;
        height: auto;
        grid-template-columns: 82px minmax(0, 1fr);
        padding: 34px 18px 58px;
    }

    .anecdote-dialog__figure,
    .anecdote-dialog__title-block,
    .anecdote-dialog__deck,
    .anecdote-dialog__body {
        position: static;
        width: auto;
    }

    .anecdote-dialog__deck {
        margin-top: 38px;
        font-size: 27px;
    }

    .anecdote-dialog__body {
        grid-column: 1 / -1;
        margin-top: 30px;
        font-size: 16px;
    }

    .site-footer__image {
        height: min(52svh, 480px);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .home-intro__item {
        --intro-float-y: 0px !important;
        transform: rotate(var(--intro-rotate)) !important;
        will-change: auto !important;
    }

    .home-main .selected-work .project-card__media img,
    .home-main .selected-work .project-card__link:hover .project-card__media img,
    .home-main .selected-work .project-card__link:focus-visible .project-card__media img {
        transform: none;
    }

    .anecdote-dialog__slide {
        transition: none;
    }
}

/* Archive index: predictable editorial flow at every desktop width. */

.anecdotes-grid {
    grid-template-rows: none;
    grid-auto-rows: auto;
    height: auto;
    aspect-ratio: auto;
}

.anecdote-card {
    min-height: 0;
}

.anecdote-card__button {
    position: relative;
    inset: auto;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 28px 0 52px;
}

.anecdote-card__heading {
    position: static;
    flex: 0 0 auto;
    grid-template-columns: 122.9px minmax(0, 1fr);
    width: calc(100% - 60px);
    margin: 0 30px;
}

.anecdote-card__media,
.anecdote-card--1 .anecdote-card__media,
.anecdote-card--2 .anecdote-card__media,
.anecdote-card--3 .anecdote-card__media,
.anecdote-card--4 .anecdote-card__media,
.anecdote-card--5 .anecdote-card__media,
.anecdote-card--6 .anecdote-card__media,
.anecdote-card--7 .anecdote-card__media,
.anecdote-card--8 .anecdote-card__media,
.anecdote-card--9 .anecdote-card__media,
.anecdote-card--10 .anecdote-card__media,
.anecdote-card--11 .anecdote-card__media,
.anecdote-card--12 .anecdote-card__media {
    position: relative;
    top: auto;
    left: auto;
    flex: 0 0 auto;
    width: calc(100% - 170px);
    max-width: none;
    height: auto;
    margin: 32px 85px 0;
    overflow: hidden;
    aspect-ratio: var(--archive-media-ratio, 1);
    transform: rotate(var(--archive-rotation, 0deg));
    transform-origin: 50% 50%;
}

.anecdote-card__copy,
.anecdote-card--1 .anecdote-card__copy,
.anecdote-card--2 .anecdote-card__copy,
.anecdote-card--3 .anecdote-card__copy,
.anecdote-card--4 .anecdote-card__copy,
.anecdote-card--5 .anecdote-card__copy,
.anecdote-card--6 .anecdote-card__copy,
.anecdote-card--7 .anecdote-card__copy,
.anecdote-card--8 .anecdote-card__copy,
.anecdote-card--9 .anecdote-card__copy,
.anecdote-card--10 .anecdote-card__copy,
.anecdote-card--11 .anecdote-card__copy,
.anecdote-card--12 .anecdote-card__copy {
    position: static;
    flex: 0 0 auto;
    width: calc(100% - 115px);
    margin: 30px 30px 0 85px;
    transform: none;
}

.anecdote-card--1 { --archive-media-max: 329.493px; --archive-media-ratio: 1.25091; }
.anecdote-card--2 { --archive-media-max: 293.723px; --archive-media-ratio: 0.80134; }
.anecdote-card--3 { --archive-media-max: 302px; --archive-media-ratio: 0.83657; }
.anecdote-card--4 { --archive-media-max: 328.108px; --archive-media-ratio: 0.91671; }
.anecdote-card--5 { --archive-media-max: 252.65px; --archive-media-ratio: 0.66299; }
.anecdote-card--6 { --archive-media-max: 376.863px; --archive-media-ratio: 1.51615; }
.anecdote-card--7 { --archive-media-max: 366.006px; --archive-media-ratio: 1.76623; }
.anecdote-card--8 { --archive-media-max: 327px; --archive-media-ratio: 0.93966; }
.anecdote-card--9 { --archive-media-max: 288.199px; --archive-media-ratio: 0.8283; }
.anecdote-card--10 { --archive-media-max: 315px; --archive-media-ratio: 0.87258; }
.anecdote-card--11 { --archive-media-max: 326.346px; --archive-media-ratio: 1.25818; }
.anecdote-card--12 { --archive-media-max: 407.566px; --archive-media-ratio: 1.31035; }

.anecdote-card__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1);
    transform-origin: 50% 50%;
    transition:
        transform 900ms cubic-bezier(0.16, 1, 0.3, 1),
        filter 300ms ease;
}

.has-ajax-navigation .anecdote-card__media > .anecdote-card__image[loading="lazy"] {
    transition:
        opacity 320ms ease,
        transform 900ms cubic-bezier(0.16, 1, 0.3, 1),
        filter 300ms ease;
}

.anecdote-card__button:hover .anecdote-card__image,
.anecdote-card__button:focus-visible .anecdote-card__image {
    transform: scale(1.035);
    filter: saturate(1.04);
}

.anecdote-card--placeholder {
    min-height: 100%;
    border-top: 1px solid var(--color-olive);
    border-left: 1px solid var(--color-olive);
    pointer-events: none;
}

.anecdote-card--placeholder-tablet {
    display: none;
}

@media (max-width: 800px) {
    .anecdote-card__button {
        padding: 24px 22px 44px;
    }

    .anecdote-card__heading {
        grid-template-columns: 82px minmax(0, 1fr);
        width: 100%;
        margin: 0;
    }

    .anecdote-card__media,
    .anecdote-card--1 .anecdote-card__media,
    .anecdote-card--2 .anecdote-card__media,
    .anecdote-card--3 .anecdote-card__media,
    .anecdote-card--4 .anecdote-card__media,
    .anecdote-card--5 .anecdote-card__media,
    .anecdote-card--6 .anecdote-card__media,
    .anecdote-card--7 .anecdote-card__media,
    .anecdote-card--8 .anecdote-card__media,
    .anecdote-card--9 .anecdote-card__media,
    .anecdote-card--10 .anecdote-card__media,
    .anecdote-card--11 .anecdote-card__media,
    .anecdote-card--12 .anecdote-card__media {
        width: 100%;
        max-width: 420px;
        margin-top: 36px;
        margin-right: auto;
        margin-left: auto;
    }

    .anecdote-card__copy,
    .anecdote-card--1 .anecdote-card__copy,
    .anecdote-card--2 .anecdote-card__copy,
    .anecdote-card--3 .anecdote-card__copy,
    .anecdote-card--4 .anecdote-card__copy,
    .anecdote-card--5 .anecdote-card__copy,
    .anecdote-card--6 .anecdote-card__copy,
    .anecdote-card--7 .anecdote-card__copy,
    .anecdote-card--8 .anecdote-card__copy,
    .anecdote-card--9 .anecdote-card__copy,
    .anecdote-card--10 .anecdote-card__copy,
    .anecdote-card--11 .anecdote-card__copy,
    .anecdote-card--12 .anecdote-card__copy {
        width: 100%;
        max-width: 420px;
        margin-top: 26px;
        margin-right: auto;
        margin-left: auto;
    }

    .anecdote-card--placeholder {
        display: none;
    }
}

@media (min-width: 801px) and (max-width: 1100px) {
    .anecdote-card--placeholder-desktop {
        display: none;
    }

    .anecdote-card--placeholder-tablet {
        display: block;
    }
}

/* Contact proposal: CF7 owns behavior while Grace owns the complete surface. */
.site-header--contact {
    --mobile-menu-bg: var(--color-ink);
    --mobile-menu-fg: var(--color-pink);
    --mobile-menu-active: var(--color-accent);
    background: var(--color-pink);
    color: var(--color-ink);
}

.route-contact ::selection {
    background: var(--color-ink);
    color: var(--color-pink);
}

.contact-page {
    padding-top: var(--header-height);
    overflow: clip;
    background: var(--color-pink);
    color: var(--color-ink);
}

.contact-panel {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--editorial-grid-gap);
    align-items: start;
    min-height: calc(100svh - var(--header-height));
    padding: clamp(66px, 6.5vw, 108px) var(--gutter) clamp(92px, 8vw, 132px);
}

.contact-panel__intro {
    grid-column: 1 / 6;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.contact-panel__intro h1 {
    max-width: 4.5em;
    margin: 28px 0 42px;
    font-family: var(--font-serif);
    font-size: clamp(58px, 5.15vw, 88px);
    font-weight: 250;
    letter-spacing: -0.035em;
    line-height: 0.94;
}

.contact-panel__copy {
    max-width: 480px;
    font-family: var(--font-body);
    font-size: clamp(25px, 2vw, 34px);
    font-weight: 300;
    letter-spacing: -0.015em;
    line-height: 1.12;
}

.contact-panel__copy p {
    margin: 0;
}

.contact-panel__required {
    margin-top: auto;
    padding-top: 70px;
}

.contact-panel__form {
    grid-column: 7 / 13;
    min-width: 0;
}

.contact-panel__form .wpcf7,
.contact-panel__form form {
    width: 100%;
}

.contact-panel__form .screen-reader-response {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.contact-panel__form .hidden-fields-container {
    display: none;
}

.contact-form__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--editorial-grid-gap);
    margin: 0 0 33px;
}

.contact-form__row--split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-field {
    display: block;
    min-width: 0;
}

.contact-field__label {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 4px;
    margin-bottom: 12px;
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.contact-field__optional {
    opacity: 0.55;
    text-transform: lowercase;
}

.contact-field .wpcf7-form-control-wrap {
    display: block;
}

.contact-field__control {
    width: 100%;
    min-height: 51px;
    padding: 0 0 11px;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--color-ink) 62%, transparent);
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: inherit;
    caret-color: var(--color-accent);
    font-family: var(--font-body);
    font-size: clamp(25px, 2vw, 34px);
    font-weight: 300;
    line-height: 1.05;
    transition: border-color 220ms ease, background-color 220ms ease;
    appearance: none;
}

textarea.contact-field__control {
    height: 151px;
    min-height: 151px;
    padding-top: 7px;
    resize: vertical;
}

.contact-field__control:hover {
    border-bottom-color: var(--color-ink);
}

.contact-field__control:focus {
    border-bottom-color: var(--color-accent);
}

.contact-field__control.wpcf7-not-valid,
.contact-field__control[aria-invalid="true"] {
    border-bottom-color: var(--color-error);
}

.contact-field__control:-webkit-autofill,
.contact-field__control:-webkit-autofill:hover,
.contact-field__control:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--color-ink);
    box-shadow: 0 0 0 1000px var(--color-pink) inset;
    transition: background-color 9999s ease-out;
}

.wpcf7-not-valid-tip {
    display: block;
    margin-top: 8px;
    color: var(--color-error);
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.035em;
    line-height: 1.25;
    text-transform: uppercase;
}

.contact-form__actions {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 49px;
}

.contact-form__submit {
    width: 100%;
    min-height: 58px;
    padding: 17px 22px 15px;
    border: 1px solid var(--color-ink);
    border-radius: 0;
    background: transparent;
    color: var(--color-ink);
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 260ms ease, color 260ms ease;
}

.contact-form__submit:hover,
.contact-form__submit:focus-visible {
    background: var(--color-ink);
    color: var(--color-pink);
}

.contact-form__submit:disabled {
    cursor: wait;
    opacity: 0.5;
}

.wpcf7-spinner {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    border: 1px solid color-mix(in srgb, var(--color-ink) 28%, transparent);
    border-top-color: var(--color-ink);
    border-radius: 50%;
    opacity: 0;
    animation: grace-contact-spin 700ms linear infinite;
}

.submitting .wpcf7-spinner {
    opacity: 1;
}

@keyframes grace-contact-spin {
    to { transform: rotate(1turn); }
}

.wpcf7-response-output {
    margin: 26px 0 0;
    padding: 15px 18px 14px;
    border: 1px solid var(--color-ink);
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.035em;
    line-height: 1.35;
    text-transform: uppercase;
}

.wpcf7-response-output:empty {
    display: none;
}

.invalid .wpcf7-response-output,
.failed .wpcf7-response-output,
.spam .wpcf7-response-output,
.aborted .wpcf7-response-output {
    border-color: var(--color-error);
    color: var(--color-error);
}

.sent .wpcf7-response-output {
    background: var(--color-ink);
    color: var(--color-pink);
}

.contact-panel__unavailable {
    margin: 22px 0 0;
}

@media (min-width: 801px) and (max-width: 1100px) {
    .contact-panel__intro {
        grid-column: 1 / 6;
    }

    .contact-panel__form {
        grid-column: 6 / 13;
    }

    .contact-panel__intro h1 {
        font-size: clamp(50px, 6.4vw, 68px);
    }

    .contact-panel__copy,
    .contact-field__control {
        font-size: 24px;
    }
}

@media (max-width: 800px) {
    .site-header--contact {
        --mobile-menu-bg: var(--color-ink);
        --mobile-menu-fg: var(--color-pink);
        --mobile-menu-active: var(--color-accent);
    }

    .contact-panel {
        display: block;
        min-height: calc(100svh - var(--header-height));
        padding: 48px var(--gutter) 86px;
    }

    .contact-panel__intro {
        min-height: 0;
    }

    .contact-panel__intro h1 {
        max-width: none;
        margin: 24px 0 32px;
        font-size: clamp(48px, 15vw, 64px);
    }

    .contact-panel__copy {
        max-width: 520px;
        font-size: 26px;
    }

    .contact-panel__required {
        margin-top: 38px;
        padding-top: 0;
    }

    .contact-panel__form {
        margin-top: 70px;
    }

    .contact-form__row,
    .contact-form__row--split {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
        margin-bottom: 30px;
    }

    .contact-field__control {
        font-size: 25px;
    }

    .contact-form__actions {
        margin-top: 43px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-field__control,
    .contact-form__submit,
    .wpcf7-spinner {
        transition: none;
        animation: none;
    }
}
