/* Portfolio — image-led editorial layout, in the existing True Essence palette. */
.pf-page,.pf-project{background:var(--cream);color:var(--ink);--pf-pad:3.3vw;--pf-serif:var(--e-global-typography-primary-font-family,'Bodoni Moda'),serif;--pf-sans:var(--e-global-typography-text-font-family,'Manrope'),sans-serif;--pf-width:70vw;font-family:var(--pf-sans)}
.pf-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--cream)}
.pf-hero--index{height:50vw;max-height:74vh;min-height:26.25rem}
.pf-hero--project{height:100svh;min-height:42.5rem}
.pf-hero__media,.pf-hero__shade{position:absolute;inset:0;z-index:-1}
.pf-hero__media img,.pf-hero__media video{width:100%;height:100%;object-fit:cover}
/* Full-viewport portfolio cards select category-matched portrait photos on phones. */
.pf-photo-panel__image picture{display:block;position:absolute;inset:0;width:100%;height:100%}
.pf-hero__shade{background:linear-gradient(180deg,rgba(20,13,12,.48),rgba(20,13,12,.48) 50%,rgba(20,13,12,.58))}
.pf-hero__row{position:absolute;inset:0 var(--pf-pad);display:grid;grid-template-columns:12% 1fr 20%;align-items:center;gap:2%;pointer-events:none}
.pf-hero__row h1{font:400 clamp(2.75rem,4.5vw,6.25rem)/1.05 var(--pf-serif);letter-spacing:-.035em;max-width:68.75rem;text-wrap:balance}
.pf-hero__row>.pf-label:last-child{text-align:right}
.pf-label{font:500 clamp(.625rem,.65vw,.9375rem)/1.5 var(--pf-sans);letter-spacing:.035em;text-transform:uppercase}
.pf-crumb{position:absolute;top:calc(var(--hh) + 1.875rem);left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:.625rem;font:400 .75rem/1.4 var(--pf-sans);z-index:2;width:80%;text-align:center}
.pf-crumb a{border-bottom:1px solid transparent}.pf-crumb a:hover{border-color:currentColor}
.pf-collection{width:var(--pf-width);margin:auto;padding:clamp(3.75rem,6vw,8.75rem) 0 clamp(4.375rem,8vw,11.25rem)}
.pf-paths{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin-bottom:2.5rem;font:500 .75rem/1.5 var(--pf-sans)}
.pf-paths a{padding-bottom:.4375rem;opacity:.75;border-bottom:1px solid transparent}.pf-paths a[aria-current],.pf-paths a:hover{opacity:1;border-color:var(--ink)}
.pf-lead{font:400 clamp(1.125rem,1.4vw,1.875rem)/1.5 var(--pf-sans);max-width:42.5rem;margin:0 0 3.125rem}
.pf-filters{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;border-bottom:1px solid rgba(33,26,25,.24);margin:0 0 2.375rem;padding-bottom:.875rem}
.pf-filters button{font:400 .8125rem/1.4 var(--pf-sans);position:relative;opacity:.755}.pf-filters button[aria-pressed=true]{opacity:1}.pf-filters button[aria-pressed=true]:after{content:'';position:absolute;left:0;right:0;bottom:-.9375rem;height:2px;background:var(--ink)}.pf-filters sup{font-size:.5625rem;margin-left:2px}
.pf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem .625rem;align-items:start}
.pf-card{display:block;min-width:0;grid-column:span 1}.pf-grid>.pf-card:nth-child(6n+1),.pf-grid>.pf-card:nth-child(6n+6){grid-column:span 2;grid-row:span 2}
.pf-card__media{position:relative;overflow:hidden;background:#e6ddd4;aspect-ratio:1.55}
.pf-grid>.pf-card:nth-child(6n+1) .pf-card__media,.pf-grid>.pf-card:nth-child(6n+6) .pf-card__media{aspect-ratio:.98}
.pf-card__media img,.pf-card__media video{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.pf-card:hover .pf-card__media img,.pf-card:focus-visible .pf-card__media img{transform:scale(1.04)}
.pf-card h2{font:500 clamp(.875rem,.9vw,1.25rem)/1.35 var(--pf-sans);margin:.875rem 0 .25rem;letter-spacing:-.025em}.pf-card p{font:400 clamp(.6875rem,.7vw,.9375rem)/1.5 var(--pf-sans);opacity:.755}
.pf-card__arrow{position:absolute;right:.875rem;bottom:.875rem;width:2.125rem;height:2.125rem;background:var(--cream);color:var(--ink);border-radius:50%;display:grid;place-items:center;opacity:0;transform:translateY(.5rem);transition:opacity .25s,transform .25s;font-size:1.25rem}.pf-card:hover .pf-card__arrow,.pf-card:focus-visible .pf-card__arrow{opacity:1;transform:none}
.pf-card__film{position:absolute;bottom:.9375rem;left:.9375rem;font:600 .625rem/1 var(--pf-sans);text-transform:uppercase;letter-spacing:.08em;background:var(--cream);padding:.5625rem .75rem;border-radius:1.875rem}
.pf-doors{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:3.75rem}.pf-doors .pf-card__media{aspect-ratio:1.8}.pf-doors h2{font:400 clamp(1.5rem,2vw,2.75rem)/1.1 var(--pf-serif)}
.pf-status:empty{display:none}.pf-status{font:400 .8125rem/1.5 var(--pf-sans);margin:0 0 1.5625rem}
.pf-card[hidden]{display:none!important}
.pf-project__top{position:absolute;top:calc(var(--hh) + 5.625rem);left:var(--pf-pad);right:var(--pf-pad);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.pf-project__top>a{font:500 .8125rem/1.5 var(--pf-sans);width:max-content;border-bottom:1px solid currentColor;padding-bottom:.3125rem}.pf-project__top p{max-width:35rem;font:400 clamp(1.125rem,1.6vw,2.125rem)/1.35 var(--pf-sans);text-wrap:balance}
.pf-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);font:400 .6875rem/1.4 var(--pf-sans);display:flex;flex-direction:column;align-items:center;gap:.875rem;text-transform:uppercase;letter-spacing:.08em}.pf-scroll span{font-size:1.625rem}
.pf-intro{width:var(--pf-width);margin:0 auto;padding:clamp(4.375rem,7vw,10rem) 0}
.pf-tabs{display:flex;gap:2.1875rem;border-bottom:1px solid rgba(33,26,25,.2);margin-bottom:3.75rem}.pf-tabs button{font:500 .8125rem/1.5 var(--pf-sans);padding:0 0 1rem;opacity:.75;border-bottom:2px solid transparent}.pf-tabs button[aria-selected=true]{opacity:1;border-color:var(--ink)}
.pf-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;row-gap:2rem;align-items:start}.pf-panel[hidden]{display:none!important}.pf-panel h2{font:400 clamp(1.6875rem,2.5vw,3.375rem)/1.22 var(--pf-serif);letter-spacing:-.02em}.pf-panel>p{font:400 clamp(1rem,1.05vw,1.375rem)/1.65 var(--pf-sans);max-width:40rem}.pf-panel dl{font:400 .875rem/1.5 var(--pf-sans);margin:0}.pf-panel dl>div{display:grid;grid-template-columns:1fr 2fr;gap:1.25rem;padding:.8125rem 0;border-bottom:1px solid rgba(33,26,25,.15)}.pf-panel dd{margin:0}.pf-panel dt{opacity:.75}
.pf-watch{grid-column:2;font:500 .8125rem/1.4 var(--pf-sans);justify-self:start;border-bottom:1px solid var(--ink);padding:.5rem 0}.pf-watch span{margin-left:1.875rem}
.pf-film{width:var(--pf-width);margin:0 auto 6.25rem;background:var(--ink)}.pf-film video{height:auto;aspect-ratio:16/9;object-fit:contain}
.pf-gallery{width:93.4%;margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5vw 1vw;align-items:center}
.pf-gallery__item{grid-column:span 6;margin:0;overflow:hidden}.pf-gallery__item:nth-child(5n+1){grid-column:1/-1}.pf-gallery__item:nth-child(5n+2){grid-column:2/7}.pf-gallery__item:nth-child(5n+3){grid-column:8/12}.pf-gallery__item:nth-child(5n+4){grid-column:1/6}.pf-gallery__item:nth-child(5n+5){grid-column:7/-1}
.pf-gallery__item img{height:auto;width:100%;object-fit:contain}
.pf-gallery-head{margin:6.25rem 0 3.75rem}.pf-gallery-head h2{font:400 clamp(2rem,3vw,4rem)/1.12 var(--pf-serif);margin:.75rem 0 1.25rem}.pf-gallery-head p{font:400 .9375rem/1.5 var(--pf-sans)}.pf-collection .pf-gallery{width:100%}
.pf-book{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(33,26,25,.2);margin-top:5rem;padding-top:1.875rem;font:400 clamp(1.5rem,2vw,2.75rem)/1.2 var(--pf-serif)}
.pf-next{width:var(--pf-width);margin:0 auto;padding:7.5rem 0}.pf-next>a:first-child{font:400 .8125rem/1.5 var(--pf-sans);border-bottom:1px solid;padding-bottom:.375rem}.pf-next__project{display:block;position:relative;padding:5rem 0 0}.pf-next__project h2{font:400 clamp(2.5rem,4vw,5.5rem)/1.1 var(--pf-serif);margin:1.125rem 0 1.375rem}.pf-next__project>span:last-of-type{font:400 .8125rem/1.5 var(--pf-sans)}.pf-next__project img{margin-top:2.1875rem;max-height:37.5rem;height:auto;object-fit:cover}
.pf-page :focus-visible,.pf-project :focus-visible{outline:2px solid currentColor;outline-offset:.375rem}
@media(min-width:100em){.pf-hero--index{height:50vh}.pf-hero__row h1{font-size:4.5vw}}
@media(max-width:68.75em){.pf-page,.pf-project{--pf-width:86vw;--pf-pad:5vw}.pf-hero__row{grid-template-columns:15% 1fr 15%}.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem .875rem}.pf-grid>.pf-card:nth-child(n){grid-column:span 1;grid-row:auto}.pf-grid>.pf-card:nth-child(n) .pf-card__media{aspect-ratio:1.15}.pf-project__top{top:calc(var(--hh) + 4.6875rem)}}
@media(max-width:43.75em){.pf-page,.pf-project{--pf-width:90vw}.pf-hero--index{height:55svh;min-height:23.75rem}.pf-hero--project{min-height:40.625rem}.pf-hero__row{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.125rem}.pf-hero__row h1{font-size:clamp(2.375rem,10vw,4rem)}.pf-hero__row>.pf-label:last-child{text-align:left}.pf-crumb{top:calc(var(--hh) + 1.5625rem);width:90%;font-size:.625rem;flex-wrap:wrap;gap:.3125rem}.pf-project .pf-hero__row{top:30%}.pf-project__top{top:calc(var(--hh) + 4.375rem);grid-template-columns:1fr}.pf-project__top p{font-size:1rem;max-width:80%;margin-top:1.125rem}.pf-project__top>a{font-size:.6875rem}.pf-collection{padding-top:2.8125rem}.pf-paths{gap:1rem;font-size:.6875rem;margin-bottom:1.875rem}.pf-filters{gap:.875rem 1.375rem}.pf-filters button{font-size:.75rem}.pf-filters button[aria-pressed=true]:after{bottom:-.3125rem}.pf-doors{grid-template-columns:1fr;gap:1.875rem}.pf-grid{gap:1.875rem .75rem}.pf-card h2{font-size:.875rem}.pf-card p{font-size:.6875rem}.pf-card__arrow{opacity:1;transform:none;width:1.625rem;height:1.625rem;font-size:1rem;right:.5rem;bottom:.5rem}.pf-intro{padding:3.75rem 0}.pf-tabs{margin-bottom:2.1875rem}.pf-panel{grid-template-columns:1fr}.pf-watch{grid-column:1}.pf-panel h2{font-size:1.875rem}.pf-panel>p{font-size:1rem}.pf-gallery{width:90%;gap:1.875rem .75rem}.pf-gallery__item:nth-child(n){grid-column:1/-1}.pf-gallery__item:nth-child(5n+2){grid-column:1/8}.pf-gallery__item:nth-child(5n+3){grid-column:6/-1}.pf-film{margin-bottom:3.75rem;width:90%}.pf-next{padding:4.375rem 0}.pf-gallery-head{margin-top:4.0625rem}.pf-book{font-size:1.625rem}}
.pf-service-copy{width:var(--pf-width);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:clamp(4.0625rem,7vw,9.375rem) 0}.pf-service-copy h2{font:400 clamp(1.75rem,2.5vw,3.375rem)/1.2 var(--pf-serif);letter-spacing:-.02em}.pf-service-copy p{font:400 clamp(1rem,1.05vw,1.375rem)/1.7 var(--pf-sans);margin-bottom:1.3em}.pf-service-copy p:last-child{margin-bottom:0}
@media(max-width:43.75em){.pf-service-copy{grid-template-columns:1fr;gap:1.875rem}}


