@font-face{font-family:Newsreader;src:url('/assets/fonts/Newsreader72pt-Regular.ttf') format('truetype');font-display:swap}@font-face{font-family:Newsreader;src:url('/assets/fonts/Newsreader72pt-Italic.ttf') format('truetype');font-style:italic;font-display:swap}@font-face{font-family:"Space Grotesk";src:url('/assets/fonts/space-grotesk-400.ttf') format('truetype');font-display:swap}:root{--paper:#f3eee4;--ink:#30262f;--wine:#754653;--denim:#2f4f65;--muted:#655a60;--line:#cec4bc;font-family:"Space Grotesk",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.26em}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #719aba;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.02}h1{font-size:clamp(3.5rem,6.4vw,6.5rem)}h2{font-size:clamp(2.7rem,5.2vw,5rem)}h3{font-size:2.7rem}em{font-weight:400;color:var(--wine)}p{line-height:1.7}.wrap{max-width:1500px;width:calc(100% - 8rem);margin:0 auto}.section{padding-top:7rem;padding-bottom:7rem}.eyebrow{text-transform:uppercase;font-size:.875rem;letter-spacing:.14em;line-height:1.6}.small,figcaption,.credit{font-size:.875rem;line-height:1.6}.small,.credit{color:var(--muted)}.nav{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:118px;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-family:Newsreader,Georgia,serif;font-size:1.5rem;line-height:1.2}.wordmark span{display:block;font-family:"Space Grotesk",sans-serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.55rem}.nav nav{display:flex;gap:2rem;align-items:center;font-size:.875rem}.nav nav a{text-decoration:none;padding:.8rem 0}.nav nav a:hover{text-decoration:underline}.skip{position:absolute;top:-70px;padding:1rem;background:var(--ink);color:var(--paper);z-index:5}.skip:focus{top:10px}.hero{position:relative;display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:5%;padding-top:4rem;padding-bottom:2rem}.hero h1{margin:2.2rem 0 1.4rem;font-size:clamp(3.1rem,5.5vw,6rem)}.hero-deck{font-size:clamp(1.15rem,1.9vw,1.75rem);line-height:1.55}.hero .small{margin-top:2rem}.portrait img{display:block;width:100%;height:min(65vw,640px);object-fit:cover;object-position:center 43%}.portrait figcaption{padding-top:.6rem;text-align:right;color:var(--muted)}.colophon{grid-column:1/-1;display:flex;justify-content:space-between;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:1.4rem;margin-top:2rem;gap:1rem}.actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-block;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);padding:1rem 1.5rem;text-decoration:none;line-height:1.3}.button:hover{background:var(--denim);border-color:var(--denim)}.text-link{font-size:.95rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.3rem}.dark{background:var(--ink);color:var(--paper)}.dark em{color:#c6a2ad}.dark .small,.dark .credit,.dark figcaption{color:#c8bbc0}.story-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;margin-top:2.5rem}.lead{font-size:clamp(1.2rem,1.8vw,1.7rem);line-height:1.6}.body-copy{font-size:1.05rem;line-height:1.8}.story-grid .body-copy{margin-top:1.5rem}.credential-line{display:flex;gap:3rem;border-top:1px solid #675c65;margin-top:3rem;padding-top:1.5rem;font-size:.875rem;line-height:1.8}.credential-line strong{font-weight:400;color:#c8bbc0}.section-top{display:flex;justify-content:space-between;gap:2rem;font-size:.875rem}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;margin:2.5rem 0 3rem}.section-heading>p{max-width:38rem}.reel{width:100%;aspect-ratio:16/9;background:#171317}.reel iframe{width:100%;height:100%;border:0}.reel-caption{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;padding:1.2rem 0}.credit-strip{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.3rem;font-family:Newsreader,Georgia,serif;font-size:1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.8rem 0;margin-top:2rem}.invitation{background:#e6ded4}.invitation .button{margin-top:2rem}.invitation .small{margin-top:1rem}.invitation .section-heading{margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:2.5rem}.contact h2{margin-bottom:2rem}.email{display:inline-block;margin-top:1rem;overflow-wrap:anywhere}label{display:block;font-size:.875rem;margin-bottom:1.25rem;line-height:1.6}input,textarea{display:block;width:100%;border:1px solid #9b8b95;border-radius:0;padding:.9rem;margin-top:.5rem;color:var(--ink);background:transparent}textarea{resize:vertical}input:focus,textarea:focus{background:#faf7f2}form .small{margin-top:1rem}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-note{padding:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-note p{margin-bottom:1rem}.contact-note .button{margin-top:1rem}.footer{padding:3.5rem 0 2rem;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;border-top:1px solid var(--line);font-size:.875rem}.footer p{margin-top:.5rem}.footer-bottom{display:flex;grid-column:1/-1;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:1rem;color:var(--muted);font-size:.8rem}.text-button{background:transparent;border:0;color:inherit;padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:.3em}.gate{min-height:65vh;display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center;padding:5rem 0}.gate h1{margin:1.7rem 0}.gate .lead{max-width:28rem}.gate-form{border-top:1px solid var(--line);padding-top:2rem}.gate-form .button{width:100%;margin-top:1rem}.gate-form>p{margin-top:1.5rem}.gate-form form>p{margin-top:1rem;color:#8e3441}.catalogue-title h1{margin:1.5rem 0}.project-row{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;border-top:1px solid #675c65;padding:4rem 0}.project-row:first-of-type{margin-top:2rem}.project-row:last-child{padding-bottom:0}.project-row h2{margin:1rem 0 1.5rem}.project-row h2 a{text-decoration:none}.project-row .credit{margin:1.5rem 0 2rem}.genre{font-size:.95rem;line-height:1.6;color:var(--muted)}.dark .genre{color:#c8bbc0}.project-strip{width:100%;height:auto;aspect-ratio:2.2;object-fit:cover;display:block;margin-bottom:1.7rem}.screen-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 6rem;margin-top:3rem}.screen-grid article{border-top:1px solid var(--line);padding-top:1.6rem}.screen-grid h3{margin:1rem 0}.screen-grid .credit{margin:1rem 0 2rem}.screen-grid article>p:not(.credit):not(.eyebrow){margin:1rem 0}.project-hero .back{display:inline-block;margin-bottom:3rem;font-size:.875rem}.project-hero h1{margin:1rem 0 1.5rem;overflow-wrap:break-word}.project-hero .credit{margin-bottom:1.5rem}.visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 2rem;margin-top:2.5rem}.visual-grid figure:first-child{grid-column:1/-1}.visual-grid img{display:block;width:100%;height:auto}.visual-grid figcaption{margin-top:1rem}.visual-grid figcaption span{display:block;color:var(--paper);margin-top:.6rem;max-width:50rem;font-size:1rem}.document-list>a{display:flex;gap:1rem;justify-content:space-between;border-top:1px solid var(--line);padding:1.5rem 0;text-decoration:none}.document-list>a:last-of-type{border-bottom:1px solid var(--line);margin-bottom:1.5rem}.document-list>a:hover{color:var(--denim)}.dialogue{max-width:900px}.dialogue .eyebrow{margin-bottom:3rem}.speaker{text-transform:uppercase;font-size:.875rem;letter-spacing:.1em;margin-top:2rem}.line{font-family:Newsreader,Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);line-height:1.25;margin-top:.8rem}.project-end{display:flex;justify-content:space-between;gap:2rem;padding-top:3rem;padding-bottom:3rem}.owner-panel{margin-top:3rem;max-width:650px}.owner-panel p{margin:1rem 0}
@media(min-width:1700px){.wrap{width:calc(100% - 10rem)}}@media(max-width:1050px){.wrap{width:calc(100% - 4rem)}.nav nav{gap:1.2rem}.hero{gap:2rem}.hero h1{font-size:4rem}.hero-deck{font-size:1.3rem}.hero .actions{gap:1.2rem}.section{padding-top:5rem;padding-bottom:5rem}.portrait img{height:540px}.section-heading,.story-grid{gap:6%}}@media(max-width:760px){.wrap{width:calc(100% - 2.5rem)}.nav{align-items:flex-start;flex-direction:column;gap:1.3rem;padding-top:1.7rem;padding-bottom:1.3rem;min-height:0}.nav nav{width:100%;justify-content:space-between;gap:.7rem;font-size:.8rem}.nav nav a{padding:.4rem 0}.hero{grid-template-columns:1fr;padding-top:2.5rem}.hero h1{font-size:clamp(3rem,11vw,5rem);margin-top:1.3rem}.hero-copy{padding-bottom:1rem}.portrait img{height:100vw;max-height:620px;object-position:center 35%}.colophon{font-size:.7rem;flex-wrap:wrap;margin-top:1rem}.colophon span:last-child{margin-left:auto}.section{padding-top:3.5rem;padding-bottom:3.5rem}.story-grid,.section-heading,.contact-grid,.gate,.project-row{grid-template-columns:1fr;gap:2rem}.lead{font-size:1.25rem}.section-heading{margin-top:1.6rem;margin-bottom:2rem}.credential-line{gap:1.5rem;flex-wrap:wrap}.section-top{align-items:flex-start;gap:1rem}.section-top>p:last-child{max-width:8rem;text-align:right}.reel-caption{flex-direction:column}.credit-strip{display:grid;grid-template-columns:1fr 1fr;font-size:1.3rem;gap:1.5rem}.screen-grid{grid-template-columns:1fr;gap:2.5rem}.footer{grid-template-columns:1fr;gap:1.8rem}.footer-bottom{flex-direction:column;gap:1rem}.gate{padding-top:3rem;padding-bottom:3rem;min-height:0}.gate h1{font-size:3.6rem}.project-row{padding:2.5rem 0}.project-row h2{margin-bottom:1rem}.visual-grid{grid-template-columns:1fr}.visual-grid figure:first-child{grid-column:auto}.project-hero .back{margin-bottom:2rem}.project-end{align-items:flex-start}.contact-note{padding:1.5rem 0}.contact-grid .email{font-size:.9rem}.project-hero h1{font-size:clamp(3rem,11vw,5rem)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.index-caption{margin:-.8rem 0 1.6rem}.visual-grid figure:nth-child(2):last-child{max-width:100%}

.single-visual figure{max-width:720px;margin-inline:auto}.single-visual img{max-height:850px;width:auto;max-width:100%;object-fit:contain}

.project-strip.concept-full{aspect-ratio:auto;object-fit:contain}

.short-section-heading{padding-top:5rem;padding-bottom:1.5rem;border-bottom:1px solid #675c65}
@media(max-width:760px){.short-section-heading{padding-top:3rem}}

.project-strip.production-mine-short{aspect-ratio:1280 / 674}.project-strip.production-standstill{aspect-ratio:1723 / 1080}

/* Selected Ten: editorial reading order and project layouts. */
.selected-intro{padding-top:4.5rem;padding-bottom:4.5rem}.edition-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em}.selected-intro h1{font-size:clamp(6rem,13vw,12rem);line-height:.88;margin:4rem 0;letter-spacing:-.065em}.selected-positioning{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;max-width:1100px;margin-left:auto}.selected-positioning>p:last-child{font-size:.95rem;align-self:end}.reading-index{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem 1.6rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}.reading-index a{font-size:.8rem;text-decoration:none;line-height:1.4;display:flex;align-items:baseline;gap:.65rem;padding:.45rem 0}.reading-index a span{color:var(--wine);font-size:.75rem}.reading-index a:hover{text-decoration:underline}.selected-leads{background:var(--ink);color:var(--paper);padding:2rem 0}.selected-card{scroll-margin-top:2rem}.feature-card{padding:4rem 0 5rem;display:grid;grid-template-columns:1.05fr 1fr;gap:2.8rem 7%;border-bottom:1px solid #65535f}.feature-card:last-child{border-bottom:0}.card-title h2{margin:1rem 0 1.25rem}.card-title h2 a{text-decoration:none}.feature-card h2{font-size:clamp(4rem,8vw,8rem)}.feature-card .card-title{grid-column:1/-1;max-width:950px}.feature-card .card-image-link{grid-column:1;align-self:start}.card-image-link{text-decoration:none}.feature-card .card-copy{grid-column:2;align-self:start}.feature-card .lead{font-family:Newsreader,Georgia,serif;font-size:clamp(1.65rem,2.7vw,2.6rem);line-height:1.2}.feature-card .credit{margin:2rem 0;color:#d7c8ce}.feature-card .genre{color:#d7c8ce}.selected-image img{display:block;width:100%;height:auto}.selected-image figcaption{font-size:.72rem;line-height:1.55;margin-top:.8rem;color:var(--muted)}.feature-card .selected-image figcaption{color:#d7c8ce}.feature-card:nth-child(2){grid-template-columns:1fr 1.05fr}.feature-card:nth-child(2) .card-title{grid-column:1/-1}.feature-card:nth-child(2) .card-image-link{grid-column:2;grid-row:2}.feature-card:nth-child(2) .card-copy{grid-column:1;grid-row:2}.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem 5%;margin-top:3rem}.collection-card{display:flex;flex-direction:column;align-items:stretch;border-top:1px solid var(--line);padding-top:1.5rem}.collection-card .card-title{min-height:12.2rem}.collection-card h2{font-size:clamp(2.8rem,4vw,4.4rem)}.collection-card .card-image-link{margin:1.5rem 0 2rem}.collection-card .card-copy{display:flex;flex-direction:column;flex:1}.collection-card .lead{font-size:1.15rem;line-height:1.65}.collection-card .credit{margin:1.6rem 0}.collection-card .text-link{align-self:flex-start;margin-top:auto}.collection-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem 10%}.collection-card:last-child:nth-child(odd) .card-title{min-height:0;grid-column:1}.collection-card:last-child:nth-child(odd) .card-image-link{grid-column:1;margin:0}.collection-card:last-child:nth-child(odd) .card-copy{grid-column:2;grid-row:1/3;align-self:center}.collection-card:last-child:nth-child(odd) .lead{font-family:Newsreader,Georgia,serif;font-size:2rem;line-height:1.3}.type-image{aspect-ratio:2.2;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--denim);padding:2rem;color:var(--paper)}.type-image span{font-family:Newsreader,Georgia,serif;font-size:5rem}.type-image em{font-family:Newsreader,Georgia,serif;color:var(--paper);font-size:1.7rem;line-height:1.1;max-width:65%}.directing-section .screen-grid article{border-color:#65535f}.directing-section h2{margin-top:1.5rem}.catalogue-close h2{margin:2rem 0}.project-opening{padding-top:3rem;padding-bottom:4rem}.project-opening .back{font-size:.85rem;display:inline-block;margin-bottom:3.5rem}.project-opening h1{font-size:clamp(4.6rem,9.5vw,10rem);margin:2rem 0 3rem;max-width:1300px;overflow-wrap:anywhere}.project-opening-copy{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.project-opening-copy .credit{margin:1rem 0 0}.project-opening-copy .lead{font-family:Newsreader,Georgia,serif;font-size:clamp(1.7rem,2.7vw,2.5rem);line-height:1.3}.project-opening-copy .actions{gap:1.3rem}.project-visual-opening{background:var(--ink);padding:3rem 0 2rem}.project-key-image{max-width:1200px;width:calc(100% - 8rem);margin:auto}.project-key-image figcaption{color:#d7c8ce}.project-key-image img{max-height:640px;object-fit:contain}.project-premise h2{font-size:clamp(3rem,5vw,5.2rem)}.source-status{font-size:.8rem;line-height:1.7;color:var(--muted);margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line)}.reference-pair{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem}.reference-pair img{display:block;max-width:100%;height:auto}.reference-pair figure:only-child{grid-column:1/-1;max-width:960px}.reference-pair figcaption{margin-top:1rem;font-size:.75rem}.reference-pair figcaption span{display:block;font-size:.95rem;margin-top:.7rem}.reference-disclosure{margin-top:2rem;margin-bottom:2rem;max-width:1000px}.project-next{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:4rem 0}.next-project{text-decoration:none;text-align:right;max-width:70%}.next-project span{display:block}.next-project span:last-child{font-family:Newsreader,Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.15;margin-top:1rem}.dialogue .line{color:var(--paper)}
@media(max-width:1050px){.reading-index{grid-template-columns:repeat(3,1fr)}.project-key-image{width:calc(100% - 4rem)}.feature-card{gap:2.5rem 5%}.collection-card .card-title{min-height:13rem}.project-opening-copy{gap:6%}}
@media(max-width:760px){.selected-intro{padding-top:3rem;padding-bottom:3rem}.selected-intro h1{font-size:clamp(5rem,21vw,8rem);margin:2.5rem 0}.selected-positioning{grid-template-columns:1fr;gap:1.5rem}.reading-index{grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin-top:2.5rem}.reading-index a{min-height:44px;align-items:center;font-size:.8rem}.selected-leads{padding:0}.feature-card,.feature-card:nth-child(2){display:flex;flex-direction:column;gap:1.5rem;padding:3rem 0}.feature-card h2{font-size:clamp(3.5rem,14vw,5.5rem)}.feature-card .card-title{max-width:100%}.feature-card .lead{font-size:1.75rem}.feature-card .credit{margin:1.5rem 0}.feature-card .card-image-link{width:100%}.collection-grid{grid-template-columns:1fr;gap:3rem}.collection-card .card-title{min-height:0}.collection-card .card-image-link{margin:1.25rem 0 1.5rem}.collection-card:last-child:nth-child(odd){display:flex;gap:0}.collection-card:last-child:nth-child(odd) .card-image-link{margin:1.25rem 0 1.5rem}.collection-card:last-child:nth-child(odd) .lead{font-size:1.75rem}.collection-card h2{font-size:3.3rem}.project-opening{padding-top:2rem;padding-bottom:3rem}.project-opening .back{margin-bottom:2rem}.project-opening h1{font-size:clamp(3.4rem,14vw,5.5rem);margin:1.5rem 0 2rem}.project-opening-copy{display:flex;flex-direction:column;gap:2rem}.project-opening-copy .lead{font-size:1.7rem}.project-opening-copy .actions{gap:1.5rem}.project-key-image{width:calc(100% - 2.5rem)}.project-visual-opening{padding:1.5rem 0}.reference-pair{grid-template-columns:1fr;gap:2rem;margin-top:2rem}.project-next{align-items:flex-start;gap:1.5rem;padding:3rem 0}.next-project{max-width:65%}.next-project span:last-child{font-size:2rem}.type-image{padding:1.5rem}.type-image em{font-size:1.5rem}.selected-intro .section-top{gap:1rem}.selected-intro .section-top>p:last-child{max-width:7rem}.project-opening .section-top>p:last-child{font-size:.65rem;max-width:6rem}}

.document-list>a>.small{flex-shrink:0;white-space:nowrap}

/* Paper edition: quiet grain, generous margins, consistent reading rhythm. */
:root {
  --paper-grain: url('/assets/paper-grain.svg');
  --gutter: clamp(1.25rem, 4.7vw, 6rem);
  --section-space: clamp(3.5rem, 7.3vw, 7rem);
  --line: #cfc5bc;
}
html { scroll-behavior: smooth; }
body {
  background-color: var(--paper);
  background-image: var(--paper-grain), linear-gradient(115deg, #ffffff0c, #927b5b06);
  background-size: 180px 180px, 100% 100%;
}
::selection { background: #75465329; }
.wrap { width: calc(100% - var(--gutter) * 2); max-width: 1380px; }
.section { padding-block: var(--section-space); }
section[id], .selected-card { scroll-margin-top: 2rem; }
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.nav { min-height: 116px; gap: 2.5rem; }
.wordmark { font-size: 1.65rem; letter-spacing: -.025em; }
.wordmark span { font-size: .75rem; letter-spacing: .105em; margin-top: .65rem; }
.nav nav { gap: clamp(1.3rem, 2.8vw, 2.75rem); }
.nav nav a { min-height: 44px; display: inline-flex; align-items: center; }
.nav nav a:hover { color: var(--wine); text-decoration-thickness: 1px; }
.hero { grid-template-columns: 1.38fr 1fr; gap: 4.5%; padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: 2rem; }
.hero h1 { font-size: clamp(3.2rem, 5.4vw, 6rem); line-height: 1.02; margin: 2rem 0 1.8rem; letter-spacing: -.052em; }
.hero-deck { font-size: clamp(1.15rem, 1.8vw, 1.6rem); line-height: 1.65; }
.hero .actions { gap: 1.4rem 1.8rem; margin-top: 2.2rem; }
.hero .small { margin-top: 2rem; }
.portrait img { height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 43%; }
.portrait figcaption { padding-top: .8rem; font-size: .75rem; }
.colophon { margin-top: 2.2rem; padding-top: 1.25rem; line-height: 1.6; }
.button { padding: 1rem 1.45rem; min-height: 50px; transition: background-color .18s ease, border-color .18s ease; }
.text-link { padding-block: .4rem; line-height: 1.5; }
.dark, .selected-leads, .project-visual-opening { background-image: var(--paper-grain); background-size: 180px 180px; }
.invitation { background-color: #e9e1d6; background-image: var(--paper-grain); background-size: 180px 180px; border-block: 1px solid #c6b9aa80; }
.story-grid { grid-template-columns: 1fr 1.22fr; gap: 10%; }
.story-grid .lead { font-size: clamp(1.2rem, 1.65vw, 1.55rem); max-width: 34em; line-height: 1.65; }
.story-portrait figure { margin-top: 2.5rem; max-width: 430px; }
.story-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.story-portrait figcaption { margin-top: .8rem; font-size: .75rem; }
.body-copy { max-width: 40em; }
.credential-line { gap: 2.8rem; padding-top: 1.6rem; }
.section-heading { gap: 8%; margin: 2rem 0 2.6rem; }
.section-heading h2 { max-width: 13ch; }
.invitation .section-heading { margin-bottom: 0; }
.invitation .lead + p { margin-top: 1rem; }
.reel { box-shadow: 0 0 0 1px #30262f18; }
.credit-strip { gap: 1.5rem 2rem; line-height: 1.35; }
.contact-grid { gap: 10%; }
.contact-note { padding: 2rem 0 2rem 2rem; border-top: 1px solid var(--line); border-bottom: 0; }
input, textarea { background-color: #ffffff24; border-color: #a99b9f; }
.footer { padding-top: 3rem; padding-bottom: 2rem; }
.footer .wordmark { font-size: 1.5rem; }
.footer-bottom { line-height: 1.7; }
.gate { min-height: 65vh; grid-template-columns: 1.2fr 1fr; gap: 12%; padding-block: var(--section-space); }
.gate h1 { font-size: clamp(3.7rem, 6.6vw, 6.5rem); line-height: 1.04; }
.gate-form { padding: 2rem; background: #ffffff26; border: 1px solid var(--line); box-shadow: 0 9px 22px #30262f04; }
.gate-form label { margin-bottom: .8rem; }
.gate-form input { background: #f8f4ed; }
.gate-form .button { margin-top: 1.4rem; }
.selected-intro { padding-block: clamp(3rem, 5vw, 5rem); }
.selected-intro h1 { font-size: clamp(6rem, 12vw, 11rem); line-height: .96; margin: 3rem 0; }
.selected-positioning { gap: 9%; }
.reading-index { gap: .7rem 1.5rem; margin-top: 3rem; padding-top: 1.4rem; }
.reading-index a { min-height: 44px; font-size: .875rem; }
.reading-index a span { font-size: .75rem; font-variant-numeric: tabular-nums; }
.feature-card { padding-block: 3.5rem 4rem; gap: 2rem 7%; }
.feature-card h2 { font-size: clamp(4rem, 7.5vw, 7rem); }
.feature-card .lead { line-height: 1.3; font-size: clamp(1.75rem, 2.55vw, 2.4rem); }
.feature-card .card-title { max-width: 1100px; }
.selected-image figcaption { font-size: .75rem; margin-top: .75rem; }
.collection-grid { gap: 4rem 6%; }
.collection-card .card-title { min-height: 12.5rem; }
.collection-card h2 { line-height: 1.06; font-size: clamp(2.8rem, 3.8vw, 4rem); }
.collection-card .lead { font-size: 1.1rem; line-height: 1.7; }
.collection-card .credit { margin-block: 1.4rem; }
.collection-card .card-image-link { margin-block: 1.2rem 1.6rem; }
.collection-card:last-child:nth-child(odd) { padding-top: 2.5rem; margin-top: .5rem; gap: 1.5rem 9%; }
.collection-card:last-child:nth-child(odd) .card-title { min-height: 0; }
.screen-grid { gap: 3rem 8%; }
.screen-grid h3 { font-size: 2.7rem; line-height: 1.08; }
.project-opening { padding-block: 2.8rem 4rem; }
.project-opening .back { margin-bottom: 3rem; text-underline-offset: .35em; }
.project-opening h1 { font-size: clamp(4.2rem, 8.5vw, 9rem); line-height: 1.04; margin: 1.8rem 0 2.8rem; overflow-wrap: normal; }
.project-opening-copy { grid-template-columns: 1fr 1.2fr; gap: 8%; }
.project-opening-copy .lead { font-size: clamp(1.7rem, 2.5vw, 2.35rem); line-height: 1.35; }
.project-opening-copy .actions { gap: 1.2rem 1.5rem; }
.project-visual-opening { padding-block: 2.5rem; }
.project-key-image { width: calc(100% - var(--gutter) * 2); max-width: 1100px; }
.project-key-image img { width: auto; max-width: 100%; max-height: 640px; margin-inline: auto; }
.project-key-image figcaption { max-width: 70em; margin-inline: auto; }
.project-premise .section-heading { margin-bottom: 0; }
.source-status { font-size: .875rem; }
.reference-pair { gap: 3rem 6%; align-items: start; }
.reference-pair figure:only-child { max-width: 960px; }
.reference-pair figcaption { line-height: 1.65; }
.reference-disclosure { margin-bottom: 0; padding-bottom: 2rem; }
.project-reference-section .reference-disclosure { padding-bottom: 0; }
.dialogue { max-width: 980px; }
.dialogue .line { line-height: 1.3; max-width: 29ch; }
.document-list > a { align-items: baseline; gap: 1.5rem; padding-block: 1.3rem; line-height: 1.55; }
.document-list > a:hover { background: #ffffff1a; }
.document-list > a:last-of-type { margin-bottom: 0; }
.project-next { padding-block: 3rem; }
.next-project span:last-child { line-height: 1.15; }
.screen-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem 6%; margin-top: 3.5rem; }
.screen-film { min-width: 0; }
.film-player { aspect-ratio: 16 / 9; background: #171317; }
.film-player video, .film-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.film-player video { object-fit: contain; }
.film-meta { padding-top: 1.5rem; }
.film-meta .eyebrow { font-size: .75rem; letter-spacing: .1em; }
.film-title { margin: 1.3rem 0; font-size: clamp(2.8rem, 4vw, 4rem); line-height: 1.05; }
.title-mine { letter-spacing: .045em; }
.title-stand { font-family: "Space Grotesk", Arial, sans-serif; font-size: clamp(2rem, 3.1vw, 3.2rem); letter-spacing: -.06em; }
.title-stand span { color: var(--wine); margin-inline: .04em; }
.title-anne { letter-spacing: -.035em; }
.film-meta .credit { margin-bottom: 1rem; }
.film-meta > p:not(.eyebrow):not(.credit) { margin-bottom: 1rem; }
.film-meta .text-link { display: inline-block; margin-top: .5rem; }
.lex-title-panel { aspect-ratio: 16 / 9; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--denim); background-image: var(--paper-grain); color: var(--paper); }
.lex-title-panel .eyebrow { font-size: .75rem; }
.title-lex { font-family: "Space Grotesk", Arial, sans-serif; font-size: clamp(3.8rem, 6vw, 6.2rem); line-height: 1; letter-spacing: -.07em; }
.title-lex span { margin-left: .14em; color: #e0af75; }
.lex-title-panel > p:last-child { font-size: .875rem; line-height: 1.4; }
.catalogue-invitation { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: 8%; }
.catalogue-invitation h3 { margin-top: 1.2rem; font-size: clamp(3rem, 4vw, 4rem); }
.catalogue-invitation .lead + p { margin-top: 1rem; }
.acting-feature { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.acting-feature-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 6%; align-items: center; margin-top: 1.5rem; }
.acting-feature h3 { margin: 1rem 0 1.5rem; }
.acting-feature .text-link { display: inline-block; margin-top: 1rem; }
.trailer-preview { display: block; background: var(--ink); color: var(--paper); text-decoration: none; }
.trailer-preview img { display: block; width: 100%; height: auto; }
.trailer-preview span { display: block; padding: .9rem 1rem; font-size: .875rem; line-height: 1.5; }
.trailer-preview:hover span { text-decoration: underline; text-underline-offset: .25em; }
.credit-brands { display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem; border-block: 1px solid var(--line); padding-block: 2rem; margin-top: 2rem; align-items: center; }
.credit-art { display: grid; place-items: center; aspect-ratio: 16 / 9; padding: 1.5rem; background: #ddd4c8; }
.credit-art img { display: block; width: 100%; height: auto; max-height: 80px; object-fit: contain; }
.credit-art.true-detective { background: #e5ded2; }
.credit-art.true-detective img { mix-blend-mode: multiply; }
.credit-art.godless { background: #282d2b; }
.credit-art.santa-clarita { background: #291e25; }
.credit-art.credit-poster { padding: 0; }
.credit-art.credit-poster img { height: 100%; max-height: none; object-fit: contain; }
.credit-brands figcaption { margin-top: .8rem; font-size: .75rem; }
.credit-brands a { display: block; text-decoration: none; }
@media (max-width: 1050px) {
  .nav { gap: 1.5rem; }
  .nav nav { gap: 1.3rem; }
  .hero { gap: 5%; }
  .hero h1 { font-size: clamp(3.15rem, 5.4vw, 4rem); }
  .portrait img { aspect-ratio: 3 / 4; }
  .story-grid { gap: 7%; }
  .reading-index { grid-template-columns: repeat(3, 1fr); }
  .collection-card .card-title { min-height: 13rem; }
}
@media (max-width: 760px) {
  .nav { gap: 1.2rem; padding-block: 1.5rem 1rem; }
  .wordmark { font-size: 1.75rem; }
  .nav nav { gap: .65rem; font-size: .875rem; flex-wrap: wrap; }
  .nav nav a { padding-block: .6rem; }
  .hero { grid-template-columns: 1fr; gap: 2rem; padding-top: 2.5rem; }
  .hero h1 { font-size: clamp(3.15rem, 10.8vw, 5rem); margin-block: 1.6rem; }
  .hero-deck { font-size: 1.25rem; line-height: 1.65; }
  .hero .actions { gap: 1.25rem; margin-top: 1.8rem; }
  .hero .small { margin-top: 1.6rem; }
  .portrait img { aspect-ratio: 4 / 5; height: auto; object-position: center 40%; }
  .portrait figcaption { font-size: .75rem; }
  .colophon { margin-top: .6rem; font-size: .75rem; }
  .colophon span:nth-child(2) { display: none; }
  .story-grid, .section-heading, .contact-grid, .gate { grid-template-columns: 1fr; gap: 2rem; }
  .story-grid .lead { font-size: 1.2rem; }
  .section-top { font-size: .8rem; }
  .section-top > p:last-child { max-width: 9rem; }
  .section-heading { margin: 1.8rem 0 2rem; }
  .section-heading h2 { max-width: none; }
  .credential-line { gap: 1.5rem 2rem; margin-top: 2rem; }
  .credit-strip { font-size: 1.35rem; }
  .contact-note { padding: 1.5rem 0 0; }
  .contact-grid .email { font-size: .95rem; }
  .gate { padding-block: 3rem; min-height: 0; gap: 2.5rem; }
  .gate h1 { font-size: clamp(3.4rem, 11vw, 5rem); }
  .gate-form { padding: 1.5rem; }
  .selected-intro h1 { font-size: clamp(4.6rem, 20vw, 8rem); margin: 2.5rem 0; line-height: 1; }
  .selected-positioning { display: block; }
  .selected-positioning > p:last-child { margin-top: 1.5rem; }
  .reading-index { grid-template-columns: 1fr 1fr; gap: .3rem 1rem; margin-top: 2rem; }
  .reading-index a { font-size: .875rem; align-items: baseline; padding-block: .65rem; }
  .feature-card { padding-block: 3rem; gap: 1.7rem; }
  .feature-card h2 { font-size: clamp(3.2rem, 13vw, 5.5rem); }
  .feature-card .lead { font-size: 1.75rem; }
  .collection-grid { gap: 3rem; }
  .collection-card .card-title { min-height: 0; }
  .collection-card h2 { font-size: clamp(2.75rem, 10.5vw, 4rem); }
  .collection-card:last-child:nth-child(odd) { margin-top: 0; padding-top: 1.5rem; gap: 0; }
  .collection-card:last-child:nth-child(odd) .card-image-link { margin-block: 1.2rem 1.6rem; }
  .project-opening { padding-block: 2rem 3rem; }
  .project-opening .back { margin-bottom: 2.2rem; }
  .project-opening h1 { font-size: clamp(3rem, 12.5vw, 5.5rem); margin-block: 1.5rem 2rem; overflow-wrap: break-word; }
  .project-opening .section-top > p:last-child { font-size: .75rem; max-width: 7rem; }
  .project-opening-copy { gap: 2rem; }
  .project-opening-copy .lead { font-size: 1.7rem; }
  .project-visual-opening { padding-block: 1.5rem; }
  .document-list > a { font-size: .95rem; gap: 1rem; }
  .document-list > a > .small { font-size: .75rem; }
  .project-next { gap: 1.5rem; }
  .project-next > .text-link { max-width: 7.5rem; }
  .next-project { max-width: 62%; }
  .next-project span:last-child { font-size: clamp(1.75rem, 6.5vw, 2.5rem); }
  .screen-gallery { grid-template-columns: 1fr; gap: 3rem; margin-top: 2.5rem; }
  .film-title { font-size: 3.2rem; }
  .title-stand { font-size: 2.45rem; }
  .lex-title-panel { padding: 1.5rem; min-height: 220px; width: 100%; aspect-ratio: auto; }
  .title-lex { font-size: clamp(3rem, 15vw, 4.5rem); }
  .catalogue-invitation { grid-template-columns: 1fr; gap: 2rem; margin-top: 3rem; padding-top: 2.5rem; }
  .acting-feature-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .credit-brands { grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; }
  .credit-art { padding: 1rem; }
  .credit-art img { max-height: 64px; }
}
@media (max-width: 390px) {
  .hero .actions { align-items: flex-start; flex-direction: column; }
  .reading-index { column-gap: .8rem; }
  .gate-form { padding: 1.25rem; }
}
@supports (grid-template-rows: subgrid) {
  @media (min-width: 761px) {
    .collection-card:not(:last-child:nth-child(odd)) { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 1.5rem; }
    .collection-card:not(:last-child:nth-child(odd)) .card-title { min-height: 0; }
    .collection-card:not(:last-child:nth-child(odd)) .card-image-link { margin: 0; }
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
}
@media (forced-colors: active) {
  body, .dark, .selected-leads, .project-visual-opening, .invitation { background-image: none; }
}

/* An unpaired screen work uses the full row; mobile keeps its existing stack. */
@media (min-width: 761px) {
  .screen-gallery > .screen-film:last-child:nth-child(odd) { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 6%; align-items: start; }
  .screen-gallery > .screen-film:last-child:nth-child(odd) .film-meta { padding-top: 0; }
}

/* Creative identity: human truth under pressure. */
:root { --line: #cec4bc; }
.nav .wordmark { font-family: "Space Grotesk", Arial, sans-serif; font-size: clamp(1rem, 1.45vw, 1.35rem); letter-spacing: .15em; text-transform: uppercase; }
.nav .wordmark span { font-size: .75rem; letter-spacing: .2em; margin-top: .65rem; }
.nav nav { gap: clamp(1rem, 2vw, 2rem); }
.identity-hero { grid-template-columns: 1.35fr 1fr; gap: 2.75rem 7%; padding-top: 2.5rem; align-items: center; }
.identity-hero .hero-title { grid-column: 1/-1; }
.identity-hero .hero-title > .eyebrow { font-size: .75rem; letter-spacing: .18em; }
.identity-hero h1 { font-size: clamp(4rem, 7.9vw, 7.8rem); line-height: 1.02; letter-spacing: -.055em; margin: 1.2rem 0 .1rem; text-wrap: balance; }
.identity-hero h1 em { color: var(--ink); }
.identity-hero .portrait { grid-column: 1; min-width: 0; }
.identity-hero .portrait img { aspect-ratio: 6 / 5; height: auto; object-position: center top; }
.identity-hero .portrait figcaption { text-align: left; }
.identity-hero .hero-copy { grid-column: 2; min-width: 0; padding: 0; }
.identity-hero .hero-deck { font-family: Newsreader, Georgia, serif; font-size: clamp(1.8rem, 2.75vw, 2.65rem); line-height: 1.18; letter-spacing: -.025em; max-width: 23ch; }
.hero-support { margin-top: 1.6rem; font-size: 1rem; line-height: 1.8; max-width: 34em; color: var(--muted); }
.identity-hero .actions { align-items: flex-start; flex-direction: column; gap: 1.15rem; margin-top: 2rem; }
.identity-hero .hero-recognition { margin-top: 1.75rem; font-size: .8rem; color: var(--wine); }
.identity-hero .colophon { margin-top: 0; }
@media (max-width: 1050px) {
  .nav { flex-wrap: wrap; padding-block: 1.5rem; gap: 1rem; }
  .nav nav { flex-wrap: wrap; }
  .identity-hero { gap: 2rem 6%; }
  .identity-hero h1 { font-size: clamp(4rem, 8.2vw, 6rem); }
  .identity-hero .hero-deck { font-size: clamp(1.7rem, 2.8vw, 2.3rem); }
}
@media (max-width: 760px) {
  .nav .wordmark { font-size: 1.03rem; letter-spacing: .11em; }
  .nav nav { column-gap: 1rem; row-gap: .25rem; justify-content: flex-start; font-size: .875rem; }
  .identity-hero { grid-template-columns: 1fr; gap: 1.75rem; padding-top: 2rem; }
  .identity-hero .hero-title, .identity-hero .portrait, .identity-hero .hero-copy { grid-column: 1; }
  .identity-hero .hero-title > .eyebrow { font-size: .75rem; letter-spacing: .12em; }
  .identity-hero h1 { font-size: clamp(3.2rem, 12.8vw, 5.7rem); margin: 1rem 0 0; line-height: 1.02; }
  .identity-hero h1 span, .identity-hero h1 em { display: block; }
  .identity-hero .portrait img { aspect-ratio: 4 / 3; object-position: center top; }
  .identity-hero .hero-deck { font-size: 1.9rem; max-width: 25ch; }
  .hero-support { margin-top: 1.2rem; }
  .identity-hero .actions { margin-top: 1.5rem; }
  .identity-hero .hero-recognition { margin-top: 1.5rem; }
  .identity-hero .colophon { margin-top: .25rem; }
}

/* The work leads; personal history and craft supply the context. */
.identity-hero .hero-title .eyebrow { color: var(--muted); }
#screen-work { background-color: var(--paper); border-top: 0; }
#screen-work .section { padding-top: 4.5rem; }
#screen-work .section-heading { padding-bottom: 2.5rem; border-bottom: 1px solid var(--line); }
#screen-work .section-heading > div { max-width: 35em; }
#screen-work .section-heading > div > p:last-child { font-size: 1rem; color: var(--muted); }
#screen-work .screen-gallery { margin-top: 3rem; }
.story-copy .lead { font-size: clamp(1.4rem, 2vw, 1.85rem); line-height: 1.5; }
.story-copy .body-copy { font-size: 1rem; line-height: 1.8; }
.director-statement { margin: 2rem 0; padding: 1.7rem 0 1.7rem 1.5rem; border-left: 1px solid #c6a2ad; }
.director-statement p { font-family: Newsreader, Georgia, serif; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.3; color: #eadce0; }
.director-statement cite { display: block; margin-top: 1rem; font-style: normal; font-size: .75rem; letter-spacing: .08em; color: #c8bbc0; }
.writing-invitation { background: var(--denim); background-image: var(--paper-grain); color: var(--paper); }
.writing-invitation h2 em { color: var(--paper); }
.writing-invitation .body-copy { margin-top: 1.3rem; }
.writing-invitation .body-copy em { color: #f1d3de; }
.writing-invitation .button { background: var(--paper); border-color: var(--paper); color: var(--ink); margin-top: 2rem; }
.writing-invitation .button:hover { background: #e6dacc; border-color: #e6dacc; }
.writing-invitation .small { color: #d9e0e5; margin-top: 1.1rem; }
.writing-invitation .section-heading { margin-bottom: 0; }
.development-note { margin-top: 1.5rem; padding-top: 1.3rem; border-top: 1px solid var(--line); }
.selected-positioning > div { align-self: end; font-size: 1rem; line-height: 1.8; }
.selected-positioning .lead { font-family: Newsreader, Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.23; max-width: 23ch; }
.selected-intro .edition-label { color: var(--wine); }
.selected-intro h1 { letter-spacing: -.055em; }
.project-opening .back { color: var(--muted); }
.project-opening .edition-label { font-size: .75rem; }
@media (max-width: 760px) {
  #screen-work .section { padding-top: 2.5rem; }
  #screen-work .section-heading { padding-bottom: 1.75rem; }
  .director-statement { margin-block: 1.75rem; padding-left: 1.1rem; }
  .story-copy .lead { font-size: 1.4rem; }
  .selected-positioning .lead { font-size: 1.9rem; }
  .writing-invitation .button { max-width: 100%; }
}

.project-stage { color: var(--wine); font-size: .875rem; line-height: 1.6; margin-top: .5rem; }
@media (max-width: 760px) {
  .identity-hero .hero-title { grid-row: 1; }
  .identity-hero .hero-copy { grid-row: 2; }
  .identity-hero .portrait { grid-row: 3; }
  .identity-hero .hero-deck { font-size: 1.75rem; }
  .identity-hero .hero-recognition { margin-top: 1.2rem; }
  .selected-intro { padding-block: 2.5rem; }
  .selected-intro h1 { margin-block: 1.75rem; }
  .selected-intro .reading-index { margin-top: 2rem; }
}

/* Preserve the complete Mason Trueblood portrait at every screen size. */
.identity-hero .portrait {
  width: min(100%, 28rem);
  justify-self: center;
  padding-top: .75rem;
}
.identity-hero .portrait img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center top;
}
.identity-hero .portrait figcaption { line-height: 1.6; }
@media (max-width: 760px) {
  .identity-hero .portrait { width: min(100%, 26rem); padding-top: .5rem; }
}

/* Photo entrance: the existing personal-site portrait, with one clear way in. */
.entrance-page { background: var(--ink); color: var(--paper); }
.entrance { min-height: 100svh; }
.entrance-link {
  display: grid;
  position: relative;
  isolation: isolate;
  min-height: 28rem;
  height: 100svh;
  padding: clamp(1.5rem, 4vw, 4rem);
  overflow: hidden;
  text-decoration: none;
  align-content: space-between;
  justify-items: center;
}
.entrance-photograph, .entrance-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.entrance-photograph { display: block; object-fit: cover; object-position: center center; }
.entrance-shade {
  background: linear-gradient(180deg, rgb(243 238 228 / .1), transparent 28%, transparent 67%, rgb(21 23 24 / .43));
}
.entrance-name {
  padding-left: .2em;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(1.05rem, 2.35vw, 2.65rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .2em;
  text-align: center;
  text-transform: uppercase;
  color: var(--ink);
}
.entrance-bottom { display: grid; justify-items: center; gap: 1.1rem; }
.entrance-credit { font-size: .68rem; line-height: 1.5; letter-spacing: .055em; text-align: center; color: var(--paper); text-shadow: 0 1px 4px rgb(0 0 0 / .7); }
.entrance-action {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  padding: .9rem .1rem;
  border-bottom: 1px solid rgb(243 238 228 / .75);
  font-size: .85rem;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.entrance-action span { font-size: 1.25rem; line-height: 1; transition: transform .2s ease; }
.entrance-link:hover .entrance-action span { transform: translate(2px, -2px); }
.entrance-link:focus-visible { outline: 3px solid var(--paper); outline-offset: -10px; }
.entrance-link:focus-visible .entrance-action { border-bottom-width: 2px; }
@media (max-width: 600px) {
  .entrance-link { padding: 2rem 1.25rem max(2rem, env(safe-area-inset-bottom)); }
  .entrance-name { font-size: clamp(.85rem, 3.7vw, 1.15rem); letter-spacing: .15em; }
}
@media (prefers-reduced-motion: reduce) {
  .entrance-action span { transition: none; }
}


/* Creative identity, edition 38. One material palette across every route. */
:root {
  --paper: #F3EEE4;
  --ink: #30262F;
  --wine: #8B3D35; /* Barn red: Americana accent on warm paper. */
  --denim: #2F4F65;
  --muted: #655A60;
  --line: #CEC4BC;
  --accent: var(--wine);
  --focus: var(--denim);
  --on-dark-muted: #CEC4BC;
  --on-dark-accent: #D3B7C0;
  --display: Newsreader, Georgia, serif;
  --reading: "Space Grotesk", Arial, sans-serif;
  font-family: var(--reading);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
body { background-image: var(--paper-grain); }
::selection { background: var(--wine); color: var(--paper); }
h1, h2, h3 { font-family: var(--display); letter-spacing: -.03em; }
h2 { font-size: clamp(2.9rem, 5.2vw, 5.15rem); line-height: 1.04; }
h3 { letter-spacing: -.025em; }
em { color: var(--accent); }
.eyebrow, .edition-label { font-size: .875rem; letter-spacing: .12em; }
.eyebrow { color: var(--accent); }
.small, .credit, figcaption { line-height: 1.7; }
.nav { min-height: 108px; border-bottom-color: var(--ink); }
.nav .wordmark { font-size: clamp(1.05rem, 1.55vw, 1.45rem); letter-spacing: .16em; }
.nav .wordmark span { color: var(--wine); font-size: .75rem; letter-spacing: .15em; }
.nav nav a { text-underline-offset: .5em; }
.identity-hero { padding-top: clamp(2rem, 3.5vw, 3.5rem); gap: 2.8rem 7%; }
.identity-hero h1 { font-size: clamp(3.3rem, 7.5vw, 7.3rem); letter-spacing: -.035em; line-height: 1.05; margin-top: 1.4rem; }
.identity-hero h1 em { color: var(--wine); }
.identity-hero .hero-title > .eyebrow { color: var(--denim); font-size: .875rem; letter-spacing: .13em; }
.identity-hero .portrait { padding-top: 0; width: min(100%, 30rem); }
.identity-hero .hero-copy { border-top: 1px solid var(--wine); padding-top: 1.7rem; }
.identity-hero .hero-deck { font-size: clamp(1.85rem, 2.65vw, 2.65rem); line-height: 1.23; letter-spacing: -.02em; max-width: 24ch; }
.hero-support { color: var(--muted); font-size: 1.0625rem; line-height: 1.7; }
.identity-hero .hero-recognition { font-size: .875rem; }
.identity-hero .portrait figcaption, .story-portrait figcaption { font-size: .8125rem; }
.colophon { color: var(--muted); font-size: .8125rem; letter-spacing: .1em; padding-block: 1.4rem .4rem; }
.button { background: var(--denim); border-color: var(--denim); padding: 1.05rem 1.55rem; }
.button:hover { background: var(--wine); border-color: var(--wine); }
.text-link { color: var(--denim); transition: color .18s ease; }
.text-link:hover { color: var(--wine); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
.dark, .selected-leads, .project-visual-opening, .site-footer {
  --accent: var(--on-dark-accent);
  --focus: var(--paper);
  color: var(--paper);
  background-color: var(--ink);
  background-image: var(--paper-grain);
  background-size: 180px 180px;
}
.dark em { color: var(--accent); }
.dark .small, .dark .credit, .dark figcaption, .dark .genre,
.feature-card .credit, .feature-card .genre, .feature-card .selected-image figcaption,
.project-key-image figcaption { color: var(--on-dark-muted); }
.dark .text-link, .selected-leads .text-link { color: var(--paper); }
.dark .text-link:hover, .selected-leads .text-link:hover { color: var(--accent); }
.section-heading > p, .section-heading > div { min-width: 0; }
.body-copy { font-size: 1.0625rem; line-height: 1.75; max-width: 60ch; }
.invitation { background-color: var(--paper); border-color: var(--line); }
#screen-work .section { padding-top: clamp(3rem, 5vw, 5rem); }
#screen-work .section-heading { border-bottom-color: var(--ink); }
.film-meta { border-top: 1px solid var(--line); padding-top: 1.3rem; margin-top: 1.3rem; }
.film-meta .eyebrow { font-size: .8125rem; letter-spacing: .075em; }
.film-meta .credit { max-width: 55ch; }
.title-anne em { color: var(--wine); }
.title-stand { font-family: var(--reading); }
.story-grid { gap: 9%; }
.story-copy .lead { line-height: 1.5; max-width: 38ch; }
.story-copy .body-copy { font-size: 1.0625rem; line-height: 1.8; color: var(--paper); }
.director-statement { border-color: var(--on-dark-accent); padding-block: 1.1rem; margin-block: 2.5rem; }
.director-statement p { color: var(--on-dark-accent); font-size: clamp(1.7rem, 2.4vw, 2.2rem); }
.director-statement cite, .credential-line strong { color: var(--on-dark-muted); font-size: .875rem; }
.credential-line { border-color: #655A60; }
.credit-art, .credit-art.true-detective { background: var(--line); }
.credit-brands figcaption { font-size: .8125rem; color: var(--muted); }
.trailer-preview span { background: var(--ink); }
.writing-invitation { background: var(--paper); color: var(--ink); }
.writing-invitation .wrap { border-top: 1px solid var(--ink); }
.writing-invitation h2 em, .writing-invitation .body-copy em { color: var(--wine); }
.writing-invitation .small { color: var(--muted); }
.writing-invitation .button { background: var(--denim); border-color: var(--denim); color: var(--paper); }
.writing-invitation .button:hover { background: var(--wine); border-color: var(--wine); }
.contact { border-top: 1px solid var(--line); }
.contact-note { border-color: var(--wine); }
input, textarea { border-color: var(--muted); background: var(--paper); }
input:focus, textarea:focus { background: var(--paper); }
.gate-form { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--denim); box-shadow: none; padding: clamp(1.5rem, 3vw, 3rem); }
.gate-form input { background: var(--paper); border-color: var(--muted); }
.gate-form form > p { color: var(--wine); }
.selected-intro h1 { letter-spacing: -.035em; }
.selected-intro .section-top { border-bottom: 1px solid var(--ink); padding-bottom: 1.35rem; }
.selected-positioning { gap: 8%; }
.selected-positioning .lead { line-height: 1.3; letter-spacing: -.015em; }
.reading-index { border-top-color: var(--ink); column-gap: 2rem; }
.reading-index a { font-size: .875rem; line-height: 1.55; }
.reading-index a span { font-size: .8125rem; color: var(--wine); }
.feature-card { border-color: var(--muted); padding-block: 4.5rem; }
.feature-card h2 { letter-spacing: -.035em; }
.feature-card .lead { line-height: 1.35; letter-spacing: -.015em; }
.selected-image figcaption, .reference-pair figcaption { font-size: .8125rem; }
.collection-card { border-top-color: var(--ink); }
.collection-card .card-title { min-height: 0; }
.collection-card h2 { letter-spacing: -.025em; }
.collection-card .lead { font-size: 1.0625rem; line-height: 1.75; }
.selected-rest { border-top: 1px solid var(--line); }
.project-opening .back { color: var(--denim); }
.project-opening .section-top { border-block: 1px solid var(--line); padding-block: 1rem; }
.project-opening .edition-label { font-size: .8125rem; color: var(--muted); }
.project-opening h1 { letter-spacing: -.035em; margin-block: 2.5rem 3rem; }
.project-opening-copy .lead { border-left: 1px solid var(--wine); padding-left: 2rem; line-height: 1.35; }
.project-stage { color: var(--wine); }
.source-status { border-color: var(--line); }
.reading-room { background: var(--ink); color: var(--paper); --accent: var(--on-dark-accent); --focus: var(--paper); border: 0; }
.reading-room h2 em { color: var(--accent); }
.reading-room .small { color: var(--on-dark-muted); }
.reading-room .document-list > a { border-color: var(--muted); }
.reading-room .document-list > a:hover { color: var(--paper); background: #F3EEE40A; }
.reading-room .document-list > a > .small { color: var(--on-dark-accent); font-size: .8125rem; letter-spacing: .06em; }
.site-footer .footer { border-top: 0; padding-top: 3.5rem; }
.site-footer .wordmark { font-family: var(--reading); font-size: 1.125rem; letter-spacing: .1em; text-transform: uppercase; }
.site-footer .footer-bottom { color: var(--on-dark-muted); border-color: var(--muted); font-size: .8125rem; }
.site-footer a { text-decoration-color: var(--muted); }
.site-footer a:hover { text-decoration-color: var(--paper); }
@media (min-width: 761px) {
  .selected-featured .collection-card .card-title { min-height: 12rem; }
  .selected-featured .collection-card .card-image-link { margin-block: 1.2rem 1.6rem; }
  .screen-gallery > .screen-film:last-child:nth-child(odd) .film-meta { margin-top: 0; padding-top: 1.3rem; }
}
@media (max-width: 1050px) {
  .identity-hero .hero-deck { font-size: clamp(1.7rem, 2.9vw, 2.2rem); }
}
@media (max-width: 760px) {
  .nav { min-height: 0; }
  .nav .wordmark { font-size: 1.0625rem; letter-spacing: .1em; }
  .nav nav { gap: .35rem; justify-content: space-between; }
  .identity-hero { padding-top: 2rem; gap: 1.8rem; }
  .identity-hero h1 { font-size: clamp(3.1rem, 11.8vw, 5.6rem); letter-spacing: -.035em; line-height: 1.07; }
  .identity-hero .hero-title > .eyebrow { font-size: .8125rem; letter-spacing: .09em; }
  .identity-hero .hero-copy { padding-top: 1.4rem; }
  .identity-hero .hero-deck { font-size: clamp(1.7rem, 6.1vw, 2rem); }
  .identity-hero .portrait { width: min(100%, 26rem); }
  .identity-hero .portrait img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
  .identity-hero .portrait figcaption { max-width: 32ch; }
  .colophon { letter-spacing: .06em; }
  .section-top { flex-wrap: wrap; }
  .section-top > p:last-child { max-width: none; text-align: left; }
  .story-grid { row-gap: 2rem; }
  .story-copy .body-copy { font-size: 1rem; }
  .feature-card { padding-block: 3rem; }
  .selected-positioning > div { margin-top: 1.5rem; }
  .selected-intro h1 { font-size: clamp(4.5rem, 19vw, 7.5rem); }
  .selected-intro .section-top > p:last-child { max-width: none; white-space: nowrap; }
  .project-opening h1 { margin-block: 1.8rem 2rem; letter-spacing: -.03em; }
  .project-opening .section-top > p:last-child { max-width: none; font-size: .8125rem; }
  .project-opening-copy .lead { padding-left: 1.1rem; }
  .reading-room .document-list > a { font-size: 1rem; }
  .site-footer .footer { padding-top: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) { .text-link { transition: none; } }
@media (forced-colors: active) { .site-footer, .reading-room { background-image: none; } }

/* Copper surfaces selected for the filmmaker story and portfolio footer. */
#story, .site-footer {
  --paper: #FFF7ED;
  --on-dark-muted: #FFF7ED;
  --on-dark-accent: #FFFFFF;
  --accent: var(--on-dark-accent);
  --focus: var(--paper);
  background-color: #8C6246;
  color: var(--paper);
}
#story .credential-line, .site-footer .footer-bottom { border-color: #FFF7ED66; }
.site-footer a { text-decoration-color: currentColor; }
.site-footer a:hover { color: var(--on-dark-accent); }

/* Selected recognition stays with the work it honors. */
.recognition-list { list-style: none; padding: 0; margin: 1.5rem 0; border-top: 1px solid var(--line); }
.recognition-list li { padding-top: .8rem; font-size: .875rem; line-height: 1.65; }
.recognition-list strong { display: block; font-weight: 500; color: var(--ink); }
.recognition-list span { display: block; color: var(--muted); }

.entrance-heading { text-align: center; }
.entrance-role { margin: .75rem 0 0; font-size: clamp(.6rem, 1vw, .8rem); line-height: 1.5; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); }

/* The portrait sits between paper bands so no text covers the subject. */
.entrance-page { background: var(--paper); color: var(--ink); }
.entrance-link {
  display: grid;
  grid-template: auto minmax(0, 1fr) auto / minmax(0, 1fr);
  align-content: stretch;
  justify-items: stretch;
  height: 100svh;
  min-height: 28rem;
  padding: 0;
}
.entrance-heading {
  grid-area: 1 / 1;
  padding: clamp(1rem, 2.6vh, 2rem) 1.25rem;
  background: var(--paper);
  background-image: var(--paper-grain);
}
.entrance-photograph {
  grid-area: 2 / 1;
  position: static;
  z-index: auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.entrance-shade { display: none; }
.entrance-bottom {
  grid-area: 3 / 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem 2rem;
  padding: .65rem clamp(1.25rem, 4vw, 4rem) max(.65rem, env(safe-area-inset-bottom));
  background: var(--paper);
  color: var(--ink);
}
.entrance-action { color: var(--ink); border-bottom-color: var(--ink); }
.entrance-credit { color: var(--muted); text-shadow: none; }
.entrance-link:focus-visible { outline-color: var(--denim); outline-offset: -5px; }
@media (max-width: 600px) {
  .entrance-heading { padding: 1.1rem 1rem; }
  .entrance-bottom { flex-direction: column; gap: .35rem; padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
}

.entrance-heading .entrance-name { margin: 0; }
.entrance-heading .entrance-role { margin-top: .45rem; }

/* The company keeps its own indigo, bone and brass identity within the portfolio. */
@font-face { font-family: "BC Young Serif"; src: url('/assets/fonts/young-serif-400.ttf') format('truetype'); font-weight: 400; font-display: swap; }
.banner-company { background: #17232E; color: #EEE9DD; scroll-margin-top: 2rem; }
.banner-company .section { padding-block: clamp(3rem, 6vw, 6rem); }
.banner-company-masthead { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: .7rem 1.5rem; padding-bottom: 1.3rem; margin-bottom: clamp(2.5rem, 4vw, 4rem); border-bottom: 1px solid #596168; }
.banner-company-masthead .eyebrow { color: #BCA071; }
.banner-company-masthead > p:last-child { font-size: .875rem; letter-spacing: .1em; text-transform: uppercase; }
.banner-company-grid { display: grid; grid-template-columns: minmax(220px, .82fr) minmax(0, 1.2fr); align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }
.banner-company-mark { max-width: 420px; }
.banner-company-mark img { display: block; width: 100%; height: auto; }
.banner-company-mark figcaption { margin-top: 1rem; color: #CEC4BC; font-size: .8125rem; line-height: 1.6; }
.banner-company-copy h2 { margin: 0 0 2rem; line-height: 1.25; letter-spacing: -.025em; }
.banner-company-copy h2 > span { display: block; margin-bottom: .55rem; font-family: "Space Grotesk", sans-serif; font-size: clamp(1.25rem, 2.1vw, 1.875rem); letter-spacing: .03em; text-transform: uppercase; }
.banner-company-copy h2 > em { display: block; font-family: "BC Young Serif", Georgia, serif; font-size: clamp(2.35rem, 3.7vw, 3.5rem); font-style: normal; color: #BCA071; line-height: 1.25; }
.banner-company-copy > p { max-width: 47ch; font-size: 1.0625rem; line-height: 1.8; }
.banner-company-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.1rem 0; border-block: 1px solid #858786; color: #EEE9DD; text-decoration: none; font-size: 1rem; line-height: 1.5; }
.banner-company-link > span { color: #BCA071; font-size: 1.35rem; }
.banner-company-link:hover { color: #BCA071; border-color: #BCA071; }
.banner-company-link:focus-visible { outline-color: #BCA071; }
.banner-company-copy .banner-company-address { margin-top: .8rem; color: #CEC4BC; font-size: .875rem; }
@media (max-width: 760px) {
 .banner-company-grid { grid-template-columns: 1fr; gap: 2.75rem; }
 .banner-company-mark { width: min(100%, 21rem); }
 .banner-company-copy h2 { margin-bottom: 1.5rem; }
 .banner-company-copy > p { font-size: 1rem; }
 .banner-company-link { width: 100%; gap: 1rem; }
}

/* A full-frame portrait accompanies the writing, with the invitation first on phones. */
.writing-heading { grid-template-rows: auto 1fr; gap: 2rem 8%; }
.writing-heading h2 { grid-column: 1; grid-row: 1; }
.writing-copy { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.writing-portrait { grid-column: 1; grid-row: 2; width: min(100%, 360px); }
.writing-portrait img { display: block; width: 100%; height: auto; }
.writing-portrait figcaption { color: var(--muted); font-size: .8125rem; margin-top: .75rem; }
@media (max-width: 760px) {
 .writing-heading { display: flex; flex-direction: column; gap: 2rem; }
 .writing-portrait { align-self: center; }
}

/* A clear reading path, with secondary detail available when wanted. */
.story-subhead { font-family: var(--reading); font-size: 1rem; letter-spacing: .02em; line-height: 1.4; margin: 1.75rem 0 .5rem; }
.story-copy .story-subhead + .body-copy { margin-top: 0; }
.recognition-details { margin: 1.25rem 0; }
.recognition-details summary { display: list-item; min-height: 44px; padding: .65rem 0; font-size: .875rem; line-height: 1.6; cursor: pointer; text-decoration: underline; text-underline-offset: .3em; }
.recognition-details summary:focus-visible { outline: 3px solid var(--focus, var(--denim)); outline-offset: 5px; }
.recognition-details .recognition-list { margin: .5rem 0 1rem; }
.contact-note .small { margin: 1rem 0 0; overflow-wrap: anywhere; }

/* Phone layouts: the proposition and choices come before the portrait. */
@media (max-width: 760px) {
  .nav { gap: 1rem; padding-top: 1.25rem; padding-bottom: .8rem; }
  .nav nav a { display: flex; align-items: center; min-width: 44px; min-height: 44px; padding: .4rem 0; }
  .nav .wordmark span { font-size: .75rem; }
  .identity-hero { padding-top: 1.6rem; padding-bottom: 2.75rem; gap: 1.5rem; }
  .identity-hero .hero-title { grid-column: 1; grid-row: 1; }
  .identity-hero .hero-copy { grid-column: 1; grid-row: 2; padding: 1.2rem 0 0; }
  .identity-hero .portrait { grid-column: 1; grid-row: 3; width: min(100%, 260px); margin-inline: auto; }
  .identity-hero h1 { font-size: clamp(2.5rem, 10.8vw, 3.1rem); margin: 1rem 0 0; line-height: 1.08; }
  .identity-hero .hero-deck { font-size: 1.375rem; line-height: 1.4; max-width: 32ch; }
  .identity-hero .actions { flex-direction: column; align-items: stretch; gap: .65rem; margin-top: 1.25rem; }
  .identity-hero .actions .button { text-align: center; }
  .identity-hero .hero-recognition { margin-top: .85rem; }
  .button { min-height: 48px; font-size: 1rem; }
  .text-link, .reel-caption a, .back { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; }
  .section { padding-block: 2.75rem; }
  h2 { font-size: clamp(2.2rem, 8.8vw, 2.75rem); line-height: 1.12; }
  h1, h2, h3 { overflow-wrap: break-word; }
  .section-heading { gap: 1.25rem; margin-block: 1.4rem 1.75rem; }
  .section-top { flex-wrap: wrap; gap: .5rem 1rem; }
  .section-top > p:last-child { max-width: none; text-align: left; }
  .lead { font-size: 1.125rem; line-height: 1.65; }
  .body-copy, .story-copy .body-copy { font-size: 1rem; line-height: 1.75; }
  .story-grid { gap: 1.5rem; margin-top: 1.5rem; }
  .story-portrait { display: contents; }
  .story-portrait > h2 { grid-row: 1; }
  .story-copy { grid-row: 2; min-width: 0; }
  .story-portrait > figure { grid-row: 3; width: min(100%, 260px); margin-inline: auto; }
  .story-copy .lead { font-size: 1.125rem; }
  .director-statement { margin-block: 1.75rem; }
  .screen-gallery { gap: 2.5rem; }
  .film-meta > p:not(.eyebrow), .acting-feature-grid p { font-size: 1rem; line-height: 1.65; }
  .film-meta .credit { margin-block: 1rem; }
  .film-title { font-size: clamp(2rem, 9vw, 3rem); line-height: 1.15; }
  .writing-portrait { width: min(100%, 260px); }
  .banner-company-mark { width: min(100%, 220px); }
  .banner-company .section { padding-block: 2.75rem; }
  .banner-company-grid { gap: 2rem; }
  .banner-company-masthead { margin-bottom: 2rem; }
  .banner-company-copy h2 > em { font-size: clamp(2rem, 8.8vw, 2.75rem); }
  .contact h2 { margin-bottom: 1rem; }
  .contact-grid { gap: 1.5rem; margin-top: 1.5rem; }
  .contact-note { padding-block: 1rem; }
  .contact-note .button { margin-top: 0; }
  .gate { gap: 1.5rem; padding-block: 2rem; }
  .gate h1 { font-size: clamp(2.5rem, 11vw, 3rem); margin-block: 1rem; }
  .gate .lead { font-size: 1rem; }
  .gate-form { padding-top: 1.25rem; }
  .gate input, .contact input, .contact textarea { font-size: 1rem; min-height: 48px; }
  .selected-intro { padding-block: 2rem 2.5rem; }
  .selected-intro h1 { font-size: clamp(3rem, 13vw, 4rem); margin-block: 1.75rem; line-height: 1; }
  .selected-positioning { gap: .75rem; }
  .selected-positioning > div { margin-top: 0; }
  .reading-index { gap: .5rem 1rem; margin-top: 2rem; padding-top: 1.25rem; }
  .reading-index a { min-height: 44px; align-items: center; min-width: 0; }
  .feature-card { gap: 1.5rem; padding-block: 2.5rem; }
  .feature-card h2, .collection-card h2 { font-size: clamp(2.25rem, 10vw, 3rem); line-height: 1.1; }
  .feature-card .lead { font-size: 1.5rem; line-height: 1.4; }
  .collection-card .lead, .collection-card:last-child:nth-child(odd) .lead { font-size: 1.125rem; line-height: 1.65; }
  .collection-card .card-title { min-height: 0; }
  .collection-grid { gap: 2.75rem; margin-top: 1.75rem; }
  .selected-image figcaption, .reference-pair figcaption { font-size: .8125rem; }
  .project-opening { padding-block: 1.75rem 2.5rem; }
  .project-opening .back { margin-bottom: 1.5rem; }
  .project-opening h1 { font-size: clamp(2.6rem, 11.2vw, 3.25rem); margin-block: 1.5rem; }
  .project-opening-copy { gap: 1.5rem; }
  .project-opening-copy > .lead { order: -1; font-size: 1.375rem; line-height: 1.45; }
  .project-opening-copy > div { min-width: 0; }
  .project-opening-copy .actions { gap: .75rem 1.25rem; }
  .project-premise h2 { font-size: clamp(2.2rem, 8.8vw, 2.75rem); line-height: 1.15; }
  .reading-room .document-list > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; min-height: 48px; padding-block: 1rem; }
  .document-list > a > span:first-child { min-width: 0; overflow-wrap: anywhere; }
  .project-next { flex-direction: column; align-items: flex-start; gap: 1.5rem; padding-block: 2.5rem; }
  .next-project { text-align: left; max-width: 100%; }
  .entrance-role { font-size: .75rem; letter-spacing: .12em; }
  .entrance-credit { font-size: .75rem; }
  .entrance-action { font-size: 1rem; min-height: 44px; display: flex; align-items: center; }
  .site-footer .footer { gap: 1.5rem; padding-block: 2.5rem 1.75rem; }
}
@media (max-width: 360px) {
  .nav nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem .75rem; }
  .reading-index { grid-template-columns: 1fr; }
  .banner-company-masthead > p:last-child { font-size: .75rem; }
}

/* Anchor navigation is immediate, without an animated journey through the page. */
html { scroll-behavior: auto; }

/* Portraits support the copy; film frames share a consistent viewing window. */
.identity-hero { padding-bottom: clamp(3rem, 5vw, 4.5rem); }
.identity-hero .portrait { width: min(100%, 24.5rem); padding-top: 0; }
.story-portrait figure { width: min(100%, 28.75rem); max-width: none; }
.story-portrait img { height: auto; aspect-ratio: 1031 / 1400; object-fit: contain; }
.story-copy { min-width: 0; }
.story-copy .body-copy { max-width: 56ch; }
.story-closing { margin-top: clamp(2rem, 4vw, 3.5rem); border-top: 1px solid #FFF7ED66; }
.story-closing .director-statement { max-width: 65rem; margin: 0; padding: 2rem 0 0; border-left: 0; }
.story-closing .director-statement p { max-width: 52ch; line-height: 1.35; }
.writing-heading { grid-template-rows: auto auto; align-items: center; }
.writing-heading h2 { grid-column: 1 / -1; grid-row: 1; max-width: 18ch; }
.writing-heading .writing-copy { grid-column: 2; grid-row: 2; align-self: center; }
.writing-portrait { grid-column: 1; grid-row: 2; width: min(100%, 20rem); justify-self: center; }
.writing-portrait img { aspect-ratio: 2 / 3; object-fit: contain; }
.collection-card .selected-image img, .reference-pair img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: var(--ink);
}
.reference-pair { align-items: start; }
.acting-feature-grid { grid-template-columns: 1fr 1fr; }
.acting-feature .trailer-preview img { aspect-ratio: 16 / 9; object-fit: contain; }
@media (min-width: 761px) {
  .feature-card .card-copy, .feature-card .card-image-link { align-self: center; }
  .screen-gallery { column-gap: 5%; }
  .film-meta { padding-top: 1.15rem; margin-top: 1.15rem; }
  .screen-gallery > .screen-film:not(:last-child:nth-child(odd)) { display: grid; grid-template-rows: auto 1fr; }
  .film-meta { display: flex; flex-direction: column; align-items: flex-start; }
  .film-meta .text-link { margin-top: auto; }
  .screen-gallery > .screen-film:last-child:nth-child(odd) { align-items: center; }
}
@media (max-width: 760px) {
  .identity-hero .portrait, .story-portrait > figure, .writing-portrait { width: min(100%, 16.25rem); }
  .identity-hero { padding-bottom: 2.75rem; }
  .story-closing { margin-top: 1.75rem; }
  .story-closing .director-statement { padding-top: 1.5rem; }
  .story-closing .director-statement p { font-size: 1.5rem; }
  .writing-heading { gap: 1.5rem; }
  .writing-heading .writing-copy { align-self: stretch; }
  .writing-portrait { margin-top: .5rem; }
  .acting-feature-grid { grid-template-columns: 1fr; }
}
