@font-face{font-family:'Barlow Condensed';src:url('/assets/barlow-condensed-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Figtree;src:url('/assets/figtree-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--paper:#f3f1eb;--soft:#e9e7e0;--ink:#20211f;--muted:#5d605b;--line:#cecec6;--dark:#242622;--white:#f3f1eb;--accent:#e6c65a;--gutter:5vw;--max:1380px;--header-height:104px}
body{font-family:Figtree,Arial,sans-serif;font-size:17px;line-height:1.65;background:var(--paper);color:var(--ink)}
h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:400;letter-spacing:-.045em;line-height:1.04}h1 em,h2 em{font:inherit;font-style:italic;letter-spacing:inherit}a,button{-webkit-tap-highlight-color:transparent}.wrap{max-width:var(--max)}.eyebrow{font-size:.875rem;letter-spacing:.035em;line-height:1.5;font-weight:500;text-transform:none}.accent{color:var(--muted)}.yellow-dot{display:none}section[id]{scroll-margin-top:calc(var(--header-height) + 20px)}
:focus-visible{outline:2px solid var(--dark);outline-offset:5px}.craft-section :focus-visible,.project-dialog :focus-visible,.contact-section :focus-visible{outline-color:var(--accent)}
/* One continuous call-to-action, inside a floating navigation frame. */
.site-header,.home-page .site-header,.home-page .site-header.is-scrolled,.home-page .site-header:has(.menu-toggle[aria-expanded=true]){position:fixed;top:14px;left:var(--gutter);width:calc(100% - 2*var(--gutter));height:90px;background:#f3f1ebf5;color:var(--ink);border:1px solid #777b72;border-radius:12px;z-index:30;backdrop-filter:blur(18px);box-shadow:0 3px 0 #20211f10;transition:box-shadow .25s}
.site-header.is-scrolled{box-shadow:0 5px 20px #20211f15}.header-inner{max-width:1380px;height:100%;padding:9px 18px;gap:20px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none}.brand-logo{width:125px;height:auto}.brand-descriptor{font-size:12px;line-height:1.2;letter-spacing:.015em;text-transform:uppercase;white-space:nowrap;font-weight:500}.header-contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-width:0;margin:0 auto}.header-contact a{display:flex;align-items:center;gap:7px;min-height:29px;font-size:.8125rem;font-weight:500;line-height:1.4}.header-contact svg{width:15px;height:15px;flex:none}.header-phone span{white-space:nowrap}.header-email span{overflow-wrap:anywhere}.header-contact a:hover{text-decoration:underline;text-underline-offset:4px}.desktop-nav{font-size:.875rem;font-weight:500;gap:21px;flex:none}.desktop-nav>a{padding:11px 0}.desktop-nav>a::after{background:var(--dark)}
.header-cta,.primary-action,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 23px;background:var(--accent);border:1px solid var(--ink);border-radius:7px;box-shadow:0 3px 0 var(--ink);color:var(--ink);font-size:1rem;font-weight:600;line-height:1.3;transition:transform .2s,box-shadow .2s,background .2s}.header-cta{font-size:.9375rem;min-height:46px;padding:11px 17px;flex:none}.header-cta svg,.primary-action svg,.button svg{width:18px;height:18px;flex:none}.header-cta:hover,.primary-action:hover,.button:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--ink);background:#f1d772}.header-cta:active,.primary-action:active,.button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
.menu-toggle{border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink);min-height:44px;padding:8px 11px;font-size:.875rem;flex:none}.inner-page main{padding-top:calc(var(--header-height) + 40px)}
/* A typographic opening, with real work arranged as a photographic grid. */
.opening{padding:calc(var(--header-height) + 45px) 0 60px;background:var(--paper);color:var(--ink);overflow:hidden}.opening-top{text-align:center}.opening-location{font-size:.8125rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:22px;line-height:1.6}.opening-location>span{margin:0 9px}.opening h1{font-size:clamp(5rem,8.3vw,8.25rem);line-height:.91;margin:0;letter-spacing:-.05em}.opening h1 em{color:var(--dark);font-weight:400}.opening-description{font-size:1.125rem;line-height:1.6;max-width:620px;margin:24px auto 0;color:#5d605b}.opening-actions{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:27px}.secondary-action{font-size:1rem;min-height:46px;display:inline-flex;align-items:center;border-bottom:1px solid var(--ink);font-weight:500}.secondary-action:hover{color:var(--dark)}
.hero-media-grid{display:grid;grid-template-columns:.68fr 1.7fr .68fr;gap:18px;margin:44px auto 0;align-items:end}.hero-art{height:390px;position:relative;isolation:isolate;transform:none!important;will-change:auto;border:1px solid var(--ink);border-radius:15px;overflow:hidden}.photo-stack{position:absolute;inset:0;background:var(--dark);overflow:hidden;border:0}.scene-panel{position:absolute;inset:0;opacity:0;overflow:hidden;pointer-events:none;transition:opacity 1.6s ease}.scene-panel.is-active{opacity:1;pointer-events:auto;z-index:1}.scene-panel img{width:100%;height:100%;object-fit:cover;object-position:35% 60%;transform:scale(1.045);transition:transform 9s linear}.scene-panel.is-active img{transform:scale(1)}.scene-panel[data-scene-panel="1"] img{object-position:50% 55%}.scene-panel[data-scene-panel="2"] img{object-position:50% 50%}.scene-panel::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#000a)}.scene-panel figcaption{position:absolute;bottom:23px;left:24px;right:24px;z-index:2;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:18px;font-size:.8125rem}.scene-panel figcaption>span:last-child{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:2rem;letter-spacing:-.02em;line-height:1.1}.hero-detail-tile{height:312px;border:1px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--dark);position:relative}.hero-detail-tile>img{width:100%;height:100%;object-fit:cover;object-position:30% 50%;filter:brightness(.73);transition:transform .6s}.hero-detail-tile:hover>img{transform:scale(1.04)}.hero-detail-tile figcaption{position:absolute;inset:auto 20px 22px;color:var(--paper);display:flex;flex-direction:column;gap:14px}.hero-detail-tile figcaption>span:last-child{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:2rem;line-height:1.05;letter-spacing:-.025em}.hero-side-stack{display:grid;gap:14px;align-self:stretch}.hero-vanity-tile{position:relative;min-height:220px;border:1px solid var(--ink);border-radius:14px;overflow:hidden}.hero-vanity-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%}.hero-vanity-tile figcaption{position:absolute;bottom:14px;left:14px;right:14px;background:var(--paper);padding:8px 10px;border:1px solid var(--ink);border-radius:5px;font-size:.75rem;text-align:center}.hero-experience-tile{border:1px solid var(--ink);border-radius:13px;background:var(--accent);padding:12px 17px;display:flex;align-items:center;gap:16px}.experience-number{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:3.4rem;line-height:1;letter-spacing:-.06em}.experience-number>span{font-size:1.75rem;vertical-align:top}.hero-experience-tile>span:last-child{font-size:.75rem;line-height:1.5}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;border:0}.explorer-choices{display:flex;gap:8px}.explorer-choices button{position:relative;border:1px solid var(--line);border-radius:6px;background:transparent;padding:10px 17px;min-height:44px;font-size:.875rem;font-weight:500;color:var(--muted);display:flex;gap:8px;align-items:center;overflow:hidden;transition:background .2s,color .2s}.explorer-choices button>span{font-size:.75rem}.explorer-choices button.is-active,.explorer-choices button:hover{background:var(--dark);border-color:var(--dark);color:var(--paper)}.explorer-choices i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#ffffff30}.explorer-choices i::after{content:'';position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left}.explorer-choices .is-active i::after{animation:reel-progress 8.5s linear forwards}@keyframes reel-progress{to{transform:scaleX(1)}}.hero-playback{position:static;display:flex;gap:18px;align-items:center;color:var(--muted);font-size:.75rem}.reel-count{font-variant-numeric:tabular-nums}.motion-toggle{border:0;background:none;color:var(--muted);min-height:44px;display:flex;align-items:center;gap:7px;padding:5px;font-size:.8125rem}.motion-toggle>span:first-child{font-size:1rem;width:15px}.motion-toggle:hover{color:var(--ink)}
/* Experience and direct contact, in a compact set of connected modules. */
.introduction{padding:0 0 60px;background:var(--paper);color:var(--ink)}.intro-grid{display:grid;grid-template-columns:.8fr 1.5fr .8fr;gap:14px}.intro-experience,.intro-message,.intro-contact{padding:32px;border:1px solid var(--line);border-radius:13px}.intro-experience{background:var(--dark);color:var(--paper)}.intro-experience .eyebrow{color:#e5e5dd}.intro-experience .experience-number{display:block;font-size:6rem;margin-top:20px}.intro-experience>p{font-size:.9375rem;margin-top:8px}.intro-message{background:#e9e7e0}.intro-statement{font-size:2.8rem;line-height:1.03}.intro-body{display:block;margin:18px 0 0}.intro-body p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:none}.intro-contact{display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);gap:18px}.intro-contact h3{font-size:2.3rem}.intro-contact>p{font-size:.9375rem;color:var(--muted)}.intro-contact .text-link{font-size:1rem}.text-link,.arrow-link{font-size:1rem;font-weight:500;color:inherit}.arrow-link>span[aria-hidden]{display:none}.dark-link{border-color:var(--ink)}.text-link:hover,.arrow-link:hover{color:#4e514b}
/* Native service selectors keep the photography connected to the work. */
.service-stage{background:var(--paper);color:var(--ink);padding:50px 0 90px}.stage-heading{display:grid;grid-template-columns:1fr 1.4fr .8fr;align-items:end;gap:30px;margin-bottom:40px}.stage-heading>.eyebrow{color:var(--muted)}.stage-heading h2{font-size:clamp(3.4rem,5.2vw,5.6rem)}.stage-heading>p{font-size:1rem;color:var(--muted);line-height:1.65}.service-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:stretch}.service-visual{position:relative;height:auto;min-height:510px;border:1px solid var(--ink);border-radius:15px;overflow:hidden;box-shadow:0 5px 0 #20211f15;transform:none!important}.service-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s}.service-visual-note{font-size:.8125rem;background:var(--dark);border:1px solid #ffffff60;padding:12px 16px;border-radius:6px;left:20px;bottom:20px;color:var(--paper)}.service-visual-note>span{color:var(--accent)}.service-list{border:0;display:flex;flex-direction:column;gap:12px}.service-detail{border:1px solid var(--line);border-radius:11px;background:#e9e7e0;overflow:hidden;transition:background .25s,border-color .25s}.service-detail[open]{background:var(--dark);border-color:var(--dark);color:var(--paper)}.service-detail summary{padding:22px 26px;gap:20px;align-items:center}.service-detail summary>span:nth-child(2){font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:2.75rem;letter-spacing:-.04em;font-weight:400;line-height:1}.service-index{font-size:.8125rem;color:var(--muted);padding-top:0}.service-detail[open] .service-index,.service-detail[open] .service-plus{color:var(--accent)}.service-plus{margin-left:auto}.service-detail-body{padding:0 26px 28px 64px}.service-detail-body>p{font-size:1rem;line-height:1.65;max-width:none;color:#e5e5dd;margin-bottom:20px}.service-detail-body .arrow-link{color:var(--paper);border-color:#a7aaa0;font-size:.9375rem}.service-sub-links{display:flex;flex-direction:column;gap:9px;font-size:.9375rem;align-items:flex-start}.service-sub-links a{border-bottom:1px solid #a7aaa0}.service-sub-links>a:hover{color:var(--accent)}.service-smallprint{font-size:.875rem;background:var(--accent);color:var(--ink);padding:14px 22px;border:1px solid var(--ink);border-radius:10px;gap:7px;line-height:1.6;margin-top:auto}.service-smallprint a{color:var(--ink);border-color:var(--ink)}
/* A dark, tactile chapter for the details behind the finish. */
.craft-section{background:var(--dark);color:var(--paper);padding:70px 0}.craft-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.craft-heading h2{font-size:clamp(3.5rem,5.6vw,6rem);margin-top:18px}.craft-heading h2 em{color:var(--accent)}.craft-heading>p{font-size:1.0625rem;color:#d7d9cf;max-width:350px;line-height:1.65}.craft-layout{display:grid;grid-template-columns:1.55fr 1fr;max-width:calc(var(--max) - 2*var(--gutter));margin:0 var(--gutter);border:1px solid #63685d;border-radius:14px;overflow:hidden;background:#1a1c19}.installation>img{height:540px;width:100%;object-fit:cover;object-position:center}.installation-credit{font-size:.8125rem;background:#1a1c1990;color:var(--paper);padding:7px 10px;border-radius:5px}.hotspot{width:46px;height:46px;font-size:.875rem;border:1px solid var(--paper);background:#1a1c19d9;color:var(--paper);box-shadow:0 0 0 6px #ffffff15;transition:background .2s,box-shadow .2s,transform .2s}.hotspot:hover,.hotspot.is-active{background:var(--accent);color:var(--ink);border-color:var(--accent);box-shadow:0 0 0 8px #e6c65a25;transform:scale(1.06)}.installation-detail{background:#1a1c19;padding:40px;display:flex;flex-direction:column;align-items:flex-start}.detail-numeral{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:6rem;font-weight:400;line-height:1;color:var(--accent);margin:22px 0 16px}.installation-detail>.eyebrow{color:#d7d9cf;font-size:.8125rem}.installation-detail>h3{font-size:2.5rem;line-height:1.05;margin:0 0 18px}.installation-detail>p{font-size:1rem;line-height:1.7;color:#d7d9cf;min-height:0}.detail-controls{margin:24px 0;gap:20px;width:100%}.detail-controls>span{font-size:.875rem;color:#d7d9cf;max-width:180px}.installation-detail>.arrow-link{font-size:.9375rem;margin-top:auto}.round-button{width:46px;height:46px;border-radius:50%;font-size:1.3rem;border:1px solid currentColor;background:none;color:inherit}.round-button:hover{background:var(--accent);border-color:var(--ink);color:var(--ink)}
/* Photograph browsing remains native, draggable and keyboard accessible. */
.projects{padding:90px 0 65px;background:var(--paper)}.project-heading{margin-bottom:35px}.project-heading h2{font-size:clamp(3.5rem,5.5vw,5.9rem);margin-top:16px;line-height:1.05}.project-heading h2 em{color:var(--dark)}.project-heading p{font-size:1rem;color:var(--muted)}.project-heading>div:last-child{max-width:340px}.gallery-controls{margin-top:20px;gap:12px}.gallery-count{font-size:.875rem}.project-track{gap:22px;padding-top:4px;padding-bottom:24px;cursor:grab;touch-action:pan-x pan-y}.project-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.project-track:focus-visible{outline:2px solid var(--dark);outline-offset:-3px}.project-slide,.project-slide[data-project=vanity]{width:43vw;max-width:620px;padding-top:0}.project-photo{height:auto;aspect-ratio:4/3;border:1px solid var(--ink);border-radius:13px;overflow:hidden;box-shadow:0 4px 0 #20211f15}.project-photo>img{transition:transform .6s}.project-photo:hover>img{transform:scale(1.035)}.photo-enlarge{background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:6px;padding:9px 14px;right:18px;bottom:18px;font-size:.8125rem}.project-slide figcaption{font-size:1rem;align-items:start;gap:15px}.project-slide figcaption b{font-size:.75rem}.project-slide figcaption>span:last-child{font-size:.875rem;max-width:160px;text-align:right}.gallery-foot{font-size:.875rem;margin-top:15px;align-items:center}.gallery-foot .text-link{font-size:.9375rem}
.area-story{padding:65px 0;background:#e7e6df}.area-story-grid{gap:5vw;grid-template-columns:1fr 1fr}.area-story h2{font-size:clamp(3.5rem,5vw,5.3rem);margin-top:18px}.area-story h2 em{color:var(--dark)}.area-story-copy{border:1px solid #b0b3a9;border-radius:13px;padding:32px;background:var(--paper)}.area-story-copy>p{font-size:1rem;color:var(--muted);line-height:1.7}.area-story-copy .arrow-link{margin-top:12px}.location-line{font-size:.875rem;margin-top:38px;gap:22px}.location-rule{background:#b0b3a9}.location-rule::before,.location-rule::after{background:var(--dark)}.location-rule>i{display:none}
.faq-section{background:var(--paper);padding:75px 0}.faq-layout{gap:7vw;grid-template-columns:.9fr 1.3fr}.faq-layout h2{font-size:3.8rem;line-height:1.03;max-width:360px;margin-top:18px}.faq-list{border:0}.faq-list details{border:1px solid var(--line);border-radius:9px;margin-bottom:10px;padding:0 20px;background:#eeede7}.faq-list summary{font-size:1rem;padding:19px 0;font-weight:500;line-height:1.5}.faq-list details[open]{background:#e7e6df;border-color:#94998d}.faq-list details p{font-size:.9375rem;padding-bottom:20px;color:var(--muted);line-height:1.7}
.contact-section{background:var(--dark);color:var(--paper);padding:75px 0}.contact-layout{grid-template-columns:1.1fr 1fr;gap:8vw}.contact-layout h2{font-size:clamp(3.7rem,5.8vw,6.2rem);line-height:1.03;margin-top:20px}.contact-layout p,.contact-links p{font-size:1rem;line-height:1.7;color:#d7d9cf;max-width:390px}.contact-links{border:1px solid #676c60;border-radius:13px;padding:30px;background:#1a1c19}.contact-layout .eyebrow{font-size:.875rem}.big-phone{font-family:Figtree,Arial,sans-serif;font-size:clamp(2rem,3vw,3rem);font-weight:500;letter-spacing:-.025em;margin:16px 0 12px}.email{font-size:1rem;border-color:#676c60;overflow-wrap:anywhere}.contact-links .actions{margin-top:25px}.button.light{background:var(--accent);color:var(--ink);border-color:var(--ink)}.button.outline{background:transparent;box-shadow:none;color:inherit}.footer{background:var(--dark);color:#d7d9cf;border-top:1px solid #ffffff25;font-size:.875rem;padding:38px 0}.footer-logo{width:170px;height:auto}.footer-nav{font-size:.9375rem;gap:22px}.footer-inner>div>span{font-size:.8125rem;margin-top:14px}
.mobile-call{display:none}.dialog-open .mobile-call{visibility:hidden}
/* The same type, buttons and frames carry through the service routes. */
.detail-hero{background:var(--dark);border-radius:14px;overflow:hidden;margin:0 var(--gutter);color:var(--paper)}.detail-copy{padding:45px}.detail-copy>.eyebrow,.breadcrumbs{color:#d7d9cf;font-size:.8125rem}.detail-copy h1{font-size:clamp(3.2rem,5vw,5.3rem);line-height:1.03;letter-spacing:-.045em;margin:26px 0}.detail-copy>p{font-size:1.0625rem;color:#d7d9cf;line-height:1.7}.detail-copy .button{background:var(--accent);color:var(--ink);border-color:var(--ink)}.detail-copy .text-link{font-size:.9375rem}.detail-image{min-height:520px}.photo-caption{font-size:.875rem}.article-grid p,.includes li{font-size:1rem}.article-grid h2{font-size:3rem;line-height:1.05}.includes li::before{content:'+';color:var(--dark)}.page-intro{padding-top:30px;padding-bottom:60px}.page-intro h1{font-size:clamp(3.6rem,6vw,6rem);line-height:1.03}.page-intro .breadcrumbs{color:var(--muted)}.page-intro p,.area-layout p{font-size:1rem;color:var(--muted)}.area-layout h2{font-size:3.5rem;line-height:1.04}.related{background:#e7e6df}.related .text-link{font-size:.9375rem}.legal h2{font-size:2.3rem}.legal p{font-size:1rem}.project-dialog{background:#1a1c19;color:var(--paper)}.project-dialog::backdrop{background:#1a1c19}.dialog-top>.eyebrow,.dialog-close,.dialog-bottom p,.dialog-controls>span{font-size:.875rem}.dialog-bottom h2{font-size:2rem;line-height:1.1}.dialog-close>span{font-size:1.7rem}
.reveal-ready [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal-ready [data-reveal].is-revealed,.reveal-ready [data-reveal]:focus-within{opacity:1;transform:none}
@media(min-width:1540px){.site-header{left:calc((100% - 1380px)/2);width:1380px}.craft-layout{margin-left:auto;margin-right:auto}}
@media(max-width:1150px){.desktop-nav{display:none}.menu-toggle{display:block}.header-inner{gap:16px}.header-contact a{font-size:.875rem}.mobile-nav:not([hidden]){display:flex;position:absolute;top:89px;left:-1px;right:-1px;background:var(--paper);color:var(--ink);padding:18px 22px 25px;flex-direction:column;border:1px solid #777b72;border-radius:0 0 12px 12px;max-height:calc(100dvh - 190px);overflow-y:auto}.mobile-nav a{font-size:1rem;padding:12px 0}.mobile-nav a:last-child{margin-top:0;color:var(--ink)}.hero-media-grid{grid-template-columns:.63fr 1.6fr .7fr;gap:13px}.hero-experience-tile{gap:9px;padding:12px}.hero-experience-tile>span:last-child{font-size:.6875rem}.intro-grid{grid-template-columns:.7fr 1.3fr 1fr}.intro-experience,.intro-message,.intro-contact{padding:25px}.intro-statement{font-size:2.4rem}.stage-heading{grid-template-columns:.7fr 1.4fr}.stage-heading>p{display:none}.installation-detail{padding:30px}.installation>img{height:520px}.contact-layout{gap:4vw}.contact-links{padding:25px}.big-phone{font-size:2.2rem}}
@media(max-width:780px){:root{--gutter:5vw;--header-height:106px}body{padding-bottom:80px}.site-header,.home-page .site-header,.home-page .site-header.is-scrolled,.home-page .site-header:has(.menu-toggle[aria-expanded=true]){top:10px;left:3vw;width:94%;height:96px;border-radius:10px}.header-inner{padding:9px 13px;gap:12px}.brand-logo{width:110px}.brand-descriptor{font-size:12px;letter-spacing:0}.header-cta{display:none}.header-contact{margin:0 auto}.header-contact a{min-height:34px;font-size:.8125rem;gap:5px}.header-contact svg{width:14px;height:14px}.menu-toggle{padding:8px;font-size:.75rem}.mobile-nav:not([hidden]){top:95px;max-height:calc(100dvh - 200px)}.mobile-call,.mobile-call.is-visible,.inner-page .mobile-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:35;background:#f3f1ebf7;border-top:1px solid #777b72;backdrop-filter:blur(14px);transform:none;gap:12px;padding:10px var(--gutter) max(12px,env(safe-area-inset-bottom));transition:none}.mobile-call a{display:flex;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:.9375rem;font-weight:600;border:1px solid var(--ink);border-radius:7px;background:var(--accent);color:var(--ink);box-shadow:0 2px 0 var(--ink);padding:10px 16px;flex:1.5}.mobile-call a>svg{width:17px;height:17px}.mobile-call .mobile-email{flex:1;background:transparent;box-shadow:none;font-weight:500}.opening{padding:calc(var(--header-height) + 40px) 0 35px}.opening-location{font-size:.6875rem;letter-spacing:.035em;max-width:340px;margin:0 auto 24px}.opening-location>span{margin:0 4px}.opening h1{font-size:clamp(4rem,12vw,6rem);line-height:.94}.opening-description{font-size:1rem;max-width:370px;margin-top:22px}.opening-description br{display:none}.opening-actions{gap:23px;margin-top:25px}.primary-action{font-size:.9375rem;padding:12px 18px}.secondary-action{font-size:.9375rem}.hero-media-grid{grid-template-columns:1fr .48fr;gap:12px;margin-top:34px;align-items:stretch}.hero-detail-tile{display:none}.hero-art{height:320px;border-radius:11px}.hero-side-stack{gap:12px}.hero-vanity-tile{min-height:170px;border-radius:10px}.hero-vanity-tile figcaption{font-size:.6875rem;left:8px;right:8px;bottom:8px;padding:6px}.hero-experience-tile{flex-direction:column;align-items:flex-start;justify-content:center;padding:13px;border-radius:10px;gap:8px}.experience-number{font-size:3.5rem}.hero-experience-tile>span:last-child{font-size:.75rem}.scene-panel figcaption{display:block;left:17px;right:17px;bottom:18px}.scene-panel figcaption>span:first-child{font-size:.6875rem}.scene-panel figcaption>span:last-child{display:block;font-size:1.8rem;margin-top:8px}.hero-bottom{display:block;padding-top:15px}.explorer-choices{display:flex;justify-content:space-between;gap:8px}.explorer-choices button{flex:1;justify-content:center;padding:10px 8px;font-size:.8125rem;gap:6px;min-height:44px}.explorer-choices button>span{font-size:.6875rem}.hero-playback{justify-content:center;margin-top:12px;gap:18px}.introduction{padding-bottom:30px}.intro-grid{grid-template-columns:1fr 1fr;gap:12px}.intro-message{grid-column:1/-1;grid-row:1}.intro-experience,.intro-contact{padding:23px}.intro-statement{font-size:2.75rem}.intro-body p{font-size:.9375rem;margin-top:15px}.intro-experience .experience-number{font-size:5rem;margin-top:20px}.intro-experience>p{font-size:.8125rem}.intro-contact h3{font-size:2rem}.intro-contact>p{font-size:.8125rem}.intro-contact .text-link{font-size:.875rem}.service-stage{padding:40px 0 55px}.stage-heading{display:block;margin-bottom:28px}.stage-heading h2{font-size:3.7rem;margin-top:17px}.service-layout{display:flex;flex-direction:column;gap:18px}.service-visual{min-height:330px;height:330px;border-radius:12px}.service-visual-note{font-size:.75rem;left:16px;bottom:16px}.service-list{gap:10px}.service-detail summary{padding:20px;gap:18px}.service-detail summary>span:nth-child(2){font-size:2.6rem}.service-detail-body{padding:0 20px 24px 54px}.service-detail-body>p{font-size:.9375rem}.service-sub-links{font-size:.9375rem}.service-smallprint{font-size:.8125rem;padding:13px 18px;margin-top:0}.craft-section{padding:50px 0}.craft-heading{display:block;margin-bottom:28px}.craft-heading h2{font-size:3.7rem;margin-top:17px}.craft-heading>p{font-size:.9375rem;margin-top:20px;max-width:360px}.craft-layout{grid-template-columns:1fr}.installation>img{height:auto;aspect-ratio:4/3}.installation-credit{font-size:.6875rem;left:16px;bottom:16px}.installation-detail{padding:25px;display:grid;grid-template-columns:70px 1fr;gap:12px 17px}.installation-detail>.eyebrow{grid-column:2;font-size:.75rem}.detail-numeral{grid-column:1;grid-row:1/span 3;font-size:4.5rem;margin:0}.installation-detail>h3,.installation-detail>p,.detail-controls,.installation-detail>.arrow-link{grid-column:2}.installation-detail>h3{font-size:2.2rem;margin:0}.installation-detail>p{font-size:.9375rem}.detail-controls{margin:5px 0;gap:12px}.detail-controls>span{font-size:.8125rem;max-width:160px}.installation-detail>.arrow-link{font-size:.875rem;margin-top:10px}.hotspot{width:44px;height:44px}.projects{padding:55px 0 40px}.project-heading{display:block;margin-bottom:30px}.project-heading h2{font-size:3.8rem;margin-top:17px}.project-heading>div:last-child{display:flex;justify-content:space-between;align-items:center;gap:18px;max-width:none;margin-top:22px}.project-heading p{font-size:.9375rem;margin-top:0}.gallery-controls{margin-top:0;gap:9px}.gallery-count{display:none}.project-track{gap:16px;padding-bottom:20px}.project-slide,.project-slide[data-project=vanity]{width:82vw;padding-top:0}.project-photo{border-radius:11px}.project-slide figcaption{display:block;font-size:.9375rem;line-height:1.5}.project-slide figcaption b{font-size:.75rem;margin-right:12px}.project-slide figcaption>span:last-child{display:block;font-size:.8125rem;text-align:left;max-width:none;margin:5px 0 0 28px}.photo-enlarge{font-size:.75rem;padding:7px 11px;right:14px;bottom:14px}.gallery-foot{font-size:.8125rem;gap:20px}.gallery-foot .text-link{font-size:.875rem}.area-story{padding:45px 0}.area-story-grid{grid-template-columns:1fr;gap:25px}.area-story h2{font-size:3.65rem;margin-top:17px}.area-story-copy{padding:25px}.area-story-copy>p{font-size:.9375rem}.location-line{font-size:.75rem;margin-top:28px;gap:12px}.faq-section{padding:50px 0}.faq-layout{grid-template-columns:1fr;gap:27px}.faq-layout h2{font-size:3.6rem;margin-top:17px;max-width:none}.faq-list details{padding:0 17px}.faq-list summary{font-size:.9375rem}.faq-list details p{font-size:.9375rem}.contact-section{padding:50px 0}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-layout h2{font-size:4rem;margin-top:17px}.contact-layout p,.contact-links p{font-size:.9375rem;max-width:none}.contact-links{padding:25px}.big-phone{font-size:2.2rem}.email{font-size:.9375rem}.button{min-height:50px;font-size:.9375rem;padding:12px 20px}.footer{padding:35px 0}.footer-inner{flex-direction:column;align-items:start;gap:24px}.footer-nav{font-size:.9375rem;gap:20px}.footer-logo{width:160px}.footer-inner>div>span{font-size:.8125rem}.detail-hero{grid-template-columns:1fr;border-radius:12px}.detail-copy{padding:30px 24px 38px}.detail-copy h1{font-size:3.6rem}.detail-copy>p{font-size:1rem}.detail-copy .text-link{font-size:.875rem}.detail-copy .actions{gap:15px}.detail-image{min-height:350px}.article-grid{grid-template-columns:1fr;gap:30px}.article-grid h2{font-size:2.9rem}.article-grid p,.includes li{font-size:.9375rem}.page-intro{padding-top:22px;padding-bottom:40px}.page-intro h1{font-size:3.7rem}.page-intro p,.area-layout p{font-size:.9375rem}.area-layout{grid-template-columns:1fr;gap:35px}.area-layout h2{font-size:3.1rem}.breadcrumbs{font-size:.75rem}.project-dialog{padding:18px var(--gutter) max(22px,env(safe-area-inset-bottom))}.dialog-top>.eyebrow,.dialog-close,.dialog-controls>span{font-size:.75rem}.dialog-bottom{gap:17px}.dialog-bottom h2{font-size:1.6rem;max-width:220px}.dialog-bottom p{font-size:.75rem}.dialog-controls{gap:9px;flex-wrap:wrap;justify-content:end}.dialog-controls>span{width:100%;text-align:right}.dialog-controls>.round-button{width:38px;height:38px}.dialog-image-wrap{padding:22px 0}.legal h2{font-size:2rem}}
@media(max-width:400px){.header-inner{padding:8px 9px;gap:8px}.brand-logo{width:95px}.brand-descriptor{font-size:11px;letter-spacing:-.01em}.header-contact a{font-size:.75rem;gap:4px}.header-contact svg{width:12px;height:12px}.menu-toggle{padding:8px 5px}.opening h1{font-size:3.95rem}.opening-actions{gap:18px}.primary-action{padding:12px 15px}.hero-media-grid{grid-template-columns:1fr .46fr;gap:10px}.hero-art{height:290px}.hero-vanity-tile figcaption{font-size:.625rem}.hero-experience-tile{padding:10px}.hero-experience-tile>span:last-child{font-size:.6875rem}.intro-experience,.intro-contact{padding:20px}.intro-contact h3{font-size:1.8rem}.intro-contact .text-link{font-size:.8125rem}.installation-detail{grid-template-columns:1fr}.detail-numeral{display:none}.installation-detail>*{grid-column:1!important}.project-heading>div:last-child{align-items:end}.project-heading p{max-width:205px}.gallery-foot{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.scene-panel,.scene-panel img,.project-photo>img,.hero-detail-tile>img,.header-cta,.primary-action,.button,.hotspot,[data-reveal]{transition:none!important;animation:none!important;transform:none!important}.reveal-ready [data-reveal]{opacity:1!important}}
@media(max-width:1150px){html:not(.has-js) .site-header{position:absolute;height:auto}html:not(.has-js) .header-inner{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:18px}html:not(.has-js) .menu-toggle{display:none}html:not(.has-js) .mobile-nav[hidden]{display:flex!important;position:static;flex-flow:row wrap;gap:8px 18px;width:100%;padding:0;border:0;background:transparent}html:not(.has-js) .mobile-nav a{font-size:.875rem;padding:0}html:not(.has-js) .opening,html:not(.has-js) .inner-page main{padding-top:240px}}
@media print{.opening{padding-top:0}.opening h1{font-size:40pt}.hero-media-grid,.hero-bottom,.header-cta,.mobile-call{display:none!important}body{padding-bottom:0}.inner-page main{padding-top:0}}

/* Photo library: filtered views of actual work, ready to grow with new entries. */
.gallery-intro{padding-bottom:55px}.photo-library{padding-bottom:105px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:40px}.library-filters{gap:25px;flex-wrap:wrap}.library-filters button{border:0;border-bottom:1px solid transparent;background:none;padding:12px 0;color:var(--muted);font-size:1rem;min-height:48px}.library-filters button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.library-filters span{font-size:.75rem;margin-left:7px;color:var(--muted)}.library-count{font-size:.875rem;color:var(--muted)}.library-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:65px 35px}.library-grid .project-slide{width:auto;max-width:none;padding:0}.library-grid .project-photo{height:auto;aspect-ratio:4/3;max-height:none}.library-grid .project-slide[data-project=vanity] .project-photo{aspect-ratio:4/3}.library-grid .project-slide figcaption{display:block;padding-top:18px}.library-grid .project-slide figcaption>span:last-child{display:block;margin:5px 0 0;text-align:left;max-width:none;font-size:.875rem}.library-grid .project-photo:hover img{transform:scale(1.035)}
@media(max-width:780px){.gallery-intro{padding-bottom:35px}.photo-library{padding-bottom:65px}.library-toolbar{display:block;margin-bottom:28px;padding-bottom:18px}.library-filters{gap:10px 20px}.library-filters button{font-size:.9375rem}.library-count{margin-top:14px}.library-grid{grid-template-columns:1fr;gap:36px}.library-grid .project-slide figcaption>span:last-child{margin-left:0}.gallery-foot .text-link{font-size:.9375rem}}
/* A direct conversation or an email prepared on the visitor's device. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.enquiry-intro{padding-bottom:55px}.enquiry-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;padding-bottom:100px;align-items:start}.enquiry-aside{padding-top:25px}.enquiry-aside h2{font-size:3rem;margin:20px 0}.enquiry-aside>p{font-size:1rem;color:var(--muted);max-width:390px}.enquiry-contact-links{margin:30px 0 24px;display:grid;gap:12px}.enquiry-direct{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #b4b9ac;border-radius:10px;background:#e8e7e0;color:var(--dark)}.enquiry-direct:hover{border-color:var(--dark);background:#dfdfd6}.enquiry-contact-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--dark);color:var(--paper)}.enquiry-contact-icon svg{width:19px;height:19px}.enquiry-direct>span:last-child{min-width:0}.enquiry-direct small{display:block;font-size:.8125rem;margin-bottom:5px}.enquiry-direct strong{display:block;font-size:clamp(1.5rem,2.1vw,2rem);font-weight:600;line-height:1.2;letter-spacing:-.035em}.enquiry-direct-email strong{font-size:clamp(.9375rem,1.3vw,1.2rem);letter-spacing:-.015em;overflow-wrap:anywhere}.enquiry-contact-links>p{font-size:.8125rem;color:var(--muted);margin:3px 0 0}.enquiry-help{font-size:.9375rem!important}
.enquiry-panel{background:#faf9f5;border:1px solid #b9bcb2;border-radius:14px;padding:34px;min-width:0}.enquiry-email-note{margin-bottom:27px}.enquiry-email-note h2{font-size:2.4rem;margin:13px 0}.enquiry-email-note p{font-size:.9375rem;line-height:1.65;color:var(--muted)}.enquiry-form fieldset{border:0;padding:0;margin:0;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 18px}.form-wide{grid-column:1 / -1}.form-field{min-width:0}.form-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:9px}.form-field label>span{font-size:.6875rem;font-weight:400;color:var(--muted);margin-left:5px}.form-field input,.form-field select,.form-field textarea,.enquiry-copy textarea{display:block;width:100%;min-height:50px;font-family:inherit;font-size:1rem;line-height:1.5;padding:11px 13px;border:1px solid #aeb3a5;border-radius:6px;background:#fffefa;color:var(--ink)}.form-field input::placeholder,.form-field textarea::placeholder{color:#676e60}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.enquiry-copy textarea:focus{outline:2px solid var(--dark);outline-offset:2px}.form-field textarea{resize:vertical;min-height:145px}.field-help{font-size:.8125rem;color:var(--muted);margin:10px 0 0}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:25px}.form-actions>p{font-size:.75rem;color:var(--muted)}.form-actions>p>a{text-decoration:underline;text-underline-offset:3px}.enquiry-summary{border-top:1px solid #b9bcb2;padding-top:30px;margin-top:30px;scroll-margin-top:125px}.enquiry-summary:focus-visible{outline:2px solid var(--dark);outline-offset:8px}.enquiry-summary h3{font-size:2.2rem;margin:12px 0 23px}.enquiry-summary dl{margin:0}.enquiry-summary dt{font-size:.8125rem;color:var(--muted);margin-top:17px}.enquiry-summary dd{margin:4px 0 0;font-size:1rem;white-space:pre-wrap;overflow-wrap:anywhere}.summary-notice{margin:25px 0;font-size:.9375rem;color:var(--muted)}.summary-actions{display:flex;flex-wrap:wrap;gap:12px}.enquiry-copy{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.enquiry-copy summary{cursor:pointer;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;padding:5px 0}.enquiry-copy>p{font-size:.875rem;color:var(--muted);margin:16px 0}.enquiry-copy a{text-decoration:underline;overflow-wrap:anywhere}.enquiry-copy label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:9px}.enquiry-copy textarea{resize:vertical;min-height:230px;font-size:.875rem}.enquiry-copy button{font-size:.875rem;margin-top:15px;min-height:44px;background:none;border:0;padding:0;cursor:pointer}
@media(max-width:1050px){.enquiry-layout{grid-template-columns:.8fr 1.2fr;gap:4vw}.enquiry-panel{padding:25px}.enquiry-direct{padding:17px;gap:12px}.form-grid{gap:22px 15px}}
@media(max-width:780px){.enquiry-intro{padding-bottom:25px}.enquiry-layout{grid-template-columns:1fr;gap:30px;padding-bottom:60px}.enquiry-aside{padding-top:0}.enquiry-aside h2{font-size:2.5rem;margin:17px 0}.enquiry-aside h2 br{display:none}.enquiry-aside>p{max-width:none}.enquiry-contact-links{margin-top:24px}.enquiry-direct{padding:18px}.enquiry-direct-phone strong{font-size:1.9rem}.enquiry-direct-email strong{font-size:1.0625rem}.enquiry-help{display:none}.enquiry-panel{padding:24px 20px;border-radius:11px}.enquiry-email-note h2{font-size:2.2rem}.form-grid{grid-template-columns:1fr;gap:22px}.form-field label{font-size:.9375rem}.form-field label>span{font-size:.75rem}.form-actions{gap:14px}.enquiry-summary{scroll-margin-top:125px}.summary-actions{flex-direction:column;align-items:stretch}.summary-actions .button{justify-content:center}.enquiry-copy textarea{min-height:260px}}
.site-header :focus-visible,.service-stage :focus-visible{outline-color:var(--dark)}
.opening-location{justify-content:center}
.motion-paused .explorer-choices i::after{animation-play-state:paused!important}
.motion-paused .scene-panel,.motion-paused .scene-panel img,.motion-paused .project-photo>img,.motion-paused .hero-detail-tile>img{transition:none!important}
.motion-paused [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}

/* Clear navigation actions and a compact coverage label. */
.desktop-nav{gap:6px}
.desktop-nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid var(--dark);border-radius:6px;background:var(--dark);color:var(--paper);font-weight:600;white-space:nowrap;transition:background .2s,transform .2s}
.desktop-nav>a:not(.header-call)::after{display:none}
.desktop-nav>a:hover{background:#393d34;transform:translateY(-1px)}
.desktop-nav>a:focus-visible{outline:2px solid var(--dark);outline-offset:4px}
.coverage-note{display:inline-flex;align-items:center;gap:18px;max-width:100%;margin:24px auto 0;padding:12px 18px;border:1px solid #b8bcb0;border-radius:8px;background:#e8e7e0;color:var(--dark);font-size:.875rem;font-weight:500;line-height:1.4;text-align:left}
.coverage-local{display:flex;align-items:center;gap:8px;flex:none}
.coverage-local svg{width:18px;height:18px;flex:none}
.coverage-projects{display:block;min-width:0;padding-left:18px;border-left:1px solid #b8bcb0}
.coverage-projects>span{display:block;font-size:.75rem;font-weight:400;color:var(--muted);margin-top:2px}
@media(max-width:1150px){.mobile-nav:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-nav a,.mobile-nav a:last-child{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 13px;border:1px solid var(--dark);border-radius:6px;background:var(--dark);color:var(--paper);font-size:.9375rem;font-weight:600;text-align:center;margin:0}.mobile-nav a:hover{background:#393d34}.header-inner{gap:14px}}
@media(max-width:780px){.coverage-note{font-size:.8125rem;padding:11px 13px;gap:12px;margin-top:22px}.coverage-projects{padding-left:12px}.coverage-local{gap:6px}.coverage-local svg{width:16px;height:16px}.coverage-projects>span{font-size:.6875rem}.header-inner{gap:12px}}
@media(max-width:400px){.coverage-note{padding:10px 11px;gap:9px}.coverage-projects{padding-left:9px}.coverage-local{gap:5px}.header-inner{gap:8px}}
@media(prefers-reduced-motion:reduce){.desktop-nav>a{transition:none}.desktop-nav>a:hover{transform:none}}

/* Service detail anchors clear the fixed navigation. */
.article-grid h3[id]{scroll-margin-top:calc(var(--header-height) + 20px);font-size:2.1rem;line-height:1.1;margin:32px 0 14px}

/* Brian’s gallery, softly layered behind the opening typography. */
.opening{position:relative;isolation:isolate}
.opening-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--paper)}
.opening-frame{position:absolute;inset:0;opacity:0;transition:opacity 2.3s ease}
.opening-frame.is-active{opacity:1}
.opening-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.72);transform:scale(1.045);transition:transform 10s linear}
.opening-frame.is-active img{transform:scale(1)}
.opening-backdrop::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 33%,#f3f1ebfa 0%,#f3f1ebf0 28%,#f3f1ebb3 63%,#f3f1eb5c 100%),linear-gradient(180deg,#f3f1eb0d 0%,#f3f1eb33 53%,var(--paper) 89%)}
.opening-top,.hero-media-grid,.hero-bottom{position:relative;z-index:1}
.opening-location{display:block;text-align:center;margin-left:auto;margin-right:auto}
.motion-paused .opening-frame,.motion-paused .opening-frame img{transition:none!important;transform:none!important}
@media(max-width:780px){.opening-backdrop::after{background:radial-gradient(ellipse at 50% 30%,#f3f1ebfa 0%,#f3f1ebf2 31%,#f3f1ebb8 66%,#f3f1eb80 100%),linear-gradient(180deg,#f3f1eb0d 0%,#f3f1eb4d 48%,var(--paper) 82%)}.opening-frame img{object-position:48% 38%}}
@media(prefers-reduced-motion:reduce){.opening-frame,.opening-frame img{transition:none!important;transform:none!important}}
@media print{.opening-backdrop{display:none}}
.opening .opening-description{color:var(--ink)}

/* October direction: condensed trade lettering, flat controls, charcoal and stone. */
:root{--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--paper:#f3f1eb;--soft:#e7e6df;--ink:#20211f;--dark:#242622;--muted:#5d605b;--line:#cecec6;--accent:#e6c65a;--header-height:100px;--max:1440px}
h1,h2,h3{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.015em;line-height:1}
h1 em,h2 em{font:inherit;font-style:normal;letter-spacing:inherit}
.eyebrow{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;font-weight:600}
.site-header,.home-page .site-header,.home-page .site-header.is-scrolled,.home-page .site-header:has(.menu-toggle[aria-expanded=true]){top:0;left:0;width:100%;height:100px;background:#20211f;color:var(--paper);border:0;border-bottom:1px solid #4c5045;border-radius:0;box-shadow:none;backdrop-filter:none}
.site-header.is-scrolled{box-shadow:none}
.header-inner{padding:10px var(--gutter);gap:20px;max-width:1440px}
.brand-logo{width:130px}.brand-descriptor{font-size:11px;letter-spacing:.045em}
.header-contact a{font-size:.8125rem}.desktop-nav{gap:7px}
.desktop-nav>a{min-height:44px;border:1px solid #666a5e;border-radius:0;background:transparent;color:var(--paper);padding:10px 12px;font-size:.8125rem;font-weight:500;transition:background .15s}
.desktop-nav>a:hover{background:#3b3e36;transform:none}
.header-cta,.primary-action,.button,.mobile-call a{border-radius:0;box-shadow:none;font-weight:600;border:1px solid var(--accent);background:var(--accent);color:var(--ink);transition:background .15s}
.header-cta:hover,.primary-action:hover,.button:hover,.header-cta:active,.primary-action:active,.button:active{transform:none;box-shadow:none;background:#f1d772}
.menu-toggle{border-radius:0;color:var(--paper);border-color:#777b6c;font-weight:600}
.site-header :focus-visible{outline-color:var(--accent)}
.button.outline{border-color:currentColor;background:transparent}
.button.outline:hover{background:#20211f0d}
.opening{display:grid;grid-template-columns:1fr 1fr;column-gap:4vw;padding:calc(var(--header-height) + 46px) max(var(--gutter),calc((100% - 1296px)/2)) 26px;align-items:center;border-bottom:1px solid var(--line)}
.opening-top{grid-column:1;padding:0;width:100%;text-align:left;margin:0}
.opening-location{text-align:left;margin:0 0 23px;font-size:.75rem;letter-spacing:.075em;max-width:none;font-weight:600}
.opening h1{font-size:clamp(4.3rem,6.6vw,7rem);line-height:.97;letter-spacing:-.02em}
.opening h1 em{color:var(--ink);font-weight:700}
.opening-description{font-size:1.0625rem;line-height:1.65;margin:25px 0 0;max-width:450px}
.opening-actions{justify-content:flex-start;gap:24px;margin-top:28px}
.primary-action{min-height:52px;background:var(--ink);border-color:var(--ink);color:var(--paper);font-size:.9375rem}
.primary-action:hover{background:#3c4036;color:var(--paper)}
.secondary-action{font-size:.9375rem;border-bottom:1px solid var(--muted);padding:10px 0}
.coverage-note{display:block;margin:27px 0 0;padding:18px 0 0;max-width:450px;border:0;border-top:1px solid #b6b9ad;border-radius:0;background:none;color:var(--muted);font-size:.8125rem;font-weight:400}
.coverage-local{font-weight:600;color:var(--ink);gap:7px}.coverage-local svg{width:15px;height:15px}
.coverage-projects{padding:5px 0 0;border:0;font-size:.8125rem}.coverage-projects>span{display:inline;font-size:inherit;margin:0}.coverage-projects>span::before{content:' · '}
.hero-media-grid.wrap{grid-column:2;display:block;padding:0;margin:0;width:100%;max-width:none}
.hero-art{height:550px;border:0;border-radius:0;box-shadow:none;transform:none}
.scene-panel,.scene-panel img{border-radius:0}
.scene-panel img{object-position:center}.scene-panel::after{background:linear-gradient(transparent 55%,#121510cc)}
.scene-panel figcaption{left:26px;right:26px;bottom:25px;display:block;line-height:1.2}
.scene-panel figcaption>span:first-child{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#f3f1eb}
.scene-panel figcaption>span:last-child{display:block;margin-top:9px;font-family:var(--display);font-size:2.1rem;font-weight:700;text-transform:uppercase;letter-spacing:0}
.hero-bottom.wrap{grid-column:1/-1;width:100%;max-width:none;margin:24px 0 0;padding:0;gap:20px}
.explorer-choices button{border-radius:0;border-color:#aaafa0;font-size:.8125rem;min-height:44px;padding:10px 16px}
.hero-playback{font-size:.75rem}.motion-toggle{font-size:.75rem}
.opening-backdrop::after{background:linear-gradient(90deg,#f3f1ebfa 0%,#f3f1ebf2 42%,#f3f1ebc9 100%)}
.opening-frame img{filter:saturate(.4)}
.service-stage{padding:65px 0 70px}
.stage-heading{grid-template-columns:.8fr 1.3fr 1fr;gap:35px;margin-bottom:34px}
.stage-heading h2,.craft-heading h2,.project-heading h2,.area-story h2{font-size:clamp(3rem,4.7vw,4.9rem);line-height:1}
.stage-heading>p{font-size:.9375rem;max-width:250px}
.service-layout{gap:45px;grid-template-columns:1fr 1fr}
.service-visual{border:0;border-radius:0;box-shadow:none;min-height:500px}
.service-visual-note{border:0;border-radius:0;padding:10px 14px;font-size:.75rem;right:auto}
.service-list{gap:0;border-top:1px solid var(--ink)}
.service-detail{border:0;border-bottom:1px solid #b7baae;border-radius:0;background:transparent}
.service-detail[open]{background:#e5e5dc;border-color:#b7baae;color:var(--ink)}
.service-detail summary{padding:24px 20px;gap:20px}
.service-detail summary>span:nth-child(2){font-family:var(--display);font-size:2.8rem;font-weight:700;letter-spacing:0;text-transform:uppercase}
.service-detail[open] .service-index,.service-detail[open] .service-plus{color:var(--ink)}
.service-detail-body{padding:0 24px 24px 61px}
.service-detail-body>p{color:var(--muted);font-size:.9375rem;line-height:1.65}
.service-detail-body .arrow-link{color:var(--ink);border-color:#8b9080}
.service-sub-links{font-size:.9375rem;gap:9px}.service-sub-links a{border-color:#8b9080}.service-sub-links>a:hover{color:var(--ink);text-decoration:underline}
.service-smallprint{background:none;border:0;border-radius:0;margin:12px 0 0;padding:14px 20px;font-size:.8125rem}
.craft-section{background:#252722;padding:65px 0;color:var(--paper)}
.craft-heading h2 em{color:inherit}.craft-heading>p{font-size:.9375rem;max-width:320px;color:#d0d3c7}
.craft-layout{border:0;border-radius:0;background:#1a1c19}
.installation-detail{background:#1a1c19}.detail-numeral{font-family:var(--display);font-weight:700;color:#b7bdab;letter-spacing:-.01em}
.installation-detail h3{font-size:2.3rem}.installation-detail p{font-size:.9375rem;color:#d0d3c7}.installation-credit{border-radius:0}
.hotspot{border-radius:0;background:#20211feb;box-shadow:none}
.hotspot:hover,.hotspot.is-active{box-shadow:none;transform:translate(-50%,-50%)}
.round-button{border-radius:0;box-shadow:none}.round-button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.craft-section .round-button:hover,.project-dialog .round-button:hover{background:var(--accent);color:var(--ink)}
.projects{padding:65px 0 50px}.project-photo{border:0;border-radius:0;box-shadow:none}.photo-enlarge{border:0;border-radius:0;font-size:.75rem}
.project-heading p{font-size:.9375rem}.project-heading h2 em{color:var(--ink)}
.area-story{background:var(--soft);padding:60px 0}.area-story h2{font-size:clamp(2.8rem,4vw,4rem)}
.area-story-copy{border:0;border-left:1px solid #a5aa9a;border-radius:0;padding:0 0 0 32px;background:none}
.area-story-copy p{font-size:.9375rem}
.faq-section{padding:60px 0}.faq-layout h2{font-size:3.7rem}
.faq-list details{border:0;border-top:1px solid #b3b8aa;border-radius:0;margin:0;padding:0;background:none}
.faq-list details:last-child{border-bottom:1px solid #b3b8aa}.faq-list details[open]{background:none;border-color:#b3b8aa}
.faq-list summary{font-size:.9375rem;padding:20px 0}.faq-list details p{font-size:.9375rem}
.contact-section{background:#242622;padding:60px 0}
.contact-layout h2{font-size:clamp(4rem,6vw,6rem);margin:18px 0 24px}
.contact-layout .eyebrow{font-size:.75rem}.contact-layout p,.contact-links p{font-size:.9375rem;color:#d0d3c7}
.contact-links{padding:0 0 0 40px;border:0;border-left:1px solid #6b7261;border-radius:0;background:transparent}
.big-phone{font-weight:600;font-size:clamp(2rem,3.2vw,3rem)}
.footer{background:#1a1c19;padding:35px 0;color:#d0d3c7}.footer-nav{font-size:.875rem}
.detail-hero{border-radius:0;background:#242622}.detail-copy{padding:40px}.detail-copy h1{font-size:clamp(3.5rem,5.3vw,5.3rem);letter-spacing:-.015em}
.detail-copy>.eyebrow{font-size:.6875rem;letter-spacing:.06em}.detail-copy>p{font-size:1rem;color:#d0d3c7}.detail-image{min-height:540px}
.article-grid h2{font-size:2.8rem}.article-grid p,.includes li{font-size:.9375rem}
.page-intro h1{font-size:clamp(3.7rem,6.5vw,6rem);letter-spacing:-.015em}.page-intro p{max-width:650px}
.area-layout h2{font-size:3.3rem}.area-layout p{font-size:.9375rem}
.enquiry-panel{border-radius:0;background:#faf9f5;border:1px solid #b9bcb2}.enquiry-aside h2{font-size:3rem}.enquiry-email-note h2{font-size:2.4rem}
.enquiry-direct{border-radius:0;background:#e7e6df}.enquiry-contact-icon{border-radius:0}
.form-field input,.form-field select,.form-field textarea,.enquiry-copy textarea{border-radius:0}
.enquiry-summary h3{font-size:2rem}.project-dialog,.project-dialog::backdrop{background:#1a1c19}
.library-filters button{font-size:.9375rem;font-weight:600}.library-filters button[aria-pressed=true]{border-bottom-width:2px}
@media(min-width:1540px){.site-header{left:0;width:100%}}
@media(max-width:1200px){.header-inner{gap:12px}.brand-logo{width:115px}.desktop-nav>a{padding:9px}.header-cta{padding:11px 13px}.header-contact a{font-size:.75rem}.opening{column-gap:3vw}.opening h1{font-size:6.8vw}.hero-art{height:510px}}
@media(max-width:1150px){.mobile-nav:not([hidden]){top:99px;left:0;right:0;border:0;border-top:1px solid #686e5c;border-radius:0;background:#20211f;padding:16px var(--gutter) 22px;color:var(--paper)}.mobile-nav a,.mobile-nav a:last-child{border-radius:0;background:#34372f;color:var(--paper);border:1px solid #6c7261}.mobile-nav a:hover{background:#494d41}.stage-heading{grid-template-columns:.8fr 1.3fr}.opening{padding-top:138px}.hero-art{height:490px}.header-contact a{font-size:.875rem}}
@media(max-width:780px){
:root{--header-height:104px}
.site-header,.home-page .site-header,.home-page .site-header.is-scrolled,.home-page .site-header:has(.menu-toggle[aria-expanded=true]){top:0;left:0;width:100%;height:104px;border-radius:0}
.header-inner{gap:10px;padding:10px 4vw}.brand-logo{width:100px}.brand-descriptor{font-size:10px;letter-spacing:0}.header-contact a{font-size:.75rem;min-height:33px;gap:5px}.header-contact svg{width:13px;height:13px}.header-email span{font-size:.6875rem}.menu-toggle{padding:9px;font-size:.75rem}
.mobile-nav:not([hidden]){top:103px;max-height:calc(100dvh - 186px)}
.mobile-call,.mobile-call.is-visible,.inner-page .mobile-call{background:#20211f;border-top:1px solid #555c4b;backdrop-filter:none;gap:10px;padding:10px 5vw max(10px,env(safe-area-inset-bottom))}
.mobile-call a{border-radius:0;box-shadow:none;font-size:.875rem;min-height:47px}.mobile-call .mobile-email{color:var(--paper);border-color:#8c9580;background:transparent}
.opening{display:block;padding:calc(var(--header-height) + 30px) var(--gutter) 20px}
.opening-top{text-align:left}.opening-location{text-align:left;font-size:.625rem;margin:0 0 19px;letter-spacing:.07em}
.opening h1{font-size:clamp(3.6rem,12vw,5.5rem);line-height:.98;letter-spacing:-.018em}
.opening-description{font-size:.9375rem;margin-top:20px;max-width:430px}.opening-actions{gap:23px;margin-top:22px}.primary-action{font-size:.875rem;padding:12px 18px}.secondary-action{font-size:.875rem}
.coverage-note{padding-top:15px;margin-top:22px;font-size:.75rem}.coverage-projects{font-size:.75rem}.coverage-local svg{width:14px;height:14px}
.hero-media-grid.wrap{margin-top:28px;padding:0}.hero-art{height:360px;border-radius:0}.scene-panel figcaption{left:20px;right:20px;bottom:20px}.scene-panel figcaption>span:last-child{font-size:1.8rem}.scene-panel figcaption>span:first-child{font-size:.625rem}
.hero-bottom.wrap{display:block;margin-top:15px}.explorer-choices button{font-size:.75rem;padding:10px 8px;gap:7px}.hero-playback{margin-top:8px;gap:20px;justify-content:flex-end}.hero-playback .motion-toggle{font-size:.6875rem}.reel-count{font-size:.6875rem}
.opening-backdrop::after{background:linear-gradient(90deg,#f3f1ebfa,#f3f1ebeb)}
.service-stage{padding:40px 0 45px}.stage-heading{display:block;margin-bottom:25px}.stage-heading h2,.craft-heading h2,.project-heading h2{font-size:3.2rem;margin-top:14px}.service-layout{gap:22px}.service-visual{height:330px;min-height:330px;border-radius:0}.service-visual-note{font-size:.6875rem;left:15px;bottom:15px}
.service-detail summary{padding:22px 16px}.service-detail summary>span:nth-child(2){font-size:2.4rem}.service-detail-body{padding:0 20px 23px 53px}.service-detail-body>p,.service-sub-links{font-size:.875rem}.service-smallprint{padding:13px 16px;margin-top:5px;font-size:.75rem}
.craft-section{padding:42px 0}.craft-heading{margin-bottom:25px}.craft-heading>p{font-size:.875rem;margin-top:18px}.craft-layout{border-radius:0}.installation-detail{padding:25px}.installation-detail h3{font-size:2rem}.installation-detail p{font-size:.875rem}.installation-detail>.eyebrow{font-size:.6875rem}.detail-controls>span{font-size:.75rem}
.projects{padding:45px 0 35px}.project-heading{margin-bottom:25px}.project-heading p{font-size:.875rem}.project-photo{border-radius:0}.gallery-foot{margin-top:8px}.gallery-foot>span{font-size:.75rem}
.area-story{padding:40px 0}.area-story h2{font-size:3rem}.area-story-copy{padding:0;border:0}.area-story-copy p{font-size:.875rem}.location-line{font-size:.6875rem;margin-top:28px}
.faq-section{padding:40px 0}.faq-layout h2{font-size:3rem}.faq-list details{padding:0}.faq-list summary,.faq-list details p{font-size:.875rem}
.contact-section{padding:40px 0}.contact-layout{gap:28px}.contact-layout h2{font-size:3.7rem;margin:15px 0 20px}.contact-layout p,.contact-links p{font-size:.875rem}.contact-links{border:0;border-top:1px solid #69725b;padding:23px 0 0}.big-phone{font-size:2.4rem}.contact-layout .eyebrow{font-size:.6875rem}
.detail-copy{padding:30px 23px}.detail-copy h1{font-size:3.2rem;margin:23px 0}.detail-copy>p{font-size:.9375rem}.detail-image{min-height:330px}.detail-hero{border-radius:0}.article-grid h2{font-size:2.6rem}.article-grid p,.includes li{font-size:.875rem}.page-intro h1{font-size:3.5rem}.page-intro p{font-size:.9375rem}.area-layout h2{font-size:2.8rem}
.enquiry-panel{border-radius:0}.enquiry-aside h2{font-size:2.7rem}.enquiry-email-note h2{font-size:2.2rem}.enquiry-direct-phone strong{font-size:1.8rem}.enquiry-direct-email strong{font-size:1.0625rem}
}
@media(max-width:360px){.header-inner{gap:7px}.brand-logo{width:85px}.brand-descriptor{font-size:9px}.header-contact a{font-size:.6875rem}.header-email span{font-size:.625rem}.header-contact svg{width:11px;height:11px}.menu-toggle{padding:8px 7px}.opening h1{font-size:12vw}.coverage-projects{font-size:.6875rem}.opening-actions{gap:18px}.hero-art{height:320px}.explorer-choices button{padding:9px 6px}.scene-panel figcaption>span:last-child{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){.desktop-nav>a,.header-cta,.primary-action,.button{transition:none}}
@media print{.opening{display:block;padding:0}.opening h1{font-size:40pt}.hero-media-grid,.hero-bottom{display:none!important}}
.desktop-nav>a:focus-visible{outline-color:var(--accent)}
.detail-hero .text-link:hover,.craft-section .arrow-link:hover,.contact-section .text-link:hover,.contact-section .arrow-link:hover,.footer a:hover{color:var(--accent)}
/* Header scroll padding supplies the main offset; anchors add only a small gap. */
section[id],.article-grid h3[id],.enquiry-summary{scroll-margin-top:20px}
@media(prefers-reduced-motion:reduce){.hotspot{transform:translate(-50%,-50%)!important}}

/* Continuous page composition: service index, photographs, captions and practical details. */
.home-page main{background:var(--paper)}
.home-page .opening{border-bottom:0}
.service-stage{padding:62px 0 48px;background:transparent}
.service-directory{display:grid;grid-template-columns:1fr 2fr;gap:7vw;align-items:start}
.service-intro{padding-top:20px}.service-intro h2{font-size:2.5rem;letter-spacing:0}
.service-intro p{font-size:.9375rem;line-height:1.65;color:var(--muted);max-width:230px;margin-top:17px}
.service-intro .service-availability{font-size:.8125rem;margin-top:45px;line-height:1.9}
.service-availability a{font-size:.875rem;color:var(--ink)}
.service-list{border-top:1px solid #8d9284}.service-detail,.service-detail[open]{background:transparent;border-color:#b4b9aa}
.service-detail summary{padding:23px 0;gap:24px}.service-detail summary>span:nth-child(2){font-size:3.2rem}
.service-detail-body{padding:0 60px 25px 45px;max-width:none}.service-detail-body>p{max-width:590px;margin:0 0 14px}
.service-detail-body .arrow-link{padding:8px 0;min-height:40px;margin-top:0}
.service-sub-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;align-items:start;margin-top:18px}
.service-sub-links>a{width:fit-content;padding-bottom:3px}
.home-page .projects{padding:35px 0 0;background:transparent}
.home-page .project-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:25px}
.home-page .project-heading h2{font-size:3.2rem;line-height:1;margin:0}
.home-page .project-heading>div:last-child{max-width:none;margin:0;display:flex;align-items:center;gap:30px}
.project-navigation>.text-link{font-size:.875rem;border-bottom:1px solid var(--ink);padding:8px 0}
.project-navigation .gallery-controls{margin:0}
.home-page .project-track{gap:28px;padding-bottom:12px;align-items:start}
.home-page .project-slide{width:54vw;max-width:780px;padding:0}
.home-page .project-slide[data-project=shower],.home-page .project-slide[data-project=vanity]{width:31vw;max-width:440px}
.home-page .project-slide[data-project=shower] .project-photo,.home-page .project-slide[data-project=vanity] .project-photo{aspect-ratio:3/4}
.home-page .project-photo{max-height:none}
.home-page .project-slide figcaption{font-size:.875rem;line-height:1.5;padding-top:13px}
.home-page .project-slide figcaption>span:last-child{font-size:.75rem}
.home-page .project-slide figcaption b{margin-right:12px;font-size:.6875rem}
.home-page .gallery-foot{font-size:.75rem;color:var(--muted);margin-top:0;display:flex;justify-content:space-between;gap:20px;padding-top:9px}
.craft-section.wrap{padding-top:65px;padding-bottom:0;background:transparent;color:var(--ink);margin:0 auto}
.craft-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:20px}
.craft-heading h2{font-size:2.1rem;line-height:1.05;margin:0}
.craft-heading>p{font-size:.8125rem;color:var(--muted);max-width:none;margin:0}
.craft-layout{display:block;background:transparent;color:var(--ink);border:0;margin:0;max-width:none;overflow:visible}
.installation{width:100%;align-self:auto;aspect-ratio:2/1;position:relative}
.installation>img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center;filter:none}
.installation::after{display:none}
.installation-credit{font-size:.6875rem;left:18px;bottom:18px;background:#20211fe6}
.hotspot{top:calc(var(--y) * 1.5 - 25%)}
.installation-detail{display:grid;grid-template-columns:42px minmax(150px,1fr) minmax(240px,1.5fr) 44px;gap:15px 22px;align-items:start;position:relative;padding:24px 0 0;background:none;border:0;color:var(--ink)}
.installation-detail .detail-numeral{grid-column:1;grid-row:1;font-size:1.25rem;line-height:1.3;margin:0;color:var(--muted);font-weight:700}
.installation-detail>h3{grid-column:2;grid-row:1;font-size:1.8rem;margin:0;line-height:1.05}
.installation-detail>p{grid-column:3;grid-row:1;font-size:.9375rem;color:var(--muted);margin:0;max-width:none;min-height:52px}
.installation-detail .detail-controls{grid-column:4;grid-row:1;margin:0;width:44px;gap:0}
.installation-detail .detail-controls .round-button{width:44px;height:44px;color:var(--ink)}
.installation-detail>.arrow-link{grid-column:3;grid-row:2;margin:0;padding:0 0 5px;min-height:0;font-size:.8125rem;justify-self:start;border-color:#929987}
.craft-section :focus-visible{outline-color:var(--ink)}
.craft-section .arrow-link:hover{color:var(--ink);text-decoration:underline}
.practical-info{padding-top:70px;padding-bottom:0}
.practical-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:12vw;border-top:1px solid #b4b9aa;padding-top:33px}
.practical-info h2{font-size:2.1rem;line-height:1;margin:0 0 22px}
.practical-info .area-story{padding:0;background:none;color:var(--ink)}
.practical-info .area-story p{font-size:.9375rem;color:var(--muted);max-width:390px;margin:0 0 18px;line-height:1.7}
.practical-info .area-story>.text-link{font-size:.875rem;border-bottom:1px solid #9ca38f;padding-bottom:4px}
.home-questions .faq-list{border:0}.home-questions .faq-list details:first-child{border-top:0}
.home-questions .faq-list summary{font-size:.875rem;padding:16px 0}
.home-questions .faq-list details:first-child summary{padding-top:0}
.home-questions .faq-list details p{font-size:.875rem}
.contact-section{background:var(--paper);color:var(--ink);padding:60px 0 55px}
.contact-layout{display:block;border-top:1px solid #b4b9aa;padding-top:35px}
.contact-layout>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:40px;margin-bottom:30px}
.contact-layout h2{font-size:4.8rem;line-height:1;margin:0}
.contact-layout>div:first-child>p{font-size:.875rem;max-width:330px;margin:0;color:var(--muted)}
.contact-links{display:grid;grid-template-columns:1.4fr 1fr;gap:16px 40px;align-items:center;border:0;padding:0;color:var(--ink);background:none}
.contact-links>br{display:none}
.contact-links>.big-phone{grid-column:1;grid-row:1;font-size:clamp(2.2rem,4.4vw,4.5rem);font-weight:500;margin:0;line-height:1.2;letter-spacing:-.04em;width:fit-content}
.contact-links>.email{grid-column:2;grid-row:1;font-size:1rem;width:fit-content;padding-bottom:5px;border-color:#9ca38f}
.contact-links>p{grid-column:1;grid-row:2;font-size:.8125rem;max-width:500px;margin:5px 0 0;color:var(--muted)}
.contact-links>.actions{grid-column:2;grid-row:2;margin:0;justify-content:flex-start}
.contact-links .button.light{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.contact-links .button.light:hover{background:#3c4036}
.contact-section a:focus-visible{outline-color:var(--ink)}
.contact-section .email:hover{color:var(--ink);text-decoration:underline}
@media(max-width:1150px){.service-directory{gap:5vw;grid-template-columns:.85fr 2fr}.service-detail-body{padding-right:0}.practical-grid{gap:7vw}.installation-detail{grid-template-columns:30px minmax(130px,1fr) minmax(200px,1.5fr) 44px;gap:15px}.contact-layout h2{font-size:4.2rem}.contact-links>.email{font-size:.9375rem}}
@media(max-width:780px){
.service-stage{padding:36px 0 20px}.service-directory{display:block}.service-intro{padding-top:0;display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:18px}.service-intro h2{font-size:2rem}.service-intro p{font-size:.75rem;max-width:160px;margin:0}.service-intro .service-availability{display:none}
.service-detail summary{padding:20px 0;gap:17px}.service-detail summary>span:nth-child(2){font-size:2.6rem}.service-detail-body{padding:0 0 22px 37px}.service-detail-body>p,.service-sub-links{font-size:.875rem}.service-sub-links{grid-template-columns:1fr;gap:10px;margin-top:15px}
.home-page .projects{padding:28px 0 0}.home-page .project-heading{gap:20px;margin-bottom:20px}.home-page .project-heading h2{font-size:2.5rem}.home-page .project-heading>div:last-child{gap:15px}.project-navigation>.text-link{font-size:.75rem;white-space:nowrap}.project-navigation .gallery-controls{gap:7px}.project-navigation .round-button{width:34px;height:38px;font-size:1rem}.home-page .project-track{gap:18px}.home-page .project-slide{width:82vw;max-width:none}.home-page .project-slide[data-project=shower],.home-page .project-slide[data-project=vanity]{width:65vw;max-width:none}.home-page .project-slide figcaption{font-size:.8125rem;padding-top:12px}.home-page .project-slide figcaption>span:last-child{font-size:.6875rem;margin-top:3px}.home-page .gallery-foot{font-size:.6875rem;line-height:1.5;align-items:start}.home-page .gallery-foot>span:first-child{max-width:230px}.home-page .gallery-foot>span:last-child{font-size:.6875rem;white-space:nowrap}
.craft-section.wrap{padding-top:40px;padding-bottom:0}.craft-heading{display:block;margin-bottom:16px}.craft-heading h2{font-size:1.85rem;margin:0}.craft-heading>p{font-size:.75rem;margin:10px 0 0}.installation{aspect-ratio:4/3}.installation>img{height:100%;aspect-ratio:auto}.hotspot{top:var(--y);width:42px;height:42px;font-size:.75rem}.installation-credit{font-size:.5625rem;left:10px;bottom:10px;padding:5px 7px}
.installation-detail{display:grid;grid-template-columns:25px 1fr 40px;gap:13px 10px;padding:20px 0 0;align-items:start}.installation-detail .detail-numeral{font-size:1rem;grid-column:1;grid-row:1;display:block;margin:0}.installation-detail>h3{grid-column:2;grid-row:1;font-size:1.65rem;margin:0}.installation-detail>p{grid-column:2;grid-row:2;font-size:.875rem;min-height:0}.installation-detail .detail-controls{grid-column:3;grid-row:1;width:40px;margin:0}.installation-detail .detail-controls .round-button{width:40px;height:40px}.installation-detail>.arrow-link{grid-column:2;grid-row:3;font-size:.75rem;margin-top:0;min-height:30px;align-self:start}
.practical-info{padding-top:40px}.practical-grid{grid-template-columns:1fr;gap:35px;padding-top:28px}.practical-info h2{font-size:1.9rem;margin-bottom:17px}.practical-info .area-story p{font-size:.875rem;margin-bottom:15px}.practical-info .area-story>.text-link{font-size:.8125rem}.home-questions .faq-list summary,.home-questions .faq-list details p{font-size:.875rem}
.contact-section{padding:38px 0 40px}.contact-layout{padding-top:28px}.contact-layout>div:first-child{display:block;margin-bottom:23px}.contact-layout h2{font-size:3.7rem;margin:0 0 18px}.contact-layout>div:first-child>p{font-size:.875rem;max-width:none}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:17px}.contact-links>.big-phone{font-size:2.7rem;margin:0;line-height:1.1}.contact-links>.email{font-size:.9375rem}.contact-links>p{font-size:.8125rem;margin:0}.contact-links>.actions{margin:2px 0 0}.contact-links .button{font-size:.875rem}
}
@media(max-width:400px){.installation-detail>*{grid-column:auto!important}.installation-detail .detail-numeral{grid-column:1!important;grid-row:1}.installation-detail>h3{grid-column:2!important;grid-row:1}.installation-detail>p{grid-column:2!important;grid-row:2}.installation-detail .detail-controls{grid-column:3!important;grid-row:1}.installation-detail>.arrow-link{grid-column:2!important;grid-row:3}.home-page .project-heading>div:last-child{gap:10px}.project-navigation .gallery-controls{gap:5px}.project-navigation .round-button{width:30px}.home-page .project-heading h2{font-size:2.35rem}}
/* Keep captions aligned while the installation photograph can reach the page edges. */
.craft-section.wrap>.craft-heading{padding-left:var(--gutter);padding-right:var(--gutter)}
.craft-section .installation-detail{margin-left:var(--gutter);margin-right:var(--gutter)}
@media(min-width:1440px){.craft-section.wrap>.craft-heading{padding-left:72px;padding-right:72px}.craft-section .installation-detail{margin-left:72px;margin-right:72px}}

/* User direction: one dark charcoal canvas; the opening uses the cycling background only. */
:root{--canvas:#242625;--foreground:#efeee6;--muted:#bfc1ba;--line:#60645d}
body,.home-page main,.inner-page main{background:var(--canvas);color:var(--foreground)}
.home-page .opening{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:790px;padding-top:calc(var(--header-height) + 60px);padding-bottom:28px;background:var(--canvas);color:var(--foreground);gap:0}
.opening-top{max-width:900px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;margin-inline:auto}
.opening-location{color:#d5d8d0;margin-bottom:25px;text-align:center}
.opening h1{font-size:clamp(5rem,8.5vw,8.5rem);line-height:.95;letter-spacing:-.015em;max-width:100%}
.opening h1 em,.opening .opening-description{color:var(--foreground)}
.opening-description{max-width:460px;font-size:1rem;margin-top:27px;color:#dfe2da}
.opening-actions{margin-top:30px;justify-content:center}
.primary-action{background:var(--accent);color:#20211f;border-color:var(--accent)}
.primary-action:hover{background:#f1d772;color:#20211f}
.secondary-action{color:var(--foreground);border-color:#b9c0b1}
.coverage-note{border-color:#92998b80;color:#d0d5c8;max-width:540px;text-align:center}
.coverage-local{color:var(--foreground);justify-content:center}.coverage-projects>span{color:#d0d5c8}
.hero-bottom.wrap{margin-top:40px}
.explorer-choices button{color:#e0e3da;border-color:#a3ad9970;background:#20252280}
.explorer-choices button.is-active,.explorer-choices button:hover{background:var(--accent);border-color:var(--accent);color:#20211f}
.explorer-choices i::after{background:#20211f}
.hero-playback,.motion-toggle{color:#d3d8cb}.motion-toggle:hover{color:#fff}
.opening-backdrop{background:var(--canvas)}
.opening-frame img{filter:brightness(.75) saturate(.65);object-position:50% 52%}
.opening-backdrop::after{background:linear-gradient(90deg,#171a19ed 0%,#1c201fc9 48%,#21252455 100%),linear-gradient(0deg,var(--canvas),#24262500 28%)}
.service-stage,.projects,.practical-info,.craft-section.wrap{background:transparent;color:var(--foreground)}
.service-intro h2,.service-availability a,.service-detail[open],.service-detail[open] .service-index,.service-detail[open] .service-plus{color:var(--foreground)}
.service-list{border-color:#737a6c}.service-detail,.service-detail[open]{border-color:#5c6356}
.service-detail-body .arrow-link{color:var(--foreground);border-color:#919a87}
.service-sub-links a{border-color:#87907c}.service-sub-links>a:hover{color:var(--foreground)}
.home-page .project-heading,.project-navigation>.text-link{color:var(--foreground)}
.project-navigation>.text-link{border-color:#919a87}
.project-slide figcaption b,.project-slide figcaption>span:last-child,.gallery-count{color:#b5bdae}
.gallery-count b{color:var(--foreground)}
.round-button:hover{background:var(--accent);color:#20211f;border-color:var(--accent)}
.craft-heading>p,.installation-detail>p{color:var(--muted)}
.installation-detail{color:var(--foreground)}
.installation-detail .detail-numeral{color:var(--muted)}
.installation-detail>h3{color:var(--foreground)}
.installation-detail .detail-controls .round-button{color:var(--foreground)}
.installation-detail>.arrow-link{color:var(--foreground);border-color:#919a87}
.craft-section .arrow-link:hover{color:var(--accent)}
.practical-grid{border-color:#5c6356}.practical-info .area-story{color:var(--foreground)}
.practical-info .area-story>.text-link{border-color:#919a87}
.faq-section{background:transparent;color:var(--foreground)}
.faq-list details,.faq-list details:last-child,.faq-list details[open]{border-color:#5c6356}
.contact-section{background:var(--canvas);color:var(--foreground)}
.contact-layout{border-color:#5c6356}.contact-links{color:var(--foreground)}
.contact-links>.email{border-color:#919a87}.contact-section .email:hover{color:var(--foreground)}
.contact-links .button.light{background:var(--accent);border-color:var(--accent);color:#20211f}
.contact-links .button.light:hover{background:#f1d772}
.contact-section a:focus-visible,.craft-section :focus-visible,.service-stage :focus-visible{outline-color:var(--accent)}
.related{background:transparent;border-top:1px solid #5c6356;border-bottom:1px solid #5c6356}
.includes li::before{color:var(--accent)}
.library-filters button[aria-pressed=true]{color:var(--foreground);border-color:var(--accent)}
.enquiry-panel{background:#2d312e;border-color:#697261}.enquiry-direct{background:#303831;border-color:#697261;color:var(--foreground)}
.enquiry-direct:hover{background:#3c453c;border-color:#abb59d}.enquiry-contact-icon{background:#1b201b;color:var(--accent)}
.form-field input,.form-field select,.form-field textarea,.enquiry-copy textarea{background:#1f251f;border-color:#7e8a70;color:var(--foreground)}
.form-field input::placeholder,.form-field textarea::placeholder{color:#afb9a4}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.enquiry-copy textarea:focus,.enquiry-summary:focus-visible{outline-color:var(--accent)}
.enquiry-summary{border-color:#697261}.enquiry-panel .button.outline{color:var(--foreground)}
@media(max-width:1150px){.home-page .opening{padding-top:calc(var(--header-height) + 45px)}.opening h1{font-size:9.2vw;max-width:800px}}
@media(max-width:780px){
.home-page .opening{min-height:calc(100svh - 68px);padding-top:calc(var(--header-height) + 37px);padding-bottom:20px}
.opening-top{max-width:none;flex:none}.opening-location{font-size:.625rem;margin-bottom:22px}
.opening h1{font-size:clamp(3.6rem,12.5vw,5.8rem);line-height:.97}
.opening-description{font-size:.9375rem;margin-top:23px;max-width:390px}.opening-actions{margin-top:24px}
.hero-bottom.wrap{margin-top:32px}.coverage-note{border-color:#92998b80;margin-top:24px}.hero-playback{justify-content:flex-end}
.opening-backdrop::after{background:linear-gradient(90deg,#171a19e8,#1c201fb5),linear-gradient(0deg,var(--canvas),#24262500 30%)}
.opening-frame img{object-position:60% 50%}.motion-toggle{font-size:.6875rem}
}
@media(max-width:360px){.opening h1{font-size:12.5vw}.home-page .opening{padding-top:134px}.opening-description{font-size:.875rem}.coverage-projects{font-size:.6875rem}.hero-bottom.wrap{margin-top:26px}}

main .text-link:hover,main .arrow-link:hover{color:var(--accent)}
.project-track:focus-visible,main :focus-visible{outline-color:var(--accent)}
.approach{background:transparent;color:var(--foreground)}
.practical-info .area-story>.text-link:hover{color:var(--accent)}

/* A quiet, continuous strip of the actual work, directly beneath the opening. */
.work-strip{--strip-height:220px;--strip-gap:10px;padding:18px 0 0;color:var(--foreground);background:transparent}
.photo-strip-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;margin-bottom:15px}
.photo-strip-heading h2{grid-column:2;grid-row:1;font-size:1.75rem;line-height:1;margin:0;letter-spacing:0;text-align:center}
.photo-strip-tools{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:26px;font-size:.75rem;color:var(--muted)}
.photo-strip-tools>a{padding:10px 0;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
.photo-strip-tools>a:hover{color:var(--foreground)}
.photo-strip-toggle{border:0;background:none;color:inherit;padding:10px 0;min-height:44px;font-size:inherit;align-items:center}
.photo-strip-toggle:hover{color:var(--foreground)}
.photo-strip-toggle:disabled{opacity:.6;cursor:default}
.photo-strip-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#737b69 transparent;outline-offset:-3px}
.photo-strip-track{display:flex;width:max-content;gap:0;transform:translateX(0)}
.photo-strip-group{display:flex;flex:none;width:max-content;align-items:stretch;gap:var(--strip-gap);padding-right:var(--strip-gap)}
.photo-strip-photo{flex:none;width:calc(var(--strip-height)*var(--strip-ratio));height:var(--strip-height);margin:0;overflow:hidden}
.photo-strip-photo>img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);user-select:none;-webkit-user-drag:none}
.work-strip.is-animated .photo-strip-viewport{overflow:hidden}
.work-strip.is-animated .photo-strip-track{animation:work-photo-loop var(--strip-duration,40s) linear infinite}
.work-strip.is-paused .photo-strip-track,.work-strip.is-offscreen .photo-strip-track,.work-strip.is-document-hidden .photo-strip-track,.motion-paused .photo-strip-track,.photo-strip-viewport:focus-within .photo-strip-track{animation-play-state:paused}
@media(hover:hover){.photo-strip-viewport:hover .photo-strip-track{animation-play-state:paused}}
@keyframes work-photo-loop{to{transform:translateX(var(--strip-distance))}}
@media(max-width:780px){.work-strip{--strip-height:158px;--strip-gap:8px;padding-top:12px}.photo-strip-heading{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.photo-strip-heading h2{font-size:1.45rem}.photo-strip-tools{justify-content:center;gap:20px;font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){.work-strip .photo-strip-track{animation:none!important;transform:none!important}.work-strip .photo-strip-viewport{overflow-x:auto}.photo-strip-group[data-strip-clone]{display:none}}
@media print{.photo-strip-tools,.photo-strip-group[data-strip-clone]{display:none!important}.photo-strip-track{animation:none!important;transform:none!important}.photo-strip-viewport{overflow:hidden}}

/* Contact submission keeps the same restrained controls and readable feedback. */
.enquiry-status{font-size:.9375rem;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere;scroll-margin-top:125px}
.enquiry-status:not(:empty){padding:15px 18px;margin:0 0 20px;border-left:3px solid var(--accent);background:#242625;color:var(--foreground)}
.enquiry-status[data-state=error]{border-color:#e6b48e}
.enquiry-status:focus-visible,.enquiry-success:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.enquiry-panel button:disabled{opacity:.65;cursor:wait}
.enquiry-copy>[data-enquiry-draft]{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px;margin-bottom:12px}
.enquiry-success h3{font-size:2.4rem;margin:12px 0 22px}
.enquiry-success{scroll-margin-top:calc(var(--header-height) + 20px)}
.enquiry-success>p{font-size:.9375rem;color:var(--muted);margin:0 0 20px}
.enquiry-success>p a{text-decoration:underline;text-underline-offset:4px}
.enquiry-success>.button{margin-top:8px}