.hdr.pf-on-hero{color:var(--cream);mix-blend-mode:normal}

/* Full-width landscape chapters and an accessible full-image gallery. */
.pc-scene{position:relative;isolation:isolate;height:100svh;min-height:46.25rem;background:var(--ink);color:var(--cream);overflow:hidden}
.pc-scene__image,.pc-scene__shade{position:absolute;inset:0;z-index:-2}.pc-scene__image img{object-fit:cover;object-position:center 25%}
.pc-scene__shade{z-index:-1;background:linear-gradient(180deg,rgba(20,13,12,.22),rgba(20,13,12,.14) 35%,rgba(20,13,12,.74))}
.pc-scene:before{content:"";position:absolute;inset:0 auto 0 25%;border-left:1px solid rgba(249,244,238,.16);pointer-events:none}
.pc-scene__eyebrow{position:absolute;left:25.7%;right:4%;top:13%;display:flex;justify-content:space-between;gap:1.25rem;font-size:.75rem}
.pc-scene__title{position:absolute;left:25.7%;bottom:25%;max-width:43%;font-size:clamp(2.625rem,4vw,5.625rem)!important;color:var(--cream)}
.pc-scene__copy{position:absolute;right:4%;bottom:5%;width:23%;max-width:32.5rem}.pc-scene__copy p{font-size:clamp(.875rem,1vw,1.1875rem);line-height:1.55}
.pc-scene__gallery{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:1.375rem;text-align:left}.pc-scene__gallery>span{font-size:1.375rem}
.pc-scene__next{position:absolute;left:65%;top:36%;width:clamp(7.5rem,11vw,13.75rem);aspect-ratio:1;border:1px solid rgba(249,244,238,.32);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:.5rem;font:500 .75rem/1.4 var(--pf-sans);text-transform:uppercase;transition:background .3s,border-color .3s}
.pc-scene__next:hover{background:rgba(33,26,25,.2);border-color:var(--cream)}
.pc-lightbox{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;height:100svh;max-width:none;max-height:none;background:var(--ink);color:var(--cream);z-index:20000}
.pc-lightbox::backdrop{background:rgba(20,13,12,.9)}.pc-lightbox:not([open]){display:none}
.pc-lightbox__bar{position:absolute;z-index:2;left:0;right:0;top:0;padding:1.5rem 3.3vw;display:flex;gap:1.25rem;align-items:center;justify-content:space-between;background:linear-gradient(rgba(20,13,12,.85),transparent);font:500 .8125rem/1.5 var(--pf-sans)}
.pc-lightbox__bar button{color:inherit;border-bottom:1px solid;padding:.5rem 0}
.pc-lightbox__track{height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain}
.pc-lightbox__track>figure{flex:0 0 100%;width:100%;height:100%;padding:4.6875rem 5vw 5.625rem;scroll-snap-align:center}
.pc-page .pc-lightbox img{width:100%;height:100%;object-fit:contain}
.pc-lightbox__controls{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);display:flex;gap:.9375rem}
.pc-lightbox__controls button{width:3rem;height:3rem;border:1px solid rgba(249,244,238,.5);border-radius:50%;font-size:1.375rem;color:inherit}
.pc-lightbox__controls button:disabled{opacity:.3;cursor:default}
html:has(.pc-lightbox[open]){overflow:hidden}
@media(max-width:68.75em){.pc-scene__copy{width:32%;right:4%}.pc-scene__title{left:7%;max-width:50%}.pc-scene__eyebrow{left:7%}.pc-scene:before{left:6%}.pc-scene__next{left:65%;top:27%}}
@media(max-width:43.75em){.pc-scene:before{display:none}.pc-scene__eyebrow{left:6vw;right:6vw;top:6rem;font-size:.625rem}.pc-scene__title{left:6vw;right:6vw;bottom:auto;top:auto;max-width:none;font-size:clamp(2.125rem,10vw,2.75rem)!important}.pc-scene__copy{left:6vw;right:6vw;bottom:calc(1.75rem + env(safe-area-inset-bottom));width:auto;max-width:none}.pc-scene__copy p{font-size:.9375rem;line-height:1.6}.pc-scene__next{display:none}.pc-scene__shade{background:linear-gradient(180deg,rgba(20,13,12,.35),rgba(20,13,12,.1) 30%,rgba(20,13,12,.55) 55%,rgba(20,13,12,.88))}.pc-lightbox__bar{padding:1.125rem 5vw;gap:.625rem;font-size:.6875rem}.pc-lightbox__track>figure{padding:4.375rem 0 5.625rem}}

