:root{--ink:#0b1216;--deep:#121d23;--deep2:#19272e;--gold:#edbe6a;--gold2:#d1a052;--cream:#f4f0e8;--white:#fff;--border:#35444a;--sans:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#18232a;font-family:var(--sans)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1260px;width:100%;margin:auto;padding:0 26px}.eyebrow{display:block;font-size:11px;font-weight:750;letter-spacing:.22em;text-transform:uppercase;color:#bd8534;margin-bottom:14px}.topbar{position:sticky;top:0;z-index:40;background:#0b1014f2;color:#fff;border-bottom:1px solid #4e4230;backdrop-filter:blur(14px)}.header{min-height:82px;display:flex;align-items:center;gap:27px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;min-width:192px}.brand img{width:48px;height:48px;object-fit:contain}.brand strong{font:700 19px var(--serif);display:block}.brand small{font-size:9px;letter-spacing:.15em;color:var(--gold)}.nav{display:flex;align-items:center;gap:21px}.nav a{font-size:12px;color:#cbd1d3;white-space:nowrap}.nav a:hover,.nav a.current{color:var(--gold)}.phone{font-size:13px;font-weight:750;white-space:nowrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--gold);background:var(--gold);color:#131a1d;padding:13px 21px;border-radius:30px;font-weight:750;font-size:13px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:#ffd486}.button.outline{background:transparent;color:#fff}.button.outline:hover{background:#e9b75c1c}.button.pale{background:transparent;border-color:#9e9689;color:#263039}.menu{display:none;border:1px solid #736449;border-radius:8px;padding:9px 13px;background:transparent;color:white}.hero{min-height:690px;background:var(--ink);color:white;display:grid;position:relative;overflow:hidden;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 15% 30%,#2b3e40 0%,transparent 42%),linear-gradient(115deg,#0c1318 12%,#17242b 67%,#0e161b);z-index:-2}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:64px 64px;opacity:.35;z-index:-1}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center;padding:82px 0 78px}.hero h1{font-size:clamp(48px,5.5vw,83px);line-height:1.07;letter-spacing:-.045em;margin:18px 0 24px}.hero h1 em{color:var(--gold);font-style:normal}.hero p{font-size:16px;line-height:1.8;color:#c8d2d4;max-width:540px}.hero-ctas{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.trust-line{border-top:1px solid #405157;margin-top:36px;padding-top:24px;display:flex;gap:24px;flex-wrap:wrap;color:#b9c6c9;font-size:12px}.trust-line span:before{content:'◆';color:var(--gold);margin-right:9px;font-size:8px}.hero-photo{position:relative;align-self:stretch;min-height:505px}.hero-photo>.main-photo{position:absolute;width:76%;height:92%;right:0;top:1%;object-fit:cover;border-radius:7px 7px 84px 7px;border:1px solid #9f7a42;filter:contrast(1.04);box-shadow:0 20px 65px #0008}.photo-caption{position:absolute;z-index:2;right:20px;bottom:12px;background:#0f171ade;backdrop-filter:blur(6px);padding:13px 16px;border-left:3px solid var(--gold);font-size:11px;line-height:1.7}.hero-photo>.detail{position:absolute;z-index:3;left:0;bottom:12%;width:41%;height:43%;object-fit:cover;border:7px solid #172228;box-shadow:0 12px 30px #000a;border-radius:8px}.hero-photo>.frame{position:absolute;left:10%;top:2%;width:28%;height:41%;border:1px solid var(--gold);opacity:.6}.section{padding:95px 0}.section.light{background:var(--cream)}.section.dark{background:#0c1419;color:white}.section.soft{background:#e8e2d7}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.section h2{font-size:clamp(32px,3.8vw,54px);line-height:1.17;letter-spacing:-.03em;margin:0 0 13px}.section-head p{max-width:660px;line-height:1.7;color:#667178;margin-bottom:0}.section.dark p{color:#c5cdd1}.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{overflow:hidden;background:white;border:1px solid #ded7c9;border-radius:12px;transition:transform .3s,box-shadow .3s}.tile:hover{transform:translateY(-6px);box-shadow:0 15px 36px #0c182026}.tile img{width:100%;height:260px;object-fit:cover}.tile .tile-body{padding:22px 23px 25px}.tile h3{font-size:24px;margin:9px 0}.tile p{font-size:13px;line-height:1.6;color:#647279}.text-link{font-weight:750;color:#98671c;font-size:13px}.project-focus{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.project-focus img{width:100%;height:470px;object-fit:cover;border-radius:9px}.project-focus p{line-height:1.75;color:#607077}.compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.compare{background:white;border:1px solid #e0d7c7;border-radius:13px;overflow:hidden}.compare .pair{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#d9d2c7}.compare .pair>div{position:relative;overflow:hidden}.compare .pair img{height:340px;width:100%;object-fit:cover}.compare .pair .tag{position:absolute;left:12px;bottom:12px;background:#111e21e8;color:white;border-radius:22px;padding:7px 13px;font-size:12px;font-weight:700}.compare .pair>div:last-child .tag{background:var(--gold);color:#161c20}.compare .desc{padding:20px 24px}.compare h3{font-size:24px;margin:0 0 7px}.compare p{font-size:13px;color:#69767e;line-height:1.65;margin:0}.compare small{color:#987b4c;font-size:11px;display:block;margin-top:7px}.rsj-section{position:relative;overflow:hidden;background:#0b1115;color:white;padding:100px 0 95px;background-image:linear-gradient(#cfa65d0a 1px,transparent 1px),linear-gradient(90deg,#cfa65d0a 1px,transparent 1px);background-size:34px 34px}.rsj-section h2{font-size:clamp(38px,4.1vw,65px)}.rsj-section>div>p{color:#ced7da;max-width:850px;line-height:1.8}.rsj-layout{display:grid;grid-template-columns:minmax(270px,.63fr) minmax(0,1.4fr);gap:35px;margin-top:36px;align-items:center}.step-list{display:grid;gap:5px}.step-btn{display:flex;align-items:center;gap:14px;width:100%;background:transparent;color:#b9c4c7;border:1px solid transparent;padding:14px 13px;border-radius:8px;text-align:left;font-size:14px;transition:background .25s,border-color .25s}.step-btn span{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:50%;background:#4a3c25;color:var(--gold);font-weight:800}.step-btn.on{background:#26333a;border-color:#d8a95c;color:white}.step-btn.on span{background:var(--gold);color:#101719}.rsj-frame{border:1px solid #8f6d3d;border-radius:12px;overflow:hidden;background:#111a1e;box-shadow:0 16px 60px #0005}.rsj-toolbar{padding:14px 20px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #785f38;color:var(--gold);font-size:11px;font-weight:750;letter-spacing:.12em}.rsj-art{position:relative}.rsj-art svg{display:block;width:100%;height:auto}.rsj-art svg .stage{transition:opacity .5s,transform .65s;transform-origin:center}.rsj-art svg .measurement{opacity:0;transition:opacity .5s}.rsj-legend{padding:15px 22px 20px;border-top:1px solid #615237}.rsj-legend p{color:#d1d9dc;font-size:13px;line-height:1.55;min-height:52px}.rsj-buttons{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.rsj-buttons button{border:1px solid #957749;border-radius:8px;color:#f3d499;background:#1f292e;padding:10px 14px;font-size:12px}.rsj-buttons button.gold{background:var(--gold);color:#1b1e20;font-weight:750}.rsj-legal{font-size:11px!important;line-height:1.55!important;color:#aebcc0!important;margin-top:15px!important}.rsj-art svg .beam,.rsj-art svg .props,.rsj-art svg .cut,.rsj-art svg .finish,.rsj-art svg .joists,.rsj-art svg .inspection,.rsj-art svg .measurement{opacity:0}.rsj-section[data-step='0'] .joists,.rsj-section[data-step='1'] .joists,.rsj-section[data-step='2'] .joists,.rsj-section[data-step='3'] .joists,.rsj-section[data-step='4'] .joists,.rsj-section[data-step='5'] .joists,.rsj-section[data-step='6'] .joists{opacity:1}.rsj-section[data-step='1'] .measurement,.rsj-section[data-step='3'] .measurement,.rsj-section[data-step='4'] .measurement{opacity:1}.rsj-section[data-step='2'] .props,.rsj-section[data-step='3'] .props,.rsj-section[data-step='4'] .props{opacity:1}.rsj-section[data-step='3'] .cut,.rsj-section[data-step='4'] .cut,.rsj-section[data-step='5'] .cut,.rsj-section[data-step='6'] .cut{opacity:1}.rsj-section[data-step='4'] .beam,.rsj-section[data-step='5'] .beam,.rsj-section[data-step='6'] .beam{opacity:1}.rsj-section[data-step='5'] .finish,.rsj-section[data-step='6'] .finish{opacity:1}.rsj-section[data-step='6'] .inspection{opacity:1}.rsj-section[data-step='1'] svg .dimarrow,.rsj-section[data-step='3'] svg .dimarrow,.rsj-section[data-step='4'] svg .dimarrow{stroke-dasharray:12 6;animation:measureFlow 2s linear infinite}@keyframes measureFlow{to{stroke-dashoffset:-36}}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.service-card{padding:25px;background:#1a282e;border:1px solid #34464d;border-radius:11px;min-height:172px}.service-card b{font-size:10px;letter-spacing:.15em;color:var(--gold)}.service-card h3{font:600 18px var(--sans);margin:19px 0 8px}.service-card p{font-size:13px;line-height:1.6}.contact-band{background:var(--gold);padding:43px 0}.contact-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-band h2{font-size:35px;margin:0}.contact-band .button{background:#172229;color:white;border-color:#172229}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:25px}.contact-box{background:white;border-radius:14px;border:1px solid #e0d6c6;padding:32px}.contact-box h3{font-size:30px}.contact-box p{color:#667177;line-height:1.7}.field{display:block;font-size:13px;font-weight:650;margin:14px 0}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #c9c5b9;border-radius:8px;padding:13px 14px;margin-top:7px;background:white;color:#18232a}.field textarea{min-height:126px;resize:vertical}.foot{background:#081015;color:#b3c0c4;padding:65px 0 28px}.footercols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.foot h3{color:white;font:500 21px var(--serif)}.foot a{display:block;margin:10px 0;font-size:13px}.copy{margin-top:38px;padding-top:22px;border-top:1px solid #3c464b;font-size:12px;color:#8ea0a7}.page-title{background:#111b20;color:white;padding:84px 0}.page-title h1{font-size:clamp(42px,5vw,75px);max-width:900px;line-height:1.1}.page-title p{max-width:690px;line-height:1.75;color:#b9c7cc}.mini-contact{position:fixed;right:20px;bottom:18px;background:#0e1b21;color:var(--gold);border:1px solid var(--gold2);border-radius:40px;padding:13px 19px;font-weight:750;font-size:13px;z-index:35}.quote-box{max-width:760px;margin:0 auto;padding:35px;background:white;border-radius:14px;border:1px solid #d8d2c5}.wizard-progress{display:flex;gap:6px;margin:0 0 27px}.wizard-progress span{flex:1;height:5px;background:#e1ddd5;border-radius:10px}.wizard-progress span.done{background:var(--gold2)}.wizard-panel[hidden]{display:none}.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choices label{display:block;border:1px solid #d7d0c2;padding:13px;border-radius:8px;cursor:pointer}.choices label:has(input:checked){border-color:#b47b32;background:#fcf3df}.wizard-nav{display:flex;justify-content:space-between;margin-top:25px}.wizard-nav button{padding:12px 24px;border:1px solid #aaa394;background:#fff;border-radius:9px}.wizard-nav button.primary{background:var(--gold);border-color:var(--gold);font-weight:800}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}.filters button{border:1px solid #aca495;padding:10px 16px;border-radius:25px;background:white}.filters button.on{background:#1b2a30;color:white;border-color:#1b2a30}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.gallery-card{background:white;border:1px solid #e1dcd1;border-radius:11px;overflow:hidden}.gallery-card img{height:285px;width:100%;object-fit:cover}.gallery-card .text{padding:19px}.gallery-card h3{font-size:22px}.gallery-card p{font-size:13px;color:#6d757a}.reveal{opacity:0;transform:translateY(23px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}.privacy{font-size:12px;color:#616b73}.test-label{display:none}.mobile-bar{display:none}@media(max-width:1120px){.nav{gap:13px}.header{gap:16px}.nav a{font-size:11px}.phone{display:none}.hero-grid{gap:17px}.hero-photo{min-height:470px}}@media(max-width:870px){.menu{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 25px 20px;background:#0f191e;max-height:calc(100dvh - 82px);overflow:auto;box-shadow:0 16px 35px #0008}.nav.open{display:flex}.nav a{padding:13px 5px;border-bottom:1px solid #2d3a3f;font-size:14px}.hero-grid{grid-template-columns:1fr 0.85fr}.hero h1{font-size:53px}.hero-photo{min-height:420px}.rsj-layout{grid-template-columns:1fr}.step-list{grid-template-columns:repeat(2,1fr)}.tile-grid,.service-grid,.gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.wrap{padding:0 17px}.header{min-height:71px;gap:10px}.brand{min-width:0}.brand img{width:38px;height:38px}.brand strong{font-size:16px}.brand small{font-size:8px}.header>.button{font-size:11px;padding:10px 12px}.nav{max-height:calc(100dvh - 71px)}.hero{min-height:0}.hero-grid{padding:45px 0 72px;grid-template-columns:1fr}.hero h1{font-size:clamp(40px,11vw,59px)}.hero p{font-size:14px}.hero-photo{min-height:360px}.hero-photo>.main-photo{width:75%;height:97%}.hero-photo>.detail{height:44%;width:41%;bottom:0}.photo-caption{bottom:-12px}.section,.rsj-section{padding:65px 0}.section-head{display:block}.section-head .button{margin-top:20px}.tile-grid,.compare-grid,.service-grid,.gallery{grid-template-columns:1fr}.compare .pair img{height:290px}.step-list{grid-template-columns:1fr 1fr}.step-btn{font-size:12px;padding:10px 8px;gap:8px}.step-btn span{width:26px;height:26px}.rsj-toolbar{padding:10px;font-size:9px;letter-spacing:.04em}.rsj-legend{padding:13px}.contact-grid,.project-focus,.footercols{grid-template-columns:1fr}.project-focus img{height:370px}.contact-band>.wrap{display:block}.contact-band .button{margin-top:18px}.contact-band h2{font-size:28px}.contact-box{padding:23px}.choices{grid-template-columns:1fr}.mini-contact{display:none}.mobile-bar{display:flex;gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:40;background:#0a1419;padding:10px}.mobile-bar a{background:var(--gold);color:#172027;text-align:center;font-size:13px;flex:1;padding:13px 6px;border-radius:9px;font-weight:800}.mobile-bar a:last-child{background:#263a44;color:white}.foot{padding-bottom:115px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* V3: distinctive homepage project ribbons, exact real photography and responsive animation */
.hero{min-height:690px}.hero-grid{padding:64px 0 55px}.hero-photo .main-photo{object-fit:cover}.ribbon-area{padding:28px 0;background:#111b20;color:white;border-top:1px solid #785a34;border-bottom:1px solid #785a34}.ribbon-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.ribbon-title strong{font:400 23px Georgia,serif}.ribbon-actions{display:flex;gap:8px}.ribbon-actions button{border:1px solid #9c7a43;background:#19292f;color:#f2c575;border-radius:50%;width:37px;height:37px;font-size:22px}.photo-rail{display:flex;gap:13px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#83653f transparent;padding-bottom:10px}.photo-rail a{position:relative;flex:0 0 clamp(160px,19vw,238px);height:167px;border-radius:9px;overflow:hidden;scroll-snap-align:start;border:1px solid #4b4b42}.photo-rail img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo-rail a:hover img{transform:scale(1.06)}.photo-rail .rail-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#061015e9);color:#fff;padding:35px 12px 11px;font-size:12px;font-weight:650}.photo-rail .rail-cap small{display:block;color:#efc177;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.ribbon-area.bottom{padding:54px 0}.feature-first{display:grid;grid-template-columns:1fr .9fr;gap:32px;align-items:center;background:#112026;color:white;border-radius:14px;overflow:hidden;border:1px solid #586044}.feature-first img{width:100%;height:360px;object-fit:cover}.feature-first>div{padding:26px}.feature-first h3{font-size:clamp(27px,3vw,40px)}.feature-first p{line-height:1.6;color:#bbc6c9}.feature-first .button{margin-top:9px}.service-card a{display:block;margin-top:16px;font-size:12px;color:var(--gold)}.tiles-contact{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.tiles-contact .simple-form{background:#fff;border-radius:12px;padding:25px;border:1px solid #e0d5c4}.tiles-contact .simple-form h3{font-size:26px}.simple-form label{display:block;font-size:12px;font-weight:700;margin:14px 0}.simple-form input,.simple-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #bbb4a6;border-radius:7px;padding:13px;font:inherit}.simple-form textarea{min-height:100px}.simple-form button{border:none}.small-note{font-size:11px;color:#66757a;line-height:1.6}.compare-sub{max-width:720px;color:#66777e;font-size:13px;line-height:1.7}.section-home{padding-top:68px}.section .anchors{scroll-margin-top:84px}.rsj-art svg .load-arrow{stroke-dasharray:9 7;animation:loadFlow 2.2s linear infinite}.rsj-art svg .measure-label{fill:#ecc274;font-size:13px;font-family:monospace}.rsj-art svg .dimension-help{fill:#dce2e2;font-size:11px}.rsj-art svg .measurement{opacity:0;transition:opacity .35s}.rsj-art svg .dimarrow{stroke-dasharray:12 6;animation:measureFlow 1.9s linear infinite}.rsj-art svg .callout{opacity:0;transition:opacity .4s}.rsj-section[data-step='1'] .callout,.rsj-section[data-step='2'] .callout,.rsj-section[data-step='3'] .callout,.rsj-section[data-step='4'] .callout{opacity:1}@keyframes loadFlow{to{stroke-dashoffset:-32}}.highlight-gold{color:var(--gold)}.preview-bar{background:#ad8138;color:#0b1014;padding:7px 15px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.04em}svg text{user-select:none}.legal-line{font-size:11px;color:#a6b5ba}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:26px}.section-title-row h2{margin:0}.tagline{display:block;font-size:12px;color:#b4c7ca;max-width:500px}.compare .pair img{object-position:center}.compare .desc strong{display:block;font-size:11px;letter-spacing:.14em;color:#b17b34;margin-bottom:7px}.email-alert{padding:10px 15px;background:#fff3d8;color:#2d2921;border-left:3px solid #c08b34;font-size:12px;margin:10px 0}.quote-flex{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.quote-flex a{padding:12px 16px;border:1px solid #a69472;border-radius:9px;font-size:13px}.compare-grid .compare:first-child{border-color:#cfb17f}
@media(max-width:820px){.feature-first{grid-template-columns:1fr}.feature-first img{height:260px}.tiles-contact{grid-template-columns:1fr}}
@media(max-width:600px){.hero-grid{padding:42px 0 45px}.photo-rail a{flex-basis:176px;height:138px}.ribbon-title strong{font-size:18px}.ribbon-area{padding:20px 0}.ribbon-area.bottom{padding:42px 0}.section-title-row{display:block}.section-title-row .button{margin-top:15px}.compare .pair img{height:245px}.feature-first>div{padding:19px}.feature-first img{height:240px}}
@media(prefers-reduced-motion:reduce){.rsj-art svg .load-arrow,.rsj-art svg .dimarrow{animation:none!important}}

@media(max-width:600px){.hero:before{background:linear-gradient(108deg,#071015db 10%,#102029af 72%,#071015e3),url("assets/dark_after_stairs.webp") center center/cover!important}.hero:after{opacity:.15}.hero-photo{margin-top:10px}}

/* V4 premium homepage: large fixed-height crossfade gallery, no hover jitter */
.hero-v4{background:#0d1114;position:relative;padding:64px 0 22px;color:#fff;min-height:0}
.hero-v4-layout{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.07fr);gap:42px;align-items:center}
.hero-v4-copy h1{font-size:clamp(38px,4.65vw,68px);line-height:1.15;letter-spacing:-.045em;margin:18px 0 20px;font-family:Georgia,serif;color:#fbf8f0}
.hero-v4-copy p{max-width:490px;color:#c9d3d5;font-size:16px;line-height:1.7}
.hero-v4-copy .hero-ctas{margin-top:26px}
.hero-mini-link{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:24px;font-size:12px;color:#d7c7a8}
.hero-mini-link a{color:#d7c7a8}
.hero-v4-stage{position:relative;border:1px solid #8f6c33;border-radius:16px;overflow:hidden;isolation:isolate;aspect-ratio:1.19;min-height:350px;background:#1b2226;box-shadow:0 25px 65px #0007}
.hero-v4-images{position:absolute;inset:0}.hero-v4-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease-in-out;transform:none!important;animation:none!important}
.hero-v4-img.active{opacity:1}
.hero-v4-stage:after{content:"";pointer-events:none;position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#04080cdd);z-index:1}
.hero-v4-stage-overlay{position:absolute;bottom:24px;left:24px;right:22px;z-index:2}.hero-v4-stage-overlay h3{font-family:Georgia,serif;font-size:clamp(20px,2vw,27px);margin:7px 0}.hero-v4-stage-overlay #hero-v4-location{font-size:10px;letter-spacing:.18em;color:#f2c77b}
.hero-v4-dots{position:absolute;top:17px;right:17px;z-index:2;display:flex;gap:7px}.hero-v4-dots button{border:1px solid #ffffff70;width:10px;height:10px;border-radius:50%;background:#ffffff55;padding:0}.hero-v4-dots button.active{background:#f3bd55;border-color:#f3bd55}
.hero-v4-thumbwrap{margin-top:24px}.hero-v4-thumbs{display:flex;gap:10px;overflow-x:auto;padding:4px 0 13px;scrollbar-width:thin;scrollbar-color:#93713c #14191d;scroll-snap-type:x proximity}
.hero-v4-thumbs button{position:relative;flex:0 0 185px;height:132px;border:1px solid #616161;border-radius:12px;overflow:hidden;padding:0;background:#12181c;color:#fff;scroll-snap-align:start;text-align:left;transform:none!important;animation:none!important;transition:border-color .3s,filter .3s!important}
.hero-v4-thumbs button.active{border:2px solid #f3bd55}.hero-v4-thumbs button:hover{border-color:#f3bd55;filter:brightness(1.08)}
.hero-v4-thumbs img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.67);transform:none!important;transition:none!important;animation:none!important}
.hero-v4-thumbs button span{position:absolute;bottom:0;left:0;right:0;padding:20px 11px 10px;background:linear-gradient(transparent,#030405e6);font-size:14px;font-family:Georgia,serif;line-height:1.2}
.hero-v4-thumbs button small{display:block;color:#f2bd64;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.14em;margin-top:5px}
/* Stop shaky hover zoom/translate on portfolio cards. */
.project-card,.card,.photo-card,.project-tile,.showcase-card,.rail-card,.feature-first img,.gallery-grid img,.comparison img{animation:none!important;transform:none!important;will-change:auto!important}
.project-card:hover,.card:hover,.photo-card:hover,.project-tile:hover,.showcase-card:hover,.rail-card:hover{transform:none!important}
.project-card img,.card img,.photo-card img,.project-tile img,.showcase-card img,.rail-card img{transform:none!important;animation:none!important;transition:opacity .2s ease!important}
/* RSJ: additive fine-line and load path motion; geometry and values illustrative. */
#rsj .dimarrow{stroke-dasharray:9 4;animation:dimension-flow 3s linear infinite}#rsj .load-arrow{stroke-dasharray:7 6;animation:dimension-flow 2.5s linear infinite}
#rsj .measurement{transition:opacity .5s ease}#rsj .step-btn{transition:background-color .35s,border-color .35s!important;transform:none!important}
@keyframes dimension-flow{to{stroke-dashoffset:-52}}
.quote-connection-notice{max-width:730px;margin:20px auto;background:#fff3d6;color:#564525;padding:13px 18px;border:1px solid #e0b866;border-radius:10px;font-size:13px;line-height:1.6}
.quote-alt{text-align:center;padding:22px;font-size:14px}.quote-alt a{color:#b47e1b}
.quote-teaser{text-align:center}.quote-teaser p{max-width:700px;margin:0 auto 25px}.quote-teaser .hero-ctas{justify-content:center}
.pl-assistant{position:fixed;bottom:20px;left:22px;right:auto;z-index:100}.pl-chat-launch{background:#0d1418;color:#ffcc79;border:1px solid #af853b;border-radius:26px;padding:13px 18px;box-shadow:0 6px 20px #0006;cursor:pointer;font-size:13px}
.pl-chat-panel{position:absolute;bottom:60px;left:0;right:auto;width:min(338px,calc(100vw - 22px));background:#f8f4ec;color:#15191b;border-radius:14px;overflow:hidden;box-shadow:0 22px 80px #0009;border:1px solid #d6c7a6}.pl-chat-panel[hidden]{display:none}.pl-chat-panel header{background:#12191d;color:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center}.pl-chat-panel header button{background:transparent;border:0;color:#fff;font-size:20px}.pl-chat-copy{padding:18px}.pl-chat-copy p{font-size:13px;line-height:1.6}.pl-chat-copy a{display:block;border:1px solid #ded6c8;padding:12px;border-radius:10px;margin:9px 0;font-size:13px;color:#152025}.pl-chat-copy a:hover{background:#fff0d1}.pl-chat-copy small{font-size:11px;color:#626c70;display:block;line-height:1.5;margin-top:14px}
@media(max-width:900px){.hero-v4-layout{grid-template-columns:1fr;gap:32px}.hero-v4-copy h1{max-width:690px}.hero-v4-stage{min-height:330px;max-height:620px}.hero-v4-thumbs button{flex-basis:160px;height:122px}}
@media(max-width:600px){.hero-v4{padding:32px 0 20px}.hero-v4-copy h1{font-size:clamp(35px,9.4vw,52px)}.hero-v4-copy p{font-size:14px}.hero-v4-stage{min-height:270px;aspect-ratio:1.14}.hero-v4-thumbs button{flex-basis:145px;height:108px}.pl-assistant{left:14px;right:auto;bottom:73px}.pl-chat-panel{width:min(338px,calc(100vw - 28px))}}
@media(prefers-reduced-motion:reduce){.hero-v4-img{transition:none}#rsj .dimarrow,#rsj .load-arrow{animation:none}}

.areas-strip-home{background:#f4f0e7;padding:70px 0 42px}.area-pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.area-pills span{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;border:1px solid #ccb07d;background:#fffaf0;color:#382718;font-weight:600;box-shadow:0 6px 18px #00000008}@media(max-width:600px){.areas-strip-home{padding:52px 0 34px}.area-pills span{font-size:14px;padding:10px 14px}}

/* V6: labelled kitchen wall visualisation with original worksite photographs */
.kitchen-supplement{background:#f4f0e8}.kitchen-supplement-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;margin-top:24px}.kitchen-supplement-lead{margin:0;border:1px solid #d3c6ae;background:#fff;border-radius:14px;overflow:hidden}.kitchen-supplement-lead img{display:block;width:100%;height:auto;aspect-ratio:1.34;object-fit:cover}.kitchen-supplement-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:15px 17px}.kitchen-supplement-caption strong{color:#181c1d}.kitchen-supplement-caption span{font-size:12px;color:#75664c}.kitchen-supplement-originals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kitchen-supplement-originals img{width:100%;height:100%;min-height:0;max-height:210px;object-fit:cover;border-radius:10px}.kitchen-supplement-originals img:first-child{grid-column:1/-1;max-height:340px}.kitchen-supplement-originals p{grid-column:1/-1;color:#75664c;font-size:12px;margin:0}@media(max-width:800px){.kitchen-supplement-grid{grid-template-columns:1fr}.kitchen-supplement-originals img:first-child{max-height:220px}}

/* Mirfield bathroom slideshow — actual photographs only */
.mirfield-showcase{background:#f4f0e7;color:#111b20;padding:75px 0 65px;scroll-margin-top:110px}.mir-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.mir-header h2{font-family:Georgia,serif;line-height:1.15;font-weight:400;font-size:clamp(32px,3.7vw,49px);margin:14px 0}.mir-header h2 em{font-style:normal;color:#956921}.mir-header p{max-width:700px;color:#56636b;line-height:1.6}.mir-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:22px}.mir-stage{position:relative;background:#19242a;border-radius:14px;overflow:hidden;min-height:480px;max-height:640px;outline-offset:4px}.mir-main-image{width:100%;height:100%;min-height:480px;max-height:640px;object-fit:contain;display:block}.mir-stage-label{position:absolute;top:18px;left:18px;border-radius:100px;padding:10px 16px;font-size:12px;font-weight:800;letter-spacing:.09em;background:#f2c36c;color:#151b20}.mir-after{background:#a9d6b0}.mir-during{background:#e7dac0}.mir-photo-count{position:absolute;top:19px;right:20px;color:#fff;background:#111b20b8;padding:9px 13px;border-radius:30px;font-variant-numeric:tabular-nums}.mir-stage-caption{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(0deg,#0b1215f5,#0b1215b3,transparent);padding:44px 24px 22px}.mir-stage-caption strong{display:block;font-size:22px;font-family:Georgia,serif;margin-bottom:6px}.mir-stage-caption span{font-size:13px;line-height:1.55;color:#e3e9e6}.mir-sidebar{border:1px solid #d4c5ac;border-radius:14px;padding:28px;background:#fffdfa}.mir-sidebar-eyebrow{font-size:11px;letter-spacing:.17em;color:#a17431;font-weight:800}.mir-sidebar h3{font:normal 27px/1.3 Georgia,serif;margin:14px 0 16px}.mir-sidebar p{font-size:15px;color:#576069;line-height:1.65}.mir-navigation{display:flex;gap:10px;margin:26px 0 23px}.mir-navigation button{border-radius:9px;background:#1a2a32;color:#fff;border:1px solid #a78645;min-height:45px;padding:10px 17px;cursor:pointer}.mir-navigation button.mir-play{background:#efba59;color:#151515;font-weight:800;flex:1}.mir-progress{height:4px;border-radius:2px;background:#e0dbd0;overflow:hidden}.mir-progress span{display:block;height:100%;background:#c48f3e;transition:width .35s}.mir-sidebar .mir-disclaimer{font-size:12px;color:#6f7579;margin-top:20px}.mir-thumbnails{display:flex;gap:11px;overflow-x:auto;padding:18px 0 10px;scrollbar-width:thin}.mir-thumb{flex:0 0 110px;position:relative;height:100px;border-radius:9px;overflow:hidden;border:2px solid transparent;background:#1b242a;padding:0;cursor:pointer;transition:border-color .2s}.mir-thumb.selected{border-color:#d59e41}.mir-thumb img{width:100%;height:100%;display:block;object-fit:cover}.mir-thumb span{position:absolute;bottom:0;left:0;right:0;padding:5px;font-size:10px;font-weight:800;letter-spacing:.08em;color:#fff;background:#111b20c9;text-transform:uppercase}@media(max-width:900px){.mir-layout{grid-template-columns:1fr}.mir-header{display:block}.mir-sidebar{padding:22px}.mir-stage,.mir-main-image{min-height:340px;max-height:540px}}@media(max-width:600px){.mirfield-showcase{padding:45px 0 40px}.mir-stage,.mir-main-image{min-height:300px;max-height:420px}.mir-stage-caption{padding:34px 18px 15px}.mir-stage-caption strong{font-size:19px}.mir-sidebar{padding:18px}.mir-thumb{flex-basis:85px;height:88px}}@media(prefers-reduced-motion:reduce){.mir-progress span{transition:none}}

/* V8 Structural redesign. Layout and animation developed for PL Carpentry, not copied from third-party demo. */
.struct-hero-v8{background:#0c1216;color:#f9f5ed;padding:74px 0 80px;position:relative;background-image:linear-gradient(#eac48209 1px, transparent 1px),linear-gradient(90deg,#eac48209 1px,transparent 1px);background-size:42px 42px}
.struct-hero-v8-grid{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:center;gap:70px}
.struct-hero-v8 h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,5vw,72px);line-height:1.09;letter-spacing:-.04em;margin:22px 0}.struct-hero-v8-copy>p{color:#c7d1d3;font-size:16px;line-height:1.82;max-width:600px}.struct-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.struct-mini-proofs{display:flex;flex-wrap:wrap;gap:12px 17px;margin-top:36px}.struct-mini-proofs span{font-size:11px;color:#e4d7bc;border-left:2px solid #e8b65e;padding-left:9px}.struct-main-photo{margin:0;position:relative;border-radius:14px;overflow:hidden;border:1px solid #bd914c;background:#1d282c;box-shadow:0 30px 64px #0007}.struct-main-photo img{display:block;width:100%;height:min(560px,55vw);object-fit:cover;object-position:center 40%}.struct-main-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#070e15e6);pointer-events:none}.struct-main-photo figcaption{position:absolute;z-index:2;left:23px;bottom:22px;color:white;font-family:Georgia,serif;font-size:19px}.struct-main-photo figcaption span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.2em;color:#f2c379;margin-bottom:8px}
.struct-intro-v8{background:#f6f2eb;padding:80px 0 85px;color:#142029}.struct-intro-v8 h2,.struct-project-v8 h2,.struct-questions-v8 h2,.struct-signoff-v8 h2,.struct-moving-areas h2,.struct-cta-v8 h2{font:400 clamp(29px,3.4vw,46px)/1.2 Georgia,serif;letter-spacing:-.035em;margin:12px 0 20px}.struct-intro-text{max-width:780px;line-height:1.8;color:#56656b}.struct-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #dfd9cc;border-radius:14px;overflow:hidden;margin-top:32px}.struct-work-grid article{padding:29px 21px;border-right:1px solid #dfd9cc;background:#fffcf8}.struct-work-grid article:last-child{border:0}.struct-work-grid b{font-size:10px;color:#9c7136;letter-spacing:.15em}.struct-work-grid h3{font:400 19px/1.3 Georgia,serif;margin:16px 0}.struct-work-grid p{font-size:13px;color:#57666a;line-height:1.65}
.struct-project-v8{background:#eee8dd;padding:80px 0}.struct-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.struct-photo-detail img{display:block;width:100%;height:420px;object-fit:cover;object-position:center 45%;border-radius:14px;border:1px solid #d5b67d}.struct-project-v8 p{color:#526167;line-height:1.8;max-width:580px}
#struct-process{scroll-margin-top:110px}#struct-process .rsj-section{padding-top:78px}#struct-process .rsj-section h1{max-width:800px}#struct-process .rsj-frame{border:1px solid #8a6d3a}#struct-process .rsj-layout{align-items:center}
.struct-signoff-v8{background:#101a20;color:#f8f4ea;padding:85px 0;text-align:center;border-top:1px solid #66522d}.struct-signoff-inner{max-width:750px}.struct-check{font-size:43px;display:grid;place-items:center;margin:18px auto 20px;width:85px;height:85px;border:2px solid #e7b95d;border-radius:100%;color:#edc078;box-shadow:0 0 0 7px #edc07812}.struct-signoff-v8 p{color:#c7d1d2;line-height:1.8;max-width:680px;margin:0 auto 26px}.struct-signoff-v8 .button.outline{border-color:#e2b55d;color:#ffdfab}
.struct-questions-v8{background:#f6f2eb;padding:90px 0}.struct-faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.struct-questions-v8 p{color:#526268;line-height:1.8}.struct-faqs details{border-bottom:1px solid #d9d1c5;padding:17px 0}.struct-faqs summary{cursor:pointer;font:400 19px/1.4 Georgia,serif;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}.struct-faqs summary:after{content:'+';font:22px Arial;color:#a47635}.struct-faqs details[open] summary:after{content:'−'}.struct-faqs details p{font-size:14px;margin:11px 0}
.struct-moving-areas{padding:65px 0;background:#eee9de;overflow:hidden}.struct-moving-areas h2{margin-bottom:27px}.struct-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.struct-marquee-track{width:max-content;display:flex;gap:12px;animation:structAreasMove 40s linear infinite}.struct-marquee-track span{padding:12px 22px;white-space:nowrap;border:1px solid #cdb47e;border-radius:99px;background:#fbf9f3;color:#382f24;font:500 14px Arial}.struct-marquee:hover .struct-marquee-track{animation-play-state:paused}@keyframes structAreasMove{to{transform:translateX(-50%)}}
.struct-cta-v8{padding:90px 0;background:#0b1216;color:#fff;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:40px 40px}.struct-cta-v8>.wrap{border:1px solid #635033;border-radius:16px;padding:48px;background:linear-gradient(110deg,#10191eea,#10191ec0)}.struct-cta-v8 p{color:#cbd4d4;line-height:1.8;max-width:710px}.struct-cta-v8 .button.outline{border-color:#b5975d;color:#fff}
@media(max-width:960px){.struct-hero-v8-grid,.struct-project-grid,.struct-faq-grid{grid-template-columns:1fr;gap:32px}.struct-hero-v8{padding:46px 0}.struct-main-photo img{height:480px}.struct-work-grid{grid-template-columns:repeat(2,1fr)}.struct-work-grid article:nth-child(2){border-right:0}.struct-work-grid article:nth-child(-n+2){border-bottom:1px solid #dfd9cc}}
@media(max-width:600px){.struct-hero-v8 h1{font-size:41px}.struct-hero-v8-copy>p{font-size:14px}.struct-main-photo img{height:410px}.struct-intro-v8,.struct-project-v8,.struct-questions-v8,.struct-signoff-v8,.struct-moving-areas,.struct-cta-v8{padding:50px 0}.struct-work-grid{grid-template-columns:1fr}.struct-work-grid article{border:0!important;border-bottom:1px solid #dfd9cc!important}.struct-work-grid article:last-child{border:0!important}.struct-photo-detail img{height:360px}.struct-cta-v8>.wrap{padding:26px 20px}.struct-signoff-v8 h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.struct-marquee-track{animation:none}}

/* V9: project grid and album layout */
.v9-services-gallery{padding:72px 0 50px;background:#f5f1ea;color:#121b20}.v9-section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}.v9-section-head h2{margin:12px 0;font-family:Georgia,serif;font-size:clamp(27px,3.8vw,48px);font-weight:400;line-height:1.2}.v9-section-head p{color:#667078;max-width:600px;line-height:1.7}.v9-scroller{display:flex;gap:14px;overflow-x:auto;padding:4px max(20px,calc((100vw - 1180px)/2)) 20px;scroll-snap-type:x proximity;scrollbar-width:thin}.v9-scroller a{flex:0 0 clamp(210px,24vw,310px);position:relative;border-radius:12px;overflow:hidden;height:260px;background:#0c1217;color:#fff;scroll-snap-align:center;box-shadow:0 8px 22px #0002}.v9-scroller img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .4s;transform:none!important;animation:none!important}.v9-scroller a:hover img{filter:brightness(.82)}.v9-scroller span{position:absolute;bottom:0;left:0;right:0;font-family:Georgia,serif;font-size:20px;padding:40px 18px 17px;background:linear-gradient(transparent,#05090ddd)}.v9-scroller small{display:block;font-family:Arial,sans-serif;font-size:12px;color:#d9be87;margin-top:6px}
.v9-areas{background:#10191e;color:#fff;padding:77px 0 0;overflow:hidden}.v9-areas-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr);gap:45px;align-items:center}.v9-areas h2{font:400 clamp(29px,3.7vw,49px)/1.2 Georgia,serif;margin:12px 0 20px}.v9-areas p{color:#bfc9ce;line-height:1.75}.v9-areas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.v9-areas-grid a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#16252d;border:1px solid #3a464c;border-radius:8px;padding:15px;color:#f9f2e8;font-weight:bold}.v9-areas-grid a:hover{border-color:#e9b55f}.v9-areas-grid a span{color:#e3b363}.v9-area-marquee{overflow:hidden;white-space:nowrap;border-top:1px solid #334046;margin-top:42px;padding:17px 0;background:#0a1115}.v9-area-track{display:flex;width:max-content;gap:30px;align-items:center;animation:v9marquee 46s linear infinite}.v9-area-track span{display:inline-block;color:#d4b878;text-transform:uppercase;font-size:11px;letter-spacing:.2em}.v9-area-track span:before{content:'✦';padding-right:30px;color:#846f4c}@keyframes v9marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.v9-area-marquee:hover .v9-area-track{animation-play-state:paused}
.v9-projects-intro{background:#11191e;color:#fff;padding:76px 0 42px}.v9-projects-intro h1{font-family:Georgia,serif;font-size:clamp(40px,5vw,66px);font-weight:400;line-height:1.12;margin:12px 0}.v9-projects-intro h1 em{color:#e7b65c;font-style:normal}.v9-projects-intro p{max-width:740px;color:#c0cbcf;line-height:1.8}.v9-filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}.v9-filters button{border:1px solid #687279;background:#142027;border-radius:50px;color:#fff;padding:11px 17px;cursor:pointer}.v9-filters button.selected{background:#e7b65c;color:#12181c;border-color:#e7b65c;font-weight:bold}.v9-project-list{padding:54px 0 90px;background:#f5f1e9}.v9-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.v9-project-card{display:block;overflow:hidden;border-radius:12px;background:#fff;color:#152127;border:1px solid #dfdad0;box-shadow:0 6px 24px #0000000b}.v9-project-card:hover{border-color:#cea464}.v9-project-image{position:relative;overflow:hidden;aspect-ratio:1.25;background:#222}.v9-project-image img{width:100%;height:100%;object-fit:cover;display:block;transform:none!important;animation:none!important;transition:filter .35s}.v9-project-card:hover img{filter:brightness(.91)}.v9-project-image span{position:absolute;top:14px;left:14px;padding:7px 12px;background:#0c1417dd;color:#f7dcaa;font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-radius:50px}.v9-project-text{padding:22px}.v9-project-text h3{font-family:Georgia,serif;font-size:23px;line-height:1.3;margin:9px 0 12px}.v9-project-text p{font-size:14px;line-height:1.6;color:#65727a;min-height:66px}.v9-project-place{font-size:12px;color:#a27734}.v9-project-text strong{font-size:13px;color:#8d601c}.v9-kitchen-empty{background:#fff;border:1px solid #e2cfa8;border-radius:12px;padding:30px;color:#4e4538}
.v9-albums{padding:90px 0;background:#101a20;color:#fff}.v9-albums>div>h2{font:400 clamp(30px,3.7vw,48px) Georgia,serif;margin:12px 0}.v9-album-intro{max-width:700px;color:#bac5ca}.v9-album{padding:34px 0 30px;margin-top:30px;border-top:1px solid #3b4a53;scroll-margin-top:110px}.v9-album-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin:0 0 20px}.v9-album h3{font:400 clamp(26px,2.6vw,36px) Georgia,serif;margin:7px 0}.v9-album p{color:#b6c2c7}.v9-location{border:1px solid #a57d3c;border-radius:30px;padding:10px 14px;color:#e8bf78;white-space:nowrap}.v9-album-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-height:540px;overflow-y:auto;padding:0 5px 8px 0;scrollbar-color:#b18743 #122029;scrollbar-width:thin}.v9-photo{display:block;position:relative;border:1px solid #33444e;border-radius:9px;overflow:hidden;background:#0a0e11;cursor:pointer;padding:0;aspect-ratio:1.06}.v9-photo img{width:100%;height:100%;object-fit:cover;display:block}.v9-photo span{position:absolute;left:8px;bottom:8px;background:#0a1012d9;color:#f2d49f;padding:4px 9px;font-size:11px;border-radius:5px}.v9-photo:hover{border-color:#edbd69}.v9-lightbox[hidden]{display:none!important}.v9-lightbox{position:fixed;inset:0;background:#03080be9;z-index:1000;display:grid;place-items:center;padding:18px}.v9-lightbox-panel{position:relative;max-width:min(1100px,95vw);max-height:94vh;display:flex;flex-direction:column;gap:8px;align-items:center;color:#fff}.v9-lightbox-panel img{max-width:100%;max-height:83vh;object-fit:contain}.v9-lightbox-close{align-self:flex-end;background:#edbd69;color:#111;border:0;border-radius:8px;padding:10px 16px;cursor:pointer}.v9-project-cta{padding:80px 0;background:#efebe2}.v9-project-cta h2{font:400 42px Georgia,serif}.v9-project-cta p{color:#53646d}.v9-struct-proof{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;margin-top:28px}.v9-struct-proof img{width:100%;max-height:620px;object-fit:cover;object-position:center 30%;border-radius:14px}.v9-struct-proof h3{font:400 30px Georgia,serif}.v9-struct-proof p{line-height:1.8}
@media(max-width:960px){.v9-areas-intro{grid-template-columns:1fr}.v9-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v9-album-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.v9-struct-proof{grid-template-columns:1fr}.v9-services-gallery{padding-top:45px}}@media(max-width:600px){.v9-section-head,.v9-album-head{display:block}.v9-section-head>.button{margin-top:15px}.v9-areas{padding-top:52px}.v9-areas-grid{gap:7px}.v9-areas-grid a{padding:12px;font-size:14px}.v9-project-grid{grid-template-columns:1fr}.v9-album-grid{grid-template-columns:1fr;max-height:none;overflow:visible;gap:14px;padding-right:0}.v9-photo{aspect-ratio:auto;min-height:0}.v9-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.v9-albums{padding:65px 0}.v9-scroller a{flex-basis:210px;height:230px}.v9-location{display:inline-block;margin:8px 0}}
@media(prefers-reduced-motion:reduce){.v9-area-track{animation:none}.v9-project-card,.v9-project-card img{transition:none!important}}

/* V10: distinct, clickable kitchen albums. No hover scale, to avoid shaking. */
.v10-kitchens{padding:45px 0 55px;border-top:1px solid #d8d0c1}
.v10-kitchen-heading{max-width:760px;margin:0 0 36px}.v10-kitchen-heading h2{font-size:clamp(28px,3.4vw,44px);margin:9px 0}.v10-kitchen-heading p{line-height:1.7;color:#56636b}
.v10-kitchen-album{scroll-margin-top:105px;margin:0 0 48px;padding-bottom:34px;border-bottom:1px solid #d8d0c1}
.v10-kitchen-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:20px}
.v10-kitchen-head h3{margin:8px 0 10px;font:normal clamp(23px,3vw,34px) Georgia,serif;color:#11222a}.v10-kitchen-head p{max-width:710px;color:#52626b;line-height:1.65}.v10-kitchen-place{flex-shrink:0;border:1px solid #ceb887;border-radius:999px;padding:8px 12px;font-size:12px}
.v10-kitchen-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v10-kitchen-photo{position:relative;display:block;width:100%;border:1px solid #d4c4a2;cursor:pointer;padding:0;border-radius:11px;overflow:hidden;background:#132127;text-align:left;transform:none!important;animation:none!important}
.v10-kitchen-photo img{display:block;width:100%;height:255px;object-fit:cover;transform:none!important;transition:none!important;animation:none!important}
.v10-kitchen-tag{position:absolute;top:12px;left:12px;border:1px solid #e9cc80;background:#101920d9;color:#f9e9c0;font-size:11px;font-weight:700;padding:8px 10px;border-radius:6px}
.v10-kitchen-view{display:block;padding:13px 16px;color:#f4ca78;font-size:13px;font-weight:600}
.v10-kitchen-photo:hover{border-color:#bd9049;box-shadow:0 8px 24px #0002}
.v10-home-kitchens{background:#f6f1e9;padding:65px 0}.v10-home-kitchens h2{font-size:clamp(28px,3.5vw,45px);margin:10px 0}.v10-kitchen-homeintro{max-width:700px;line-height:1.65;color:#56636b}
.v10-home-kitchen-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:25px}
.v10-home-kitchen-cards a{display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid #dfd3c0;border-radius:12px;overflow:hidden;padding-bottom:17px;transform:none!important;animation:none!important}
.v10-home-kitchen-cards img{width:100%;height:240px;object-fit:cover;display:block;transform:none!important;animation:none!important}
.v10-home-kitchen-cards strong,.v10-home-kitchen-cards small{margin:0 15px}.v10-home-kitchen-cards strong{font:normal 19px Georgia,serif}.v10-home-kitchen-cards small{font-size:12px;color:#7b622f}
@media(max-width:790px){.v10-kitchen-photos,.v10-home-kitchen-cards{grid-template-columns:1fr 1fr}.v10-kitchen-head{display:block}.v10-kitchen-place{display:inline-block;margin:10px 0 0}}
@media(max-width:520px){.v10-kitchen-photos,.v10-home-kitchen-cards{grid-template-columns:1fr}.v10-kitchen-photo img{height:260px}.v10-home-kitchen-cards img{height:240px}}

/* V11 kitchen gallery layout: isolated from legacy v9 photo badges */
.v10-kitchens{
  box-sizing:border-box;
  background:#f4efe6;
  color:#13222a;
  max-width:1180px;
  margin:0 auto;
  padding:58px 28px 72px;
  border-top:0;
}
.v10-kitchen-heading{max-width:850px}
.v10-kitchen-heading h2,.v10-kitchen-head h3{color:#13222a}
.v10-kitchen-album{margin:0 0 58px;padding:0 0 46px;border-bottom:1px solid #d8cbb9}
.v10-kitchen-head .eyebrow{color:#9b692b}
.v10-kitchen-head p{color:#57666d}
.v10-kitchen-photos{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v10-kitchen-photo.v9-photo{
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  position:relative;
  overflow:hidden;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  padding:0;
  background:white;
  color:#14242b;
  border:1px solid #d4c4a2;
  border-radius:13px;
  text-align:left;
  box-shadow:0 4px 16px rgba(12,20,24,.07);
  min-width:0;
}
.v10-kitchen-photo.v9-photo img{
  position:static;
  display:block;
  width:100%;
  height:245px;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center center;
  flex:none;
}
.v10-kitchen-photo.v9-photo span.v10-kitchen-tag{
  position:absolute;
  top:12px;
  left:12px;
  right:auto;
  bottom:auto;
  width:auto;
  height:auto;
  display:inline-block;
  padding:7px 11px;
  border:1px solid rgba(250,219,152,.55);
  border-radius:999px;
  background:rgba(12,19,24,.82);
  color:#ffe3ae;
  font-size:11px;
  font-weight:600;
  line-height:1.25;
}
.v10-kitchen-photo.v9-photo span.v10-kitchen-view{
  position:static;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
  padding:15px 17px;
  background:white;
  border-radius:0;
  color:#8c612a;
  font-size:13px;
  font-weight:700;
  line-height:1.5;
}
.v10-kitchen-photo.v9-photo:hover{border-color:#c39b5c;transform:none!important;box-shadow:0 10px 25px rgba(12,20,24,.12)}
@media(max-width:820px){.v10-kitchens{padding:40px 18px}.v10-kitchen-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.v10-kitchens{padding:30px 15px}.v10-kitchen-photos{grid-template-columns:1fr}.v10-kitchen-photo.v9-photo img{height:auto;aspect-ratio:4/3}.v10-kitchen-head{gap:10px}}

/* V13: photo navigation, keyboard/swipe, no intrusive on-image kitchen badges */
.v10-kitchen-photo.v9-photo .v10-kitchen-tag{display:none!important}
.v9-lightbox-panel{width:min(1120px,95vw);max-height:95dvh;gap:8px}
.v9-lightbox-panel #v9-lightbox-img{height:auto;max-height:calc(95dvh - 160px);object-fit:contain}
.v13-gallery-nav{display:flex;gap:18px;align-items:center;justify-content:center;width:100%}
.v13-gallery-nav button{display:inline-grid;place-items:center;background:#eabd68;color:#111922;border:0;border-radius:50%;width:46px;height:46px;cursor:pointer;font-size:32px;line-height:1}
.v13-gallery-nav button:hover{background:#ffda91}
#v13-counter{color:#e8c78b;min-width:66px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
#v9-lightbox-caption{color:white;text-align:center;font-size:14px;margin:0;max-width:95%;line-height:1.4}
#v13-gallery-hint{font-size:12px;color:#aebbc0;text-align:center;margin:0}
@media(max-width:580px){.v9-lightbox{padding:8px}.v9-lightbox-panel{width:100%;max-height:97dvh}.v9-lightbox-panel #v9-lightbox-img{max-height:calc(97dvh - 165px)}.v13-gallery-nav button{width:44px;height:44px}}


/* V14: About & Prices. Isolated classes preserve other pages */
.v14-banner{background:#0c151a;color:#f9f5ed;padding:72px 0 76px;position:relative;overflow:hidden}
.v14-banner:before{content:"";pointer-events:none;position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:40px 40px}
.v14-banner .wrap{position:relative}.v14-banner h1{font-size:clamp(38px,5vw,68px);line-height:1.12;letter-spacing:-.04em;max-width:850px;margin:8px 0 20px;color:#fff}
.v14-intro{max-width:800px;line-height:1.8;color:#c7d0d1;font-size:16px}
.v14-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:55px;align-items:center}
.v14-hero-grid h1{font-size:clamp(37px,4.4vw,62px)}
.v14-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.v14-hero-pic{position:relative;overflow:hidden;border-radius:15px;border:1px solid #a27b42;box-shadow:0 25px 60px #0006}
.v14-hero-pic img{width:100%;height:440px;object-fit:cover}
.v14-hero-pic span{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 17px;background:linear-gradient(transparent,#060b0de5);color:#f4c577;letter-spacing:.14em;font-weight:700;font-size:11px}
.v14-trust{background:#e9dfcd;padding:22px 0}
.v14-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.v14-trust-grid>div{border-left:2px solid #b38b4e;padding:5px 0 5px 16px}
.v14-trust-grid b{display:block;color:#1b292e;font-size:19px}
.v14-trust-grid span{display:block;color:#607078;font-size:12px;margin-top:5px}
.v14-two-col{display:grid;grid-template-columns:.96fr 1.04fr;gap:64px}
.v14-two-col p,.v14-company-flex p{line-height:1.8;color:#50626a}
.v14-value-list{display:grid;gap:12px}
.v14-value-list>div{background:#fff;padding:20px 23px;border:1px solid #e2d6c2;border-radius:12px}
.v14-value-list strong{font-size:18px;color:#14252a}
.v14-value-list p{font-size:14px;margin:6px 0 0}
.v14-services-section{background:#e9e5dd}
.v14-section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
.v14-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.v14-service-grid>a{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e3d9c8}
.v14-service-grid img{height:190px;width:100%;object-fit:cover}
.v14-service-grid h3{font-size:20px;margin:18px 17px 7px}
.v14-service-grid p{color:#61717a;margin:0 17px 20px;font-size:13px;line-height:1.6}
.v14-company-flex{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:start}
.v14-register{background:white;border:1px solid #dfd6c5;border-radius:12px;overflow:hidden;margin:25px 0 16px}
.v14-register div{display:grid;grid-template-columns:42% 58%;padding:15px 20px;gap:12px;border-bottom:1px solid #ece4d8;align-items:center}
.v14-register div:last-child{border-bottom:0}
.v14-register span{color:#69777e;font-size:13px}
.v14-register strong{font-size:14px;overflow-wrap:anywhere;color:#1b2c32}
.v14-reg-link{color:#986a2a;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.v14-contact-card{background:#121d23;border-radius:15px;padding:38px;color:#fff;border:1px solid #c4a16b}
.v14-contact-card h3{font-size:31px}.v14-contact-card p{color:#b5c2c7}
.v14-contact-card>a:not(.button){display:block;padding:11px 0;border-bottom:1px solid #435157;font-size:14px;overflow-wrap:anywhere}
.v14-contact-card .button{margin-top:22px}
.v14-price-hero{padding:72px 0 75px}.v14-price-hero h1{max-width:900px}
.v14-price-notice{background:#fff4de;border-bottom:1px solid #e6d0a8;padding:22px 0}
.v14-price-notice strong{color:#4a3518}.v14-price-notice p{max-width:1120px;color:#685330;line-height:1.65;font-size:13px;margin:6px 0 0}
.v14-muted{color:#607078;line-height:1.65}
.v14-price-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 39px}
.v14-price-tabs a{background:#fff;border:1px solid #c9b997;border-radius:30px;padding:11px 16px;color:#4e3b21;font-size:13px;font-weight:700}
.v14-price-tabs a:hover{background:#f1e1c3}
.v14-price-block{scroll-margin-top:110px;margin:0 0 45px;background:#fff;border:1px solid #dfd4c3;border-radius:15px;overflow:hidden}
.v14-price-heading{padding:22px 26px 17px;background:#f2ede4}
.v14-price-heading h3{font-size:27px;margin:0}.v14-price-heading .eyebrow{margin-bottom:5px}
.v14-price-list>div{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 20px;padding:19px 26px;border-top:1px solid #ede5db;align-items:center}
.v14-price-list strong{grid-column:1;grid-row:1;font-size:17px;color:#15262d}
.v14-price-list small{grid-column:1;grid-row:2;color:#697781;font-size:13px;line-height:1.5}
.v14-price-list b{grid-column:2;grid-row:1/span 2;color:#895d1f;font-size:21px;white-space:nowrap}
.v14-price-list em{font-size:12px;font-weight:500;font-style:normal;color:#67737b}
.v14-price-foot{padding:15px 26px;color:#6d6353;font-size:13px;line-height:1.6;margin:0;background:#fdf7ed}
.v14-price-closing{background:#0d181e;color:#fff;padding:70px 0}
.v14-closing-flex{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.v14-price-closing h2{font-size:clamp(28px,3.7vw,47px);margin:8px 0}
.v14-price-closing p{color:#b9c8ce;line-height:1.7;max-width:690px}
@media(max-width:900px){.v14-hero-grid,.v14-two-col,.v14-company-flex{grid-template-columns:1fr;gap:30px}.v14-hero-pic img{height:350px}.v14-trust-grid,.v14-service-grid{grid-template-columns:repeat(2,1fr)}.v14-closing-flex{grid-template-columns:1fr}}
@media(max-width:600px){.v14-banner{padding:46px 0}.v14-hero-pic img{height:300px}.v14-trust-grid,.v14-service-grid{grid-template-columns:1fr}.v14-register div{grid-template-columns:1fr;gap:3px}.v14-price-list>div{grid-template-columns:1fr;gap:4px;padding:18px}.v14-price-list b{grid-column:1;grid-row:3;font-size:20px;margin-top:6px}.v14-price-heading{padding:18px}.v14-section-top{display:block}.v14-contact-card{padding:25px}}

/* V16 internal doors, consistent thumbnails on phone and desktop */
.door-gallery{align-items:start;grid-auto-rows:auto}
.door-gallery .v9-photo{display:block;position:relative;aspect-ratio:3/4;min-height:0;transform:none!important}
.door-gallery .v9-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;transform:none!important}
@media(max-width:600px){.door-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;gap:12px}.door-gallery .v9-photo{aspect-ratio:3/4}.door-gallery .v9-photo img{height:100%;aspect-ratio:auto}}

/* V17 seamless, mixed-project gallery */
.v9-scroller{overflow:hidden!important;overflow-x:hidden!important;scroll-snap-type:none!important;position:relative;width:100%;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.v9-scroller .v17-gallery-track{display:flex!important;align-items:stretch;gap:12px;width:max-content;animation:v17gallerymove 48s linear infinite!important;will-change:transform}
.v9-scroller .v17-gallery-track>a{flex:0 0 266px!important;width:266px!important;min-width:266px!important;max-width:266px!important;box-sizing:border-box}
.v9-scroller .v17-gallery-track>a img{display:block;width:100%;height:100%;object-fit:cover}
.v9-scroller:hover .v17-gallery-track,.v9-scroller:focus-within .v17-gallery-track{animation-play-state:paused!important}
@keyframes v17gallerymove{0%{transform:translateX(0)}100%{transform:translateX(calc(-50% - 6px))}}
@media(max-width:650px){.v9-scroller .v17-gallery-track>a{flex-basis:220px!important;width:220px!important;min-width:220px!important;max-width:220px!important}.v9-scroller .v17-gallery-track{animation-duration:60s!important}}
@media(prefers-reduced-motion:reduce){.v9-scroller{overflow-x:auto!important;mask-image:none;-webkit-mask-image:none}.v9-scroller .v17-gallery-track{animation:none!important;will-change:auto}}

/* V17.3 — mobile WhatsApp is visible above the fixed bottom contact bar.
   Assistant stays on the opposite side; neither control covers the other. */
@media (max-width:600px) {
  a.mini-contact {
    display:flex !important;
    align-items:center;
    justify-content:center;
    position:fixed;
    right:14px;
    left:auto;
    bottom:calc(75px + env(safe-area-inset-bottom, 0px));
    width:auto;
    min-width:100px;
    min-height:48px;
    box-sizing:border-box;
    margin:0;
    padding:11px 14px;
    z-index:110;
    color:#fff;
    background:#128c52;
    border:1px solid #0a7842;
    box-shadow:0 5px 20px rgba(0,0,0,.25);
    border-radius:32px;
    font-size:13px;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
  }
  .pl-assistant {left:10px;right:auto;bottom:calc(75px + env(safe-area-inset-bottom, 0px));z-index:100;max-width:calc(100vw - 140px)}
  .pl-chat-launch {padding:12px 10px;font-size:11px;max-width:100%;white-space:normal;line-height:1.15;min-height:48px}
  .pl-chat-panel {width:min(338px,calc(100vw - 20px));max-height:calc(100dvh - 150px);overflow-y:auto;z-index:125}
}
@media (max-width:360px) {
  a.mini-contact {right:8px;min-width:89px;padding:10px 9px;font-size:12px}
  .pl-assistant {left:8px;max-width:calc(100vw - 119px)}
}


/* V17.5 - compact mobile reading layout. Desktop unaffected.
   Overrides only sizing / arrangement: gallery, contact actions and Manager integration are preserved. */
@media (max-width: 650px) {
  html, body { max-width:100%; overflow-x:clip; }
  .wrap { padding-left:16px; padding-right:16px; }
  .header { min-height:61px; gap:8px; }
  .brand img { width:33px; height:33px; }
  .brand strong { font-size:15px; }
  .brand small { font-size:7px; }
  .header > .button { padding:9px 11px; font-size:11px; white-space:nowrap; }
  .menu { padding:8px 9px; font-size:12px; }
  .section,.rsj-section { padding-top:34px; padding-bottom:35px; }
  .eyebrow { font-size:10px; letter-spacing:.14em; margin-bottom:7px; }
  .section h2,.section-head h2 { font-size:clamp(27px,7.3vw,36px); line-height:1.17; margin-bottom:8px; }
  .section-head,.v9-section-head { margin-bottom:14px; gap:10px; }
  .section-head p,.v9-section-head p { line-height:1.45; font-size:13px; }
  .section-head .button,.v9-section-head>.button { margin-top:10px; }
  .button { min-height:40px; padding:10px 14px; font-size:12px; }
  .hero-v4 { padding:15px 0 16px; }
  .hero-v4-layout { gap:14px; }
  .hero-v4-copy h1 { font-size:clamp(30px,8vw,39px); margin:7px 0 10px; line-height:1.11; }
  .hero-v4-copy p { font-size:13px; line-height:1.45; margin-bottom:9px; }
  .hero-ctas { margin-top:14px; gap:8px; }
  .hero-v4-stage { min-height:0; max-height:none; height:225px; aspect-ratio:auto; }
  .hero-v4-stage-overlay { left:13px;right:13px;bottom:12px; }
  .hero-v4-stage-overlay h3 { font-size:19px; margin:4px 0; }
  .hero-v4-thumbwrap { margin-top:10px; }
  .hero-v4-thumbs { gap:6px; padding-bottom:6px; }
  .hero-v4-thumbs button { flex-basis:100px; height:70px; border-radius:7px; }
  .hero-v4-thumbs button span { font-size:11px; padding:12px 6px 6px; }
  .hero-v4-thumbs button small { display:none; }
  .trust-line { padding-top:11px; margin-top:15px; gap:8px 13px; font-size:10px; }
  .v9-services-gallery { padding:32px 0 22px; }
  .v9-section-head h2 { font-size:clamp(27px,7vw,35px); margin:8px 0; }
  .v9-scroller a,.v9-scroller .v17-gallery-track>a { height:195px; }
  .section-home { padding-top:28px; padding-bottom:28px; }
  .feature-first { gap:14px; }
  .feature-first img { height:210px; object-fit:cover; }
  .v10-home-kitchens { padding:29px 0!important; }
  /* Swipe kitchen project cards horizontally instead of stacking three tall images. */
  .v10-home-kitchen-cards { display:flex!important; gap:10px!important; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:0 2px 10px; -webkit-overflow-scrolling:touch; }
  .v10-home-kitchen-cards > * { flex:0 0 min(75vw,285px); min-width:0; scroll-snap-align:start; }
  .v10-home-kitchen-cards img { width:100%; height:170px!important; object-fit:cover; }
  .mirfield-showcase { padding:28px 0 30px; }
  .mir-header { display:block; margin-bottom:12px; }
  .mir-header h2 { font-size:clamp(27px,7vw,36px); }
  .mir-stage,.mir-main-image { min-height:0; height:215px; max-height:235px; }
  .mir-stage-caption { padding:22px 12px 10px; }
  .mir-stage-caption strong { font-size:15px; }
  .mir-sidebar { padding:13px; }
  .mir-thumb { flex-basis:65px; height:62px; }
  .rsj-section { padding:32px 0; }
  .rsj-section h2 { font-size:clamp(29px,7vw,38px); }
  .rsj-layout { gap:15px; margin-top:15px; }
  .step-list { gap:5px; }
  .step-btn { padding:8px 7px; font-size:11px; }
  .rsj-legend { padding:10px; }
  .rsj-legend p { min-height:0; font-size:12px; }
  .rsj-buttons button { padding:8px 10px; font-size:11px; }
  .service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .service-card { padding:13px 11px; min-height:0; }
  .service-card h3 { font-size:15px; margin:8px 0 4px; }
  .service-card p { font-size:11px; line-height:1.4; }
  .v9-areas { padding-top:28px; }
  .v9-areas-intro { gap:15px; }
  .v9-areas h2 { font-size:clamp(27px,7vw,36px); margin:8px 0 9px; }
  .v9-areas p { font-size:13px; line-height:1.45; }
  .v9-areas-grid { gap:6px; }
  .v9-areas-grid a { padding:9px; font-size:12px; }
  .quote-teaser { padding:32px 0 105px; }
  .quote-teaser p { margin-bottom:13px; font-size:13px; }
  .ribbon-area.bottom { padding:25px 0; }
  .ribbon-title { margin-bottom:9px; }
  .ribbon-title strong { font-size:20px; }
  /* Cards on other pages stay accessible without enormous vertical stacks. */
  .tile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .tile img { height:135px; }
  .tile .tile-body { padding:12px; }
  .tile h3 { font-size:17px; margin:5px 0; }
  .tile p { font-size:11px; line-height:1.35; }
  .page-title { padding-top:28px; padding-bottom:28px; }
  .v9-projects-intro { padding-top:28px; padding-bottom:24px; }
  .v9-albums { padding-top:35px; padding-bottom:45px; }
  .v9-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .v9-project-card img { height:160px; }
  .v9-album-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .v9-album-grid .v9-photo img { aspect-ratio:4/3; height:auto; }
  .v14-banner { padding-top:28px; padding-bottom:29px; }
  .v14-trust { padding-top:24px; padding-bottom:25px; }
  .v14-hero-pic img { height:205px; }
  .v14-service-grid,.v14-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .struct-hero-v8,.struct-intro-v8,.struct-project-v8,.struct-questions-v8,.struct-signoff-v8,.struct-moving-areas,.struct-cta-v8 { padding-top:32px; padding-bottom:32px; }
  .struct-hero-v8 h1 { font-size:clamp(31px,8vw,40px); margin:9px 0; }
  .struct-hero-v8-copy>p { font-size:13px; line-height:1.5; }
  .struct-main-photo img { height:225px; }
  /* Fixed contact actions remain on separate corners; leave room for both. */
  a.mini-contact { bottom:calc(75px + env(safe-area-inset-bottom,0px)); }
  .pl-assistant { bottom:calc(75px + env(safe-area-inset-bottom,0px)); }
  .mobile-bar { padding:7px 9px calc(7px + env(safe-area-inset-bottom,0px)); }
  .mobile-bar a { padding:11px 5px; }
}
@media (max-width:360px) {
  .service-grid,.tile-grid,.v9-project-grid { grid-template-columns:1fr; }
  .hero-v4-stage { height:195px; }
}


/* V17.6 MOBILE READABILITY — coherent mobile layout; desktop unchanged */
@media (max-width: 650px) {
  body {overflow-x:hidden; padding-bottom: calc(73px + env(safe-area-inset-bottom, 0px));}
  main {min-width:0;}
  .wrap {padding-left:17px;padding-right:17px;}
  .preview-bar {font-size:9px;padding:5px 10px;}
  .header {min-height:62px;}
  .brand {min-width:0;}
  .brand img {width:39px;height:39px;}
  .brand strong {font-size:14px;}
  .topbar .header > .button {display:none;}
  .menu {margin-left:auto;flex-shrink:0;}
  h1,h2,h3,p {overflow-wrap:break-word;}
  .section-head,.v9-section-head {align-items:flex-start;}
  .v9-services-gallery {padding:22px 0 22px;}
  .v9-scroller {padding:4px 17px 12px;max-width:100%;overflow:hidden!important;}
  .v9-scroller .v17-gallery-track {gap:11px!important;align-items:stretch;}
  .v9-scroller .v17-gallery-track > a {flex:0 0 min(72vw,285px)!important;width:min(72vw,285px)!important;min-width:min(72vw,285px)!important;max-width:min(72vw,285px)!important;height:194px!important;}
  .v9-scroller .v17-gallery-track > a img {height:100%;width:100%;object-fit:cover;}
  .photo-rail {gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 10px;}
  .photo-rail > a {flex:0 0 min(67vw,260px)!important;width:min(67vw,260px)!important;min-width:min(67vw,260px)!important;height:165px!important;}
  .photo-rail img {height:100%;width:100%;object-fit:cover;}
  .ribbon-title {gap:8px;}
  .ribbon-title .button {min-height:36px;}
  .section.dark .tagline {margin-bottom:12px;}
  .service-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .service-card {padding:11px;}
  .service-card h3 {font-size:15px;}
  .v9-areas-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .v9-areas-grid a {min-width:0;}
  /* A single, calm fixed footer; prevent bulky buttons masking content */
  .mobile-bar {display:flex!important;position:fixed;left:0;right:0;bottom:0;z-index:95;gap:8px;padding:7px 12px calc(7px + env(safe-area-inset-bottom,0px));background:#10191e;border-top:1px solid #6b5633;box-shadow:0 -4px 18px #0003;}
  .mobile-bar a {display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;line-height:1.2;font-size:13px;padding:8px 6px;border-radius:12px;}
  a.mini-contact {display:flex!important;position:fixed;right:11px;left:auto;bottom:calc(72px + env(safe-area-inset-bottom,0px));width:53px!important;height:53px!important;min-width:0!important;min-height:0!important;padding:0!important;overflow:hidden;white-space:nowrap;font-size:0!important;border-radius:50%!important;z-index:108;align-items:center;justify-content:center;background:#128c52;box-shadow:0 4px 15px #0006;}
  a.mini-contact::after {content:'WA';font-size:14px;font-weight:800;letter-spacing:-.04em;color:white;}
  .pl-assistant {position:fixed;left:11px;right:auto;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:107;width:53px;max-width:none!important;}
  .pl-chat-launch {display:flex;align-items:center;justify-content:center;width:53px;height:53px;min-height:0!important;padding:0!important;overflow:hidden;white-space:nowrap!important;font-size:0!important;border-radius:50%;border:1px solid #b78a3c;}
  .pl-chat-launch::before {content:'✦';font-size:24px;line-height:1;color:#ffcc79;}
  .pl-chat-panel {position:absolute;bottom:60px;left:0;right:auto;width:min(340px,calc(100vw - 22px));max-height:calc(100dvh - 170px);overflow-y:auto;}
  .foot {padding-bottom:25px;}
  .quote-teaser {padding-bottom:35px;}
}
@media (max-width:380px) {
  .v9-scroller .v17-gallery-track>a {flex-basis:78vw!important;width:78vw!important;min-width:78vw!important;max-width:78vw!important;}
  .service-grid {grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion:reduce) {
 .v9-scroller {overflow-x:auto!important;}
}
