:root{
  --ink:#090909;--paper:#f3f0e9;--white:#fff;--muted:#9d9d9d;--line:rgba(255,255,255,.18);
  --blue:#4d87b9;--ease:cubic-bezier(.2,.8,.2,1);--pad:clamp(20px,4vw,72px);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open,body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}em{font-family:"Playfair Display",Georgia,serif;font-weight:500}.page-progress{position:fixed;z-index:1000;top:0;left:0;width:100%;height:2px;background:transparent}.page-progress span{display:block;width:0;height:100%;background:white}.site-header{position:fixed;z-index:120;inset:0 0 auto 0;height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);transition:background .4s var(--ease),height .4s var(--ease),border-color .4s;border-bottom:1px solid transparent}.site-header.is-scrolled{height:76px;background:rgba(9,9,9,.88);backdrop-filter:blur(18px);border-bottom-color:rgba(255,255,255,.1)}.brand{width:142px;display:block}.brand img,.site-footer img{filter:grayscale(1) brightness(0) invert(1);object-fit:contain}.desktop-nav{display:flex;gap:34px;font-size:13px}.desktop-nav a,.text-link{position:relative}.desktop-nav a:after,.text-link:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:width .3s var(--ease)}.desktop-nav a:hover:after,.text-link:hover:after{width:100%}.header-actions{justify-self:end;display:flex;align-items:center;gap:24px}.text-link{border:0;background:none;padding:8px 0;cursor:pointer;font-size:13px}.menu-button{display:none;width:42px;height:42px;border:0;background:none;cursor:pointer;padding:10px}.menu-button span{display:block;height:1px;background:white;margin:6px 0;transition:.3s}.mobile-menu{display:none}.hero{position:relative;height:100svh;min-height:720px;overflow:hidden;background:#0b0b0b}.hero-image{position:absolute;inset:0;background-image:url('assets/img/hero-editorial.webp');background-size:cover;background-position:63% 38%;transform:scale(1.02);animation:heroZoom 7s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.79) 0%,rgba(0,0,0,.58) 32%,rgba(0,0,0,.1) 65%,rgba(0,0,0,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 40%)}.hero-content{position:absolute;z-index:2;inset:auto var(--pad) 7vh var(--pad);max-width:1180px}.eyebrow,.kicker{margin:0 0 24px;text-transform:uppercase;letter-spacing:.16em;font:600 11px/1.4 "Manrope",sans-serif}.hero h1{margin:0;font:500 clamp(58px,9.4vw,154px)/.78 "Manrope",sans-serif;letter-spacing:-.065em;text-transform:uppercase;max-width:1020px}.hero h1 em{font-size:1.06em;text-transform:none;letter-spacing:-.055em}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:38px;max-width:1020px}.hero-bottom p{max-width:360px;margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.78)}.hero-cta{display:flex;gap:10px}.button{border:1px solid transparent;min-height:52px;padding:0 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:13px;cursor:pointer;transition:.3s var(--ease)}.button-light{background:white;color:#111}.button-light:hover{background:#dcdcdc}.button-ghost{background:rgba(10,10,10,.15);border-color:rgba(255,255,255,.48);backdrop-filter:blur(8px)}.button-ghost:hover{background:white;color:#111}.button-dark{background:#111;border-color:#111;color:#fff}.button-dark:hover{background:transparent;color:#111}.hero-index{position:absolute;z-index:2;right:var(--pad);bottom:4.5vh;writing-mode:vertical-rl;font:600 9px/1 "Manrope";letter-spacing:.18em;color:rgba(255,255,255,.6)}.reveal{opacity:0;transform:translateY(26px);animation:reveal .8s .15s var(--ease) forwards}.reveal-delay-1{animation-delay:.28s}.reveal-delay-2{animation-delay:.45s}@keyframes reveal{to{opacity:1;transform:none}}@keyframes heroZoom{to{transform:scale(1.07)}}.ticker{height:48px;background:#fff;color:#111;overflow:hidden;display:flex;align-items:center}.ticker-track{display:flex;align-items:center;gap:26px;white-space:nowrap;width:max-content;animation:ticker 32s linear infinite;font:600 10px/1 "Manrope";letter-spacing:.16em}.ticker-track i{font-style:normal;font-size:8px}@keyframes ticker{to{transform:translateX(-50%)}}.section{padding:clamp(90px,12vw,180px) var(--pad)}.work-section{background:var(--paper);color:#111}.section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);gap:70px;align-items:end;margin-bottom:80px}.section-head h2,.studio-copy h2,.about-copy h2,.final-cta h2,.commercial-content h2{margin:0;font:500 clamp(54px,7vw,110px)/.9 "Manrope",sans-serif;letter-spacing:-.06em}.section-head h2 em,.studio-copy h2 em,.about-copy h2 em,.final-cta h2 em,.commercial-content h2 em{font-size:1.03em}.section-intro{margin:0 0 8px;font-size:15px;line-height:1.72;color:#5f5f5f;max-width:410px}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,26px);align-items:start}.work-card{position:relative;overflow:hidden;background:#d5d3cd}.work-card img{height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}.work-card:hover img{transform:scale(1.025);filter:brightness(.82)}.work-label{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;background:linear-gradient(transparent,rgba(0,0,0,.75));padding-top:62px;color:white;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;opacity:.94}.work-label span{font:600 13px/1.2 "Manrope"}.work-label small{font-size:11px;color:rgba(255,255,255,.72)}.work-label b{font-size:17px;font-weight:400}.work-card--tall{grid-column:1/span 7;aspect-ratio:1.02/1.18}.work-card--tall img{object-position:center 26%}.work-card--wide{grid-column:9/span 4;margin-top:18%;aspect-ratio:.78/1}.work-card--square{grid-column:1/span 4;margin-top:8%;aspect-ratio:1/1.1}.work-card--landscape{grid-column:5/span 8;margin-top:2%;aspect-ratio:1.62/1}.work-card--portrait{grid-column:2/span 5;margin-top:6%;aspect-ratio:.83/1}.work-card--corporate{grid-column:8/span 5;margin-top:18%;aspect-ratio:1.25/1}.work-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c8c5bd;margin-top:65px;padding-top:20px;font-size:13px}.work-footer p{margin:0;color:#666}.arrow-link{border:0;background:none;color:#111;cursor:pointer;padding:5px 0;font-weight:600}.arrow-link span{margin-left:18px}.manifesto{background:#080808;min-height:94vh;display:flex;align-items:center;padding:var(--pad)}.manifesto-inner{width:100%}.manifesto-copy{font:500 clamp(52px,7.7vw,124px)/.94 "Manrope";letter-spacing:-.06em;max-width:1420px;margin:0}.manifesto-copy em{display:block;margin-left:7vw;color:#d5d2cb}.manifesto-meta{margin-top:70px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;color:#8e8e8e;text-transform:uppercase;font:600 9px/1 "Manrope";letter-spacing:.16em}.services-section{position:relative;background:#e3dfd6;color:#111;overflow:hidden}.services-head{position:relative;z-index:2}.service-list{position:relative;z-index:3;border-top:1px solid #b8b4ac}.service-row{width:100%;display:grid;grid-template-columns:70px 1.1fr .8fr 30px;align-items:center;gap:16px;border:0;border-bottom:1px solid #b8b4ac;background:transparent;padding:26px 0;text-align:left;cursor:pointer;color:#111;transition:padding .35s var(--ease)}.service-row:hover,.service-row.is-active{padding-left:14px}.service-no{font:600 10px/1 "Manrope";color:#777}.service-name{font:500 clamp(24px,3.2vw,50px)/1 "Manrope";letter-spacing:-.045em}.service-desc{font-size:12px;color:#6a6a6a}.service-arrow{font-size:18px}.service-preview{position:absolute;z-index:1;right:5%;top:29%;width:min(30vw,430px);aspect-ratio:.8/1;opacity:0;pointer-events:none;transform:rotate(3deg) translateY(20px);transition:.4s var(--ease);box-shadow:0 30px 80px rgba(0,0,0,.15)}.service-preview img{height:100%;object-fit:cover}.services-section:hover .service-preview{opacity:.18;transform:rotate(3deg)}.studio-section{display:grid;grid-template-columns:1.1fr .9fr;min-height:820px;background:#f2efe8;color:#111}.studio-image{min-height:700px;overflow:hidden}.studio-image img{height:100%;object-fit:cover}.studio-copy{padding:clamp(70px,8vw,140px) var(--pad);display:flex;flex-direction:column;justify-content:center}.studio-copy>p:not(.kicker){max-width:530px;color:#606060;line-height:1.75;font-size:15px;margin:34px 0}.studio-facts{margin:16px 0 42px;border-top:1px solid #c8c5bd}.studio-facts div{display:flex;justify-content:space-between;border-bottom:1px solid #c8c5bd;padding:15px 0}.studio-facts dt{color:#777;font-size:12px}.studio-facts dd{margin:0;font:600 12px/1 "Manrope"}.studio-copy .button{align-self:flex-start}.packages-section{background:#0b0b0b}.packages-section .section-intro{color:#8d8d8d}.package-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #2c2c2c;border-left:1px solid #2c2c2c}.package-card{min-height:490px;padding:32px 26px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #2c2c2c;border-bottom:1px solid #2c2c2c;background:#0b0b0b;transition:.35s var(--ease)}.package-card:hover{background:#151515;transform:translateY(-4px)}.package-card--featured{background:#f1eee7;color:#111}.package-card--featured:hover{background:#fff}.package-tag{font:600 9px/1 "Manrope";letter-spacing:.13em;text-transform:uppercase;color:#858585}.package-card--featured .package-tag{color:#777}.package-card h3{font:500 25px/1.1 "Manrope";letter-spacing:-.04em;margin:45px 0 12px}.price{font:500 37px/1 "Manrope";letter-spacing:-.04em;margin:0}.price small{font-size:10px;letter-spacing:.08em}.package-card ul{padding:0;margin:30px 0;list-style:none;color:#9c9c9c;font-size:12px;line-height:2}.package-card--featured ul{color:#555}.package-card li{border-bottom:1px solid rgba(128,128,128,.22)}.package-cta{width:100%;border:0;border-top:1px solid #393939;padding:18px 0 0;background:none;display:flex;justify-content:space-between;cursor:pointer;text-align:left;font-size:12px}.package-card--featured .package-cta{border-top-color:#bbb}.package-note{margin:22px 0 0;color:#737373;font-size:11px}.about-section{display:grid;grid-template-columns:.8fr 1.2fr;background:#f1eee7;color:#111;padding:0}.about-portrait{position:relative;min-height:840px}.about-portrait img{height:100%;object-fit:cover}.about-portrait span{position:absolute;left:22px;bottom:22px;background:#fff;color:#111;padding:9px 12px;font:600 9px/1 "Manrope";letter-spacing:.12em;text-transform:uppercase}.about-copy{padding:clamp(80px,10vw,170px) var(--pad);display:flex;flex-direction:column;justify-content:center}.about-copy>p:not(.kicker){max-width:650px;color:#5d5d5d;font-size:15px;line-height:1.78;margin:28px 0 0}.principles{display:flex;flex-wrap:wrap;gap:8px;margin-top:45px}.principles span{border:1px solid #bbb;padding:9px 12px;border-radius:999px;font:600 9px/1 "Manrope";text-transform:uppercase;letter-spacing:.1em}.commercial-band{position:relative;min-height:82vh;display:flex;align-items:flex-end;overflow:hidden}.commercial-image,.commercial-overlay{position:absolute;inset:0}.commercial-image img{width:100%;height:100%;object-fit:cover}.commercial-overlay{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.3) 65%),linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.commercial-content{position:relative;z-index:2;padding:10vh var(--pad);max-width:1150px}.commercial-content h2{max-width:1100px}.commercial-content>p:not(.kicker){color:rgba(255,255,255,.72);max-width:500px;line-height:1.7;margin:28px 0}.final-cta{height:92vh;min-height:700px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.final-cta-image,.final-cta-overlay{position:absolute;inset:0}.final-cta-image{background:url('assets/img/portrait-yellow-pink.webp') center 38%/cover no-repeat;transform:scale(1.02)}.final-cta-overlay{background:rgba(0,0,0,.44)}.final-cta-content{position:relative;z-index:2}.circle-cta{width:142px;height:142px;border-radius:50%;border:0;background:white;color:#111;display:flex;align-items:center;justify-content:center;gap:12px;margin:48px auto 0;cursor:pointer;transition:.35s var(--ease)}.circle-cta:hover{transform:scale(1.07) rotate(-3deg)}.circle-cta span{font:600 11px/1 "Manrope";text-transform:uppercase;letter-spacing:.08em}.circle-cta b{font-size:18px;font-weight:400}.site-footer{padding:70px var(--pad) 24px;background:#080808}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:65px;border-bottom:1px solid #242424}.footer-top img{width:160px}.footer-top p{text-align:right;color:#777;font-size:12px;line-height:1.7;margin:0}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:45px 0 70px}.footer-grid span{display:block;color:#666;font:600 9px/1 "Manrope";text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px}.footer-grid p{margin:0;color:#bbb;font-size:12px;line-height:1.8}.footer-grid a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #242424;padding-top:20px;color:#616161;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.booking-modal,.gallery-modal{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#0b0b0b;color:#fff}.booking-modal::backdrop,.gallery-modal::backdrop{background:#0b0b0b}.booking-shell{min-height:100%;display:flex;flex-direction:column}.booking-topbar,.gallery-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid #282828;position:sticky;top:0;background:#0b0b0b;z-index:4}.booking-topbar>div{display:flex;align-items:center;gap:18px;font-size:12px}.booking-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #444;font:700 11px/1 "Manrope"}.modal-close,.gallery-topbar button{border:0;background:none;font-size:30px;font-weight:300;cursor:pointer;width:45px;height:45px}.booking-progress{height:2px;background:#222}.booking-progress span{height:100%;display:block;background:#fff;width:25%;transition:width .35s var(--ease)}.booking-form{width:min(1100px,calc(100% - 40px));margin:auto;padding:70px 0 35px;display:flex;flex:1;flex-direction:column}.booking-step{display:none}.booking-step.is-active{display:block;animation:stepin .4s var(--ease)}@keyframes stepin{from{opacity:0;transform:translateY(14px)}}.step-count{font:600 9px/1 "Manrope";letter-spacing:.16em;color:#686868;margin:0 0 20px}.booking-step h2{margin:0 0 50px;font:500 clamp(46px,6vw,90px)/.9 "Manrope";letter-spacing:-.055em}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #333;border-left:1px solid #333}.choice-grid label{position:relative}.choice-grid input{position:absolute;opacity:0}.choice-grid span{min-height:112px;padding:22px 24px;border-right:1px solid #333;border-bottom:1px solid #333;display:grid;grid-template-columns:1fr auto;align-items:center;font:500 18px/1.2 "Manrope";cursor:pointer;transition:.25s}.choice-grid span small{grid-column:1/3;margin-top:9px;color:#6f6f6f;font:400 11px/1.3 "DM Sans"}.choice-grid input:checked+span,.choice-grid label:hover span{background:#fff;color:#111}.choice-grid input:checked+span small,.choice-grid label:hover small{color:#555}.booking-packages{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #333;border-left:1px solid #333}.booking-package{min-height:210px;border:0;border-right:1px solid #333;border-bottom:1px solid #333;background:none;padding:23px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.booking-package:hover,.booking-package.is-selected{background:#fff;color:#111}.booking-package small{color:#777;text-transform:uppercase;font:600 9px/1 "Manrope";letter-spacing:.13em}.booking-package strong{font:500 21px/1.1 "Manrope"}.booking-package b{font-size:12px;font-weight:500}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:9px}.field span{font:600 9px/1 "Manrope";letter-spacing:.12em;text-transform:uppercase;color:#707070}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #3b3b3b;background:#111;color:#fff;border-radius:0;padding:16px 2px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#fff}.field-full{grid-column:1/-1}.availability-note{max-width:620px;color:#676767;font-size:11px;line-height:1.6;margin-top:25px}.booking-summary{margin-top:36px;border:1px solid #333;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.booking-summary div span{display:block;color:#666;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.booking-summary div strong{font-size:12px}.booking-controls{margin-top:auto;padding-top:45px;display:flex;justify-content:flex-end;gap:10px}.booking-back,.booking-next{height:50px;border:1px solid #444;background:none;padding:0 22px;cursor:pointer}.booking-back{margin-right:auto;color:#888}.booking-next{min-width:170px;background:#fff;color:#111;border-color:#fff;display:flex;justify-content:space-between;align-items:center}.booking-submit{display:none}.gallery-modal{overflow:auto}.gallery-grid{padding:30px var(--pad) 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid figure:nth-child(3n+2){margin-top:70px}.gallery-grid img{aspect-ratio:.8/1;object-fit:cover}.gallery-grid figcaption{padding-top:9px;font-size:10px;color:#777;text-transform:uppercase;letter-spacing:.1em}.toast{position:fixed;z-index:999;right:24px;bottom:24px;background:white;color:#111;padding:15px 18px;font-size:12px;transform:translateY(100px);opacity:0;transition:.35s var(--ease);box-shadow:0 15px 50px rgba(0,0,0,.25)}.toast.show{transform:none;opacity:1}
@media(max-width:900px){.site-header{height:74px;grid-template-columns:1fr auto}.desktop-nav,.text-link{display:none}.brand{width:118px}.menu-button{display:block}.mobile-menu{display:flex;position:fixed;z-index:110;inset:0;background:#0b0b0b;padding:120px var(--pad) 30px;flex-direction:column;justify-content:space-between;transform:translateY(-105%);transition:transform .5s var(--ease)}.mobile-menu.is-open{transform:none}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a,.mobile-book{border:0;border-bottom:1px solid #2c2c2c;background:none;padding:18px 0;text-align:left;display:flex;justify-content:space-between;font:500 clamp(32px,8vw,54px)/1 "Manrope";letter-spacing:-.04em}.mobile-menu nav span{font-size:10px;color:#555}.mobile-menu-meta{display:flex;flex-direction:column;gap:7px;color:#777;font-size:11px}.hero{min-height:680px}.hero-image{background-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}.hero-content{bottom:7vh}.hero h1{font-size:clamp(50px,13vw,88px);max-width:780px}.hero-bottom{display:block;margin-top:28px}.hero-bottom p{max-width:330px}.hero-cta{margin-top:25px;flex-wrap:wrap}.hero-index{display:none}.section-head{grid-template-columns:1fr;gap:26px;margin-bottom:50px}.section-head h2,.studio-copy h2,.about-copy h2,.commercial-content h2,.final-cta h2{font-size:clamp(48px,10vw,80px)}.section-intro{max-width:520px}.work-grid{grid-template-columns:repeat(2,1fr)}.work-card--tall,.work-card--wide,.work-card--square,.work-card--landscape,.work-card--portrait,.work-card--corporate{grid-column:auto;margin-top:0;aspect-ratio:.82/1}.work-card--landscape,.work-card--corporate{grid-column:1/-1;aspect-ratio:1.5/1}.manifesto{min-height:75vh}.manifesto-copy{font-size:clamp(46px,9vw,82px)}.service-row{grid-template-columns:48px 1fr 30px}.service-desc{display:none}.service-preview{display:none}.studio-section{grid-template-columns:1fr}.studio-image{min-height:60vh}.package-grid{grid-template-columns:repeat(2,1fr)}.about-section{grid-template-columns:1fr}.about-portrait{min-height:70vh;max-height:850px}.commercial-band{min-height:72vh}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid figure:nth-child(3n+2){margin-top:0}.gallery-grid figure:nth-child(even){margin-top:45px}}
@media(max-width:600px){:root{--pad:20px}.site-header.is-scrolled{height:66px}.hero{height:95svh;min-height:650px}.hero-image{background-position:57% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.32) 76%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 52%)}.hero-content{bottom:5vh}.eyebrow{font-size:9px;margin-bottom:16px}.hero h1{font-size:clamp(48px,14vw,70px);line-height:.84}.hero-bottom p{font-size:12px;max-width:270px}.hero-cta{display:grid;grid-template-columns:1fr 1fr}.button{min-height:48px;padding:0 14px;gap:12px;font-size:11px}.ticker{height:40px}.section{padding:82px var(--pad)}.section-head{margin-bottom:40px}.section-head h2,.studio-copy h2,.about-copy h2,.commercial-content h2,.final-cta h2{font-size:clamp(45px,13vw,64px)}.work-grid{display:block}.work-card{display:block;margin:0 0 14px!important;aspect-ratio:.82/1!important}.work-card--landscape,.work-card--corporate{aspect-ratio:1.12/1!important}.work-label{grid-template-columns:1fr auto;padding:50px 14px 14px}.work-label small{display:none}.work-footer{margin-top:40px}.manifesto{min-height:70vh;padding:80px 20px}.manifesto-copy{font-size:clamp(42px,12vw,62px)}.manifesto-copy em{margin:16px 0 0}.manifesto-meta{margin-top:50px}.service-row{padding:20px 0;grid-template-columns:38px 1fr 24px}.service-name{font-size:28px}.studio-image{min-height:52vh}.studio-copy{padding:75px 20px}.package-grid{display:block;border-left:1px solid #2c2c2c}.package-card{min-height:390px}.about-portrait{min-height:60vh}.about-copy{padding:75px 20px}.commercial-band{min-height:76vh}.commercial-content{padding:70px 20px}.final-cta{height:80vh;min-height:620px}.footer-top{display:block}.footer-top p{text-align:left;margin-top:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-bottom{gap:15px;flex-wrap:wrap}.booking-form{width:calc(100% - 40px);padding-top:45px}.booking-step h2{font-size:46px;margin-bottom:35px}.choice-grid{grid-template-columns:1fr}.choice-grid span{min-height:84px}.booking-packages{grid-template-columns:1fr}.booking-package{min-height:130px}.field-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.booking-summary{grid-template-columns:1fr}.booking-controls{padding-top:28px}.gallery-grid{grid-template-columns:1fr;padding:20px 20px 70px}.gallery-grid figure,.gallery-grid figure:nth-child(even){margin:0}.gallery-grid img{aspect-ratio:.84/1}.gallery-topbar{height:66px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* --- v2 refinement: contained hero, founder-led about, anti-pixelation adjustments --- */
.hero-split{height:auto;min-height:100svh;padding:120px var(--pad) 56px;background:#0a0a0a;display:flex;align-items:center}
.hero-shell{width:min(1440px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,620px);gap:48px;align-items:end}
.hero-copy{position:relative;z-index:2;padding:24px 0}
.hero-split .hero-bottom{display:block;max-width:520px}
.hero-split .hero-cta{margin-top:28px;flex-wrap:wrap}
.hero-meta{margin-top:48px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:18px;color:rgba(255,255,255,.54);font:600 9px/1.4 "Manrope";letter-spacing:.16em;text-transform:uppercase;max-width:620px}
.hero-visual{display:flex;justify-content:flex-end}
.hero-frame{margin:0;width:min(100%,620px);aspect-ratio:.86/1;background:#171717;overflow:hidden}
.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center top}

.about-section{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);background:#f4f1ea;color:#111}
.about-portrait{position:relative;min-height:760px;overflow:hidden;background:#ddd}
.about-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.about-portrait span{position:absolute;left:22px;bottom:22px;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);padding:10px 12px;color:#111;font:600 10px/1 "Manrope";letter-spacing:.13em;text-transform:uppercase}
.about-copy{padding:clamp(72px,8vw,132px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.about-copy p:not(.kicker){max-width:560px;color:#565656;line-height:1.75;font-size:15px;margin:0 0 18px}
.principles{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.principles span{display:inline-flex;min-height:38px;align-items:center;padding:0 14px;border:1px solid #c7c3bc;font:600 10px/1 "Manrope";letter-spacing:.12em;text-transform:uppercase;color:#333}

.commercial-band{position:relative;min-height:76vh;display:grid;place-items:center;overflow:hidden;background:#090909}
.commercial-image,.commercial-overlay{position:absolute;inset:0}.commercial-image img{width:100%;height:100%;object-fit:cover;object-position:center center}.commercial-overlay{background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.54) 48%,rgba(0,0,0,.26) 100%)}.commercial-content{position:relative;z-index:2;width:min(1240px,calc(100% - 2*var(--pad)));padding:100px 0}.commercial-content p:not(.kicker){max-width:500px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.7}

.final-cta-minimal{position:relative;height:auto;min-height:auto;padding:110px var(--pad);display:flex;align-items:center;justify-content:center;background:#111}.final-cta-minimal .final-cta-content{position:relative;max-width:920px;text-align:center}.final-cta-text{margin:22px auto 0;max-width:520px;color:rgba(255,255,255,.72);line-height:1.7;font-size:15px}.final-cta-minimal .circle-cta{margin:40px auto 0}

@media(max-width:900px){
  .hero-split{padding-top:108px;padding-bottom:48px}
  .hero-shell{grid-template-columns:1fr;gap:28px}
  .hero-frame{width:min(100%,680px)}
  .hero-meta{display:block}.hero-meta span+span{display:block;margin-top:8px}
  .about-section{grid-template-columns:1fr}
  .about-portrait{min-height:62vh}
  .commercial-content{padding:72px 0}
}
@media(max-width:600px){
  .hero-split{min-height:auto;padding:92px 20px 32px}
  .hero-shell{gap:22px}
  .hero-meta{margin-top:28px}
  .hero-frame{aspect-ratio:.9/1}
  .about-portrait{min-height:54vh}
  .about-copy{padding:72px 20px}
  .final-cta-minimal{padding:84px 20px}
}

/* --- refinement pass 03: stronger hero composition, denser portfolio, real availability UI --- */
.hero-split .hero-shell{grid-template-columns:minmax(0,.98fr) minmax(430px,.82fr);gap:clamp(42px,5vw,84px);align-items:center}
.hero-split .hero-copy{padding-top:40px}
.hero-split .hero-copy h1{margin:0;max-width:740px;font:500 clamp(58px,6.7vw,110px)/.86 "Manrope",sans-serif;letter-spacing:-.064em;text-transform:uppercase}
.hero-split .hero-copy h1 span,.hero-split .hero-copy h1 em{display:block}
.hero-split .hero-copy h1 em{margin:.02em 0 .04em .22em;font:500 italic 1.05em/.82 "Playfair Display",Georgia,serif;text-transform:none;letter-spacing:-.055em}
.hero-split .hero-bottom{margin-top:34px;max-width:620px}
.hero-split .hero-bottom p{font-size:14px;color:rgba(255,255,255,.66)}
.hero-split .hero-frame{width:min(100%,580px);aspect-ratio:.82/1;border:0;overflow:hidden;background:#151515;box-shadow:0 34px 90px rgba(0,0,0,.32)}
.hero-split .hero-frame img{height:110%;width:110%;margin:-5%;object-fit:cover;object-position:center top;transform:translate3d(0,var(--hero-shift,0),0) scale(1.04);will-change:transform}
.hero-split .hero-meta{max-width:620px}

.work-grid--dense{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:clamp(210px,18vw,315px);gap:clamp(10px,1vw,18px)}
.work-grid--dense .work-card{grid-column:auto!important;margin:0!important;aspect-ratio:auto!important;min-height:0}
.work-grid--dense .work-card--feature{grid-column:span 2!important;grid-row:span 2;}
.work-grid--dense .work-card--small{grid-column:span 1!important;grid-row:span 1;}
.work-grid--dense .work-card--wide2{grid-column:span 2!important;grid-row:span 1;}
.work-grid--dense .work-card img{width:100%;height:100%;object-fit:cover}
.work-grid--dense .work-card--feature img{object-position:center 24%}
.work-grid--dense .work-label{padding:46px 14px 14px;grid-template-columns:1fr auto;gap:8px}
.work-grid--dense .work-label small{display:none}
.work-grid--dense .work-label span{font-size:12px}

.booking-package-price{display:block;font:500 clamp(20px,1.75vw,29px)/1 "Manrope",sans-serif;letter-spacing:-.035em;color:#fff;margin-bottom:18px}
.booking-package.is-selected .booking-package-price,.booking-package:hover .booking-package-price{color:#111}
.booking-package strong{font-size:clamp(20px,1.65vw,26px)}
.booking-package b{font-size:12px;line-height:1.5;color:#8a8a8a;font-weight:500}
.booking-package:hover b,.booking-package.is-selected b{color:#555}

.availability-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:24px;align-items:stretch}
.calendar-card,.times-card{border:1px solid #2f2f2f;background:#0e0e0e;padding:26px}
.calendar-head{height:42px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:22px}
.calendar-head strong{text-align:center;font:500 17px/1 "Manrope",sans-serif;letter-spacing:-.02em}
.calendar-nav{width:38px;height:38px;border:1px solid #353535;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;font-size:16px}
.calendar-nav:hover:not(:disabled){background:#fff;color:#111}.calendar-nav:disabled{opacity:.22;cursor:not-allowed}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-weekdays{margin-bottom:8px;color:#656565;font:600 9px/1 "Manrope";letter-spacing:.1em;text-transform:uppercase;text-align:center}
.calendar-weekdays span{padding:8px 0}
.calendar-empty{aspect-ratio:1/1}
.calendar-day{position:relative;aspect-ratio:1/1;border:1px solid #242424;background:#111;color:#bdbdbd;cursor:pointer;display:grid;place-items:center;font:500 13px/1 "Manrope";transition:.2s var(--ease)}
.calendar-day i{position:absolute;width:4px;height:4px;border-radius:50%;background:#646464;bottom:7px}
.calendar-day:hover:not(:disabled){border-color:#777;background:#191919;color:#fff}
.calendar-day.is-today{border-color:#555}.calendar-day.is-selected{background:#fff;border-color:#fff;color:#111}.calendar-day.is-selected i{background:#111}
.calendar-day:disabled{opacity:.18;cursor:not-allowed}
.times-card{display:flex;flex-direction:column}
.times-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding-bottom:20px;border-bottom:1px solid #2d2d2d}
.times-head span{font:600 9px/1 "Manrope";letter-spacing:.13em;text-transform:uppercase;color:#6f6f6f}.times-head strong{font:500 17px/1.1 "Manrope"}
.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px;align-content:start}
.time-slots>p{grid-column:1/-1;color:#666;font-size:12px;line-height:1.6;margin:0;padding:12px 0}
.time-slot{min-height:56px;border:1px solid #303030;background:#111;color:#ddd;cursor:pointer;font:500 13px/1 "Manrope";transition:.2s var(--ease)}
.time-slot:hover,.time-slot.is-selected{background:#fff;border-color:#fff;color:#111}
.availability-note{margin-top:18px;max-width:760px}

.commercial-band{width:min(1440px,calc(100% - 2*var(--pad)));margin:clamp(70px,7vw,120px) auto;min-height:650px;border-radius:0}
.commercial-content{width:calc(100% - 2*clamp(24px,5vw,80px));}

@media(max-width:1100px){
  .hero-split .hero-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:36px}
  .hero-split .hero-copy h1{font-size:clamp(56px,7vw,86px)}
  .work-grid--dense{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:250px}
  .work-grid--dense .work-card--feature{grid-column:span 2!important}
  .availability-layout{grid-template-columns:1fr}
  .times-card{min-height:240px}
}
@media(max-width:900px){
  .hero-split .hero-shell{grid-template-columns:1fr;gap:34px;align-items:start}
  .hero-split .hero-copy{padding-top:12px}
  .hero-split .hero-copy h1{font-size:clamp(58px,11vw,92px);max-width:780px}
  .hero-split .hero-frame{width:min(78vw,620px);margin-left:auto}
  .work-grid--dense{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(220px,38vw,340px)}
  .work-grid--dense .work-card--feature,.work-grid--dense .work-card--wide2{grid-column:span 2!important}
  .commercial-band{width:calc(100% - 40px);margin:70px 20px;min-height:560px}
}
@media(max-width:600px){
  .hero-split .hero-copy h1{font-size:clamp(52px,14vw,72px);line-height:.88}
  .hero-split .hero-copy h1 em{margin-left:.08em}
  .hero-split .hero-frame{width:100%;aspect-ratio:.86/1}
  .work-grid--dense{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px;gap:8px}
  .work-grid--dense .work-card--feature{grid-column:span 2!important;grid-row:span 2}
  .work-grid--dense .work-card--wide2{grid-column:span 2!important}
  .work-grid--dense .work-label{padding:34px 10px 10px}.work-grid--dense .work-label span{font-size:10px}
  .calendar-card,.times-card{padding:16px}
  .calendar-weekdays,.calendar-grid{gap:3px}.calendar-day{font-size:11px}.calendar-day i{bottom:5px}
  .time-slots{grid-template-columns:repeat(2,1fr)}
  .booking-package-price{font-size:25px}
  .commercial-band{width:calc(100% - 24px);margin:54px 12px;min-height:520px}
}

/* --- refinement pass 04: automated hero gallery + film overlay --- */
.hero-visual{width:100%}
.hero-slider{width:min(100%,620px);margin-left:auto;display:flex;flex-direction:column;gap:14px}
.hero-split .hero-frame{position:relative;width:100%;aspect-ratio:.82/1;isolation:isolate;border:1px solid rgba(255,255,255,.08);background:#121212;box-shadow:0 34px 90px rgba(0,0,0,.36)}
.hero-slides{position:absolute;inset:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.03);transition:opacity .7s var(--ease),transform 1.15s var(--ease),visibility .7s step-end}
.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.hero-split .hero-slide img{width:100%;height:100%;margin:0;object-fit:cover;object-position:center top;transform:translate3d(0,var(--hero-shift,0),0) scale(1.045);transition:transform .9s var(--ease),filter .5s var(--ease);will-change:transform;filter:saturate(1.01) contrast(1.03)}
.hero-slide:not(.is-active) img{transform:translate3d(0,var(--hero-shift,0),0) scale(1.08)}
.hero-film,.hero-film > span{position:absolute;inset:0;pointer-events:none}
.hero-film{z-index:2;mix-blend-mode:screen;opacity:.88}
.hero-film-vignette{background:radial-gradient(circle at 50% 45%,transparent 46%,rgba(0,0,0,.28) 100%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));mix-blend-mode:normal;opacity:1}
.hero-film-scanlines{background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,rgba(0,0,0,0) 1px 4px), repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,rgba(0,0,0,0) 1px 130px);mix-blend-mode:soft-light;opacity:.34}
.hero-film-noise{background-image:radial-gradient(circle at 18% 22%,rgba(255,255,255,.14) 0 1px,transparent 1.2px),radial-gradient(circle at 72% 68%,rgba(255,255,255,.08) 0 1px,transparent 1.1px),radial-gradient(circle at 42% 78%,rgba(255,255,255,.1) 0 1px,transparent 1.1px),radial-gradient(circle at 82% 18%,rgba(255,255,255,.08) 0 1px,transparent 1px);background-size:130px 130px,170px 170px,140px 140px,150px 150px;mix-blend-mode:overlay;opacity:.55;animation:heroNoise 8s steps(6) infinite}
.hero-film-burn{mix-blend-mode:screen;filter:blur(26px);opacity:.32}
.hero-film-burn--one{background:radial-gradient(circle at 14% 72%,rgba(255,213,160,.95),transparent 28%)}
.hero-film-burn--two{background:radial-gradient(circle at 88% 16%,rgba(255,178,124,.72),transparent 22%)}
.hero-frame::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.04) 0 2.2%,transparent 2.2% 97.8%,rgba(255,255,255,.04) 97.8% 100%);mix-blend-mode:soft-light;opacity:.26}
.hero-frame::after{content:'';position:absolute;inset:14px;border:1px solid rgba(255,255,255,.08);z-index:3;pointer-events:none}
.hero-pagination{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hero-page{position:relative;min-height:76px;padding:12px 14px 16px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.02);color:rgba(255,255,255,.66);display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:flex-start;text-align:left;cursor:pointer;transition:.28s var(--ease);overflow:hidden}
.hero-page:hover{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.04);color:#fff}
.hero-page.is-active{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:#fff}
.hero-page-index{font:600 11px/1 "Manrope",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.48);padding-top:2px}
.hero-page.is-active .hero-page-index{color:rgba(255,255,255,.88)}
.hero-page-copy{display:grid;gap:4px}
.hero-page-copy strong{font:500 14px/1.1 "Manrope",sans-serif;letter-spacing:-.02em}
.hero-page-copy small{font:400 11px/1.35 "DM Sans",sans-serif;color:rgba(255,255,255,.56)}
.hero-page-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.08)}
.hero-page-progress::after{content:'';position:absolute;left:0;top:0;bottom:0;width:100%;transform:scaleX(0);transform-origin:left center;background:#fff}
.hero-page.is-active .hero-page-progress::after{animation:heroPager 5.8s linear forwards}
.work-grid--dense .work-card--feature img{object-position:center 18%}

@keyframes heroPager{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes heroNoise{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(1%,0,0)}50%{transform:translate3d(0,1%,0)}75%{transform:translate3d(-1%,0,0)}100%{transform:translate3d(0,-1%,0)}}

@media(max-width:1200px){
  .hero-pagination{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .hero-slider{width:min(82vw,620px)}
  .hero-pagination{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}
@media(max-width:600px){
  .hero-slider{width:100%}
  .hero-pagination{grid-template-columns:1fr 1fr}
  .hero-page{min-height:68px;padding:11px 11px 14px;gap:10px}
  .hero-page-copy strong{font-size:12px}
  .hero-page-copy small{font-size:10px}
  }

/* --- refinement pass 05: clean editorial work grid + gallery-rail hero pagination --- */
.work-grid--dense{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:row;
  grid-auto-rows:clamp(250px,20vw,330px);
  gap:clamp(12px,1.15vw,20px);
  align-items:stretch;
}
.work-grid--dense .work-card{
  grid-row:auto!important;
  margin:0!important;
  min-height:0;
  aspect-ratio:auto!important;
  overflow:hidden;
  background:#d8d4cc;
}
.work-grid--dense .work-card:nth-child(1){grid-column:span 5!important}
.work-grid--dense .work-card:nth-child(2){grid-column:span 3!important}
.work-grid--dense .work-card:nth-child(3){grid-column:span 4!important}
.work-grid--dense .work-card:nth-child(4){grid-column:span 6!important}
.work-grid--dense .work-card:nth-child(5){grid-column:span 3!important}
.work-grid--dense .work-card:nth-child(6){grid-column:span 3!important}
.work-grid--dense .work-card:nth-child(7){grid-column:span 3!important}
.work-grid--dense .work-card:nth-child(8){grid-column:span 3!important}
.work-grid--dense .work-card:nth-child(9){grid-column:span 6!important}
.work-grid--dense .work-card:nth-child(10){grid-column:span 6!important}
.work-grid--dense .work-card:nth-child(11){grid-column:span 6!important}
.work-grid--dense .work-card img{width:100%;height:100%;object-fit:cover;transform:none}
.work-grid--dense .work-card:hover img{transform:scale(1.018)}
.work-grid--dense .work-card:nth-child(1) img{object-position:center 24%}
.work-grid--dense .work-card:nth-child(4) img,.work-grid--dense .work-card:nth-child(9) img{object-position:center center}
.work-grid--dense .work-label{padding:58px 16px 15px;grid-template-columns:1fr auto;gap:10px}
.work-grid--dense .work-label span{font-size:12px}.work-grid--dense .work-label small{display:none}

.hero-slider{gap:0}
.hero-pagination{
  display:grid;
  grid-template-columns:auto minmax(160px,1fr) auto;
  align-items:center;
  gap:22px;
  min-height:64px;
  margin-top:14px;
  padding:0 2px;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hero-pagination-meta{display:flex;align-items:center;gap:14px;white-space:nowrap}
.hero-pagination-count{display:flex;align-items:baseline;gap:5px;font:600 11px/1 "Manrope",sans-serif;letter-spacing:.14em;color:#fff}
.hero-pagination-count b{font-weight:600}.hero-pagination-count i{font-style:normal;color:rgba(255,255,255,.34)}
.hero-pagination-title{font:500 12px/1.2 "Manrope",sans-serif;color:rgba(255,255,255,.68)}
.hero-pagination-track{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;align-items:center}
.hero-page{
  position:relative;
  display:block;
  width:100%;
  min-height:18px;
  height:18px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  overflow:visible;
}
.hero-page::before{content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:rgba(255,255,255,.18);transition:background .25s var(--ease)}
.hero-page span{position:absolute;left:0;top:8px;width:100%;height:1px;background:#fff;transform:scaleX(0);transform-origin:left center}
.hero-page:hover::before{background:rgba(255,255,255,.42)}
.hero-page.is-active::before{background:rgba(255,255,255,.23)}
.hero-page.is-active span{animation:heroPager 5.8s linear forwards}
.hero-pagination-controls{display:flex;gap:7px}
.hero-pagination-controls button{width:36px;height:36px;border:1px solid rgba(255,255,255,.14);background:transparent;color:rgba(255,255,255,.76);display:grid;place-items:center;cursor:pointer;font-size:14px;transition:.25s var(--ease)}
.hero-pagination-controls button:hover{background:#fff;color:#111;border-color:#fff}

@media(max-width:1100px){
  .work-grid--dense{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:300px}
  .work-grid--dense .work-card:nth-child(n){grid-column:span 3!important}
  .work-grid--dense .work-card:nth-child(1),.work-grid--dense .work-card:nth-child(4),.work-grid--dense .work-card:nth-child(9){grid-column:span 6!important}
}
@media(max-width:700px){
  .work-grid--dense{grid-template-columns:1fr;grid-auto-rows:auto;gap:10px}
  .work-grid--dense .work-card:nth-child(n){grid-column:1!important;aspect-ratio:1.12/1!important;min-height:0}
  .work-grid--dense .work-card:nth-child(1),.work-grid--dense .work-card:nth-child(5),.work-grid--dense .work-card:nth-child(10){aspect-ratio:.86/1!important}
  .hero-pagination{grid-template-columns:1fr auto;gap:14px;min-height:58px}
  .hero-pagination-meta{grid-column:1;grid-row:1}
  .hero-pagination-track{grid-column:1/-1;grid-row:2;margin-top:-5px}
  .hero-pagination-controls{grid-column:2;grid-row:1}
  .hero-pagination-title{font-size:11px}
}

/* --- refinement pass 06: compressed desktop hero so the motion ticker enters the first viewport --- */
@media(min-width:901px){
  .hero-split{
    height:calc(100svh - 48px);
    min-height:720px;
    max-height:860px;
    padding:104px var(--pad) 26px;
    align-items:center;
  }
  .hero-split .hero-shell{
    width:min(1380px,100%);
    grid-template-columns:minmax(0,.98fr) minmax(400px,.72fr);
    gap:clamp(44px,5vw,78px);
    align-items:center;
  }
  .hero-split .hero-copy{padding-top:10px}
  .hero-split .hero-copy h1{font-size:clamp(60px,6vw,98px);max-width:680px}
  .hero-split .hero-bottom{margin-top:27px}
  .hero-split .hero-cta{margin-top:22px}
  .hero-split .hero-meta{margin-top:31px}
  .hero-slider{width:min(100%,540px)}
  .hero-split .hero-frame{aspect-ratio:.92/1}
  .hero-pagination{margin-top:10px;min-height:56px;gap:18px}
  .hero-pagination-controls button{width:32px;height:32px}
}

@media(min-width:901px) and (max-height:780px){
  .hero-split{min-height:660px;height:calc(100svh - 44px);padding-top:88px;padding-bottom:20px}
  .hero-slider{width:min(100%,495px)}
  .hero-split .hero-frame{aspect-ratio:.94/1}
  .hero-split .hero-copy h1{font-size:clamp(56px,5.7vw,88px)}
  .hero-split .hero-bottom{margin-top:21px}
  .hero-split .hero-meta{margin-top:24px}
  .ticker{height:44px}
}

/* --- refinement pass 07: balanced hero crops + Arthur Creates footer credit --- */
.hero-split .hero-slide img{object-position:50% 50%}
.hero-split .hero-slide:nth-child(1) img{object-position:50% 46%}
.hero-split .hero-slide:nth-child(2) img{object-position:50% 50%}
.hero-split .hero-slide:nth-child(3) img{object-position:50% 58%}
.hero-split .hero-slide:nth-child(4) img{object-position:50% 45%}
.footer-credit{position:relative;color:#fff;transition:opacity .25s var(--ease)}
.footer-credit::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .25s var(--ease)}
.footer-credit:hover{opacity:.72}
.footer-credit:hover::after{transform:scaleX(1)}

@media(max-width:700px){
  .hero-split .hero-slide:nth-child(1) img{object-position:50% 44%}
  .hero-split .hero-slide:nth-child(2) img{object-position:50% 49%}
  .hero-split .hero-slide:nth-child(3) img{object-position:50% 57%}
  .hero-split .hero-slide:nth-child(4) img{object-position:50% 42%}
}

/* --- refinement pass 08: curated work, full-frame photography --- */
.work-grid--curated{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,3.4vw,58px) clamp(18px,2.3vw,36px);
  align-items:start;
}
.work-grid--curated .work-card{
  display:block;
  min-width:0;
  margin:0!important;
  color:#111;
  background:transparent;
  overflow:visible;
  aspect-ratio:auto!important;
}
.work-grid--curated .work-media{
  width:100%;
  overflow:hidden;
  background:#e8e5de;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,17,17,.08);
}
.work-grid--curated .work-card--portrait .work-media{aspect-ratio:4/5}
.work-grid--curated .work-card--landscape .work-media{aspect-ratio:3/2}
.work-grid--curated .work-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:scale(1);
  transition:transform .75s var(--ease),filter .55s var(--ease);
}
.work-grid--curated .work-card:hover .work-media img{transform:scale(1.012)}
.work-label-static{
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"title arrow" "meta arrow";
  gap:5px 18px;
  align-items:center;
  padding:14px 2px 0;
  border-top:1px solid rgba(17,17,17,.15);
  margin-top:12px;
}
.work-label-static span{grid-area:title;font:500 14px/1.15 "Manrope",sans-serif;letter-spacing:-.02em}
.work-label-static small{grid-area:meta;font:500 9px/1.3 "Manrope",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#777}
.work-label-static b{grid-area:arrow;font:400 17px/1 "Manrope",sans-serif;transition:transform .3s var(--ease)}
.work-grid--curated .work-card:hover .work-label-static b{transform:translate(3px,-3px)}
.work-grid--curated .work-card:nth-child(5),
.work-grid--curated .work-card:nth-child(6){margin-top:clamp(2px,.6vw,10px)!important}

@media(max-width:900px){
  .work-grid--curated{gap:30px 16px}
}
@media(max-width:600px){
  .work-grid--curated{grid-template-columns:1fr;gap:34px}
  .work-grid--curated .work-card--portrait .work-media{aspect-ratio:4/5}
  .work-grid--curated .work-card--landscape .work-media{aspect-ratio:3/2}
  .work-label-static{margin-top:10px;padding-top:12px}
}

/* --- refinement pass 09: true editorial masonry work wall --- */
.work-section{overflow:hidden}
.work-masonry{
  width:min(1480px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:.92fr 1.25fr .94fr;
  gap:clamp(10px,1vw,16px);
  align-items:start;
}
.work-column{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:clamp(10px,1vw,16px);
}
.work-column--middle{padding-top:clamp(18px,2vw,32px)}
.work-column--right{padding-top:clamp(6px,.8vw,14px)}
.work-card--natural{
  position:relative;
  display:block;
  width:100%;
  margin:0!important;
  padding:0;
  overflow:hidden;
  background:transparent;
  aspect-ratio:auto!important;
  border:0;
}
.work-card--natural img{
  display:block;
  width:100%;
  height:auto!important;
  max-height:none;
  object-fit:contain!important;
  object-position:center!important;
  transform:scale(1);
  transition:transform .8s var(--ease),filter .55s var(--ease);
}
.work-card--natural::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 68%,rgba(0,0,0,.52));
  opacity:0;
  transition:opacity .35s var(--ease);
  pointer-events:none;
}
.work-hover-label{
  position:absolute;
  z-index:2;
  left:16px;
  right:16px;
  bottom:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:#fff;
  font:500 11px/1 "Manrope",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s var(--ease),transform .35s var(--ease);
  pointer-events:none;
}
.work-hover-label b{font-size:17px;font-weight:400}
.work-card--natural:hover img{transform:scale(1.012);filter:brightness(.92)}
.work-card--natural:hover::after{opacity:1}
.work-card--natural:hover .work-hover-label{opacity:1;transform:none}
.work-section .work-footer{
  width:min(1480px,100%);
  margin:clamp(36px,4vw,58px) auto 0;
  padding-top:0;
  border-top:0;
  justify-content:center;
}
.work-section .work-footer p{display:none}
.work-section .arrow-link{
  min-height:48px;
  padding:0 20px;
  border:1px solid rgba(17,17,17,.36);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  font:600 10px/1 "Manrope",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.work-section .arrow-link span{margin-left:0;font-size:15px}
.work-section .arrow-link:hover{background:#111;color:#fff;border-color:#111}

@media(max-width:980px){
  .work-masonry{grid-template-columns:1fr 1fr;gap:12px}
  .work-column{gap:12px;padding-top:0!important}
  .work-column--right{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
}
@media(max-width:650px){
  .work-masonry{grid-template-columns:1fr 1fr;gap:8px}
  .work-column{gap:8px}
  .work-column--right{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px}
  .work-column--right .work-card--natural:last-child{grid-column:1/-1}
  .work-hover-label{display:none}
  .work-section .work-footer{margin-top:30px}
}

/* --- refinement pass 10: exact uploaded works + full headwrap hero composition --- */
.work-masonry{
  grid-template-columns:.96fr .91fr 1.13fr;
  gap:clamp(10px,1vw,16px);
}
.work-column--middle,
.work-column--right{padding-top:0}

/* The fourth hero photograph is naturally much narrower than the frame.
   Keep the complete portrait visible over a softened continuation of itself. */
.hero-slide:nth-child(4){
  background-image:linear-gradient(rgba(4,4,4,.18),rgba(4,4,4,.18)),url('assets/img/portrait-headwrap.webp');
  background-size:cover;
  background-position:center;
}
.hero-slide:nth-child(4)::before{
  content:"";
  position:absolute;
  inset:-8%;
  background:inherit;
  background-size:cover;
  background-position:center;
  filter:blur(18px) saturate(.82) brightness(.62);
  transform:scale(1.08);
}
.hero-split .hero-slide:nth-child(4) img{
  position:relative;
  z-index:1;
  width:84%!important;
  height:94%!important;
  margin:3% 8%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate3d(0,var(--hero-shift,0),0) scale(.97)!important;
  filter:saturate(1.02) contrast(1.02);
  box-shadow:0 20px 70px rgba(0,0,0,.14);
}

@media(max-width:900px){
  .hero-split .hero-slide:nth-child(4) img{
    width:88%!important;
    height:94%!important;
    margin:3% 6%!important;
  }
}

/* --- booking platform / M-Pesa state --- */
.calendar-grid.is-loading{opacity:.42;pointer-events:none}
.payment-state{width:min(900px,calc(100% - 40px));margin:auto;padding:80px 0 60px;flex:1}
.payment-state:not([hidden]){display:flex;align-items:center;justify-content:center}
.payment-state-inner{width:min(720px,100%);text-align:center;margin:auto}
.payment-icon{width:74px;height:74px;border:1px solid #444;border-radius:50%;margin:0 auto 28px;display:grid;place-items:center;font:600 22px/1 "Manrope",sans-serif;letter-spacing:.05em}
.payment-state h2{margin:0;font:500 clamp(48px,6vw,88px)/.92 "Manrope",sans-serif;letter-spacing:-.055em}
.payment-state h2 em{font-family:"Playfair Display",Georgia,serif}
.payment-state-inner>p:not(.step-count){max-width:560px;margin:24px auto 0;color:#898989;font-size:14px;line-height:1.7}
.payment-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:34px auto 0}
.payment-meta div{min-width:180px;border:1px solid #303030;padding:15px 18px;text-align:left}.payment-meta span{display:block;color:#666;font:600 9px/1 "Manrope";letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}.payment-meta strong{font-size:13px;font-weight:500}
.payment-loader{width:min(360px,70%);height:2px;margin:42px auto 0;background:#252525;overflow:hidden}.payment-loader span{display:block;width:38%;height:100%;background:#fff;animation:mpesaWait 1.35s ease-in-out infinite}
.payment-state .button{margin:38px auto 0;min-width:160px}
@keyframes mpesaWait{0%{transform:translateX(-100%)}50%{transform:translateX(120%)}100%{transform:translateX(320%)}}
.booking-submit:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){.payment-state{padding:55px 0 40px}.payment-state h2{font-size:48px}.payment-meta{display:grid}.payment-meta div{min-width:0}.payment-icon{width:62px;height:62px}}

/* --- refinement pass 11: mobile-first polish, flat controls, no emoji glyphs --- */
.line-arrow{
  position:relative;display:inline-block!important;flex:0 0 auto;width:16px;height:16px;
  font-size:0!important;line-height:0!important;color:currentColor;
}
/* true north-east arrow, drawn with CSS so iOS never substitutes an emoji */
.line-arrow::before{
  content:"";position:absolute;left:1px;bottom:3px;width:14px;height:1px;background:currentColor;
  transform:rotate(-45deg);transform-origin:left center;
}
.line-arrow::after{
  content:"";position:absolute;right:1px;top:1px;width:7px;height:7px;
  border-top:1px solid currentColor;border-right:1px solid currentColor;
}
.line-arrow--down{transform:rotate(90deg)}
.line-arrow--left{transform:rotate(180deg)}
.line-arrow--up{transform:rotate(-90deg)}
.service-arrow.line-arrow{width:18px;height:18px}
.work-hover-label .line-arrow,.choice-grid .line-arrow{margin-left:auto}
.hero-pagination-controls button .line-arrow{width:14px;height:14px}

/* remove visual depth / fake 3D cues */
.button,.package-cta,.service-row,.arrow-link,.hero-pagination-controls button,.calendar-nav,.booking-next,.booking-back,.mobile-book{box-shadow:none!important;border-radius:0!important}
.button{backdrop-filter:none!important}

@media(max-width:700px){
  :root{--pad:18px}
  html{scroll-padding-top:72px}
  body{overflow-x:hidden}
  .site-header{
    height:72px!important;padding:0 18px!important;background:#0a0a0a!important;
    border-bottom:1px solid rgba(255,255,255,.1)!important;backdrop-filter:none!important;
  }
  .site-header.is-scrolled{height:72px!important;background:#0a0a0a!important}
  .brand{width:132px!important}
  .brand img{width:132px;height:auto}
  .desktop-nav,.header-actions>.text-link{display:none!important}
  .header-actions{gap:0}
  .menu-button{display:block!important;width:42px;height:42px;padding:8px}
  .menu-button span{width:26px;margin:7px auto;background:#fff}

  .mobile-menu{top:72px!important;background:#0a0a0a!important}
  .mobile-menu nav a,.mobile-book{font-size:32px!important;letter-spacing:-.04em}
  .mobile-book .line-arrow{width:20px;height:20px}

  .hero-split{
    display:block!important;min-height:0!important;height:auto!important;
    padding:104px 18px 30px!important;overflow:hidden!important;
  }
  .hero-split .hero-shell{display:block!important;width:100%!important}
  .hero-split .hero-copy{padding:0!important}
  .hero-split .eyebrow{margin:0 0 18px!important;font-size:8px!important;line-height:1.4!important;letter-spacing:.16em!important;white-space:nowrap}
  .hero-split .hero-copy h1{
    max-width:350px!important;margin:0!important;font-size:clamp(48px,13.4vw,58px)!important;
    line-height:.84!important;letter-spacing:-.07em!important;
  }
  .hero-split .hero-copy h1 span,.hero-split .hero-copy h1 em{display:block!important}
  .hero-split .hero-copy h1 em{margin:.06em 0 .05em .08em!important;font-size:1.03em!important;line-height:.82!important}
  .hero-split .hero-bottom{margin-top:27px!important;max-width:none!important}
  .hero-split .hero-bottom p{max-width:310px!important;font-size:13px!important;line-height:1.55!important;color:rgba(255,255,255,.7)!important}
  .hero-split .hero-cta{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:22px!important}
  .hero-split .button{min-height:48px!important;padding:0 14px!important;font-size:12px!important;gap:8px!important}
  .hero-split .hero-meta{
    margin-top:22px!important;padding-top:13px!important;display:flex!important;align-items:flex-start!important;
    justify-content:space-between!important;gap:16px!important;font-size:7px!important;line-height:1.45!important;letter-spacing:.13em!important;
  }
  .hero-split .hero-meta span:first-child{white-space:nowrap}
  .hero-split .hero-meta span:last-child{max-width:190px;text-align:right}
  .hero-visual{margin-top:30px!important}
  .hero-slider{width:100%!important;margin:0!important;gap:8px!important}
  .hero-split .hero-frame{width:100%!important;aspect-ratio:4/5!important;margin:0!important;border:0!important;box-shadow:none!important}
  .hero-split .hero-slide img{transform:translate3d(0,var(--hero-shift,0),0) scale(1.015)!important}
  .hero-split .hero-slide:nth-child(4) img{width:92%!important;height:96%!important;margin:2% 4%!important;transform:translate3d(0,var(--hero-shift,0),0) scale(.98)!important}
  .hero-frame::after{inset:10px!important;border-color:rgba(255,255,255,.07)!important}
  .hero-pagination{min-height:46px!important;margin-top:7px!important;padding-top:8px!important;grid-template-columns:auto 1fr auto!important;gap:10px!important;border-top:1px solid rgba(255,255,255,.1)!important}
  .hero-pagination-meta{grid-column:1!important;grid-row:1!important;display:flex!important;gap:8px!important;min-width:100px}
  .hero-pagination-title{display:none!important}
  .hero-pagination-track{grid-column:2!important;grid-row:1!important;margin:0!important;gap:5px!important}
  .hero-pagination-controls{grid-column:3!important;grid-row:1!important;gap:5px!important}
  .hero-pagination-controls button{width:32px!important;height:32px!important;border-color:rgba(255,255,255,.16)!important;background:transparent!important}
  .ticker{height:38px!important}
  .ticker-track{gap:20px!important;font-size:8px!important;letter-spacing:.14em!important}

  .section{padding:72px 18px!important}
  #work,#services,#studio,#packages,#about{scroll-margin-top:72px}
  .section-head{display:block!important;margin-bottom:42px!important}
  .section-head .kicker{margin-bottom:18px!important;font-size:9px!important}
  .section-head h2,.studio-copy h2,.about-copy h2,.commercial-content h2,.final-cta h2{
    font-size:clamp(44px,12vw,56px)!important;line-height:.92!important;letter-spacing:-.06em!important;
  }
  .section-intro{margin-top:24px!important;max-width:330px!important;font-size:14px!important;line-height:1.65!important}

  .work-masonry{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .work-column{gap:6px!important;padding:0!important}
  .work-column--right{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  .work-card--natural{background:#e8e4dc!important}
  .work-hover-label{display:none!important}
  .work-section .work-footer{margin-top:24px!important}
  .work-section .arrow-link{min-height:44px!important;padding:0 16px!important;border-radius:0!important;font-size:9px!important}

  .manifesto{min-height:auto!important;padding:82px 18px!important}
  .manifesto-copy{font-size:clamp(42px,11.6vw,54px)!important;line-height:.95!important}
  .manifesto-copy em{margin:10px 0 0!important}
  .manifesto-meta{margin-top:42px!important;font-size:8px!important}

  .services-section{padding-bottom:62px!important}
  .service-list{margin-top:8px!important}
  .service-row{
    min-height:72px!important;padding:18px 0!important;grid-template-columns:34px 1fr 20px!important;gap:10px!important;
  }
  .service-row:hover,.service-row.is-active{padding-left:0!important}
  .service-no{font-size:9px!important}
  .service-name{font-size:clamp(26px,7.8vw,34px)!important;line-height:1.02!important;letter-spacing:-.05em!important}
  .service-arrow{justify-self:end!important;width:18px!important;height:18px!important}

  .studio-section{display:flex!important;flex-direction:column!important;min-height:0!important}
  .studio-copy{order:1!important;padding:72px 18px 64px!important}
  .studio-image{order:2!important;min-height:0!important;height:auto!important}
  .studio-image img{height:auto!important;object-fit:contain!important}
  .studio-copy>p:not(.kicker){margin:26px 0!important;font-size:14px!important;line-height:1.7!important}
  .studio-facts{margin:12px 0 30px!important}
  .studio-facts div{padding:14px 0!important}
  .studio-copy .button{min-height:46px!important;padding:0 15px!important}

  .packages-section{padding-top:76px!important}
  .packages-section .section-head{margin-bottom:34px!important}
  .package-grid{display:grid!important;grid-template-columns:1fr!important;border-left:0!important;border-top:1px solid #2c2c2c!important}
  .package-card{min-height:0!important;padding:24px 0!important;border-left:0!important;border-right:0!important}
  .package-card:hover{transform:none!important}
  .package-card h3{margin:26px 0 10px!important;font-size:23px!important}
  .price{font-size:34px!important}
  .package-card ul{margin:22px 0!important;line-height:1.75!important}
  .package-cta{min-height:44px!important}

  .about-section{display:flex!important;flex-direction:column!important}
  .about-copy{order:1!important;padding:72px 18px 64px!important}
  .about-portrait{order:2!important;min-height:0!important;max-height:none!important}
  .about-portrait img{height:auto!important;object-fit:contain!important}
  .about-portrait span{left:14px!important;bottom:14px!important;font-size:8px!important}

  .commercial-band{min-height:620px!important}
  .commercial-content{width:auto!important;padding:76px 18px!important}
  .commercial-content p:not(.kicker){font-size:14px!important;line-height:1.65!important}

  .final-cta-minimal{padding:84px 18px!important}
  .final-cta-text{font-size:14px!important}
  .circle-cta{width:120px!important;height:120px!important;border-radius:50%!important}

  .site-footer{padding:56px 18px 28px!important}
  .footer-top img{width:132px!important}
  .footer-top p{font-size:12px!important;line-height:1.55!important}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:28px 18px!important}
  .footer-grid p{font-size:12px!important;line-height:1.6!important}
  .footer-bottom{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;font-size:9px!important}
  .footer-bottom a[href="#top"]{display:inline-flex!important;align-items:center!important;gap:8px!important}

  .booking-topbar{height:66px!important;padding:0 16px!important}
  .booking-form{width:calc(100% - 32px)!important;padding-top:34px!important}
  .booking-step h2{font-size:clamp(40px,11.5vw,52px)!important;line-height:.92!important;margin-bottom:30px!important}
  .choice-grid{grid-template-columns:1fr!important}
  .choice-grid span{min-height:76px!important;padding:16px!important}
  .booking-packages{grid-template-columns:1fr!important}
  .booking-package{min-height:116px!important;padding:18px!important}
  .booking-package .booking-package-price{font-size:28px!important}
  .availability-layout{grid-template-columns:1fr!important;gap:18px!important}
  .calendar-card,.times-card{padding:14px!important}
  .booking-controls{position:sticky!important;bottom:0!important;margin:26px -16px 0!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;background:rgba(10,10,10,.96)!important;border-top:1px solid #292929!important;z-index:4}
  .booking-next,.booking-back{min-height:46px!important}

  .gallery-topbar{height:64px!important;padding:0 16px!important}
  .gallery-grid{grid-template-columns:1fr!important;padding:16px 16px 56px!important;gap:18px!important}
  .gallery-grid figure{margin:0!important}
  .gallery-grid img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
}

/* --- refinement pass 12: preserve hero compositions, natural gallery, WhatsApp booking --- */
/* Slide 4 is now the red editorial frame; remove the old headwrap-only treatment. */
.hero-slide:nth-child(4){background-image:none!important}
.hero-slide:nth-child(4)::before{content:none!important;background:none!important}
.hero-split .hero-slide:nth-child(4) img{
  position:static!important;
  z-index:auto!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:50% 48%!important;
  transform:translate3d(0,var(--hero-shift,0),0) scale(1.045)!important;
  box-shadow:none!important;
}

/* Any hero marked contain keeps its native composition and uses a softened continuation behind it. */
.hero-slide--contain{
  background-image:linear-gradient(rgba(4,4,4,.22),rgba(4,4,4,.22)),var(--hero-bg);
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.hero-slide--contain::before{
  content:"";
  position:absolute;
  inset:-8%;
  background-image:var(--hero-bg);
  background-size:cover;
  background-position:center;
  filter:blur(22px) saturate(.82) brightness(.58);
  transform:scale(1.1);
}
.hero-split .hero-slide--contain img{
  position:relative!important;
  z-index:1!important;
  width:92%!important;
  height:92%!important;
  margin:4%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate3d(0,var(--hero-shift,0),0) scale(.985)!important;
  filter:saturate(1.01) contrast(1.02)!important;
  box-shadow:0 20px 70px rgba(0,0,0,.12)!important;
}

/* View More Work behaves like an editorial contact sheet: natural orientation, zero forced crop. */
.gallery-grid{
  display:block!important;
  column-count:3;
  column-gap:16px;
  padding:30px var(--pad) 90px!important;
}
.gallery-grid figure{
  display:inline-block;
  width:100%;
  break-inside:avoid;
  margin:0 0 16px!important;
  overflow:visible!important;
}
.gallery-grid img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
.gallery-grid figcaption{padding:8px 0 2px}

.booking-whatsapp{
  display:none;
  min-width:190px;
  min-height:52px;
  padding:0 22px;
  border:1px solid #555;
  background:transparent;
  color:#fff;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  cursor:pointer;
}
.booking-whatsapp:hover{background:#171717;border-color:#777}
.booking-controls{flex-wrap:wrap}

@media(max-width:900px){
  .gallery-grid{column-count:2}
}
@media(max-width:700px){
  .hero-split .hero-slide:nth-child(4) img{
    width:100%!important;height:100%!important;margin:0!important;
    object-fit:cover!important;object-position:50% 46%!important;
    transform:translate3d(0,var(--hero-shift,0),0) scale(1.015)!important;
  }
  .hero-split .hero-slide--contain img{
    width:94%!important;height:94%!important;margin:3%!important;
    object-fit:contain!important;object-position:center!important;
    transform:translate3d(0,var(--hero-shift,0),0) scale(.99)!important;
  }
  .booking-controls{gap:8px!important}
  .booking-whatsapp,.booking-submit{width:100%!important;min-width:0!important;justify-content:space-between!important}
  .booking-back{order:3;width:100%;min-height:44px;text-align:left}
  .booking-whatsapp{order:1}
  .booking-submit{order:2}
  .gallery-grid{column-count:1;padding:16px 16px 56px!important}
}