.hdr.pc-header-solid{background:var(--cream);color:var(--ink);mix-blend-mode:normal}

/* Category stories — cinematic hero and spacious editorial photography. */
.pc-page{--pc-gutter:6.5vw;background:var(--cream);color:var(--ink)}
.pc-page figure{margin:0}.pc-page img{display:block;width:100%;height:100%;object-fit:cover}
.pc-hero{height:100svh;min-height:46.25rem;position:relative;isolation:isolate;color:var(--cream)}
.pc-hero__image,.pc-hero__shade{position:absolute;inset:0;z-index:-1}
.pc-hero__image img{object-position:50% 35%}.pc-hero__shade{background:linear-gradient(180deg,rgba(20,13,12,.28),rgba(20,13,12,.05) 35%,rgba(20,13,12,.72))}
.pc-hero__bottom{position:absolute;left:3.3vw;right:3.3vw;bottom:5vw;display:grid;grid-template-columns:1.65fr 1fr;gap:8vw;align-items:end}
.pc-hero h1{font:400 clamp(3.5rem,6vw,8.75rem)/.98 var(--pf-serif);letter-spacing:-.04em;text-wrap:balance;max-width:68.75rem;margin-top:1.375rem}
.pc-page p{font:400 clamp(.9375rem,1.05vw,1.3125rem)/1.7 var(--pf-sans)}.pc-hero__bottom>p{max-width:33.75rem;margin-left:auto}
.pc-statement{padding:clamp(5rem,10vw,13.75rem) var(--pc-gutter);text-align:center}
.pc-statement p{font:400 italic clamp(2rem,3.8vw,5rem)/1.3 var(--pf-serif);max-width:78.125rem;margin:0 auto 2.5rem;letter-spacing:-.025em}
.pc-pair{padding:0 var(--pc-gutter);display:grid;grid-template-columns:1.4fr .8fr;gap:9vw;align-items:end}
.pc-pair>figure:first-child{height:75vw;max-height:62.5rem}.pc-pair>figure:last-child{height:47vw;max-height:40rem;transform:translateY(8vw)}
.pc-editorial{padding:clamp(7.5rem,14vw,18.75rem) var(--pc-gutter) clamp(4.375rem,8vw,11.25rem);display:grid;grid-template-columns:1.1fr .8fr;gap:14vw;align-items:center}
.pc-page h2{font:400 clamp(2.125rem,3.6vw,4.875rem)/1.12 var(--pf-serif);letter-spacing:-.025em;text-wrap:balance}
.pc-editorial h2{margin-top:1.375rem}.pc-wide{height:74svh;min-height:28.125rem;overflow:hidden}
.pc-feature{padding:clamp(4.6875rem,9vw,11.875rem) var(--pc-gutter);display:grid;grid-template-columns:1fr 1fr;gap:12vw;align-items:center}
.pc-feature>figure{height:58vw;max-height:57.5rem}.pc-feature h2{margin:1.375rem 0 1.875rem}.pc-feature p{margin-bottom:1.875rem}
.pc-link{display:inline-block;font:500 .75rem/1.5 var(--pf-sans);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:.75rem 0}
.pc-planning{padding:clamp(4.0625rem,8vw,10rem) var(--pc-gutter);border-top:1px solid rgba(33,26,25,.16)}
.pc-planning>h2{max-width:53.125rem;margin-bottom:4.0625rem}
.pc-planning__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw}
.pc-page h3{font:400 clamp(1.5625rem,2vw,2.5rem)/1.2 var(--pf-serif);margin:1.375rem 0 1.125rem}.pc-planning__grid p{font-size:clamp(.9375rem,.95vw,1.1875rem)}
.pc-gallery{padding:3.4375rem 0 7.5rem;overflow:hidden}.pc-gallery__head{padding:0 var(--pc-gutter);display:flex;align-items:end;justify-content:space-between;gap:1.875rem;margin-bottom:2.8125rem}
.pc-gallery__controls{display:flex;gap:.75rem}.pc-gallery__controls[hidden]{display:none}.pc-gallery__controls button:disabled{opacity:.35;cursor:default}.pc-gallery__controls button{border:1px solid rgba(33,26,25,.3);border-radius:50%;width:3.25rem;height:3.25rem;font-size:1.375rem}
.pc-gallery__track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pc-gutter) 1.25rem;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ink) transparent}
.pc-gallery__track>figure{flex:0 0 31vw;height:40vw;max-height:53.125rem;scroll-snap-align:center}
.pc-gallery__track>figure:nth-child(3n+2){margin-top:4.0625rem;height:34vw}
.pc-cta{background:#26100d;color:var(--cream);padding:clamp(5rem,9vw,11.25rem) var(--pc-gutter);text-align:center}
.pc-cta h2{font-size:clamp(2.875rem,5.5vw,7.5rem);margin:1.875rem 0}.pc-cta p{max-width:36.25rem;margin:0 auto 1.5625rem}.pc-cta__back{display:block;width:max-content;max-width:100%;margin:3.125rem auto 0;font:400 .8125rem/1.5 var(--pf-sans);border-bottom:1px solid currentColor}
.pc-page :focus-visible{outline:2px solid currentColor;outline-offset:.375rem}
@media(max-width:68.75em){.pc-hero__bottom{gap:5vw}.pc-hero h1{font-size:7vw}.pc-editorial{gap:7vw}.pc-feature{gap:7vw}.pc-pair{gap:7vw}}
@media(max-width:43.75em){.pc-page{--pc-gutter:6vw}.pc-hero{min-height:46.875rem;height:100svh}.pc-hero__bottom{left:6vw;right:6vw;bottom:3.4375rem;grid-template-columns:1fr;gap:1.625rem}.pc-hero h1{font-size:3.375rem;max-width:100%;margin-top:1rem}.pc-hero__bottom>p{font-size:.9375rem;max-width:100%}.pc-pair{grid-template-columns:1fr;gap:1.875rem}.pc-pair>figure:first-child{height:112vw}.pc-pair>figure:last-child{width:70%;height:90vw;justify-self:end;transform:none}.pc-editorial{grid-template-columns:1fr;gap:1.875rem;padding-top:4.375rem}.pc-wide{height:65svh;min-height:22.5rem}.pc-feature{grid-template-columns:1fr;gap:2.8125rem}.pc-feature>figure{height:115vw}.pc-planning>h2{margin-bottom:2.5rem}.pc-planning__grid{grid-template-columns:1fr;gap:2.375rem}.pc-planning__grid>div{border-top:1px solid rgba(33,26,25,.16);padding-top:1.5625rem}.pc-gallery{padding-bottom:4.0625rem}.pc-gallery__head{align-items:center;gap:.9375rem}.pc-gallery__head h2{font-size:2rem}.pc-gallery__controls{gap:.5rem}.pc-gallery__controls button{width:2.375rem;height:2.375rem;font-size:1.125rem}.pc-gallery__track>figure{flex-basis:80vw;height:110vw}.pc-gallery__track>figure:nth-child(3n+2){height:90vw;margin-top:2.1875rem}.pc-cta h2{font-size:3.375rem}}


/* Photography collection index — edge-to-edge image panels. */
.pf-photo-stack{width:100%}
.pf-photo-panel{display:block;position:relative;height:82svh;min-height:32.5rem;isolation:isolate;overflow:hidden;color:var(--cream);border-bottom:1px solid rgba(249,244,238,.15)}
.pf-photo-panel__image{position:absolute;inset:-8% 0;z-index:-2;overflow:hidden}
.pf-photo-panel__image img{display:block;width:100%;height:100%;object-fit:cover;transition:scale 1.4s cubic-bezier(.19,1,.22,1)}
.pf-photo-panel:hover .pf-photo-panel__image img{scale:1.025}
.pf-photo-panel__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,13,12,.23),rgba(20,13,12,.15) 40%,rgba(20,13,12,.64))}
.pf-photo-panel__caption{position:absolute;left:3.3vw;right:3.3vw;bottom:5.3%;pointer-events:none}
.pf-photo-panel__caption .pf-label{display:block;margin-bottom:.9375rem;font-size:.75rem}
.pf-photo-panel h2{font:400 clamp(2.5rem,4vw,5.375rem)/1.08 var(--pf-serif);letter-spacing:-.035em}
.pf-photo-panel__view{position:absolute;left:var(--view-x,50%);top:var(--view-y,50%);transform:translate(-50%,-50%);width:clamp(9.375rem,12vw,15rem);aspect-ratio:1;display:flex;align-items:center;justify-content:center;gap:.5625rem;border:1px solid rgba(249,244,238,.35);border-radius:50%;background:rgba(33,26,25,.08);font:500 .75rem/1.3 var(--pf-sans);text-transform:uppercase;pointer-events:none;transition:border-color .35s,background .35s}
.pf-photo-panel:hover .pf-photo-panel__view,.pf-photo-panel:focus-visible .pf-photo-panel__view{border-color:rgba(249,244,238,.8);background:rgba(33,26,25,.18)}
.pf-photo-panel:focus-visible{outline:2px solid var(--cream);outline-offset:-.5rem}
@media(max-width:43.75em){.pf-photo-panel{height:74svh;min-height:27.5rem}.pf-photo-panel__caption{left:6%;right:6%;bottom:7%}.pf-photo-panel__caption .pf-label{font-size:.625rem;margin-bottom:.75rem}.pf-photo-panel h2{font-size:2.75rem}.pf-photo-panel__view{width:8.4375rem;font-size:.625rem}}


