:root{--wine:#320910;--cream:#fff2e8;--rose:#ead2d5;--header:88px;--ease:cubic-bezier(.22,.61,.36,1)}
html{scroll-padding-top:calc(var(--header) + 24px)}
.studio-site .site-header{position:sticky;top:0;z-index:30;height:var(--header);padding:16px 4%;background:var(--wine);border-bottom:1px solid #fff2e824;gap:24px}
.site-header .logo{font-size:36px;flex-shrink:0}.site-header .logo span{font-size:7px;margin-top:10px}.site-header nav{margin-left:auto;gap:26px}.site-header nav a{padding:12px 0}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav-cta{min-height:44px}.menu-toggle{display:none}
.studio-site .intro{padding:34px 4% 52px;min-height:0;display:grid;grid-template-columns:1.05fr 1fr;gap:5%;align-items:stretch}
.intro-copy{padding:5vw 0 0 4vw;display:flex;flex-direction:column;align-items:flex-start}.studio-site .intro h1{font-size:clamp(82px,9vw,156px);margin:30px 0 34px;line-height:.97}.intro-copy>p{font-size:14px;line-height:1.8}.intro-copy .text-link{margin-top:28px}.hero-image{position:relative;min-height:570px;height:calc(100svh - 174px);max-height:790px;overflow:hidden}.hero-image img{height:100%;object-position:50% 50%}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:35px 22px 18px;background:linear-gradient(transparent,#160b05bb);font-size:9px;letter-spacing:1.4px;color:white}.hero-footnote{margin-top:auto;padding-top:45px;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;font-size:9px;letter-spacing:1.4px}.hero-footnote>span:last-child{font-size:44px;color:#ed91a5;line-height:1}
.folio{height:145svh;min-height:850px;padding-top:20px}.folio-stage{top:calc(var(--header) + 12px);height:calc(100svh - var(--header) - 34px);max-height:950px}.folio-main{top:9%;height:82%;left:calc(22% - var(--p)*18%);width:calc(56% + var(--p)*36%)}.folio-side{top:24%;height:55%}.folio-label{top:0}.folio-caption{bottom:0}.folio-label,.folio-caption{font-size:10px}.folio-main,.folio-side{backface-visibility:hidden}.folio-side{box-shadow:none}
.section{padding:110px 8%}.statement{padding-bottom:95px}.services{padding-top:0}.gallery-grid{gap:7%;grid-template-columns:1.1fr .8fr}.gallery-large img{height:600px}.gallery-small{padding-top:115px}.gallery-small img{height:480px}.gallery figcaption{font-size:12px}.gallery .section-top>p{max-width:220px;font-size:14px}.reveal.pending{opacity:1;transform:none}.reveal{transition:none}
.process{gap:10%;align-items:start}.process-heading{top:calc(var(--header) + 50px)}.process-intro{max-width:310px;font-size:14px;line-height:1.8}.steps{padding-bottom:10px;perspective:1400px}.steps article{position:sticky;top:calc(var(--header) + 30px);padding:38px 32px 40px;min-height:360px;margin-bottom:55px;border:1px solid #32091035;background:#f0dfd7;transform-origin:50% 0;transform:translateY(calc(var(--fold,0)*-8px)) rotateX(calc(var(--fold,0)*-4deg)) scale(calc(1 - var(--fold,0)*.025));box-shadow:0 12px 25px #32091008}.steps article:first-child{padding-top:38px}.steps article:nth-child(2){top:calc(var(--header) + 44px);background:#eacfd1}.steps article:nth-child(3){top:calc(var(--header) + 58px);background:#320910;color:#fff2e8;margin-bottom:0}.steps h3{font-size:48px;margin:28px 0}.steps p{line-height:1.8}.steps article>span{font-size:9px}.steps .text-link{font-size:12px}.workshops>img{height:540px}
.enquiry{max-width:540px;margin:0 auto}.enquiry>p{font-size:15px}.enquiry fieldset{border:0;padding:0;margin:30px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.enquiry legend{font-size:10px;letter-spacing:1px;margin:0 auto 14px}.enquiry label{cursor:pointer;position:relative}.enquiry input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.enquiry label span{display:block;border:1px solid #fff2e855;border-radius:30px;padding:11px 20px;font-size:12px;min-height:44px}.enquiry input:checked+span{background:#ead2d5;color:#320910;border-color:#ead2d5}.enquiry input:focus-visible+span{outline:3px solid #ed91a5;outline-offset:4px}.form-link{display:block;margin:22px 0 12px;font-size:13px;text-decoration:underline;text-underline-offset:5px}.enquiry .enquiry-note{font-size:11px;color:#e6c8ce}.contact-bottom{gap:20px;flex-wrap:wrap}.contact h2{font-size:clamp(85px,11vw,160px)}.contact-bottom a{padding:12px 0}.pill{transition:background 160ms,color 160ms}.pill:active{transform:scale(.98)}
@media(min-width:701px) and (max-width:1050px){.site-header nav{gap:15px;font-size:11px}.site-header{gap:14px!important}.nav-cta{gap:12px}.intro-copy{padding-left:1vw}.studio-site .intro h1{font-size:9.4vw}.hero-image{min-height:510px}.steps article{padding:28px 22px}.steps h3{font-size:40px}}
@media(max-width:700px){:root{--header:76px}.studio-site .site-header{padding:12px 5%;gap:16px}.site-header .logo{font-size:32px;margin-right:auto}.site-header .logo span{font-size:6px;letter-spacing:2px}.nav-cta{font-size:11px;padding:10px 15px;gap:12px}.menu-toggle{display:flex;align-items:center;gap:8px;border:0;background:none;color:inherit;font-size:12px;padding:10px 0;min-height:44px;cursor:pointer}.menu-toggle span{font-size:20px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#320910;border-bottom:1px solid #fff2e833;margin:0;padding:18px 6% 28px;max-height:calc(100svh - var(--header));overflow:auto}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav>a:not(.pill){display:block;font:32px Instrument;padding:14px 0;border-bottom:1px solid #fff2e824}.studio-site .intro{padding:28px 5% 35px;grid-template-columns:1fr;gap:30px}.intro-copy{padding:12px 1% 0}.studio-site .intro h1{font-size:clamp(75px,20.4vw,136px);margin:22px 0 22px}.intro-copy>p{font-size:12px}.intro-copy .text-link{margin-top:19px;font-size:12px}.hero-footnote{display:none}.hero-image{min-height:0;height:400px;max-height:none}.hero-image figcaption{font-size:8px;padding:32px 16px 15px}.folio{height:125svh;min-height:720px}.folio-stage{height:calc(84svh - var(--header));top:calc(var(--header) + 16px)}.folio-label,.folio-caption{font-size:8px;letter-spacing:.5px}.folio-main{top:9%;height:81%;left:calc(15% - var(--p)*11%);width:calc(70% + var(--p)*22%)}.folio-side{height:43%;top:34%}.section{padding:75px 6%}.statement{gap:25px}.statement-copy{margin-left:10%;font-size:14px}.services{padding-top:0;gap:30px}.service-tabs button{font-size:44px}.service-copy p{min-height:74px}.services figure img{height:390px}.gallery-grid{gap:20px;grid-template-columns:1fr 1fr;margin-top:35px}.gallery-large img{height:315px}.gallery-small{padding-top:70px}.gallery-small img{height:260px}.gallery figcaption{font-size:10px}.gallery .section-top{display:block}.gallery .section-top>p{max-width:none;margin-top:22px;font-size:12px}.process{display:block}.process-heading{position:static;margin-bottom:40px}.process h2{font-size:62px;margin:22px 0 25px}.process-intro{max-width:290px}.steps article{min-height:330px;margin-bottom:50px;padding:30px 25px}.steps article:first-child{padding-top:30px}.steps h3{font-size:43px}.steps p{font-size:13px}.workshops>img{height:400px}.contact h2{font-size:88px}.contact-bottom{margin-top:55px}.contact-bottom a{font-size:12px}footer{gap:25px}}
@media(max-height:620px){.folio{height:auto;min-height:0}.folio-stage{position:relative;top:0;height:520px;--p:1!important}.folio-side{display:none}.process-heading,.steps article{position:relative;top:0!important;transform:none!important}.steps article{margin-bottom:22px}.hero-image{height:560px}.site-header{position:sticky}}
@media(prefers-reduced-motion:reduce){.folio{height:auto;min-height:0}.folio-stage{position:relative;top:0;height:70svh;--p:1!important}.steps article,.process-heading{position:relative;top:0!important;transform:none!important}.steps article{margin-bottom:24px}.folio-side{display:none}}
@media print{.site-header{display:none!important}.folio,.folio-stage{height:500px;position:relative;top:0}.steps article,.process-heading{position:relative;top:0!important;transform:none!important}body{background:white;color:black}}

.film-frame{overflow:hidden}.film-frame>img,.film-frame>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.film-frame>video{opacity:0;transition:opacity 320ms}.film-frame.is-playing>video{opacity:1}.film-frame button{position:absolute;bottom:18px;right:18px;z-index:5;background:#320910;color:#fff2e8;border:1px solid #fff2e880;border-radius:30px;padding:12px 18px;font:11px DM;min-height:44px;cursor:pointer}.film-frame button[hidden]{display:none}@media(max-width:700px){.folio-caption{font-size:7px}.film-frame button{bottom:10px;right:10px;padding:10px 14px}}

/* Photographic doors: a closed arrival, deliberate opening, then time with the film. */
.folio{height:210svh;min-height:0;padding-top:20px}
.folio-stage{--open:0;--frame-left:8%;--frame-width:84%;height:calc(100svh - var(--header) - 40px);max-height:950px;perspective:1600px}
.folio-main{left:var(--frame-left);width:var(--frame-width);top:9%;height:82%}
.folio-side{top:9%;height:82%;width:calc(var(--frame-width)/2 + 1px);z-index:3;object-fit:cover;pointer-events:none;opacity:calc(1 - var(--open)*var(--open)*var(--open));backface-visibility:hidden}
.folio-side.left{left:var(--frame-left);right:auto;transform-origin:left center;transform:translateX(calc(var(--open)*-105%)) rotateY(calc(var(--open)*-85deg))}
.folio-side.right{right:var(--frame-left);left:auto;transform-origin:right center;transform:translateX(calc(var(--open)*105%)) rotateY(calc(var(--open)*85deg))}
.folio-stage:not(.doors-open) .film-frame button{visibility:hidden;pointer-events:none}
@media(max-width:700px){.folio{height:200svh}.folio-stage{--frame-left:5%;--frame-width:90%;height:calc(100svh - var(--header) - 48px)}.folio-label{left:5%;right:5%}.folio-caption{left:5%;right:5%}}
@media(max-height:620px),(prefers-reduced-motion:reduce){.folio{height:auto;min-height:0}.folio-stage{position:relative;top:0;height:75svh;min-height:300px}.folio-side{display:none}.folio-stage:not(.doors-open) .film-frame button{visibility:visible;pointer-events:auto}}
@media print{.folio-side{display:none}.folio{height:auto}}
