/* Architectural details, native editorial library, and material explanations. */
.cinematic-edition{--motion-short:160ms;--motion-base:280ms;--motion-scene:650ms;--motion-ease:cubic-bezier(.2,.65,.25,1);font-family:Heebo,Arial,sans-serif;font-size:18px}
.cinematic-edition :is(h1,h2,h3,h4,p,a,button,input,select,textarea,summary,dt,dd){font-family:Heebo,Arial,sans-serif}
.cinematic-edition :is(h1,h2,h3){text-wrap:balance}
.cinematic-edition :is(.editorial-service-copy p,.personal-copy>p,.showcase-story p,.showcase-story dd,.building-panel p,.building-panel dd,.planning-intro>p,.craft-item p,.service-cinema-copy>p,.service-aside>p,.service-change-layout>div>p,.service-faq-layout>div>p,.project-brief-intro>p,.article-card p){font-size:17px;line-height:1.9}
.cinematic-edition :is(.showcase-disclosure,.building-visual figcaption,.comparison figcaption,.comparison figcaption label,.personal-visual figcaption,.material-context,.brief-note){font-size:14px;line-height:1.8}
.cinematic-edition .showcase-story dt,.cinematic-edition .building-panel dt{font-size:15px}
.cinematic-edition .prose{font-size:18px;line-height:2}
.cinematic-edition .prose h2{scroll-margin-top:130px;margin-top:44px}
.cinematic-edition .editorial-section-heading{display:block}
.cinematic-edition .editorial-section-heading h2{max-width:none;margin-bottom:24px;font-size:46px}
.cinematic-edition .editorial-section-heading>p{max-width:850px;font-size:18px}
.cinematic-edition .section-heading{max-width:none}
.cinematic-edition .home-jumps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:16px;background:#303831;border:1px solid #a88c61;margin-block:24px 0}
.cinematic-edition .home-jumps a{display:flex;justify-content:center;align-items:center;min-height:66px;padding:12px 8px;color:#f4ead9;font-size:17px;font-weight:600;border-inline-end:1px solid #ad93633b;text-align:center;transition:background var(--motion-base)}
.cinematic-edition .home-jumps a:last-child{border:0}
.cinematic-edition .home-jumps a:hover{background:#f4ead914;color:#e4c594}
.cinematic-edition :is(.button,.text-link,.cinema-secondary){position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:54px;padding:14px 26px;font-size:16px;font-weight:600;line-height:1.65;border:0;border-radius:0;background:transparent;box-shadow:none;transition:color var(--motion-base),transform var(--motion-base);text-align:center}
.cinematic-edition :is(.button,.text-link,.cinema-secondary)::before{content:"";position:absolute;inset:0;z-index:-1;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));background:var(--cta-bg,#ded3c0);transition:background var(--motion-base)}
.cinematic-edition :is(.button,.text-link,.cinema-secondary)::after{content:"";width:3px;height:20px;position:static;display:block;flex:none;background:var(--cta-accent,#9a7146);transition:height var(--motion-base)}
.cinematic-edition .button-dark{--cta-bg:#303a31;--cta-accent:#d7b478;color:#fff8ec}
.cinematic-edition .button-gold{--cta-bg:#d7b478;--cta-accent:#52472f;color:#171b19}
.cinematic-edition .text-link{--cta-bg:#e5dccd;color:#62452e;font-size:16px;min-height:48px;padding:11px 20px}
.cinematic-edition :is(.button,.text-link,.cinema-secondary):hover{background:transparent;transform:translateY(-2px)}
.cinematic-edition :is(.button,.text-link,.cinema-secondary):hover::after{height:30px}
.cinematic-edition .cinema-secondary{--cta-bg:#19211bd9;--cta-accent:#d7b478;color:#f4ead9}
.cinematic-edition :is(.building-experience,.renovation-experience,.craft-section) .text-link{--cta-bg:#384138;--cta-accent:#d7b478;color:#f2dfb9}
.cinematic-edition :is(.button,.text-link,.cinema-secondary)>svg{display:none}
.cinematic-edition .header-cta{font-size:15px;min-height:48px;padding:10px 22px}
.cinematic-edition .article-card .text-link{margin-top:8px}
.cinematic-edition .scene-choices{gap:12px}
.cinematic-edition .showcase-navigation .scene-choice{position:relative;min-height:100px;border:1px solid #c5bba7;padding:12px;gap:16px;font-size:18px;background:#f7f3eb;text-align:start;transition:background var(--motion-base),border-color var(--motion-base)}
.cinematic-edition .scene-choice[aria-pressed=true]{background:#e7ddcb;border-color:#7a5a37;box-shadow:inset -4px 0 #7a5a37}
.choice-preview{width:72px;height:72px;object-fit:cover;flex:none}
.scene-choice>svg{display:none}
.polish-triptych .transformation-stage{display:none!important}
.polish-triptych .transformation-layout{display:block}
.polish-triptych .transformation-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.polish-triptych .transformation-chapter,.motion-static .polish-triptych .transformation-chapter,.no-js .polish-triptych .transformation-chapter{display:block;min-height:0;padding:0;opacity:1}
.polish-triptych .chapter-inline-image{display:block;margin-bottom:24px}
.polish-triptych .chapter-inline-image img{width:100%;aspect-ratio:1.2;object-fit:cover}
.polish-triptych .chapter-copy h3{font-size:29px}
.polish-triptych .chapter-copy p{font-size:17px;line-height:1.9}
.polish-triptych .transformation-footer{margin-top:35px}
.material-model{position:relative;width:100%;aspect-ratio:1;isolation:isolate}
.model-perspective{position:absolute;inset:0}
.model-part{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translate3d(0,0,0);transition:transform var(--motion-scene) var(--motion-ease),opacity var(--motion-scene),filter var(--motion-base)}
.model-master{opacity:1}
.model-light-wash{position:absolute;inset:15% 20% 35%;opacity:0;pointer-events:none;background:radial-gradient(ellipse,#f7d99133,transparent 70%);transition:opacity var(--motion-base)}
.renovation-experience{background:#1c241e;color:#f4ead9;padding-block:80px;overflow:clip}
.experience-sticky{position:relative}
.experience-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:30px}
.experience-heading h2{font-size:44px;margin:0;max-width:700px}
.experience-heading>p{font-size:17px;max-width:400px;margin:0;color:#d0cebe}
.experience-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center;direction:ltr}
.experience-grid>*{direction:rtl;min-width:0}
.experience-stage{position:relative;aspect-ratio:1.25;overflow:hidden}
.experience-stage .material-model{position:absolute;inset:-10% 0;width:100%;height:120%;aspect-ratio:auto}
.experience-finished{position:absolute;inset:3% 0;opacity:1;transform:scale(1);transition:opacity var(--motion-scene),transform var(--motion-scene);overflow:hidden}
.experience-finished img{height:100%;width:100%;object-fit:cover}
.experience-material-label{position:absolute;inset:auto 20px 15px;font-size:14px;color:#e7cc9e;opacity:0}
.experience-visual figcaption{color:#c1c3b4;font-size:14px;margin-top:16px}
.experience-panel h3{font-size:35px;color:#f4ead9;line-height:1.3}
.experience-panel>p{font-size:18px;line-height:1.95;color:#d3d5c8}
.experience-panels{min-height:295px}
.experience-step-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px}
.experience-step-links button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:52px;padding:10px 12px;text-align:center;font-size:16px;line-height:1.5;font-weight:500;color:#ead4b1;background:#2b362d;border:0;border-radius:8px;transition:background var(--motion-base),color var(--motion-base)}
.experience-step-links button:hover{background:#3b493e}
.experience-step-label{overflow-wrap:anywhere}
.experience-step-links button:last-child:nth-child(3n+1){grid-column:1/-1}

.experience-step-links button[aria-pressed=true]{background:#e7c99c;color:#1c241e;font-weight:700}

.experience-controls label{font-size:15px;display:block;margin-bottom:5px}
.experience-controls input{accent-color:#d7b478;min-height:44px;width:100%}
.experience-arrows{display:flex;justify-content:space-between;gap:10px}
.experience-arrows button{display:flex;align-items:center;gap:8px;min-height:44px;background:transparent;color:#e8d2ac;font-size:15px;padding:5px 0}
.experience-arrows button:disabled{opacity:.4;cursor:default}
.experience-arrows button:last-child svg{transform:rotate(180deg)}
.renovation-experience:is([data-step="1"],[data-step="2"],[data-step="3"],[data-step="4"],[data-step="5"]) .experience-finished{opacity:0;transform:scale(.94);pointer-events:none}
.renovation-experience:is([data-step="1"],[data-step="2"],[data-step="3"],[data-step="4"],[data-step="5"]) .experience-material-label{opacity:1}
.renovation-experience:is([data-step="1"],[data-step="2"]) .model-master{opacity:0}
.renovation-experience:is([data-step="1"],[data-step="2"]) .model-rough{opacity:0}
.renovation-experience:is([data-step="1"],[data-step="2"]) .model-floor{opacity:1;transform:translateY(9%)}
.renovation-experience:is([data-step="1"],[data-step="2"]) .model-walls{opacity:1;transform:translateY(-3%)}
.renovation-experience:is([data-step="1"],[data-step="2"]) .model-ceiling{opacity:1;transform:translateY(-9%)}
.renovation-experience[data-step="2"] .model-ceiling{transform:translateY(-12%);filter:brightness(1.12)}
.renovation-experience:is([data-step="3"],[data-step="4"]) .model-master{opacity:0}
.renovation-experience:is([data-step="3"],[data-step="4"]) .model-rough{opacity:1}
.renovation-experience[data-step="4"] .model-rough{filter:brightness(1.12)}
.building-service .material-model{max-width:640px;margin:auto}
.building-service:is([data-active-layer="plumbing"],[data-active-layer="electrical"],[data-active-layer="waterproofing"],[data-active-layer="gypsum"],[data-active-layer="flooring"],[data-active-layer="structure"],[data-active-layer="facade"],[data-active-layer="air"]) .model-master{opacity:0}
.building-service:is([data-active-layer="plumbing"],[data-active-layer="electrical"],[data-active-layer="waterproofing"]) .model-rough{opacity:1}
.building-service[data-active-layer="gypsum"] :is(.model-floor,.model-walls,.model-ceiling){opacity:1}
.building-service[data-active-layer="gypsum"] .model-ceiling{transform:translateY(-13%)}
.building-service[data-active-layer="flooring"] .model-floor{opacity:1;transform:translateY(7%)}
.building-service[data-active-layer="flooring"] .model-rough{opacity:.5}
.building-service[data-active-layer="finishes"] .model-master{opacity:1}
.building-service[data-active-layer="structure"] .model-rough{opacity:1}
.building-service[data-active-layer="structure"] .model-perspective{transform:scale(.97)}
.model-photo{position:absolute;inset:5% 0;display:flex;align-items:center;opacity:0;pointer-events:none;transition:opacity var(--motion-scene)}
.model-photo img{width:100%;height:auto;object-fit:contain;max-height:100%}
.building-service[data-active-layer="facade"] .model-photo-facade,.building-service[data-active-layer="air"] .model-photo-air{opacity:1}
.building-service[data-light="on"] .model-light-wash{opacity:1}
.building-service[data-light="off"] .model-ceiling{filter:brightness(.82)}
.building-service[data-finish="stone"] .model-master{filter:sepia(.3) saturate(.8)}
.building-service[data-finish="mineral"] .model-master{filter:contrast(1.15) saturate(.55)}
.lighting-control,.finish-demo{margin-top:24px;border-top:1px solid #c6bc9e55;padding-top:20px}
.lighting-control button{background:#3e483d;color:#f4e7d1;min-height:48px;padding:11px 18px;font-size:16px;display:flex;gap:20px}
.lighting-control button span{color:#e6c18a}
.lighting-control p,.material-context{font-size:14px;line-height:1.8;color:#d0cfbd;margin-top:12px}
.finish-controls{display:flex;gap:12px;flex-wrap:wrap}
.finish-controls button{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 12px;background:transparent;border:1px solid #919880;color:#f4e8d6;font-size:15px}
.finish-controls button[aria-pressed=true]{border:2px solid #e8cf9f;background:#d7b47815}
.finish-swatch{width:25px;height:25px;display:block;background:#e7e1d4}
.swatch-stone{background:#c5b99e}.swatch-mineral{background:#b9b4a6 url(images/mineral-plaster.webp) center/cover}
.finish-explanation{margin-top:15px;color:#e6ddca;font-size:16px;line-height:1.8}
.process-composition{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px;direction:ltr}
.process-composition>*{direction:rtl;min-width:0}
.process-drawing{background:#e6ddcd;padding:25px;color:#715234;position:relative}
.process-drawing svg{width:100%;height:auto;max-height:400px}
.process-drawing figcaption{font-size:17px;font-weight:600;text-align:center;margin-bottom:12px}
.plan-context{opacity:.3}.plan-partitions,.plan-furniture,.plan-finished{opacity:.13;transition:opacity 500ms,transform 500ms;transform-origin:center}
.plan-perimeter path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 800ms}
[data-process-step="0"] .plan-perimeter path{stroke-dashoffset:.2}
[data-process-step="1"] .plan-partitions,[data-process-step="2"] :is(.plan-partitions,.plan-furniture),[data-process-step="3"] :is(.plan-partitions,.plan-furniture,.plan-finished){opacity:1}
.process-steps{list-style:none;padding:0;margin:0}
.process-steps li{border-bottom:1px solid #c7baa1;padding:12px 0 18px}
.process-steps button{display:flex;align-items:center;text-align:start;background:transparent;color:#222b22;font-size:22px;min-height:52px;width:100%;padding:10px 14px;font-weight:500;border-radius:8px;transition:background var(--motion-base),color var(--motion-base)}
.process-steps button:hover{background:#e6ddcd}
.process-steps button[aria-pressed=true]{background:#303a31;color:#f4dfb5;font-weight:700}


.process-steps p{font-size:17px;color:#566050;line-height:1.9;margin:8px 14px 0}
.cinematic-edition .craft-section .shell{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.cinematic-edition .craft-section .section-heading{text-align:start;position:sticky;top:130px;margin:0}
.cinematic-edition .craft-section .section-heading p{font-size:18px;line-height:1.9}
.cinematic-edition .craft-grid{display:block}
.cinematic-edition .craft-item{display:grid;grid-template-columns:95px 1fr;align-items:center;text-align:start;gap:20px;border-top:1px solid #d7b47844;padding:25px 0}
.cinematic-edition .craft-item>img{width:95px;height:95px;margin:0}
.cinematic-edition .craft-item h3{font-size:24px}
.cinematic-edition .craft-item p{margin:0}
.cinematic-edition .planning-list{display:block;list-style:none;padding:0;margin:0}
.cinematic-edition .planning-list>li{display:block;padding:0;border:0}
.planning-list details{border-top:1px solid #c1b29a;padding-block:5px}
.planning-list summary{cursor:pointer;min-height:64px;align-content:center;padding:15px 0;font-size:21px;font-weight:500}
.planning-list details p{font-size:17px;line-height:1.9;padding:0 18px 18px 0;margin:0;color:#535c4f}
.service-jumps{display:flex;gap:20px;flex-wrap:wrap;border-block:1px solid #c8bba3;padding-block:15px}
.service-jumps a{font-size:16px;font-weight:600;min-height:44px;display:flex;align-items:center;padding-inline:10px}
.service-jumps a:hover{background:#e5dccb}
.related-services summary{cursor:pointer;min-height:50px;font-size:18px;font-weight:600;padding-top:20px}
.article-topics{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:45px}
.article-topics a{min-height:48px;padding:10px 20px;background:#e5ddce;border:1px solid #c4b79e;font-size:16px;font-weight:500;display:flex;align-items:center}
.article-topics a[aria-current]{background:#303a31;color:#fff5df;border-color:#303a31}
.articles-library .articles-grid{row-gap:55px}
.cinematic-edition .articles-archive{grid-template-columns:repeat(3,minmax(0,1fr))}
.articles-intro h1{max-width:1100px}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:16px;color:#625e52;margin-top:24px;line-height:1.7}
.article-meta span{margin:0}
.article-related{margin-top:42px;padding-block:28px;border-block:1px solid #bba47e}
.article-related h2{font-size:clamp(25px,3vw,32px);margin-bottom:22px;line-height:1.4}
.article-related>div{display:grid;gap:14px}
.cinematic-edition #main .article-related .text-link{width:100%;justify-content:flex-start;text-align:start;white-space:normal;line-height:1.65;min-height:58px}
.article-contents{margin-block:35px 45px;border-block:1px solid #bbaa8c;padding:24px 0}
.article-contents strong{font-size:21px}
.article-contents ul{display:grid;grid-template-columns:1fr 1fr;gap:5px 30px;margin:15px 0 0;padding:0;list-style:none}
.article-contents a{font-size:16px;min-height:44px;display:block;align-content:center;text-decoration:underline;text-underline-offset:4px}
.article-service{margin-top:50px;padding:30px;background:#e7ddcb;border-inline-start:3px solid #9c784b}
.article-service h2{font-size:30px}.article-service p{font-size:17px}
.article-publisher{border-top:1px solid #c2b49b;margin-top:45px;padding-top:25px}
.article-publisher>a{font-weight:600;text-decoration:underline;text-underline-offset:4px;font-size:17px}
.article-publisher p{font-size:15px;color:#5b6256;margin-top:15px;line-height:1.9}
.cinematic-edition .article-card-copy h2,.cinematic-edition .article-card-copy h3{font-size:25px;line-height:1.45}
.no-js .experience-panel[hidden]{display:block!important;margin-top:25px}
.no-js .experience-panels{min-height:0}
.motion-static :is(.model-part,.experience-finished,.plan-perimeter path){transition:none!important}
@media(min-width:1101px) and (min-height:900px){.experience-scroll{height:230svh;padding-block:0}.experience-scroll .experience-sticky{position:sticky;top:calc(96px + var(--toolbar-height,0px));padding-block:35px}.experience-scroll .experience-stage{max-height:500px}.experience-scroll .experience-heading h2{font-size:40px}}
@media(max-width:1100px){.cinematic-edition .home-jumps{grid-template-columns:repeat(3,1fr)}.cinematic-edition .home-jumps a:nth-child(3){border-inline-end:0}.experience-grid{gap:30px}.experience-heading{display:block}.experience-heading>p{max-width:650px;margin-top:20px}.experience-panels{min-height:330px}.process-composition{gap:35px}.cinematic-edition .craft-section .shell{gap:40px}.polish-triptych .transformation-chapters{gap:22px}.cinematic-edition .scene-choice .choice-preview{width:55px;height:65px}.cinematic-edition .showcase-navigation .scene-choice{gap:10px;font-size:16px}}
@media(max-width:700px){.cinematic-edition{font-size:17px}.cinematic-edition .section{padding-block:65px}.cinematic-edition .home-jumps{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.cinematic-edition .home-jumps a{min-height:58px;font-size:16px;border-bottom:1px solid #ad93633b}.cinematic-edition .home-jumps a:nth-child(3){border-inline-end:1px solid #ad93633b}.cinematic-edition .home-jumps a:nth-child(even){border-inline-end:0}.cinematic-edition .home-jumps a:nth-last-child(-n+2){border-bottom:0}.cinematic-edition .editorial-section-heading h2{font-size:33px;line-height:1.35}.cinematic-edition .editorial-section-heading>p{font-size:17px}.cinematic-edition :is(.button,.text-link,.cinema-secondary){font-size:16px;min-height:50px;padding:12px 21px}.cinematic-edition :is(.editorial-service-copy p,.personal-copy>p,.showcase-story p,.showcase-story dd,.building-panel p,.building-panel dd,.service-aside>p,.service-cinema-copy>p,.project-brief-intro>p,.article-card p){font-size:16px}.cinematic-edition .showcase-navigation .scene-choices{gap:10px}.cinematic-edition .showcase-navigation .scene-choice{font-size:17px;min-height:84px;padding:8px 12px}.cinematic-edition .scene-choice .choice-preview{width:62px;height:62px}.polish-triptych .transformation-chapters{display:block}.polish-triptych .transformation-chapter{margin-top:35px}.polish-triptych .chapter-inline-image img{aspect-ratio:1.5}.renovation-experience{padding-block:60px}.experience-heading h2{font-size:34px}.experience-grid{display:flex;flex-direction:column;gap:28px}.experience-visual{width:100%}.experience-copy{width:100%}.experience-panel h3{font-size:29px}.experience-panel>p{font-size:17px}.experience-panels{min-height:285px}.experience-stage{aspect-ratio:1.15}.process-composition{display:flex;flex-direction:column;gap:30px}.process-drawing{width:100%;padding:12px}.process-drawing svg{max-height:280px}.process-steps button{font-size:21px}.process-steps p{font-size:16px}.cinematic-edition .craft-section .shell{display:block}.cinematic-edition .craft-section .section-heading{position:static;margin-bottom:30px}.cinematic-edition .craft-item{grid-template-columns:75px 1fr}.cinematic-edition .craft-item>img{width:75px;height:75px}.cinematic-edition .craft-item h3{font-size:22px}.article-contents ul{grid-template-columns:1fr}.article-topics{gap:8px;margin-bottom:30px}.article-topics a{font-size:15px;padding:10px 14px}.article-service{padding:23px}.article-next{gap:20px;flex-wrap:wrap}.cinematic-edition .article-card-copy h2,.cinematic-edition .article-card-copy h3{font-size:24px}.service-jumps{gap:5px 10px}.service-jumps a{font-size:15px}.cinematic-edition .prose{font-size:17px}.cinematic-edition .building-navigation button{font-size:15px}.cinematic-edition .service-aside nav a{font-size:15px}}
@media(prefers-reduced-motion:reduce){.model-part,.experience-finished,.plan-perimeter path{transition:none!important}.experience-scroll{height:auto}.experience-scroll .experience-sticky{position:relative;top:auto}}
@media(forced-colors:active){.cinematic-edition :is(.button,.text-link,.cinema-secondary){border:1px solid ButtonText}.experience-step-links button,.process-steps button,.mobile-process-choices button{border:1px solid ButtonText}.experience-step-links button[aria-pressed=true],.process-steps button[aria-pressed=true]{outline:2px solid Highlight}.model-part{forced-color-adjust:none}}
@media(max-width:1100px){.cinematic-edition .articles-archive{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cinematic-edition .articles-archive{grid-template-columns:1fr}}
@media(max-width:700px){.cinematic-edition .header-inner{gap:12px;justify-content:space-between}.cinematic-edition .brand{width:auto;max-width:none;flex:none}.cinematic-edition .brand img{width:75px;height:50px}.cinematic-edition .brand>span{display:none}.cinematic-edition .header-cta{min-height:46px;font-size:14px;padding:10px 17px}.cinematic-edition .menu-toggle{min-width:48px}.cinematic-edition .article-intro h1{font-size:32px;line-height:1.45}}
@media(max-width:700px){.article-topics{display:grid;grid-template-columns:1fr 1fr}.article-topics a{justify-content:center;text-align:center}.article-topics a:last-child:nth-child(odd){grid-column:1/-1}}
/* Component contracts override older, more specific section rules. */
.cinematic-edition #main :is(.button,.text-link,.cinema-secondary){font-size:16px;line-height:1.65;min-height:52px;max-width:100%;white-space:normal;text-wrap:balance;border:0}
.cinematic-edition #main :is(.button,.text-link,.cinema-secondary)::after{align-self:center}
.cinematic-edition :is(.building-experience,.renovation-experience) :focus-visible{outline-color:#f3d49e;outline-offset:5px}
.building-service .model-light-wash{opacity:0}
.building-service[data-active-layer="gypsum"][data-light="on"] .model-light-wash{opacity:1}
.building-service[data-light="on"]:not([data-active-layer="gypsum"]) .model-light-wash{opacity:0}
.building-service[data-light="off"] .model-ceiling{filter:grayscale(1) brightness(.7)}
.building-service[data-finish="stone"] .model-walls{filter:sepia(.5) saturate(.75) brightness(.86)}
.building-service[data-finish="mineral"] .model-walls{filter:grayscale(.65) contrast(1.15) brightness(.92)}
.finish-sample{height:100px;max-width:340px;border:1px solid #c7bda6;margin-bottom:18px;background:#ece5d7;box-shadow:inset 16px 0 28px #fff3,inset -14px 0 28px #0001;transition:background var(--motion-base)}
.finish-sample>span{display:block;height:100%;background:linear-gradient(125deg,#ffffff0a,#00000012);border-inline-start:8px solid #ffffff20}
[data-finish="stone"] .finish-sample{background:#b8a98a}
[data-finish="mineral"] .finish-sample{background:#c8c1b3 url(images/mineral-plaster.webp) center/cover;background-blend-mode:multiply}
.lighting-control button{max-width:100%;min-height:50px;gap:18px;align-items:center;border:1px solid #bba47b;position:relative}
.lighting-control button:after{content:"";width:11px;height:11px;border-radius:50%;border:1px solid #d3ba8a;background:#d3ba8a;box-shadow:0 0 12px #d3ba8a88}
.lighting-control button[aria-pressed="false"]:after{background:transparent;box-shadow:none}
.lighting-control p{margin-bottom:0}
.lighting-preview{position:relative;aspect-ratio:3.2;max-width:420px;overflow:hidden;margin-bottom:18px;background:#293329}
.lighting-preview img{position:absolute;top:0;left:0;width:100%;height:auto;max-width:none;transform:translateY(-13%);transition:filter var(--motion-base)}
[data-light="off"] .lighting-preview img{filter:grayscale(1) brightness(.7)}
.renovation-experience[data-step="1"] .model-ceiling{opacity:.55}
.renovation-experience[data-step="2"] .model-ceiling{opacity:1}
.renovation-experience[data-step="2"] :is(.model-floor,.model-walls){opacity:.6}
.renovation-experience[data-step="4"] .model-perspective{transform:scale(1.08) translateY(-2%)}
.model-perspective{transition:transform var(--motion-scene) var(--motion-ease)}
.building-service .material-model{overflow:hidden}
.building-service[data-active-layer="plumbing"] .model-perspective{transform:scale(1.06) translateX(2%)}
.building-service[data-active-layer="electrical"] .model-perspective{transform:scale(1.06) translateX(-2%)}
.building-service[data-active-layer="waterproofing"] .model-perspective{transform:scale(1.05) translateY(-3%)}
.building-visual [data-model-caption]{display:block;color:#f1d6a6;font-size:15px;margin-bottom:5px}
.service-coverage{font-size:16px!important;line-height:1.8!important;border-inline-start:2px solid #9b774d;padding-inline-start:13px;margin-top:25px}
.service-coverage strong{font-weight:600}
@media(max-width:700px){.cinematic-edition #main :is(.button,.text-link,.cinema-secondary){padding:12px 20px;min-height:52px;font-size:16px}.article-next{display:grid;grid-template-columns:1fr}.article-next>a{width:100%}.finish-sample{height:110px;max-width:none}.lighting-control button{font-size:16px;padding:12px 14px}.cinematic-edition .building-navigation{gap:6px}.cinematic-edition .building-navigation button{min-height:48px;padding-inline:8px}}


@media(max-width:900px){.cinematic-edition{padding-bottom:var(--mobile-contact-height,62px)}.cinematic-edition .mobile-contact{position:fixed;inset:auto 0 0;z-index:75;display:grid;grid-template-columns:1fr 1.2fr;padding-bottom:env(safe-area-inset-bottom)}.cinematic-edition .mobile-contact a{min-width:0;overflow-wrap:anywhere}}
@media(max-width:700px){.cinematic-edition .header-cta{white-space:normal;text-align:center;min-width:0;line-height:1.45}.cinematic-edition .header-inner{display:grid;grid-template-columns:auto auto minmax(0,1fr)}}
@media(max-width:389px){.cinematic-edition .brand img{width:65px}.cinematic-edition .menu-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cinematic-edition .menu-toggle{width:48px;padding:8px;justify-content:center}.cinematic-edition .header-inner{gap:8px}.cinematic-edition .header-cta{padding-inline:12px}}


/* Portrait opening: one cinematic frame, with a calm reading area at its base. */
@media(max-width:900px){
 .cinema-hero{display:flex;min-height:max(660px,calc(100svh - var(--mobile-contact-height,62px)));overflow:hidden}
 .cinema-hero .cinema-media{position:absolute;inset:0;order:initial;aspect-ratio:auto;width:100%;height:64%}
 .cinema-hero :is(.cinema-final,.cinema-film){object-fit:cover;object-position:66% center;width:100%;height:100%}
 .cinema-hero .cinema-gradient{background:linear-gradient(180deg,#10161066 0%,#10161000 28%,#10161018 50%,#10161099 78%,#171b19 100%)}
 .cinema-hero .cinema-hero-inner{min-height:inherit;align-items:flex-end;order:initial;padding-block:250px 30px;pointer-events:none}
 .cinema-hero .cinema-hero-copy{width:100%;max-width:none;pointer-events:auto}
 .cinema-hero h1{font-size:clamp(30px,9.35vw,43px);line-height:1.19;margin-bottom:18px;text-wrap:balance;text-shadow:0 2px 20px #07100955}
 .cinema-hero .cinema-hero-description{font-size:16px;line-height:1.8;margin-bottom:23px;max-width:360px;color:#fff9ec}
 .cinema-hero .cinema-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
 .cinematic-edition #main .cinema-actions :is(.button,.cinema-secondary){font-size:16px;padding:12px 10px;min-height:56px;gap:8px;justify-content:center;text-align:center;line-height:1.5}
 .cinema-hero .cinema-secondary{background:#273329e8;color:#f9eed9}
 .cinema-hero .cinema-trust{margin-top:25px;gap:16px}
 .cinema-hero .cinema-trust>strong{font-size:34px}
 .cinema-hero .cinema-trust>p{font-size:13px;line-height:1.7;padding-inline-start:15px}
 .cinema-hero .cinema-trust p span{font-size:13px;margin-top:2px}
 .cinema-hero .cinema-media-toolbar{top:calc(var(--cinema-header-height) + 20px);bottom:auto;left:20px}
 .home.cinematic-edition:not(.header-is-solid):not(.navigation-open) .site-header{background:linear-gradient(#101610db,#10161022)}
}
@media(max-width:359px){.cinema-hero .cinema-actions{grid-template-columns:1fr}.cinema-hero .cinema-trust>p,.cinema-hero .cinema-trust p span{font-size:12px}}

@media(max-width:700px){.cinematic-edition .header-cta{justify-self:end;width:max-content;max-width:100%}}

.choice-label-compact,.mobile-material-dock,.mobile-experience-dock,.mobile-showcase-stage,.mobile-process-choices{display:none}
.cinematic-edition a[href^="https://wa.me/"]{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.cinematic-edition a[href^="tel:"]{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%}
.cinematic-edition a[href^="https://wa.me/"]::after,.cinematic-edition .project-brief button[type="submit"]::after,.cinematic-edition a[href^="tel:"]::after{content:"";display:block;position:static;inset:auto;width:34px;height:34px;flex:0 0 34px;background:#171b19 url(icons/whatsapp.svg) center/23px 23px no-repeat;border:1px solid #d7b47888;border-radius:50%;clip-path:none;transition:transform var(--motion-base);align-self:center}
.cinematic-edition a[href^="tel:"]::after{background-image:url(icons/phone-silver.svg);border-color:#bec1c566}
.cinematic-edition a[href^="https://wa.me/"]:hover::after,.cinematic-edition a[href^="tel:"]:hover::after{height:34px;transform:scale(1.05)}
.cinematic-edition .mobile-contact a>svg{display:none}
@media(max-width:900px){
 .mobile-illustration :is(.building-layout,.experience-grid,.process-composition){display:block}
 .mobile-illustration :is(.building-visual,.experience-visual,.mobile-showcase-stage,.process-drawing){position:sticky;top:var(--sf-mobile-stage-top,78px);z-index:6;align-self:start;box-shadow:0 14px 20px #00000020;border-bottom:1px solid #bda57866}
 .mobile-illustration.stage-unpinned :is(.building-visual,.experience-visual,.mobile-showcase-stage,.process-drawing){position:relative;top:auto}
 .mobile-illustration .building-visual{background:#353b36;padding:8px 0 10px}
 .mobile-illustration .material-model{height:clamp(150px,25svh,240px);aspect-ratio:auto;max-width:380px;margin-inline:auto}
 .mobile-illustration .building-visual figcaption{font-size:13px;line-height:1.5;margin-top:8px}
 .mobile-illustration .building-visual [data-model-caption]{font-size:14px;margin-bottom:2px}
 .mobile-illustration .building-copy,.mobile-illustration .experience-copy{margin-top:24px}
 .mobile-material-dock,.mobile-experience-dock,.mobile-showcase-stage,.mobile-process-choices{display:block}
 .cinematic-edition .mobile-illustration .building-navigation{margin:8px 0 0;gap:4px;display:flex;flex-wrap:wrap;justify-content:center;border-top:1px solid #bca77a66}
 .cinematic-edition .mobile-illustration .building-navigation button{min-height:46px;font-size:15px;flex:1 1 100px;padding:8px 6px}
 .mobile-material-dock:empty,.mobile-finish-dock:empty{display:none}
 .mobile-illustration .lighting-control{padding:8px 0 0;margin:0}
 .mobile-illustration:not([data-active-layer="gypsum"]) .lighting-control{display:none}
 .mobile-illustration .lighting-control :is(.lighting-preview,p){display:none}
 .mobile-illustration .lighting-control button{width:100%;min-height:46px;padding:8px 12px;justify-content:center;font-size:15px}
 .mobile-finish-dock .finish-sample{height:24px;margin:10px 0 7px;max-width:none}
 .mobile-finish-dock .finish-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .mobile-finish-dock .finish-controls button{min-height:52px;min-width:0;gap:6px;padding:7px 5px;font-size:14px;line-height:1.4;justify-content:center;flex-wrap:wrap}
 .mobile-finish-dock .finish-swatch{width:18px;height:18px;flex:0 0 18px}
 .mobile-illustration .experience-visual{background:#1c241e;padding:8px 0 10px;width:100%}
 .mobile-illustration .experience-stage{height:clamp(150px,24svh,230px);aspect-ratio:auto}
 .mobile-illustration .experience-stage .material-model{height:120%;max-width:none}
 .mobile-illustration .experience-visual figcaption{font-size:13px;line-height:1.5;margin:5px 0 0}
 .mobile-illustration .experience-step-links{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:6px;margin:6px 0 0;padding:4px 1px;scrollbar-width:thin;scrollbar-color:#d7b478 #1c241e;scroll-snap-type:x proximity}
 .mobile-illustration .experience-step-links button{flex:0 0 142px;width:142px;height:auto;min-height:50px;padding:7px 8px;font-size:16px;line-height:1.45;scroll-snap-align:center}


 .mobile-illustration .experience-controls{margin-top:0}
 .mobile-illustration .experience-controls label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .mobile-illustration .experience-controls input{min-height:38px;margin:0}
 .mobile-illustration .experience-arrows button{min-height:44px;font-size:15px;padding:5px}
 .mobile-illustration .experience-arrows button svg{width:18px}
 .mobile-illustration .showcase-layout{display:flex;flex-direction:column;gap:18px}
 .mobile-illustration .showcase-navigation{order:2;position:static;margin:0}
 .mobile-illustration .potential-media{order:1;min-width:0;width:100%}
 .mobile-illustration .mobile-showcase-stage{background:#f4f0e8;padding:8px 0}
 .cinematic-edition .mobile-illustration .scene-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 10px}
 .cinematic-edition .mobile-illustration .scene-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;gap:5px;padding:7px 3px;font-size:14px;line-height:1.35;text-align:center}
 .mobile-illustration .scene-choice .choice-preview{width:45px;height:38px;object-fit:cover}
 .mobile-illustration .choice-label-full{display:none}
 .mobile-illustration .choice-label-compact{display:block}
 .mobile-illustration .comparison-frame{aspect-ratio:1.5}
 .mobile-illustration .cinematic-comparison figcaption{min-height:28px;margin:4px 0;font-size:13px}
 .mobile-illustration .cinematic-comparison figcaption label{font-size:13px}
 .mobile-illustration .showcase-story{padding-top:25px}
 .mobile-illustration .process-drawing{padding:10px 8px;background:#e6ddcd}
 .mobile-illustration .process-drawing>svg{height:clamp(150px,23svh,220px);max-height:none}
 .mobile-illustration .process-drawing figcaption{margin:0 0 8px;font-size:16px}
 .mobile-process-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .mobile-process-choices button{display:flex;align-items:center;gap:8px;min-height:50px;font-size:15px;line-height:1.4;padding:8px;background:#f4eee1;border:1px solid #a28a68;color:#263026;text-align:start}
 .mobile-process-choices button[aria-pressed="true"]{background:#303a31;color:#f4dfb5;border-color:#303a31}


 .mobile-illustration .process-steps{margin-top:24px}
 .mobile-illustration .process-steps p{font-size:17px;margin:0}
}

@media(max-width:900px){
 .mobile-illustration .mobile-material-dock{display:flex;flex-direction:column}
 .mobile-material-dock .mobile-finish-dock{order:2}
 .mobile-illustration .material-model{height:clamp(140px,21svh,220px)}
 .mobile-illustration .building-visual [data-model-caption]{display:none}
 .mobile-illustration .experience-stage .material-model{height:120%}
}

@media(max-width:900px){.mobile-illustration .material-model{height:var(--mobile-model-height,clamp(140px,24svh,240px))}.mobile-illustration .experience-stage{height:var(--mobile-model-height,clamp(150px,24svh,230px))}.mobile-illustration .experience-stage .material-model{height:120%}}

@media(max-width:900px){.mobile-illustration :is(.building-visual,.experience-visual,.mobile-showcase-stage,.process-drawing){position:relative;top:auto;scroll-margin-top:calc(var(--sf-mobile-stage-top,78px) + 10px)}}
.cinematic-edition a[href^="tel:"]>svg{display:none}.cinematic-edition .contact-direct a[href^="tel:"]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.contact-direct a[href^="tel:"]>span{grid-column:1;grid-row:1}.contact-direct a[href^="tel:"]>strong{grid-column:1;grid-row:2}.cinematic-edition .contact-direct a[href^="tel:"]::after{grid-column:2;grid-row:1/3}
@media(min-width:600px) and (max-width:900px) and (max-height:550px){
 .mobile-illustration :is(.experience-visual,.building-visual,.process-drawing){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;padding:8px}
 .mobile-illustration .experience-stage,.mobile-illustration .building-visual>.material-model{grid-column:1;grid-row:1;min-width:0;width:100%;height:clamp(120px,calc(100svh - 230px),200px)!important}
 .mobile-illustration .mobile-experience-dock,.mobile-illustration .mobile-material-dock{grid-column:2;grid-row:1;min-width:0;align-self:center}
 .mobile-illustration :is(.experience-visual,.building-visual)>figcaption{grid-column:1/-1;margin:0;font-size:12px;line-height:1.4}
 .mobile-illustration .experience-step-links{margin-top:0}
 .mobile-illustration .experience-arrows button{font-size:16px}
 .mobile-illustration .process-drawing>svg{grid-column:1;grid-row:1/3;width:100%;height:clamp(120px,calc(100svh - 230px),200px)}
 .mobile-illustration .process-drawing>figcaption{grid-column:2;grid-row:1;align-self:end;margin:0}
 .mobile-illustration .mobile-process-choices{grid-column:2;grid-row:2;align-self:start}
 .mobile-process-choices button{font-size:16px;padding:7px}
}

/* Keep navigation readable across every frame of the hero film. */
.home.cinematic-edition:not(.header-is-solid):not(.navigation-open) .site-header{background:#171b19;border-color:#d5c6b02e}
.cinematic-edition .nav-list>li>a,.cinematic-edition .nav-list .services-main-toggle{font-size:16px}
.cinematic-edition .brand small{font-size:13px;line-height:1.5}