.pf-gateway{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}
.pf-gateway__choice{display:block;position:relative;min-height:100svh;overflow:hidden}
.pf-gateway__choice+.pf-gateway__choice{border-left:1px solid rgba(249,244,238,.3)}
.pf-gateway__choice .pf-hero__media{transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
.pf-gateway__choice:hover .pf-hero__media{transform:scale(1.035)}
.pf-gateway__text{position:absolute;left:8%;right:8%;bottom:12%;display:grid;grid-template-columns:1fr auto;gap:1.125rem;align-items:center}
.pf-gateway__text>.pf-label{grid-column:1/-1}
.pf-gateway h2{font:400 clamp(2.75rem,4.6vw,6.875rem)/1.1 var(--pf-serif);letter-spacing:-.035em}
.pf-gateway__arrow{font:300 clamp(2.125rem,3vw,3.75rem)/1 var(--pf-sans)}
.pf-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pf-collection>.pf-gallery{width:100%}
.pf-collection>.pf-film{width:100%}
@media(max-width:43.75em){.pf-gateway{grid-template-columns:1fr}.pf-gateway__choice{min-height:55svh}.pf-gateway__choice+.pf-gateway__choice{border-left:0;border-top:1px solid rgba(249,244,238,.3)}.pf-gateway__text{left:6%;right:6%;bottom:12%}.pf-gateway h2{font-size:2.625rem}}


/* ===== Category pages v2: full-screen chapters, collection grid, approach + FAQ ===== */
/* Chapters fill exactly one screen on every device; the photo covers edge to edge */
/* Exactly one screen tall on every display: 100vh on desktop, phone-safe svh on touch screens */
.pc-scene{height:100vh!important;min-height:0!important;max-height:none!important;overflow:hidden;background:#140d0c}
@media(hover:none) and (pointer:coarse){.pc-scene{height:100svh!important;scroll-snap-align:start;scroll-snap-stop:always}html:has(.pc-scene){scroll-snap-type:y proximity}}
.pc-scene,.pc-scene__image img{clip-path:none!important}
.pc-scene__image img{transform:none!important;will-change:auto}
.pc-scene__image{inset:0;overflow:hidden}
.pc-scene__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;transform-origin:50% 50%;will-change:transform}
.pc-scene__title,.pc-scene__copy p,.pc-scene__eyebrow,.pc-scene__gallery{color:var(--cream)}
.pc-scene__image--m{display:none}
@media(max-width:43.75em){.pc-scene:has(.pc-scene__image--m) .pc-scene__image--d{display:none}.pc-scene__image--m{display:block}.pc-scene__image--m img{object-position:50% 25%}}
.pc-scene__title{text-shadow:0 2px 1.875rem rgba(0,0,0,.25)}
.pc-scene__copy{background:none}
@media(max-width:43.75em){
  .pc-scene{display:flex;flex-direction:column;justify-content:flex-end;padding:0 6vw calc(1.875rem + env(safe-area-inset-bottom))}
  .pc-scene__eyebrow{position:absolute;top:5.75rem;left:6vw;right:6vw}
  .pc-scene__title,.pc-scene__copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;max-width:none;margin:0}
  .pc-scene__title{margin-bottom:1.125rem}
  .pc-scene__copy p{font-size:.9063rem;line-height:1.55}
  .pc-scene__image img{object-position:50% 30%}
}

