/* v1.2: shared layout, image-card, and mobile corrections. Loaded last. */
*,*::before,*::after{box-sizing:border-box}html,body{max-width:100%;margin:0}body{overflow-x:clip}img,video,iframe{max-width:100%}main,section,article,nav,footer,div{min-width:0}p,h1,h2,h3,h4,a,button,span,dd{overflow-wrap:break-word}button,a,input,select{touch-action:manipulation}input,select,textarea{max-width:100%}button:focus-visible,a:focus-visible{outline-offset:3px}
.section-heading{flex-wrap:wrap;align-items:flex-end}.section-heading>div{min-width:0}.section-heading>.text-link{flex-shrink:0}.filters{max-width:100%}.filters button{min-height:44px}.project-meta{min-width:0}.project-meta>div{min-width:0}.project-meta h3{overflow-wrap:anywhere}
.project-image{display:grid;place-items:center;overflow:hidden;background:#eeece7;aspect-ratio:4/3!important}.project-image img{display:block;width:100%!important;height:100%!important;max-height:100%;object-fit:contain!important;transform:none!important}.project:nth-child(n){padding-top:0!important}.portfolio-grid .project:nth-child(n){grid-column:auto!important}.grid,.portfolio-grid{align-items:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.team-grid{align-items:start}.team-card{display:flex!important;flex-direction:column;grid-template-rows:none!important;align-self:start;overflow:hidden}.team-card img{width:100%!important;height:300px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;background:#eeece7;flex:none}.team-card h3{height:auto!important;min-height:58px;margin:0!important;padding:16px 16px 8px!important;font-size:14px!important;line-height:1.45!important}.team-card p{height:auto!important;min-height:62px;margin:0!important;padding:0 16px 18px!important;font-size:12px!important;line-height:1.6!important}.team-card:hover,.motion-ready .team-card.is-visible:hover{transform:none!important}
.news-card{height:auto!important;min-width:0;display:flex!important;flex-direction:column!important}.news-card>img,.news-card>a>img{display:block;width:100%!important;height:320px!important;aspect-ratio:auto!important;object-fit:contain!important;background:#efede7}.news-card>div{min-width:0;flex:1;padding:20px!important;display:flex;flex-direction:column}.news-card h3{height:auto!important;min-height:0!important}.news-card p{height:auto!important}.news-card .text-link{align-self:start;margin-top:auto}.insights-grid .news-card:first-child{grid-column:auto!important}.insights-grid,.news-preview{align-items:stretch}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gallery button[data-image]:nth-child(n){display:flex;flex-direction:column;grid-column:auto!important;grid-row:auto!important;aspect-ratio:auto!important;width:100%!important;max-width:100%!important;min-width:0;height:auto!important;margin:0!important;padding:12px!important;gap:12px;background:#eeece7;overflow:hidden}.gallery button[data-image] img{display:block;width:100%!important;height:390px!important;max-width:100%;object-fit:contain!important;transform:none!important;flex:none}.gallery button[data-image] span{position:static!important;inset:auto!important;display:block;max-width:100%;height:auto!important;white-space:normal;font-size:11px;line-height:1.6;background:transparent;color:#666;transform:none!important;opacity:1!important}.gallery-chapter{grid-column:1/-1!important}.gallery.refined-gallery img{max-width:100%}.gallery.rail{display:grid;overflow:visible;scroll-snap-type:none}.object-gallery>img{max-height:65svh;object-fit:contain}.object-thumbs{flex-wrap:wrap}.collection-grid{align-items:stretch}.collection-card{min-width:0}.collection-info{height:auto;min-height:150px}.collection-info h3{overflow-wrap:anywhere}.collection-photo img{object-fit:contain!important}.collection-info strong{padding-top:8px}.store-tools{flex-wrap:wrap}.store-tools label{min-width:0}.store-tools input,.store-tools select{min-width:0;width:100%}
.feature-theatre{isolation:isolate}.feature-stack{display:none}.feature-photo{isolation:isolate}.feature-photo:before{content:"";position:absolute;inset:8px;border:1px solid #ab947655;pointer-events:none;z-index:1}.feature-copy{min-width:0}.feature-copy h3{overflow-wrap:anywhere}.feature-toolbar{display:grid;grid-template-columns:auto 1fr auto auto;gap:18px;align-items:center}.feature-dots{margin:0;justify-content:center;flex-wrap:wrap}.feature-dots button{min-height:40px}.feature-copy .section-tag{white-space:normal}.feature-photo img{object-fit:contain!important}.feature-pause{min-height:44px;min-width:44px}.feature-arrows button{min-height:44px}
.quick-contact{left:24px!important;right:auto!important;bottom:max(20px,env(safe-area-inset-bottom))!important;max-width:calc(100vw - 100px);z-index:80}.call-panel{left:0!important;right:auto!important;width:min(330px,calc(100vw - 32px))!important;max-height:calc(100dvh - 140px);overflow:auto;bottom:66px}.scroll-top{position:fixed!important;left:auto!important;right:24px!important;bottom:max(20px,env(safe-area-inset-bottom))!important;width:52px!important;height:52px!important;padding:0!important;z-index:80}.scroll-top svg{height:36px!important;width:32px!important}.scroll-top .top-label{left:auto!important;right:62px!important;transform:none!important}.call-toggle{max-width:100%;min-height:48px;gap:9px;padding:0 16px!important}.call-toggle span{white-space:nowrap}.call-toggle svg{flex:none}.call-panel>a{overflow-wrap:anywhere}body:has(nav.open) .quick-contact{visibility:hidden}
/* Footer: invitation, clear office columns, and a compact directory. */
footer.site-footer.footer-v12{margin:0!important;padding:56px max(6%,calc((100% - 1320px)/2)) 100px!important;display:block!important;background:#242623!important;color:#e9e8e0;border-top:0!important;font-size:13px;overflow:hidden}.footer-v12 .footer-invitation{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid #ffffff24}.footer-v12 .footer-invitation p{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#c6ad88;margin:0 0 10px}.footer-v12 .footer-invitation h2{font-size:clamp(24px,3vw,38px)!important;color:#fff;letter-spacing:.04em!important;margin:0}.footer-v12 .footer-invitation .button{flex:none;color:#fff;padding:14px 20px;border-color:#bda889}.footer-v12 .footer-columns{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.footer-v12 .footer-brand .brand{width:200px;height:132px;overflow:hidden;margin:-18px 0 8px}.footer-v12 .footer-brand .brand-mark{width:200px!important;height:200px!important;max-width:none;object-fit:contain!important;transform:translateY(-35px)!important}.footer-v12 .footer-brand p{font-size:13px;line-height:1.8;color:#bdc0b7;margin:0 0 20px;max-width:250px}.footer-v12 .social-icons{margin-top:22px;gap:10px!important}.footer-v12 .social-icons a,.footer-v12 .social-icons button{width:40px!important;height:40px!important;flex-basis:40px!important}.footer-v12 h3{font-size:11px!important;letter-spacing:.16em;text-transform:uppercase;color:#c6ad88;margin:0 0 20px}.footer-v12 .footer-column>a{display:block;line-height:1.8;margin:0 0 9px;overflow-wrap:anywhere;color:#eee}.footer-v12 .footer-column p{font-size:12px;color:#bdc0b7;line-height:1.9;margin:0 0 14px}.footer-v12 a:hover{color:#d8bc94}.footer-v12 .footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:38px 0 0;padding:23px 0 0;border-top:1px solid #ffffff24;font-size:10px;letter-spacing:.04em;color:#aeb2a7;grid-column:auto}
@media(max-width:1100px){.home-header nav,.inner-header nav{gap:13px}.home-header nav a,.inner-header nav a{font-size:11px!important}.journal-experience{grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:5%}.footer-v12 .footer-columns{gap:24px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.home-header,.inner-header{min-height:90px!important;height:90px!important;padding:8px 5%!important;align-items:center!important;z-index:90}.home-header .brand,.inner-header .brand{width:140px!important;height:74px!important;overflow:hidden;flex:none;padding:0!important}.home-header .brand-mark,.inner-header .brand-mark{display:block;width:155px!important;height:155px!important;max-width:none;transform:translateY(-29px)!important;object-fit:contain!important}.menu{min-width:65px;min-height:44px;margin:0;z-index:102}.home-header nav.open,.inner-header nav.open{inset:90px 0 0!important;width:100%;height:calc(100dvh - 90px);max-height:none;z-index:100;padding:24px max(6%,env(safe-area-inset-left)) 90px!important;gap:5px!important;align-items:stretch;overscroll-behavior:contain}.home-header nav.open>a,.inner-header nav.open>a,.nav-dropdown{padding:12px!important;min-height:44px;line-height:1.5}.nav-group{width:100%}.nav-submenu{width:100%!important;max-width:100%;padding:6px 12px!important}.nav-submenu a{white-space:normal!important;line-height:1.5}.home-header nav.open a,.inner-header nav.open a{font-size:14px!important}.nav-group .nav-dropdown{width:100%;text-align:left}.grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:700px;max-height:none}.hero-content{max-width:90%!important;margin:0 5%!important}.hero-bottom{flex-wrap:wrap}.feature-slide{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:25px}.feature-copy h3{font-size:25px!important}.feature-photo{height:420px}.feature-folio{font-size:36px}.footer-v12 .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-v12 .footer-brand{grid-column:auto!important}.footer-v12 .footer-column{grid-column:auto!important}}
@media(max-width:800px){h1{font-size:clamp(28px,6.5vw,42px)!important;line-height:1.35!important;letter-spacing:.045em!important}h2{font-size:clamp(24px,5.8vw,32px)!important;line-height:1.4!important;letter-spacing:.07em!important}.portfolio-intro,.project-intro,.layout-rail .project-intro,.store-intro,.object-layout,.about-details,.project-story,.expertise,.intro,.award-feature,.collection-preview,.journal-experience{grid-template-columns:minmax(0,1fr)!important;gap:28px}.section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:25px}.section-heading .text-link{align-self:flex-start}.gallery-heading{display:block}.gallery-note{display:block;margin-top:8px}.contacts{grid-template-columns:minmax(0,1fr)!important;gap:24px}.closing-top{flex-direction:column;align-items:flex-start;padding-bottom:30px}.closing{padding-top:50px;padding-bottom:50px}.contact-brand .brand-mark{max-width:180px;height:auto!important;transform:none!important}.closing h2{max-width:100%}.hero{height:auto!important;min-height:calc(100svh - 15px)!important;display:flex;align-items:center;padding:130px 0 110px!important}.hero-content{position:relative;width:90%!important;max-width:90%!important;padding:0!important;flex:none}.hero h1{font-size:clamp(29px,7.5vw,40px)!important;max-width:100%}.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:25px}.hero-caption{bottom:22px;left:5%;right:5%;flex-wrap:wrap;gap:6px;font-size:9px}.hero-caption span{max-width:100%}.studio-refined .studio-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.studio-refined .studio-strip img{height:200px!important;object-fit:contain!important;margin-top:0!important}.studio-directory{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 18px!important}.studio-directory a{flex:1 1 110px}.studio-refined .studio-feature{grid-template-columns:minmax(0,1fr)!important}.studio-refined .studio-feature>img{height:360px;max-height:70svh;object-fit:contain}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr)!important;gap:18px}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-photo-story{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.studio-photo-story>div{grid-column:1/-1}.studio-photo-story img{height:250px!important;object-fit:contain}.feature-showcase{padding:45px 5%}.feature-theatre{padding:16px 16px 0}.feature-slide{grid-template-columns:minmax(0,1fr)!important;gap:20px;min-height:0}.feature-photo{width:100%;height:auto!important;aspect-ratio:4/5;max-height:460px;box-shadow:none}.feature-copy{padding:0!important}.feature-folio{font-size:28px;margin:0 0 12px}.feature-copy h3{font-size:23px!important;line-height:1.4;margin:12px 0 20px}.feature-copy .section-tag{font-size:9px;letter-spacing:.12em}.feature-line{display:none}.feature-toolbar{grid-template-columns:1fr auto;gap:14px;padding:24px 0}.feature-dots{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:100%}.feature-dots button{width:100%;min-height:42px;font-size:11px}.feature-arrows{grid-column:1;justify-content:flex-start}.feature-arrows button{width:44px;height:44px}.feature-pause{grid-column:2;margin:0;padding:10px;justify-self:end}.feature-status{display:none}.feature-slide.departing{left:16px;right:16px;top:16px}.feature-hint{font-size:11px}.feature-stack{display:none!important}.feature-photo:before{inset:5px}.feature-slide.arriving .feature-photo{animation-duration:.85s}.feature-slide.departing .feature-photo{animation-duration:.55s}.reel-presentation{width:100%;min-width:0;max-width:440px}.reel-stage{width:100%;height:660px}.reel-chapters{margin-top:24px}.reel-controls{grid-template-columns:42px minmax(0,1fr) 42px}.journal-profile{font-size:20px;max-width:100%}.journal-profile svg{flex:none}.journal-intro{min-width:0}.award-copy dl{flex-wrap:wrap}.object-layout{gap:24px}.object-gallery>img{height:auto!important;aspect-ratio:4/5;max-height:65svh}.object-copy{padding-top:0}.store-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}.store-tools label{width:100%}.store-tools input,.store-tools select{width:100%;min-width:0!important;font-size:16px}.store-tools p{margin:0}.gallery,.gallery.refined-gallery,.gallery.diptych,.gallery.editorial,.gallery.mosaic,.gallery.sequence,.gallery.rail,.restaurant-gallery{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:22px!important;padding-left:5%!important;padding-right:5%!important}.gallery button[data-image] img{height:auto!important;aspect-ratio:4/3;max-height:430px;object-fit:contain!important}.gallery button[data-image].portrait-card img{aspect-ratio:4/5;max-height:470px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr)!important;gap:24px 16px}.team-card img{height:240px!important}.team-card h3{font-size:13px!important;min-height:56px;padding:14px 12px 7px!important}.team-card p{min-height:66px;padding:0 12px 15px!important;font-size:11px!important}.insights-grid,.news-preview{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr)!important;gap:24px 18px}.news-card>img,.news-card>a>img{height:auto!important;aspect-ratio:4/5!important;max-height:420px;object-fit:contain!important}.lightbox{width:100%!important;height:100dvh!important;max-height:100dvh!important;padding:14px!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:12px!important}.lightbox-top{align-items:center;gap:12px}.lightbox-top>span{min-width:0;font-size:12px;overflow-wrap:anywhere}.lightbox button{min-height:44px;flex-shrink:0;font-size:12px}.lightbox img{width:100%;height:100%;min-height:0}.lightbox-bottom{gap:8px}.chapter-nav{display:flex;flex-wrap:wrap;gap:12px;padding:16px 5%;position:relative}.chapter-nav a{font-size:12px}}
@media(max-width:600px){.grid,.portfolio-grid,.insights-grid,.news-preview{grid-template-columns:minmax(0,1fr)!important}.project-image{aspect-ratio:4/3!important}.news-card>img,.news-card>a>img{aspect-ratio:4/5!important;max-height:400px}.news-card>div{padding:18px!important}.team-card img{height:210px!important}.team-card h3{min-height:66px;font-size:12px!important}.team-card p{min-height:82px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.collection-info{padding:13px 7px;min-height:155px}.collection-info h3{font-size:12px!important;line-height:1.6}.collection-photo{aspect-ratio:4/5}.collection-photo span{position:static;display:block;font-size:10px;opacity:1;transform:none;padding:8px}.collection-photo{overflow:hidden}.process-grid,.values-grid{grid-template-columns:minmax(0,1fr)!important}.studio-refined .studio-strip{grid-template-columns:minmax(0,1fr);gap:20px;padding:0 5%}.studio-refined .studio-strip img{height:auto!important;aspect-ratio:4/5;max-height:420px}.studio-photo-story{grid-template-columns:minmax(0,1fr)!important}.studio-photo-story img{height:auto!important;aspect-ratio:4/5;max-height:420px}.quick-contact{left:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}.call-toggle{height:44px!important;min-height:44px;padding:0 12px!important;font-size:11px!important;gap:7px!important;box-shadow:0 4px 18px #0002}.call-toggle svg{width:18px;height:18px}.scroll-top{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;width:44px!important;height:44px!important}.scroll-top svg{width:26px!important;height:31px!important}.scroll-top .top-label{display:none}.call-panel{bottom:58px!important;max-height:calc(100dvh - 130px);padding:20px;width:min(320px,calc(100vw - 24px))!important}.footer-v12 .footer-invitation{flex-direction:column;align-items:flex-start;gap:22px}.footer-v12 .footer-columns{grid-template-columns:minmax(0,1fr)!important;gap:30px}.footer-v12 .footer-brand{max-width:100%}.footer-v12 .footer-brand p{max-width:none}.footer-v12 h3{margin-bottom:14px}.footer-v12 .footer-bottom{display:flex;flex-direction:column;gap:10px}.footer-v12 .footer-column>a{min-height:32px}.footer-v12 .footer-columns .footer-column:last-child{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.footer-v12 .footer-columns .footer-column:last-child h3{grid-column:1/-1}footer.site-footer.footer-v12{padding:42px 6% 92px!important}.feature-copy h3{font-size:22px!important}.feature-folio{font-size:25px}.journal-experience{padding-left:5%;padding-right:5%}.reel-stage{height:640px}.hero{min-height:690px!important}.hero h1{font-size:30px!important}}
@media(max-width:360px){.team-grid,.collection-grid{grid-template-columns:minmax(0,1fr)!important}.team-grid{grid-template-columns:minmax(0,1fr)!important}.collection-grid{grid-template-columns:minmax(0,1fr)!important}.team-card img{height:300px!important}.team-card h3,.team-card p{min-height:0}.team-card p{padding-bottom:18px!important}.feature-copy h3{font-size:20px!important}.hero h1{font-size:28px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.feature-slide.arriving .feature-photo,.feature-slide.departing .feature-photo{animation:none!important}}
