/* Global trust furniture — photographic, responsive multi-version revision. */
:root{--photo-shadow:0 18px 55px #091d1a28}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{overflow-x:clip}
.site-header{z-index:300;isolation:isolate}
.header-inner{position:relative;z-index:301}
.services-dropdown{z-index:399}
.services-dropdown.open{display:block}
.button,.header-cta,.footer-wa,.service-card,.spotlight-tile,.carousel-slide{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,background-color .28s,color .28s}
.button:hover,.header-cta:hover,.footer-wa:hover{transform:translateY(-3px)}
.service-card:hover,.spotlight-tile:hover{transform:translateY(-5px);box-shadow:var(--photo-shadow)}
.service-card .card-media,.spotlight-media,.carousel-slide{overflow:hidden}
.service-card img,.spotlight-tile img,.carousel-slide img,.deep-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.service-card:hover img,.spotlight-tile:hover img,.carousel-slide:hover img{transform:scale(1.035)}
.card-media .card-image{width:100%;height:100%}.card-info{align-items:center}.card-info>div{flex:1}
.service-card .card-index,.step>span{display:none!important}
.card-media{position:relative}
/* Full-width cinematic heroes, no controls, separate HTML copy. */
.hero{position:relative;isolation:isolate;min-height:610px;overflow:hidden!important;display:flex;flex-direction:column;justify-content:center;background:#1a2623!important}
.hero .hero-bleed{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:-3;overflow:hidden;pointer-events:none}
.hero .hero-bleed img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;animation:photoGlide 28s ease-in-out infinite alternate;will-change:transform}
.hero .hero-bleed-first{animation:heroFadeA 17s ease-in-out infinite}
.hero .hero-bleed-second{animation:heroFadeB 17s ease-in-out infinite}
.hero .hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,19,17,.92) 0%,rgba(12,19,17,.78) 32%,rgba(12,19,17,.3) 63%,rgba(12,19,17,.05) 100%);pointer-events:none}
.hero .hero-grid,.hero-v1 .hero-grid,.hero-v2 .hero-grid,.hero-v3 .hero-grid{position:relative;z-index:1;display:flex;min-height:540px;align-items:center;justify-content:flex-start;gap:0;padding:70px 0 90px}
.hero .hero-copy{max-width:650px;position:relative;z-index:2;color:#fff}
.hero .hero-copy h1,.hero-v1 .hero-copy h1,.hero-v2 .hero-copy h1,.hero-v3 .hero-copy h1{font-size:clamp(48px,5.1vw,78px);line-height:1.04;letter-spacing:-.047em;max-width:660px;color:inherit;margin:12px 0 0;text-wrap:balance}
.hero-v2 .hero-copy h1{font-size:clamp(51px,5.65vw,83px);line-height:.98;letter-spacing:-.065em}
.hero .hero-copy p,.hero-v3 .hero-copy p{max-width:520px;font-size:clamp(15px,1.3vw,18px);line-height:1.72;color:#f9f4ee!important;text-shadow:0 2px 20px #0004}
.hero .hero-copy .eyebrow{color:#f3d2aa}
.hero-v1 .hero-copy h1 em{color:#f1c491}
.hero-v2 .hero-copy h1 span{color:#cdebbd}
.hero-v3 .hero-copy h1 i{color:#915069}
.hero-v1 .hero-note,.hero-v2 .hero-counter{color:#f8e7d5}
.hero-v3 .hero-copy{color:#3c2934;max-width:610px;padding:38px 40px;background:#fff9f4e8;box-shadow:0 25px 65px #24121e2c;border:1px solid #f7ddce;backdrop-filter:blur(5px)}
.hero-v3 .hero-copy p{color:#594452!important;text-shadow:none}
.hero-v3 .hero-copy .eyebrow{color:#975568}
.hero-v3 .hero-shade{background:linear-gradient(90deg,#32232c66,transparent 82%)}
.hero-v3 .hero-signature{color:#65424b}
.hero-v3 .hero-copy .button.secondary{border-color:#8d5766;color:#633f4d}
.hero-v1 .hero-bottom-bar{display:none}
.hero .continuous-strip{width:100%;position:absolute;bottom:0;left:0;right:0;z-index:4}
.continuous-strip{background:var(--accent);color:var(--accent-text);height:48px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;position:relative;isolation:isolate}
.strip-track{display:flex;align-items:center;width:max-content;gap:35px;min-width:max-content;animation:stripFlow 31s linear infinite;font-size:12px;letter-spacing:.16em;font-weight:800}
.strip-track>span:nth-child(2n){font-size:12px;opacity:.64}
.hero-v1 .continuous-strip{background:#825a3e;color:#fff8ee}
.hero-v2 .continuous-strip{background:#cbe8b6;color:#10352b}
.hero-v3 .continuous-strip{background:#5d3346;color:#fff7ef}
@keyframes stripFlow{to{transform:translateX(-50%)}}
@keyframes heroFadeA{0%,42%{opacity:1}52%,92%{opacity:0}100%{opacity:1}}
@keyframes heroFadeB{0%,42%{opacity:0}52%,92%{opacity:1}100%{opacity:0}}
@keyframes photoGlide{from{transform:scale(1.01) translateX(0)}to{transform:scale(1.055) translateX(-1.1%)}}
/* Inner pages share photographic full-bleed mechanics but inherit each brand palette. */
.inner-hero.fullwidth-inner{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:465px;padding:68px 0 74px;background:#192622!important}
.inner-hero .inner-full-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2;overflow:hidden}
.inner-full-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;animation:photoGlide 30s ease-in-out infinite alternate}
.inner-hero .inner-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(9,19,17,.91),rgba(9,19,17,.74) 35%,rgba(9,19,17,.17) 92%)}
.fullwidth-inner .inner-hero-inner{display:block;padding:0;position:relative;z-index:2}
.fullwidth-inner .inner-hero-copy{max-width:780px;color:#fff;position:relative;z-index:2}
.fullwidth-inner .inner-hero-copy h1{max-width:780px;font-size:clamp(43px,4.6vw,65px);line-height:1.08;letter-spacing:-.045em;color:#fff;text-wrap:balance}
.fullwidth-inner .inner-hero-copy p{max-width:560px;color:#f4f4f0;font-size:16px;line-height:1.7;margin:15px 0}
.fullwidth-inner .inner-hero-copy .eyebrow{color:#f5cfa6}
.fullwidth-inner .crumbs,.fullwidth-inner .crumbs a,.fullwidth-inner .crumbs span{color:#f7eee9!important;opacity:1}
.inner-enquire{margin-top:18px;min-height:47px}
.fullwidth-inner + .continuous-strip{margin-top:0}
/* Rich original-photography modules */
.spotlight-section,.carousel-section,.deep-section{padding:76px 0;background:var(--surface);position:relative}
.spotlight-section{background:var(--paper)}
.spotlight-section .section-heading{max-width:750px;margin-bottom:31px}
.spotlight-section .section-heading p{max-width:640px}
.spotlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.spotlight-tile{display:block;min-width:0;color:var(--ink);background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 32px #101c1710;overflow:hidden}
.spotlight-media{height:238px;background:var(--surface)}
.spotlight-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 7px;padding:20px 17px 22px;align-items:center}
.spotlight-caption h3{grid-column:1;font-family:var(--font-heading);font-size:22px;line-height:1.2;margin:0;letter-spacing:-.035em;color:var(--ink)}
.spotlight-caption p{grid-column:1;font-size:12px;line-height:1.55;color:var(--muted);margin:0}
.spotlight-caption>span{grid-column:2;grid-row:1/3;font-size:22px;color:var(--accent)}
.carousel-section{background:var(--surface)}
.carousel-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.carousel-title h2{font-size:clamp(30px,3.5vw,48px);line-height:1.14;letter-spacing:-.035em;max-width:750px}
.carousel-arrows{display:flex;gap:10px;flex:none}
.carousel-arrows button{width:46px;height:46px;font-size:22px;border:1px solid var(--border);color:var(--ink);background:var(--paper);cursor:pointer;transition:all .25s}
.carousel-arrows button:hover{background:var(--accent);color:var(--accent-text);transform:translateY(-2px)}
.carousel-viewport{overflow:hidden;scrollbar-width:none;scroll-behavior:smooth;touch-action:pan-y;outline-offset:3px}
.carousel-track{display:flex;gap:18px;will-change:transform}
.carousel-slide{flex:0 0 calc((100% - 36px)/3);min-width:0;position:relative;display:block;height:290px;background:var(--paper);border:1px solid var(--border)}
.carousel-slide img{width:100%;height:100%;object-fit:cover}
.carousel-slide>span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;min-height:85px;display:flex;align-items:end;padding:28px 19px 17px;justify-content:space-between;gap:8px;font-size:18px;font-weight:800}
.deep-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:6%;align-items:center}
.deep-photo{min-height:375px;max-height:470px;overflow:hidden;box-shadow:var(--photo-shadow);background:var(--paper)}
.deep-photo img{height:420px;max-height:470px;object-fit:cover}
.deep-copy{min-width:0}
.deep-copy h2{max-width:680px;font-size:clamp(31px,4vw,54px);line-height:1.16;letter-spacing:-.045em;margin:0 0 18px;color:var(--ink)}
.deep-copy h3{font-size:22px;line-height:1.2;margin:22px 0 10px;color:var(--ink)}
.deep-copy p{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 15px}
.focus-list{padding-left:22px;margin:17px 0 28px;color:var(--ink);font-size:14px;line-height:1.9}
.focus-list li::marker{color:var(--accent)}
.note-band{background:var(--paper);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:35px 0}
.note-band-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.note-band h2{font-size:clamp(24px,3vw,36px);line-height:1.18;letter-spacing:-.035em}
/* Depth, background detail and hover effects */
.story-section,.feature-split,.magazine-feature,.paired-gallery,.editorial-band,.about-lead{position:relative}
.editorial-band::before{content:"";position:absolute;inset:0;background:url('wall-units-765.webp') center/cover no-repeat;opacity:.12;pointer-events:none}
.paired-gallery img,.story-media img,.feature-media img,.gallery-tile img,.about-images img{object-fit:cover!important;object-position:center}
.site-footer{position:relative}
.social-showcase{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0 10px}
.social-glyph{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff46;border-radius:8px;color:var(--footer-text);background:#ffffff10}
.social-glyph svg{display:block;width:18px;height:18px}
.social-glyph[title]{cursor:default}
/* Theme-specific photo-card styling preserves actual original three visual directions. */
.theme-v1 .spotlight-tile,.theme-v1 .carousel-slide{border-radius:0}
.theme-v2 .spotlight-tile,.theme-v2 .carousel-slide{border-radius:3px;background:#163b34}
.theme-v2 .spotlight-caption h3,.theme-v2 .deep-copy h2,.theme-v2 .note-band h2{color:#f1f6eb}
.theme-v2 .note-band{background:#12332e}
.theme-v3 .spotlight-tile,.theme-v3 .carousel-slide{border-radius:15px;overflow:hidden}
.theme-v3 .spotlight-caption h3{font-family:var(--font-heading)}
.theme-v3 .carousel-arrows button{border-radius:50%}
@media(max-width:1100px){.spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spotlight-media{height:240px}.hero .hero-copy{max-width:590px}.hero .hero-grid,.hero-v1 .hero-grid,.hero-v2 .hero-grid,.hero-v3 .hero-grid{min-height:540px;padding:62px 0 85px}.hero-v3 .hero-copy{max-width:550px}}
@media(max-width:680px){
 .hero,.hero-v1,.hero-v2,.hero-v3{min-height:580px!important}
 .hero .hero-grid,.hero-v1 .hero-grid,.hero-v2 .hero-grid,.hero-v3 .hero-grid{min-height:580px;padding:50px 0 86px;align-items:center;max-width:100%}
 .hero .hero-copy,.hero-v3 .hero-copy{max-width:100%;width:100%}
 .hero .hero-copy h1,.hero-v1 .hero-copy h1,.hero-v2 .hero-copy h1,.hero-v3 .hero-copy h1{font-size:clamp(37px,9.2vw,55px);line-height:1.07;letter-spacing:-.045em;max-width:450px;margin:10px 0 0}
 .hero-v2 .hero-copy h1{font-size:clamp(39px,9.8vw,56px)}
 .hero .hero-copy p{font-size:14px;line-height:1.65;margin-top:17px}
 .hero .hero-copy .button{min-height:44px;font-size:11px;padding:11px 12px}
 .hero .hero-shade{background:linear-gradient(90deg,#091412dd,#0914129c 60%,#09141245)}
 .hero-v3 .hero-shade{background:linear-gradient(90deg,#39232d75,#39232d11)}
 .hero-v3 .hero-copy{padding:25px 20px;background:#fff7f2ec}
 .hero-v3 .hero-copy p{color:#634d58!important}
 .hero-v3 .hero-signature{font-size:12px;margin-top:20px}
 .hero-v2 .micro-row{gap:12px;flex-wrap:wrap}
 .hero-v2 .hero-counter{font-size:10px}
 .hero .continuous-strip{height:42px}
 .strip-track{font-size:10px;gap:22px}
 .inner-hero.fullwidth-inner{padding:50px 0 58px;min-height:405px}
 .fullwidth-inner .inner-hero-copy h1{font-size:clamp(35px,9vw,51px)}
 .fullwidth-inner .inner-hero-copy p{font-size:14px;line-height:1.63}
 .inner-hero .inner-shade{background:linear-gradient(90deg,#0b1b18e9,#0b1b18b0 70%,#0b1b1870)}
 .inner-enquire{font-size:11px;min-height:44px;padding:10px 13px}
 .spotlight-section,.carousel-section,.deep-section{padding:56px 0}
 .spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .spotlight-media{height:145px}
 .spotlight-caption{padding:13px 11px 16px;gap:5px}
 .spotlight-caption h3{font-size:16px}
 .spotlight-caption p{font-size:10px}
 .carousel-title{gap:8px;align-items:center}.carousel-title h2{font-size:28px}
 .carousel-arrows{gap:6px}.carousel-arrows button{width:39px;height:39px;font-size:19px}
 .carousel-track{gap:11px}.carousel-slide{flex-basis:76%;height:225px}.carousel-slide>span{min-height:72px;font-size:15px}
 .deep-grid{grid-template-columns:1fr;gap:30px}
 .deep-photo{max-height:320px;min-height:240px}.deep-photo img{height:300px}
 .deep-copy h2{font-size:35px}.deep-copy p{font-size:14px;line-height:1.8}
 .note-band{padding:26px 0}.note-band-inner{display:block}.note-band-inner .button{margin-top:18px}.note-band h2{font-size:25px}
 .social-glyph{width:34px;height:34px}
 .card-info>div{min-width:0}
}
@media(max-width:380px){.spotlight-media{height:132px}.spotlight-caption h3{font-size:15px}.hero .hero-copy h1,.hero-v2 .hero-copy h1{font-size:36px}.hero-v3 .hero-copy{padding:22px 16px}.hero-v3 .hero-copy h1{font-size:34px}.hero .hero-actions{gap:7px}.hero .hero-copy .button{font-size:10px;padding:10px 11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero .hero-bleed img,.hero .hero-bleed,.inner-full-photo img,.strip-track{animation:none!important;transition:none!important}.hero .hero-bleed-second{opacity:0!important}.carousel-viewport{scroll-behavior:auto}.service-card img,.spotlight-tile img{transition:none!important}}
/* Final contrast and animation fallback fixes after mobile visual review. */
.hero .hero-bleed-second{opacity:0}
.hero-v1 .hero-actions .button.secondary,.hero-v2 .hero-actions .button.secondary{color:#fff!important;border-color:#ffffffb8!important;background:#06171422!important}
.hero-v1 .hero-actions .button.secondary:hover,.hero-v2 .hero-actions .button.secondary:hover{background:#fff!important;color:#16221f!important}
@media(max-width:680px){.hero-v1 .hero-copy h1{max-width:330px;font-size:clamp(40px,10.6vw,52px);line-height:1.05}.hero-v1 .hero-copy p{max-width:335px}}
.editorial-info-section{padding:65px 0;background:var(--paper);border-top:1px solid var(--border)}
.editorial-info{max-width:1100px}
.editorial-info h2{max-width:850px;font-size:clamp(29px,3.6vw,51px);line-height:1.15;letter-spacing:-.04em;margin-bottom:22px}
.editorial-info-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6%}
.editorial-info-columns p{font-size:15px;line-height:1.85;color:var(--muted)}
@media(max-width:680px){.editorial-info-section{padding:50px 0}.editorial-info-columns{grid-template-columns:1fr;gap:12px}.editorial-info-columns p{font-size:14px;line-height:1.8}}