/* Approach */
.pc-approach{padding:clamp(4.375rem,9vw,11.875rem) var(--pc-gutter);display:grid;grid-template-columns:.9fr 1fr;gap:10vw;align-items:start;border-top:1px solid rgba(33,26,25,.16)}
.pc-approach h2{margin-top:1.375rem}.pc-approach__text p+p{margin-top:1.2em}

/* Collection grid */
.pc-collection{padding:clamp(5rem,9vw,11.25rem) var(--pc-gutter)}
.pc-collection__head{display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:end;margin-bottom:clamp(2.5rem,5vw,5.625rem)}
.pc-collection__head h2{margin-top:1.375rem}
.pc-collection__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(.625rem,1.2vw,1.375rem)}
.pc-collection__item{display:block;position:relative;padding:0;border:0;background:#e9e2d9;cursor:zoom-in;overflow:hidden;aspect-ratio:4/5}
.pc-collection__item--land{grid-column:span 2;aspect-ratio:auto}
.pc-collection__item img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.1s cubic-bezier(.19,1,.22,1)}
.pc-collection__item:hover img{transform:scale(1.035)}
.pc-collection__item:focus-visible{outline:2px solid var(--ink);outline-offset:.25rem}
@media(max-width:43.75em){.pc-collection__head{grid-template-columns:1fr;gap:1.25rem}.pc-collection__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.pc-collection__item--land{grid-column:span 2}.pc-approach{grid-template-columns:1fr;gap:1.75rem}}

