@font-face{font-family:Editorial;src:url('/assets/editorial-serif.ttf') format('truetype');font-weight:400;font-display:swap}
body{--ground:#171916;--dark:#171916;--ink:#f0f0e9;--paper:#eeeee7;--gutter:clamp(20px,2.8vw,44px);--accent:#e3cfaa;background:var(--ground)}
.section{padding-block:clamp(64px,6.2vw,100px)}
.button{background:var(--accent);color:var(--dark);font-weight:600}
.button:hover{background:#f0dfbf}
.header{padding-block:28px}.wordmark{font-size:28px}.desktop-nav .nav-cta{background:var(--accent)}
.hero{min-height:760px}.hero-content{padding-bottom:70px;gap:8vw;grid-template-columns:1.55fr 1fr}
.hero h1{font-weight:600;font-size:clamp(72px,8.1vw,128px);letter-spacing:-.065em;line-height:.95}
.hero-side{gap:24px}.hero-side p{font-size:19px;max-width:32ch}.hero-work-link{font-size:15px;width:max-content;padding:7px 0}
.hero-bottom{bottom:24px;font-size:13px}.hero .button{min-height:64px}
.photo-ribbon{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:12px;padding-top:14px;background:var(--ground)}
.photo-ribbon a{height:230px;position:relative;overflow:hidden;isolation:isolate}
.photo-ribbon img{transition:transform .7s}
.photo-ribbon a:hover img{transform:scale(1.04)}
.photo-ribbon a:after{content:'';position:absolute;inset:45% 0 0;z-index:-1;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.photo-ribbon a img{position:relative;z-index:-2}
.photo-ribbon span{position:absolute;bottom:18px;left:18px;color:white;font-size:16px}
.editorial-intro{display:grid;grid-template-columns:.8fr 1.45fr 1fr;gap:4vw;align-items:center;padding-block:100px}
.intro-portrait{margin:0;height:350px;position:relative}.intro-portrait img{object-position:center 25%}
.intro-portrait figcaption{font-size:14px;margin-top:12px}
.intro-portrait.intro-tall{height:490px;align-self:start}
.editorial-intro .intro-copy{position:static;padding:15px 0}
.editorial-intro h2{font-family:Editorial,Georgia,serif;font-weight:400;font-size:clamp(40px,4.4vw,70px);letter-spacing:-.055em;line-height:1.05;max-width:14ch}
.editorial-intro p{font-size:19px;line-height:1.55;max-width:35ch;margin-top:24px}.editorial-intro .text-link{margin-top:26px}
.work{padding-top:65px;padding-bottom:65px;background:#1d211c}
.work-head{max-width:none;margin:0;text-align:left;display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:end}
.work-head h2{margin:0;max-width:13ch;font-size:clamp(56px,6.8vw,108px)}
.work-head p{margin:0;font-size:18px;max-width:36ch}.work-head .text-link{display:inline-block;margin-top:25px}
.orbit-stage{margin-top:12px;min-height:570px}
.work .gallery-controls{margin-top:5px}.work-note{margin-top:16px}
.control{background:#353d32}.control:hover{background:#4e5848}
.featured-moment{position:relative;height:650px;isolation:isolate;overflow:hidden;color:white}
.featured-moment>img{position:absolute;inset:0;z-index:-3;object-position:center 43%}
.featured-moment:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 20%,rgba(0,0,0,.68))}
.featured-copy{position:absolute;left:0;right:0;bottom:50px;display:flex;justify-content:space-between;align-items:end;gap:40px}
.featured-copy h2{font-size:clamp(64px,7.8vw,120px);max-width:12ch;line-height:.96}
.featured-copy p{font-size:20px;margin-bottom:26px}.featured-copy .button{width:100%}
.section-top h2{font-size:clamp(48px,6.4vw,98px);max-width:14ch}.section-top p{font-size:18px;max-width:32ch}
.service-layout{gap:5vw;margin-top:48px;grid-template-columns:1fr 1.1fr}
.service-photo{height:780px;position:relative;overflow:hidden;isolation:isolate}
.service-photo>img{object-position:center 25%;transition:opacity .22s}
.service-photo-caption{position:absolute;left:28px;right:24px;bottom:25px;color:white;font-size:30px;line-height:1.1;letter-spacing:-.04em;z-index:2}
.service-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}
.service-link{display:grid;grid-template-columns:76px 1fr 24px;gap:22px;padding:18px 0;font-size:clamp(25px,2.6vw,40px);line-height:1.05}
.service-thumb{height:82px;overflow:hidden}.service-thumb img{object-position:center 35%;transition:transform .5s}
.service-link:hover .service-thumb img{transform:scale(1.08)}.service-link:hover{padding-left:8px}
.service-label small{display:block;font-size:15px;line-height:1.45;letter-spacing:0;margin-top:9px;font-weight:400}
.service-arrow{font-size:26px}.service-copy{margin-top:24px;font-size:16px}
.stories{padding-block:95px}.filters{margin-top:32px;margin-bottom:28px;gap:6px}
.filter{padding:12px 22px}.filter[aria-pressed=true]{background:var(--accent)}
.story-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:44px 24px}
.story-card{grid-column:span 4}
.story-card:nth-child(1){grid-column:span 7}.story-card:nth-child(2){grid-column:span 5}
.story-card:nth-child(1) .story-image,.story-card:nth-child(2) .story-image{height:550px}
.story-image{height:390px}.story-meta h3{font-size:28px;line-height:1.05}.story-card p{font-size:15px}
.story-card:nth-child(6){grid-column:1/-1;display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;background:#272d24;column-gap:40px}
.story-card:nth-child(6) .story-image{grid-row:1/3;height:430px}.story-card:nth-child(6) .story-meta{margin:0;padding:40px 30px 20px 0;align-self:end}
.story-card:nth-child(6) .story-meta h3{font-size:42px;max-width:9ch}.story-card:nth-child(6)>p{padding-right:30px;align-self:start;margin:0;font-size:17px}
.story-card[hidden]{display:none!important}
.about-layout{gap:7vw;grid-template-columns:1fr 1.05fr;align-items:start}
.about-collage{position:relative;padding:0 50px 85px 0}.about-photo{height:700px}.about-photo img{object-position:37% center}
.about-inset{position:absolute;right:0;bottom:55px;width:58%;height:250px;border:12px solid var(--paper);background:var(--paper)}
.about-inset img{object-fit:cover;object-position:center}.about-collage>p{position:absolute;bottom:16px;left:0;font-size:15px}
.about-copy h2{font-size:clamp(48px,6vw,92px);max-width:12ch}.about-copy p{font-size:19px;margin-top:26px;max-width:43ch}
.studio-approach{margin-top:32px;display:grid;gap:24px}.studio-approach h3{font-size:22px;letter-spacing:-.03em}
.studio-approach p{font-size:16px;line-height:1.5;margin-top:9px;max-width:43ch}.about-copy .button{margin-top:32px}
.contact-heading{font-size:clamp(48px,6.6vw,104px);margin-bottom:48px;max-width:14ch}
.contact-layout{grid-template-columns:1fr 1.15fr;gap:7vw;align-items:start}.contact-details p{font-size:19px;max-width:37ch}
.contact-photo{height:300px;margin-top:26px;max-width:550px;overflow:hidden}.contact-photo img{object-position:center 35%}
.contact-details>a{font-size:clamp(19px,2vw,28px);margin-top:20px}.contact-details address{margin-top:28px;font-size:15px}
.enquiry-form{gap:24px 20px;background:#242a21;padding:32px}.field input,.field select,.field textarea{background:#323a2e;border-color:#626f5c}
.form-note{font-size:13px}.enquiry-form .button{font-size:16px}.enquiry-result{background:#353d30}
.faq-layout{grid-template-columns:1fr 1.3fr;gap:8vw;align-items:start}.faq-intro h2{font-size:clamp(44px,5vw,76px)}
.faq-image{height:230px;margin-top:32px;max-width:420px}.faq-intro>p{font-size:16px;margin-top:16px}
details{background:#e1e3d9;margin-bottom:10px;padding:24px}summary{font-size:20px}details p{line-height:1.6}
.footer{padding-block:60px 26px;background:#242c20}.footer-name{font-size:clamp(60px,13.5vw,215px);color:var(--accent);margin-block:60px 45px}
.footer-top p{font-size:18px}.footer-links{gap:30px}.footer-bottom{font-size:13px}
.interior .page-intro{padding-block:58px 64px;display:grid;grid-template-columns:1.2fr 1fr;gap:24px 7vw;align-items:end}
.interior .page-intro h1{grid-row:1/3;max-width:14ch;font-size:clamp(48px,6.5vw,100px)}
.interior .page-intro p{grid-column:2;font-size:21px;margin:0;max-width:37ch;align-self:end}.interior .page-intro .button{grid-column:2;margin:0;justify-self:start;align-self:start}
.interior .service-layout{margin-top:0}.interior .section{padding-block:80px}.interior .cover-image{height:68svh;min-height:400px}
.page-body{gap:7vw}.photo-grid{gap:18px}.photo-button{height:580px}.photo-button:nth-child(3n){height:75svh}
.journal-card .story-image{height:400px}.journal-card h2{font-size:28px}
@media(max-width:1100px){
 .hero h1{font-size:clamp(58px,7.5vw,85px)}.editorial-intro{gap:3vw;grid-template-columns:.75fr 1.45fr 1fr}
 .editorial-intro h2{font-size:44px}.intro-portrait{height:290px}.intro-portrait.intro-tall{height:390px}
 .editorial-intro p{font-size:17px}.service-photo{height:740px}.service-link{grid-template-columns:60px 1fr 22px;gap:15px;font-size:28px}
 .service-thumb{height:70px}.service-label small{font-size:14px}.about-photo{height:640px}.about-collage{padding-right:30px}
 .contact-layout{gap:4vw}.enquiry-form{padding:24px}.contact-details>a{font-size:21px}.story-card:nth-child(1) .story-image,.story-card:nth-child(2) .story-image{height:450px}
 .story-image{height:330px}.about-copy h2{font-size:60px}.studio-approach{gap:20px}.about-copy p{font-size:18px}.studio-approach p{font-size:15px}
}
@media(max-width:800px){
 .hero-content{grid-template-columns:1.4fr 1fr;gap:30px}.hero-side p{font-size:17px}.hero h1{font-size:54px}
 .editorial-intro{grid-template-columns:1fr 1.3fr;gap:30px;padding-block:70px}.intro-portrait.intro-tall{display:none}.intro-portrait{height:450px}.editorial-intro h2{font-size:46px}
 .work-head{grid-template-columns:1fr 1fr;gap:30px}.work-head h2{font-size:60px}.work-head p{font-size:17px}
 .about-layout{grid-template-columns:1fr;gap:45px}.about-collage{max-width:650px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px}
 .about-copy h2{font-size:64px;grid-row:1/3}.about-copy p{margin:0}.studio-approach{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:8px}.about-copy .button{margin:0;grid-column:1/-1;justify-self:start}
 .contact-layout{grid-template-columns:1fr;gap:36px}.contact-details{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.contact-photo{grid-column:2;grid-row:1/5;margin:0;height:310px}
 .contact-details p{font-size:18px}.contact-details>a{font-size:20px}.contact-details address{margin-top:20px}.enquiry-form{padding:28px}
 .faq-layout{gap:35px;grid-template-columns:.8fr 1.2fr}.faq-image{height:210px}summary{font-size:18px}.story-card:nth-child(6) .story-meta h3{font-size:32px}
}
@media(max-width:700px){
 body{--gutter:20px}.section{padding-block:58px}.header{padding-block:24px}.wordmark{font-size:25px}.hero{min-height:780px}
 .hero h1{font-size:clamp(47px,11vw,65px);max-width:12ch}.hero-content{display:block;padding-bottom:74px}.hero-side{gap:20px;margin-top:28px}
 .hero-side p{font-size:17px}.hero-work-link{font-size:14px;padding:0}.hero-bottom{font-size:11px;bottom:18px}.hero-bottom span:last-child{max-width:16ch;text-align:right}
 .photo-ribbon{grid-template-columns:1fr 1fr;gap:10px;padding-top:10px}.photo-ribbon a{height:200px}.photo-ribbon span{font-size:13px;left:12px;bottom:12px}
 .editorial-intro{display:grid;grid-template-columns:1fr 1fr;gap:28px 16px;padding-block:58px}.editorial-intro .intro-copy{grid-column:1/-1;grid-row:1;padding:0}
 .editorial-intro h2{font-size:45px;max-width:15ch}.editorial-intro p{font-size:18px;margin-top:20px;max-width:36ch}.editorial-intro .text-link{margin-top:24px}
 .intro-portrait{height:290px}.intro-portrait.intro-tall{display:block;height:290px;align-self:auto}.intro-portrait figcaption{font-size:13px;margin-top:10px}
 .work{padding-top:45px;padding-bottom:45px}.work-head{display:block}.work-head h2{font-size:48px;max-width:13ch}.work-head p{font-size:17px;margin-top:24px;max-width:35ch}.work-head .text-link{font-size:15px;margin-top:20px}
 .orbit-stage{min-height:0;margin-top:32px}.work .gallery-controls{margin-top:10px}.work-note{font-size:13px;padding-inline:20px}
 .featured-moment{height:580px}.featured-moment>img{object-position:55% center}.featured-copy{display:block;bottom:30px}.featured-copy h2{font-size:58px;max-width:12ch}
 .featured-copy p{font-size:17px;margin-top:26px;margin-bottom:22px}.featured-copy .button{font-size:14px;padding-inline:18px}
 .section-top h2{font-size:48px;max-width:14ch}.section-top p{font-size:17px;margin-top:24px}.service-layout{grid-template-columns:1fr;gap:24px;margin-top:32px}
 .service-photo{height:430px}.service-photo-caption{font-size:28px;left:22px;bottom:22px}.service-link{grid-template-columns:60px 1fr 20px;font-size:27px;gap:16px;padding:16px 0}
 .service-thumb{height:70px}.service-label small{font-size:13px;margin-top:7px}.service-copy{margin-top:18px;font-size:15px}
 .stories{padding-block:58px}.filters{margin-block:28px 24px;gap:0}.filter{font-size:14px;padding:11px 13px}.story-grid{grid-template-columns:1fr 1fr;gap:30px 14px}
 .story-card,.story-card:nth-child(1),.story-card:nth-child(2){grid-column:span 1}.story-card:nth-child(1){grid-column:1/-1}
 .story-image,.story-card:nth-child(2) .story-image{height:260px}.story-card:nth-child(1) .story-image{height:360px}
 .story-meta{gap:10px;margin-top:13px}.story-meta h3{font-size:24px;line-height:1.07}.story-card p{font-size:13px;margin-top:7px}
 .story-card:nth-child(6){display:block;grid-column:span 1;background:none}.story-card:nth-child(6) .story-image{height:260px}
 .story-card:nth-child(6) .story-meta{padding:0;margin-top:13px}.story-card:nth-child(6) .story-meta h3{font-size:24px;max-width:none}.story-card:nth-child(6)>p{padding:0;font-size:13px;margin-top:7px}
 .about-layout{gap:32px}.about-collage{padding:0 30px 55px 0}.about-photo{height:480px}.about-inset{height:175px;width:64%;bottom:45px;border-width:8px}.about-collage>p{font-size:13px;bottom:8px}
 .about-copy{display:block}.about-copy h2{font-size:48px;max-width:12ch}.about-copy p{font-size:18px;line-height:1.5;margin-top:22px}.about-copy .button{margin-top:28px;width:100%;font-size:14px}
 .studio-approach{display:block;margin-top:28px}.studio-approach>div{margin-bottom:24px}.studio-approach h3{font-size:22px}.studio-approach p{font-size:16px;margin-top:9px}
 .contact-heading{font-size:46px;margin-bottom:32px;max-width:15ch}.contact-layout{display:block}.contact-details{display:block}.contact-details p{font-size:18px;max-width:34ch}
 .contact-photo{height:270px;margin-top:24px}.contact-details>a{font-size:21px;margin-top:20px}.contact-details address{font-size:14px;margin-top:23px}
 .enquiry-form{margin-top:32px;padding:22px 18px;gap:22px 14px}.field{font-size:13px}.field input,.field select,.field textarea{padding:12px;font-size:15px}.form-note{font-size:12px;line-height:1.6}
 .enquiry-form>.button{font-size:15px;padding-inline:16px}.faq-layout{display:block}.faq-intro{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center;margin-bottom:30px}
 .faq-intro h2{font-size:42px;max-width:9ch}.faq-image{margin:0;height:145px}.faq-intro>p{grid-column:1/-1;margin:0;font-size:15px}
 details{padding:20px}summary{font-size:17px}.footer{padding-block:45px 23px}.footer-top p{font-size:17px}.footer-links{gap:20px;margin-top:28px}.footer-name{font-size:clamp(58px,14.5vw,95px);margin-block:45px 34px}.footer-bottom{font-size:12px}
 .interior .page-intro{display:block;padding-block:38px 44px}.interior .page-intro h1{font-size:48px;max-width:14ch}.interior .page-intro p{font-size:19px;margin-top:26px}.interior .page-intro .button{margin-top:26px}
 .interior .section{padding-block:58px}.interior .cover-image{height:56svh;min-height:350px}.photo-grid{gap:12px}.photo-button{height:300px}.photo-button:nth-child(3n){height:430px}
 .journal-card .story-image{height:320px}.journal-card h2{font-size:28px}
}
@media(max-width:360px){.hero h1{font-size:43px}.service-link{font-size:24px;gap:12px}.service-label small{font-size:12px}.filter{padding-inline:10px}.story-meta h3{font-size:21px}.story-card:nth-child(6) .story-meta h3{font-size:21px}.contact-heading{font-size:41px}.contact-details>a{font-size:19px}.enquiry-form{grid-template-columns:1fr}.field{grid-column:1/-1}}
.editorial-intro .text-link{display:inline-block}
.service-label{font-size:inherit}
.featured-moment>img{top:-5%;height:110%}
.story-grid[data-filter]:not([data-filter="all"]){grid-template-columns:repeat(var(--visible-columns),minmax(0,1fr));gap:32px 24px}
.story-grid[data-filter]:not([data-filter="all"])>.story-card{grid-column:auto;display:block;background:none}
.story-grid[data-filter]:not([data-filter="all"]) .story-image{height:500px}
.story-grid[data-filter]:not([data-filter="all"]) .story-meta{margin-top:18px;padding:0}
.story-grid[data-filter]:not([data-filter="all"]) .story-meta h3{font-size:28px;max-width:none}
.story-grid[data-filter]:not([data-filter="all"]) .story-card>p{padding:0;margin-top:8px;font-size:15px}
@media(max-width:700px){.story-grid[data-filter]:not([data-filter="all"]){grid-template-columns:1fr}.story-grid[data-filter]:not([data-filter="all"]) .story-image{height:380px}.story-grid[data-filter]:not([data-filter="all"]) .story-meta h3{font-size:26px}}
@media(min-width:701px) and (max-width:800px){.about-copy h2{font-size:56px}}
@media(max-width:700px){.hero-bottom{font-size:13px}.form-note,.footer-bottom{font-size:13px}}
.about-copy>h2{align-self:start}
