/* The two German homepage studies share all site-wide navigation and type. */
.option-home{max-width:1800px;margin:0 auto;padding:0 var(--gutter);overflow:clip}
.option-home .option-project{margin:0;min-width:0}
.option-project-link{display:block;position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);background:var(--soft)}
.option-project-link img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.option-project-link:hover img{transform:scale(1.025)}
.option-project-shade{position:absolute;inset:0;pointer-events:none;background:rgb(0 0 0 / .22);opacity:0;transition:opacity .25s ease}
.option-project-title{position:absolute;inset:0;padding:24px;display:grid;place-items:center;text-align:center;z-index:1;color:#fff;font:400 34px/1.2 var(--font-text,Carlito,sans-serif);opacity:0;transition:opacity .25s ease;text-shadow:0 1px 8px rgb(0 0 0 / .2)}
.option-project-link:hover .option-project-shade,.option-project-link:focus-visible .option-project-shade,.option-project-link:hover .option-project-title,.option-project-link:focus-visible .option-project-title{opacity:1}
.option-project-link:hover .option-project-title,.option-project-link:focus-visible .option-project-title{transform:translateY(0)}
.option-project-link:focus-visible{outline-offset:-5px;outline-color:#fff}
.option-home h1,.option-home h2{font-family:Midnight,sans-serif;font-weight:400}
.option-kicker{font-family:var(--font-text,Carlito,sans-serif);font-size:18px;line-height:1.4}
.option-contact{padding:155px 0 135px;display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.option-contact h2{font-size:clamp(36px,4.5vw,66px);line-height:1.12;max-width:790px}
.option-contact>a,.option-noa-project-index>a,.option-graft-project-index>a{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;font-size:20px;line-height:1.4}
.option-contact>a{padding-bottom:5px}
.option-sr-only{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0;border:0}
/* NOA: immersive opening and a staggered editorial field. */
.option-noa-opening{padding-top:4px}
.option-noa-hero .option-project-link{height:calc(100svh - 134px);min-height:520px;max-height:1060px}
.option-noa-hero img{object-position:center 57%}
.option-noa-intro{padding:138px 30px 154px;text-align:center}
.option-noa-intro h1{font-size:clamp(54px,7.4vw,116px);line-height:1.035;letter-spacing:-.035em;margin:26px auto 28px;max-width:1300px}
.option-noa-intro-copy{max-width:500px;margin:0 auto;font-size:20px;line-height:1.4}
.option-noa-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;row-gap:90px;align-items:start}
.option-noa-wide{grid-column:1/8;grid-row:1}
.option-noa-wide .option-project-link{aspect-ratio:1.23}
.option-noa-portrait{grid-column:9/13;grid-row:1;margin-top:180px!important}
.option-noa-portrait .option-project-link{aspect-ratio:.74}
.option-noa-portrait img{object-position:center center}
.option-noa-thought{grid-column:1/5;grid-row:2;padding-top:54px}
.option-noa-thought h2{font-size:clamp(38px,4.8vw,72px);line-height:1.08;letter-spacing:-.025em}
.option-noa-thought p{margin-top:25px;font-size:20px;line-height:1.45}
.option-noa-building{grid-column:6/13;grid-row:2}
.option-noa-building .option-project-link{aspect-ratio:1.5}
.option-noa-festival{grid-column:2/9;grid-row:3;margin-top:10px!important}
.option-noa-festival .option-project-link{aspect-ratio:1.65}
.option-noa-project-index{grid-column:10/13;grid-row:3;align-self:center}
/* GRAFT: every image row and text block shares the same full-width edges. */
.option-graft{--statement-size:32px}
.option-graft-flow{padding-top:4px}
.option-graft-lead .option-project-link{height:min(74svh,900px);min-height:470px}
.option-graft-lead img{object-position:50% 53%}
.option-graft-statement{display:block;width:100%;max-width:none;margin:0;padding:76px 0}
.option-graft-statement p,.option-graft-contact p{max-width:none;font:400 var(--statement-size)/1.4 var(--font-text,Carlito,sans-serif);letter-spacing:0}
.option-graft-panorama,.option-graft-closing{width:100%;margin:0!important}
.option-graft-panorama .option-project-link{aspect-ratio:2.05}
.option-graft-panorama img{object-position:center 57%}
.option-graft-pair{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:64px;align-items:stretch}
.option-graft-pair>.option-project{width:100%;margin:0!important}
.option-graft-pair .option-project-link{aspect-ratio:1.3;height:100%}
.option-graft-closing .option-project-link{aspect-ratio:1.9}
.option-graft-closing img{object-position:center 56%}
.option-graft-project-index{padding-top:30px;text-align:left}
.option-graft-project-index>a,.option-graft-contact a{font:400 var(--statement-size)/1.4 var(--font-text,Carlito,sans-serif);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.option-graft-contact{display:block;width:100%;padding:76px 0}
@media(min-width:1500px){.option-noa-hero .option-project-link{height:calc(100svh - 146px)}}
@media(max-width:1000px){
 .option-noa-intro{padding:100px 0 110px}
 .option-noa-mosaic{column-gap:24px;row-gap:65px}
 .option-noa-portrait{margin-top:110px!important}
 .option-noa-thought{grid-column:1/6;padding-top:20px}
 .option-noa-festival{grid-column:1/9}
 .option-noa-project-index{grid-column:10/13}
 .option-noa-thought p{font-size:18px}
 .option-contact{padding:110px 0 100px;gap:30px}
}
@media(max-width:600px){
 .option-project-title{padding:20px;font-size:27px}
 .option-noa-hero .option-project-link{height:calc(83svh - 82px);min-height:410px;max-height:730px}
 .option-noa-hero img{object-position:54% center}
 .option-noa-intro{padding:75px 0 80px}
 .option-noa-intro h1{font-size:clamp(42px,11.7vw,64px);margin-top:22px;margin-bottom:25px;letter-spacing:-.035em}
 .option-noa-intro-copy{font-size:18px;max-width:280px}
 .option-kicker{font-size:16px}
 .option-noa-mosaic{display:block}
 .option-noa-mosaic>.option-project{margin:0 0 38px!important}
 .option-noa-mosaic>.option-noa-portrait{width:76%;margin-left:auto!important}
 .option-noa-wide .option-project-link{aspect-ratio:1.05}
 .option-noa-portrait .option-project-link{aspect-ratio:.76}
 .option-noa-thought{padding:30px 0 62px}
 .option-noa-thought h2{font-size:44px}
 .option-noa-thought p{font-size:18px;margin-top:22px}
 .option-noa-building .option-project-link{aspect-ratio:1.15}
 .option-noa-festival{width:88%}
 .option-noa-festival .option-project-link{aspect-ratio:1.15}
 .option-noa-project-index{padding:5px 0 0}
 .option-graft{--statement-size:26px}
 .option-graft-lead .option-project-link{height:66svh;min-height:400px;max-height:680px}
 .option-graft-lead img{object-position:55% center}
 .option-graft-statement{padding:48px 0}
 .option-graft-panorama .option-project-link{aspect-ratio:1.25}
 .option-graft-pair{grid-template-columns:1fr;gap:24px;margin-top:24px}
 .option-graft-pair .option-project-link{aspect-ratio:1.25}
 .option-graft-closing .option-project-link{aspect-ratio:1.25}
 .option-graft-project-index{padding-top:24px;text-align:left}
 .option-contact{display:block;padding:90px 0 85px}
 .option-contact h2{font-size:40px;line-height:1.12;max-width:320px}
 .option-contact>a{display:inline-block;padding:0;margin-top:28px;font-size:18px}
}
@media(hover:none),(pointer:coarse){
 .option-project-shade,.option-project-title{opacity:1}
 .option-project-title{transform:none}
}
@media(prefers-reduced-motion:reduce){.option-project-link img,.option-project-title,.option-project-shade{transition:none}}
@media(max-width:600px){.option-project-shade,.option-project-title{opacity:1}.option-project-title{transform:none}}

@media(max-width:600px){.option-home .option-project-shade,.option-home .option-project-title{opacity:1}.option-home .option-project-title{transform:none}}

.option-graft .option-graft-contact{display:block;padding:76px 0}
@media(max-width:600px){.option-graft .option-graft-contact{padding:48px 0}}

/* A single project-index link, composed from the portfolio's own thumbnails. */
.option-project-strip{width:100%;padding:48px 0 0}
.option-graft-final-pair,.option-graft-pair-after-text{margin-top:0}
.option-graft .option-graft-cover{margin:64px 0 0!important}
.option-graft-cover .option-project-link{aspect-ratio:2200/1827}
@media(max-width:600px){.option-graft .option-graft-cover{margin-top:24px!important}}
.option-graft-third{padding-bottom:0}
.project-strip-link{display:block;position:relative;isolation:isolate;height:144px;overflow:hidden;border-radius:var(--radius);background:var(--soft)}
.project-strip-images{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;height:100%}
.project-strip-images img{width:100%;height:100%;min-width:0;object-fit:cover}
.project-strip-shade{position:absolute;inset:0;background:rgb(0 0 0 / .38);opacity:0;transition:opacity .25s ease}
.project-strip-title{position:absolute;inset:0;padding:20px;display:grid;place-items:center;text-align:center;color:#fff;font:400 34px/1.2 var(--font-text,Carlito,sans-serif);text-shadow:0 1px 8px rgb(0 0 0 / .25);opacity:0;transition:opacity .25s ease}
.project-strip-link:hover .project-strip-title,.project-strip-link:focus-visible .project-strip-title,.project-strip-link:hover .project-strip-shade,.project-strip-link:focus-visible .project-strip-shade{opacity:1}
.project-strip-link:focus-visible{outline-offset:-5px;outline-color:#fff}
@media(max-width:600px){
 .option-project-strip{padding:32px 0 0}
 .project-strip-link{height:104px}
 .project-strip-images{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}
 .project-strip-images img:nth-child(n+7){display:none}
 .project-strip-title{font-size:27px}
}
@media(hover:none),(pointer:coarse),(max-width:600px){.project-strip-title,.project-strip-shade{opacity:1}}
@media(prefers-reduced-motion:reduce){.project-strip-title,.project-strip-shade{transition:none}}