/* FAQ */
.pc-faq{padding:clamp(4.375rem,8vw,10.625rem) var(--pc-gutter);border-top:1px solid rgba(33,26,25,.16);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}
.pc-faq h2{margin-top:1.375rem}
.pc-faq__item{padding:1.75rem 0;border-top:1px solid rgba(33,26,25,.16)}
.pc-faq__item:first-child{border-top:0;padding-top:0}
.pc-faq__item h3{margin:0 0 .75rem}
@media(max-width:43.75em){.pc-faq{grid-template-columns:1fr;gap:1.875rem}}

/* No horizontal overflow from scaled images or wide grids */
.pc-page{overflow-x:clip}




/* Editorial masonry collections: natural image ratios, uniform gutters, no empty grid cells.
   CSS columns keep DOM/keyboard order intact and need no layout script or image-load reflow. */
.pc-collection__grid{
    display:block;
    --pc-grid-gap:clamp(.75rem,1.3vw,1.5rem);
    columns:3;
    column-gap:var(--pc-grid-gap);
}
.pc-collection__grid .pc-collection__item{
    display:block;
    width:100%;
    margin:0 0 var(--pc-grid-gap);
    padding:0;
    break-inside:avoid;
    -webkit-column-break-inside:avoid;
    grid-column:auto;
    aspect-ratio:auto;
    line-height:0;
    background:transparent;
}
.pc-page .pc-collection__grid .pc-collection__item img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}
@media(max-width:68.75em){
    .pc-collection__grid{columns:2}
}
@media(max-width:37.5em){
    .pc-collection__grid{columns:1;--pc-grid-gap:1rem}
}
/* Portfolio hover treatments remain active on all motion settings. */

/* Shared project, service and category hero alignment. The description now
   follows the title instead of sitting near the navigation. */
.pf-project .pf-hero__row--editorial,.pf-page .pf-hero--index .pf-hero__row--editorial{display:flex;align-items:center;justify-content:center;padding-block:clamp(7rem,13vh,10rem)}
.pf-project .pf-hero__copy,.pf-page .pf-hero--index .pf-hero__copy{width:min(100%,90rem);max-width:100%;margin:auto;text-align:left}
.pf-hero__copy>.pf-label:first-child{display:block;margin:0 0 clamp(.75rem,1.5vw,1.5rem);font-size:clamp(.75rem,.9vw,.875rem);letter-spacing:.08em;text-transform:uppercase}
.pf-project .pf-hero__copy h1,.pf-page .pf-hero--index .pf-hero__copy h1{display:block;max-width:17ch;margin:0;color:var(--cream);font-family:var(--font-display);font-size:clamp(3.75rem,6.4vw,8.5rem);font-weight:400;line-height:.96;letter-spacing:-.045em;text-wrap:balance}
.pf-hero__copy .pf-hero__category{display:block;margin-top:clamp(.75rem,1.3vw,1.5rem);font-size:clamp(.75rem,.85vw,.9rem);letter-spacing:.08em;text-transform:uppercase}
.pf-project .pf-hero__description,.pf-page .pf-hero__description{max-width:44ch;margin-top:clamp(.875rem,1.5vw,1.625rem);color:var(--cream);font:400 clamp(1rem,1.25vw,1.25rem)/1.45 var(--font-text);letter-spacing:-.01em;text-wrap:pretty}
@media(max-width:900px){
 .pf-project .pf-hero__row--editorial,.pf-page .pf-hero--index .pf-hero__row--editorial{inset:auto var(--pf-pad) clamp(8.5rem,18svh,13rem) var(--pf-pad);display:block;padding:0;transform:none}
 .pf-project .pf-hero__copy h1,.pf-page .pf-hero--index .pf-hero__copy h1{font-size:clamp(3.125rem,7.2vw,5.75rem);line-height:1;max-width:14ch}
}
@media(max-width:700px){
 .pf-project .pf-hero--project{height:100svh;min-height:38rem}
 .pf-page .pf-hero--index{height:100svh;min-height:34rem;max-height:none}
 .pf-project .pf-hero__row--editorial,.pf-page .pf-hero--index .pf-hero__row--editorial{inset:auto var(--pf-pad) calc(clamp(8rem,17svh,11rem) + env(safe-area-inset-bottom,0px)) var(--pf-pad);gap:0}
 .pf-project .pf-hero__copy h1,.pf-page .pf-hero--index .pf-hero__copy h1{font-size:clamp(2.75rem,10.5vw,4.75rem);line-height:.98;max-width:11.5ch;overflow-wrap:normal}
 .pf-hero__copy>.pf-label:first-child{font-size:.75rem;letter-spacing:.05em;margin-bottom:.625rem}
 .pf-hero__copy .pf-hero__category{font-size:.8125rem;margin-top:.8125rem;letter-spacing:.06em}
 .pf-project .pf-hero__description,.pf-page .pf-hero__description{font-size:clamp(.9375rem,3.7vw,1.0625rem);line-height:1.42;margin-top:.8125rem;max-width:33ch}
 .pf-project .pf-scroll{bottom:calc(1.75rem + env(safe-area-inset-bottom,0px))}
 /* Photography collection heroes use a second layout; give them the same lower title/copy rhythm. */
 .pc-page .pc-hero__bottom{bottom:clamp(5.5rem,11svh,8.5rem);gap:1rem}
 .pc-page .pc-hero__bottom>p{line-height:1.45}
}
@media(max-width:700px) and (max-height:700px){
 .pf-project .pf-hero__row--editorial,.pf-page .pf-hero--index .pf-hero__row--editorial{bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))}
 .pf-project .pf-hero__copy h1,.pf-page .pf-hero--index .pf-hero__copy h1{font-size:clamp(2.45rem,9.2vw,3.75rem)}
 .pf-project .pf-hero__description,.pf-page .pf-hero__description{font-size:.9375rem;line-height:1.35}
 .pc-page .pc-hero__bottom{bottom:5.5rem}
}

