@font-face{font-family:"DM Serif";src:url("/assets/fonts/dm-serif-display-regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Serif";src:url("/assets/fonts/dm-serif-display-italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url("/assets/fonts/manrope-regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url("/assets/fonts/manrope-semibold.ttf") format("truetype");font-weight:600 800;font-display:swap}
:root{--page-gutter:clamp(18px,2vw,40px);--text-body:18px;--text-small:14px;--text-control:16px;--ink:#25282a;--orange:#d15b26;--orange-text:#a3441d;--cream:#f6f3ed;--line:#dedbd5;--muted:#626361;--white:#fff;--serif:"DM Serif",Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:var(--text-body);line-height:1.7;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.6}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:400}
em{font-family:var(--serif);font-weight:400}
::selection{background:#f4cebb;color:var(--ink)}
:focus-visible{outline:3px solid #a3441d;outline-offset:5px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-70px;left:20px;padding:12px 20px;background:var(--ink);color:#fff;z-index:100}
.skip-link:focus{top:12px}
.section-shell{width:calc(100% - 2 * var(--page-gutter));margin-inline:auto}
.section-space{padding-block:80px}
.eyebrow{text-transform:uppercase;font-size:var(--text-small);font-weight:600;letter-spacing:.17em;line-height:1.5;margin-bottom:24px;display:block}
.eyebrow .tiny-line{display:inline-block;width:29px;height:2px;background:var(--orange);margin-right:12px;vertical-align:middle}
.section-heading{font-family:var(--serif);font-size:clamp(39px,4.25vw,62px);line-height:1.07;letter-spacing:-.035em;margin-bottom:26px}
.section-heading em{color:var(--orange-text)}
.section-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end;margin-bottom:50px}
.section-summary{max-width:52ch;line-height:1.7;color:var(--muted);margin:0 0 25px}
.section-summary p{margin-bottom:25px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:clamp(12px,2vw,24px);padding:15px 22px;min-height:53px;max-width:100%;font-size:var(--text-control);font-weight:600;line-height:1.5;border:1px solid transparent;border-radius:2px;transition:background .2s,color .2s,transform .2s}
.button span{font-size:20px;line-height:1}
.button-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.button-dark:hover{background:#a3441d;border-color:#a3441d}
.button-outline{border-color:#b7b5af;background:transparent;color:var(--ink)}
.button-outline:hover{background:#ebe6dd;border-color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:25px;font-size:var(--text-control);font-weight:600;border-bottom:1px solid #aaa9a3;padding-bottom:7px;line-height:1.5}
.text-link span{font-size:23px;line-height:1}
.text-link:hover{color:var(--orange-text);border-color:var(--orange-text)}
.site-header{height:102px;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid #eeece8;backdrop-filter:blur(14px)}
.header-inner{width:calc(100% - 2 * var(--page-gutter));height:100%;display:flex;align-items:center;justify-content:space-between;margin:auto;gap:30px}
.brand{display:block;position:relative;width:235px;height:47px;overflow:hidden;flex-shrink:0}
.brand img{position:absolute;width:260px;max-width:none;height:auto;left:-16px;top:-19px}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav>a:not(.button){font-size:var(--text-control);font-weight:600;position:relative;white-space:nowrap}
.site-nav>a:not(.button)::after{content:"";height:1px;position:absolute;left:0;right:100%;bottom:-5px;background:var(--orange);transition:right .25s}
.site-nav>a:hover::after{right:0}
.nav-cta{margin-left:9px;padding:14px 19px;gap:24px;font-size:var(--text-control);min-height:48px}
.menu-toggle{display:none}
.hero{padding-top:33px}
.hero-topline{display:flex;justify-content:space-between;align-items:center;gap:20px}
.hero-topline .eyebrow{margin:0}
.hero-locations{font-size:var(--text-small);letter-spacing:.02em;color:var(--muted)}
.hero-locations span{color:#bebbb4;margin:0 10px}
.hero-intro{display:grid;grid-template-columns:1.42fr .58fr;align-items:end;gap:70px;margin:40px 0 40px}
.hero h1{font-family:var(--serif);font-size:clamp(60px,6.7vw,96px);line-height:1.01;letter-spacing:-.048em;margin:0}
.hero h1 em{color:var(--orange-text)}
.hero-copy{padding-bottom:5px}
.hero-copy p{font-size:var(--text-body);line-height:1.7;margin-bottom:25px;color:var(--muted);max-width:48ch}
.hero-visual{position:relative;overflow:hidden;background:#dbd1bc}
.hero-visual>img{width:100%;height:475px;object-fit:cover;object-position:50% 56%}
.hero-visual::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(17,23,17,.58));pointer-events:none}
.hero-image-overlay{position:absolute;z-index:1;left:34px;bottom:35px;right:34px;display:flex;align-items:end;justify-content:space-between;color:#fff}
.hero-image-overlay>span{font-family:var(--serif);font-size:32px;line-height:1.15;letter-spacing:-.02em}
.round-link{width:58px;height:58px;background:white;color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:29px;transition:background .2s,color .2s}
.round-link:hover{background:var(--orange);color:white}
.hero-visual figcaption{position:absolute;z-index:1;right:22px;top:19px;background:#fffef0e8;padding:5px 9px;letter-spacing:.11em;font-size:var(--text-small);text-transform:uppercase;color:#353934}
.hero-foot{display:flex;justify-content:space-between;align-items:center;padding-block:18px;border-bottom:1px solid var(--line);font-size:var(--text-small);color:var(--muted)}
.hero-foot p{margin:0}
.hero-foot a{color:var(--ink);font-weight:600}
.hero-foot a span{margin-left:20px;font-size:var(--text-small)}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:60px 1fr 1.1fr 48px;gap:26px;align-items:center;border-bottom:1px solid var(--line);padding:31px 7px;transition:background .2s,padding .2s}
.service-row:hover{background:#faf8f4;padding-left:16px;padding-right:16px}
.service-index{font-size:var(--text-small);color:var(--orange-text);align-self:start;margin-top:14px}
.service-row h3{font-family:var(--serif);font-size:38px;letter-spacing:-.03em;margin:0}
.service-description p{font-size:var(--text-body);color:var(--muted);margin:0 0 9px;max-width:370px}
.service-description>span{font-size:var(--text-small);letter-spacing:.04em;font-weight:600}
.service-arrow{width:43px;height:43px;border:1px solid #dedbd5;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;transition:all .2s}
.service-row:hover .service-arrow{color:white;background:var(--ink);border-color:var(--ink)}
.interior-section{display:grid;grid-template-columns:1.08fr .92fr;background:var(--cream)}
.interior-image{position:relative;min-width:0}
.interior-image>img{height:100%;min-height:640px;width:100%;object-fit:cover;object-position:39% center}
.image-label{position:absolute;left:22px;bottom:20px;background:#fffef0e8;color:#353934;padding:5px 9px;font-size:var(--text-small);letter-spacing:.1em;text-transform:uppercase}
.interior-copy{padding:60px clamp(28px,4vw,64px);max-width:none;align-self:center}
.interior-copy .section-heading{font-size:clamp(36px,3.7vw,53px);margin-bottom:26px}
.interior-copy>p:not(.eyebrow){color:var(--muted);font-size:var(--text-body);max-width:52ch;line-height:1.7}
.interior-scope{margin:29px 0 32px}
.interior-scope>div{display:flex;align-items:start;gap:13px;margin-bottom:18px;font-size:var(--text-body);color:var(--muted)}
.interior-scope strong{display:block;font-weight:600;color:var(--ink);margin-bottom:2px}
.scope-dot{display:inline-block;width:5px;height:5px;background:var(--orange);flex:none;border-radius:50%;margin-top:9px}
.smart-section{background:var(--ink);color:#f7f3ec}
.smart-section .section-heading em{color:#e7a17c}
.smart-section .section-summary{color:#c8c8c1;font-size:var(--text-body)}
.text-link-light{color:#fff;border-color:#7c7e79}
.text-link-light:hover{color:#e7a17c;border-color:#e7a17c}
.smart-demo{display:grid;grid-template-columns:1.55fr .75fr;background:#323638;border:1px solid #454746}
.smart-photo{position:relative;min-height:400px;overflow:hidden}
.smart-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;transition:filter .6s}
.smart-photo::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#131a17bb)}
.smart-photo[data-scene="evening"]>img{filter:brightness(.65) saturate(.95)}
.smart-photo[data-scene="away"]>img{filter:brightness(.42) saturate(.7)}
.smart-photo .image-label{left:22px;top:20px;bottom:auto;z-index:1}
.scene-caption{position:absolute;z-index:1;bottom:28px;left:30px;right:20px}
.scene-caption-label{font-size:var(--text-small);letter-spacing:.12em;text-transform:uppercase}
.scene-caption h3{font-family:var(--serif);font-size:35px;letter-spacing:-.02em;margin:8px 0 0;line-height:1.15}
.scene-panel{padding:36px 29px}
.scene-panel .eyebrow{color:#c4c5bc;font-size:var(--text-small);margin-bottom:10px}
.scene-panel>h3{font-family:var(--serif);font-size:29px;margin-bottom:25px}
.scene-buttons{display:flex;border:1px solid #6b6d66;border-radius:3px;padding:3px;gap:3px}
.scene-buttons button{border:0;background:transparent;color:#d0d0c9;font-size:var(--text-control);padding:10px 8px;flex:1;white-space:nowrap;border-radius:1px}
.scene-buttons button span{display:block;font-size:17px;line-height:1.2;margin-bottom:5px}
.scene-buttons button[aria-pressed="true"]{background:#faf7f0;color:var(--ink)}
.scene-state{margin-top:25px}
.scene-state>div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #535652;font-size:var(--text-body)}
.scene-state span{color:#c3c5be}
.scene-state strong{font-size:var(--text-body);font-weight:600;text-align:right}
.scene-note{font-size:var(--text-small);color:#bfc0b8;line-height:1.8;margin:19px 0 0}
.smart-coverage{display:flex;justify-content:space-between;gap:20px;color:#d2d2c9;font-size:var(--text-small);padding-top:24px}
.smart-coverage p{margin:0;display:flex;align-items:center;gap:10px}
.smart-coverage .scope-dot{margin:0;background:#e7a17c}
.coverage-table-wrap{overflow-x:auto}
.coverage-table{width:100%;border-collapse:collapse;font-size:var(--text-body);min-width:680px}
.coverage-table th{font-weight:600;text-align:left}
.coverage-table thead th{padding:18px 20px;background:var(--cream);font-size:var(--text-body)}
.coverage-table th:first-child{padding-left:25px;width:29%}
.coverage-table tbody th,.coverage-table td{padding:24px 20px;border-bottom:1px solid var(--line)}
.coverage-table td{color:#4b4f4d}
.available::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--orange);margin-right:9px;vertical-align:middle}
.muted{color:#72746e;font-size:var(--text-small)}
.table-note{font-size:var(--text-small);line-height:1.8;color:var(--muted);margin:20px 0 0;max-width:780px}
.approach-section{background:var(--cream)}
.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}
.process-list li{border-top:1px solid #c6c4bd;padding-top:23px}
.process-list li>span{font-size:var(--text-small);color:var(--orange-text)}
.process-list h3{font-family:var(--serif);font-size:25px;line-height:1.2;letter-spacing:-.02em;margin:28px 0 14px;max-width:210px}
.process-list p{font-size:var(--text-body);line-height:1.7;color:var(--muted);max-width:38ch}
.about-strip{display:grid;grid-template-columns:.65fr 1fr 1.2fr;gap:50px;padding-block:75px;border-bottom:1px solid var(--line);align-items:center}
.about-strip .eyebrow{margin:0;font-size:var(--text-small)}
.about-strip h2{font-family:var(--serif);font-size:40px;letter-spacing:-.035em;line-height:1.12;margin:0}
.about-strip>div p{font-size:var(--text-body);color:var(--muted);line-height:1.7;margin-bottom:18px}
.faq-section{display:grid;grid-template-columns:.9fr 1.3fr;gap:56px}
.faq-section>div>p:not(.eyebrow){font-size:var(--text-body);color:var(--muted)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 0;font-weight:600;font-size:var(--text-body)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:22px;font-weight:400;line-height:1;flex:none;color:var(--orange-text)}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{font-size:var(--text-body);color:var(--muted);line-height:1.7;margin:0 35px 24px 0}
.faq-list details a{text-decoration:underline;text-underline-offset:3px}
.contact-section{background:#f1ece2}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}
.contact-copy .section-heading{font-size:clamp(40px,4.35vw,64px)}
.contact-copy>p:not(.eyebrow){max-width:44ch;font-size:var(--text-body);color:var(--muted);line-height:1.7}
.contact-phone{display:block;font-family:var(--serif);font-size:30px;line-height:1.3;margin:48px 0 22px;white-space:nowrap}
.contact-phone>span:first-child{display:block;font-family:var(--sans);font-size:var(--text-small);color:var(--muted);margin-bottom:11px}
.contact-phone>span:last-child{color:var(--orange-text);font-size:24px;margin-left:16px}
.contact-copy .contact-small{font-size:var(--text-small)!important;margin-top:30px}
.project-form{background:#fff;padding:34px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.field{margin-bottom:23px;min-width:0}
.field label,.service-field legend{display:block;font-size:var(--text-small);font-weight:600;margin-bottom:9px}
.field label>span:not(.optional),.service-field legend>span{color:var(--orange-text)}
input,select,textarea{border:1px solid #d5d4ce;border-radius:1px;background:#fff;color:var(--ink);padding:12px;min-height:45px;width:100%;font-size:var(--text-control);line-height:1.6}
input::placeholder,textarea::placeholder{color:#7b7c75;opacity:1}
textarea{resize:vertical}
select{padding-right:26px}
.optional{font-weight:400;color:#6c6e66}
.service-field{padding:0;border:0;margin:0 0 15px}
.service-choices{display:flex;flex-wrap:wrap;gap:7px}
.service-choices label{position:relative;cursor:pointer}
.service-choices input{position:absolute;opacity:0;width:100%;height:100%;margin:0;min-height:0}
.service-choices label>span{display:block;border:1px solid #d5d4ce;border-radius:2px;padding:9px 12px;font-size:var(--text-control);pointer-events:none}
.service-choices input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.service-choices input:focus-visible+span{outline:2px solid var(--orange-text);outline-offset:3px}
.field-error{font-size:var(--text-small);color:#a12d1c;margin:9px 0 0}
.scope-message{font-size:var(--text-small);line-height:1.7;color:#62645d;margin:0 0 22px;background:#faf8f3;border-left:2px solid #c4a587;padding:11px 12px}
.form-submit{width:100%;justify-content:space-between}
.form-note{font-size:var(--text-small);color:#696b63;line-height:1.8;margin:13px 0 0}
.form-note a{text-decoration:underline;text-underline-offset:3px}
.site-footer{background:#fff}
.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;padding-top:62px;padding-bottom:55px}
.footer-main .brand{margin-left:-1px;margin-bottom:19px}
.footer-brand p{font-size:var(--text-small);color:var(--muted);line-height:1.9;max-width:280px}
.footer-brand a:hover{text-decoration:underline}
.footer-brand .footer-location{font-size:var(--text-small);margin-top:20px}
.footer-label{font-size:var(--text-small);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:11px 0 24px}
.footer-main>div:not(:first-child)>a{display:block;font-size:var(--text-small);color:#5f625d;margin:10px 0}
.footer-main>div:not(:first-child)>a:hover{color:var(--orange-text)}
.footer-bottom{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding-block:20px;font-size:var(--text-small);color:#6b6c66}
.footer-bottom p{margin:0}
.footer-bottom p:nth-child(2){margin-left:auto}
.footer-bottom>a:last-child{margin-left:10px}
dialog{border:0;border-radius:4px;padding:0;max-width:620px;width:calc(100% - 32px);color:var(--ink);max-height:calc(100dvh - 50px);overflow:auto;box-shadow:0 24px 100px #1114}
dialog::backdrop{background:#141b1bcc;backdrop-filter:blur(5px)}
.dialog-inner{padding:38px;position:relative}
.dialog-close{position:absolute;top:13px;right:16px;border:0;background:none;font-size:30px;color:var(--ink);line-height:1;padding:8px}
.dialog-inner .eyebrow{margin-bottom:14px}
.dialog-inner h2{font-family:var(--serif);font-size:39px;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px}
.dialog-inner>p:not(.eyebrow){font-size:var(--text-body);color:var(--muted)}
#enquiry-preview{margin:12px 0 22px;background:#faf8f4;min-height:220px;font-size:var(--text-small);resize:vertical}
.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}
.dialog-actions .button{flex:1;white-space:nowrap}
.detail-hero{padding-top:42px;padding-bottom:55px}
.detail-hero>.text-link{font-size:var(--text-control);margin-bottom:55px;color:var(--muted)}
.detail-hero .eyebrow{color:var(--orange-text)}
.detail-title{font-family:var(--serif);font-size:clamp(53px,6.1vw,88px);line-height:1.04;letter-spacing:-.04em;margin:0 0 28px;max-width:1030px}
.detail-title em{color:var(--orange-text)}
.detail-intro{max-width:660px;font-size:var(--text-body);line-height:1.7;color:var(--muted)}
.coverage-tag{display:inline-flex;align-items:center;font-size:var(--text-small);font-weight:600;line-height:1.5;padding:9px 13px;background:var(--cream);border:1px solid #e1ded6;margin-top:10px;margin-right:7px}
.detail-image{position:relative}
.detail-image img{width:100%;height:540px;object-fit:cover}
.detail-image figcaption{font-size:var(--text-small);line-height:1.7;color:var(--muted);margin-top:12px}
.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.detail-grid .section-heading{font-size:48px}
.body-copy{font-size:var(--text-body);color:var(--muted);line-height:1.75;max-width:650px}
.detail-aside{background:var(--cream);padding:36px}
.detail-aside h2,.detail-aside h3{font-family:var(--serif);font-size:31px;line-height:1.18;letter-spacing:-.02em;margin-bottom:22px}
.detail-aside p,.detail-aside li{font-size:var(--text-body);color:var(--muted);line-height:1.7}
.detail-list{list-style:none;padding:0;margin:28px 0}
.detail-list li{padding:18px 0;border-top:1px solid var(--line);font-size:var(--text-body);color:var(--muted);line-height:1.7}
.detail-list li:last-child{border-bottom:1px solid var(--line)}
.detail-list li strong{display:block;color:var(--ink);font-weight:600;margin-bottom:6px}
.detail-cta{background:var(--cream);padding-block:75px}
.detail-cta p:not(.eyebrow){font-size:var(--text-body);color:var(--muted);max-width:650px;line-height:1.7}
.detail-cta .button{margin-top:12px}
.detail-cta .text-link{margin-left:22px}
.privacy-page{max-width:850px}
.privacy-date{font-size:var(--text-small);color:var(--muted);margin-bottom:50px}
.privacy-page section{padding-block:20px}
.privacy-page section h2{font-family:var(--serif);font-size:30px}
.privacy-page section p{font-size:var(--text-body);line-height:1.75;color:var(--muted)}
.privacy-page section a{text-decoration:underline}
.not-found{min-height:64vh}
.not-found>p:not(.eyebrow){color:var(--muted);margin-bottom:32px}
@media(min-width:1600px){.hero-visual>img{height:530px}.interior-copy{padding-left:64px;padding-right:64px}}
@media(max-width:1180px){
 .header-inner{width:calc(100% - 2 * var(--page-gutter));gap:16px}.brand{width:205px;height:43px}.brand img{width:226px;left:-14px;top:-16px}.site-nav{gap:18px}.nav-cta{margin-left:0;padding-inline:15px;gap:18px}.site-nav>a:not(.button){font-size:var(--text-control)}
 .hero-intro{gap:45px;grid-template-columns:1.3fr .7fr}.hero h1{font-size:76px}.hero-visual>img{height:430px}
 .section-intro{gap:60px}.service-row{grid-template-columns:35px .9fr 1.1fr 43px;gap:20px}.service-row h3{font-size:33px}.interior-copy{padding:65px 45px}.interior-image>img{min-height:600px}.smart-demo{grid-template-columns:1.35fr .85fr}.scene-panel{padding:28px 22px}
 .about-strip{gap:35px;grid-template-columns:.55fr .9fr 1.2fr}.about-strip h2{font-size:35px}.contact-grid{gap:55px}.project-form{padding:26px}.faq-section{gap:65px}.footer-main{gap:50px}.detail-grid{gap:60px}
}
@media(max-width:1180px){
 .site-header{height:86px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:1px solid #d3d1cb;background:white;padding:11px;z-index:32}.menu-toggle span{display:block;width:20px;height:1px;background:var(--ink);transition:transform .2s}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .site-nav{display:none;position:absolute;left:0;right:0;top:85px;padding:25px 30px 30px;background:white;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #25282a0c;flex-direction:column;align-items:stretch;gap:0}
 .site-nav.is-open,.site-nav[data-open="true"],.site-nav.open{display:flex}.site-nav>a:not(.button){font-size:var(--text-control);padding:12px 0}.site-nav .nav-cta{align-self:flex-start;margin-top:14px;font-size:var(--text-control)}.site-nav>a::after{display:none}
 .section-space{padding-block:68px}.hero-topline .eyebrow{font-size:var(--text-small)}.hero-locations{font-size:var(--text-small)}.hero-intro{gap:30px;margin:35px 0}.hero h1{font-size:63px}.hero-copy p{font-size:var(--text-body)}.hero-visual>img{height:390px}
 .section-heading{font-size:47px}.service-row{grid-template-columns:28px .85fr 1.1fr 37px;gap:16px;padding-block:27px}.service-row h3{font-size:30px}.service-description p{font-size:var(--text-body)}.service-description>span{font-size:var(--text-small)}.service-arrow{width:36px;height:36px}
 .interior-copy{padding:50px 32px}.interior-copy .section-heading{font-size:38px}.interior-copy>p:not(.eyebrow){font-size:var(--text-body)}.interior-image>img{min-height:600px}.smart-demo{grid-template-columns:1.1fr .9fr}.smart-photo{min-height:420px}.scene-caption h3{font-size:27px}.scene-caption{left:22px}
 .process-list{gap:22px}.process-list h3{font-size:23px}.about-strip{grid-template-columns:1fr 1fr;gap:30px}.about-strip>.eyebrow{grid-column:1/-1}.about-strip h2{font-size:40px}.faq-section{grid-template-columns:.75fr 1.25fr;gap:40px}
 .contact-grid{gap:35px;grid-template-columns:.9fr 1.1fr}.contact-copy .section-heading{font-size:43px}.contact-phone{font-size:26px}.form-row{grid-template-columns:1fr;gap:0}.project-form{padding:25px}.service-choices label>span{padding:8px 10px}.footer-main{gap:35px}.footer-bottom{flex-wrap:wrap;gap:12px 20px}.footer-bottom p:nth-child(2){margin-left:0}.footer-bottom>a:last-child{margin-left:auto}.detail-title{font-size:67px}.detail-image img{height:430px}.detail-grid{gap:40px}.detail-grid .section-heading{font-size:42px}
}
@media(max-width:680px){
 :root{--text-body:16px}
 html{scroll-padding-top:85px}body{font-size:var(--text-body)}.site-header{height:76px}.brand{width:196px;height:42px}.brand img{width:216px;left:-13px;top:-15px}.site-nav{top:75px}
 .section-space{padding-block:52px}.eyebrow{font-size:var(--text-small);letter-spacing:.13em;margin-bottom:18px}.section-heading{font-size:42px;line-height:1.1;margin-bottom:22px}.section-intro{grid-template-columns:1fr;gap:0;margin-bottom:30px}.section-summary{max-width:420px;margin-bottom:0;font-size:var(--text-body)}
 .hero{padding-top:23px}.hero-topline{display:block}.hero-topline .eyebrow{font-size:var(--text-small)}.hero-locations{display:none}.hero-intro{grid-template-columns:1fr;gap:23px;margin-top:27px;margin-bottom:26px}.hero h1{font-size:clamp(48px,12vw,75px);line-height:1.03;letter-spacing:-.04em}.hero-copy p{max-width:440px;font-size:var(--text-body);line-height:1.75;margin-bottom:18px}.hero-copy .text-link{font-size:var(--text-control)}.hero-visual>img{height:390px;object-position:48% center}.hero-image-overlay{left:20px;right:20px;bottom:25px}.hero-image-overlay>span{font-size:26px}.round-link{width:45px;height:45px;font-size:23px}.hero-visual figcaption{right:13px;top:13px;font-size:var(--text-small)}.hero-foot{align-items:start;gap:20px;font-size:var(--text-small);padding-block:14px}.hero-foot p{max-width:145px}.hero-foot a{font-size:var(--text-small);text-align:right}.hero-foot a span{margin-left:8px}
 .service-row{grid-template-columns:24px 1fr 35px;gap:10px;padding:24px 0;align-items:start}.service-index{font-size:var(--text-small);margin-top:10px}.service-row h3{font-size:31px;line-height:1.25}.service-description{grid-column:2;grid-row:2;margin-top:2px}.service-description p{font-size:var(--text-body);margin-bottom:8px;max-width:none}.service-description>span{font-size:var(--text-small)}.service-arrow{grid-column:3;grid-row:1;width:33px;height:33px;font-size:19px;margin-top:3px}.service-row:hover{padding-inline:5px}
 .interior-section{grid-template-columns:1fr}.interior-image>img{min-height:0;height:360px;object-position:40% center}.interior-copy{padding:45px 25px 50px;max-width:none}.interior-copy .section-heading{font-size:40px}.interior-copy>p:not(.eyebrow){max-width:none;font-size:var(--text-body)}.interior-scope{margin:25px 0}.interior-scope>div{font-size:var(--text-body)}
 .smart-section .section-heading{font-size:44px}.smart-section .section-summary{font-size:var(--text-body)}.smart-section .section-intro{gap:0;margin-bottom:30px}.smart-demo{grid-template-columns:1fr}.smart-photo{min-height:350px}.scene-caption h3{font-size:30px}.scene-panel{padding:28px 23px}.scene-panel>h3{font-size:29px;margin-bottom:19px}.scene-buttons button{padding:12px 10px;font-size:var(--text-control)}.scene-buttons button span{display:inline-block;margin:0 6px 0 0}.scene-state{margin-top:18px}.scene-state>div{font-size:var(--text-body);padding-block:13px}.scene-state strong{font-size:var(--text-body)}.scene-note{font-size:var(--text-small)}.smart-coverage{flex-direction:column;gap:12px;padding-top:23px;font-size:var(--text-small);line-height:1.7}.smart-coverage p{align-items:start}.smart-coverage .scope-dot{margin-top:7px}
 .coverage-table-wrap{margin-right:-20px;padding-right:20px;position:relative}.coverage-table{min-width:660px}.coverage-table thead th{padding:15px 17px}.coverage-table tbody th,.coverage-table td{padding:20px 17px}.table-note{font-size:var(--text-small)}.process-list{grid-template-columns:1fr 1fr;gap:25px}.process-list h3{font-size:25px;margin-top:20px}.process-list p{font-size:var(--text-body);margin-bottom:5px}.process-list li{padding-top:17px}
 .about-strip{padding-block:48px;grid-template-columns:1fr;gap:20px}.about-strip h2{font-size:40px}.about-strip>div p{font-size:var(--text-body);margin-bottom:18px}.faq-section{grid-template-columns:1fr;gap:25px}.faq-section>div>p:not(.eyebrow) br{display:none}.faq-list summary{padding-block:20px;gap:20px;font-size:var(--text-body)}.faq-list details p{font-size:var(--text-body)}
 .contact-grid{grid-template-columns:1fr;gap:30px}.contact-copy .section-heading{font-size:44px}.contact-copy>p:not(.eyebrow){max-width:100%;font-size:var(--text-body)}.contact-phone{margin-top:26px;font-size:26px}.contact-copy .contact-small{margin-top:15px}.project-form{padding:23px 20px}.field{margin-bottom:20px}.field label,.service-field legend{font-size:var(--text-small)}input,select,textarea{font-size:var(--text-control);padding:10px;min-height:47px}.service-choices label>span{font-size:var(--text-control);padding:10px 12px}.service-choices{gap:8px}.scope-message{font-size:var(--text-small)}.form-note{font-size:var(--text-small)}.form-submit{font-size:var(--text-control)}
 .footer-main{grid-template-columns:1fr 1fr;padding-top:40px;padding-bottom:30px;gap:28px 35px}.footer-brand{grid-column:1/-1}.footer-main .brand{margin-bottom:15px}.footer-brand p{max-width:none}.footer-brand .footer-location{margin:14px 0 0}.footer-label{font-size:var(--text-small);margin:0 0 15px}.footer-main>div:not(:first-child)>a{font-size:var(--text-small);margin-block:9px}.footer-bottom{font-size:var(--text-small);gap:10px 18px;padding-block:18px}.footer-bottom p{width:100%}.footer-bottom>a:last-child{margin-left:auto}
 .dialog-inner{padding:32px 22px 25px}.dialog-inner .eyebrow{font-size:var(--text-small)}.dialog-inner h2{font-size:36px}.dialog-inner>p:not(.eyebrow){font-size:var(--text-body)}#enquiry-preview{font-size:var(--text-small)}.dialog-actions{gap:8px}.dialog-actions .button{font-size:var(--text-control);padding:13px 16px;gap:15px}
 .detail-hero{padding-top:27px;padding-bottom:35px}.detail-hero>.text-link{margin-bottom:35px}.detail-title{font-size:48px;line-height:1.06;margin-bottom:22px}.detail-intro{font-size:var(--text-body);line-height:1.7}.coverage-tag{font-size:var(--text-small);max-width:100%}.detail-image img{height:330px;object-position:44% center}.detail-image figcaption{font-size:var(--text-small);line-height:1.6}.detail-grid{grid-template-columns:1fr;gap:30px}.detail-grid .section-heading{font-size:39px}.body-copy{font-size:var(--text-body)}.detail-aside{padding:26px}.detail-aside h2,.detail-aside h3{font-size:30px}.detail-aside p,.detail-aside li{font-size:var(--text-body)}.detail-list{margin-block:22px}.detail-list li{font-size:var(--text-body);padding-block:16px}.detail-cta{padding-block:55px}.detail-cta .section-heading{font-size:42px}.detail-cta .text-link{margin:22px 0 0;display:table}.detail-cta p:not(.eyebrow){font-size:var(--text-body)}.privacy-page section p{font-size:var(--text-body)}.privacy-date{font-size:var(--text-small);margin-bottom:30px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Readable controls and fluid gutters shared by every page. */
.site-nav>a:not(.button){font-size:var(--text-control);min-height:44px;display:inline-flex;align-items:center}
.site-nav{gap:22px}
.text-link{min-height:44px;font-size:var(--text-control)}
.text-link span{flex-shrink:0}
.field label,.service-field legend{font-size:16px}
.service-choices label>span{font-size:16px;min-height:44px}
input,select,textarea,#enquiry-preview{font-size:16px}
.hero-foot{flex-wrap:wrap;gap:18px}
.hero-visual figcaption,.image-label{max-width:calc(100% - 40px);letter-spacing:.05em}
.footer-main>div:not(:first-child)>a{font-size:16px;min-height:44px;display:flex;align-items:center}
.footer-main{grid-template-columns:1.3fr 1fr 1fr}
@media(max-width:1180px){.site-nav{gap:0}.site-nav>a:not(.button){font-size:18px}.site-nav .nav-cta{font-size:16px}.smart-demo{grid-template-columns:1.1fr .9fr}}
@media(max-width:760px){.smart-demo{grid-template-columns:1fr}.smart-photo{min-height:360px}.hero-topline{flex-wrap:wrap}}
@media(max-width:680px){.footer-main{grid-template-columns:1fr 1fr;gap:22px}.hero-foot p{max-width:none}.hero-foot a{font-size:14px;text-align:left}.coverage-table-wrap{margin-right:0;padding-right:0}.dialog-actions .button{white-space:normal}.project-form{padding:24px 16px}.contact-phone{white-space:normal}.interior-copy{padding-inline:var(--page-gutter)}.hero-image-overlay{gap:12px}.round-link{flex-shrink:0}}
@media(max-width:380px){.process-list{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.dialog-actions{flex-direction:column}.hero-image-overlay>span{font-size:24px}}

.scene-buttons button{min-width:0;white-space:normal;min-height:44px}
.scene-buttons button span{display:block;margin:0 0 5px}

.service-concept-nav{background:#faf9f5;border-bottom:1px solid #e4e2da;font-size:var(--text-control,16px)}
.service-concept-nav>.section-shell{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}
.service-concept-nav .service-concept-home{color:#526048;white-space:nowrap}
.service-concept-home span{margin-left:20px;color:#c2c6bc}
.service-concept-nav>.section-shell>div{display:flex;gap:clamp(18px,2vw,32px);min-width:0}
.service-concept-nav a{display:inline-flex;align-items:center;min-height:44px;padding-block:16px;white-space:nowrap}
.service-concept-nav a[aria-current="page"]{color:#a3441d;box-shadow:inset 0 -2px #d15b26;font-weight:600}

.world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.world-tile{position:relative;min-height:480px;min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:30px 34px;background:#e6e8dc;isolation:isolate}
.world-art{position:absolute;inset:0;z-index:-2}
.world-art>svg{width:100%;height:100%;object-fit:cover}
.world-art>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.world-tile:hover .world-art>img{transform:scale(1.035)}
.world-category{font-size:var(--text-small,14px);line-height:1.5;letter-spacing:.1em;font-weight:600}
.world-copy h3{font-family:var(--serif);font-size:44px;line-height:1.03;letter-spacing:-.025em;margin:0 0 19px}
.world-copy p{font-size:var(--text-body,18px);line-height:1.6;margin:0 0 24px}
.world-link{font-size:var(--text-control,16px);line-height:1.5;font-weight:600;border-top:1px solid #ffffff55;padding-top:16px;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.world-link b{font-size:25px;line-height:1;font-weight:400}
.world-architecture{background:#e8ebdd}
.world-architecture .world-art{left:28%;top:-2%;right:-30%;bottom:15%;opacity:.75;transform:rotate(-12deg)}
.world-architecture::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#e8ebdd 50%);z-index:-1}
.world-architecture .world-link{border-color:#6d745a55}
.world-architecture .world-copy h3 em{color:#67734f}
.world-construction{color:#fff;background:#242d2b}
.world-construction .world-art{inset:-35% -35% 8% 20%;opacity:.8}
.world-construction::after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#242d2b 60%);z-index:-1}
.world-construction .world-copy h3{font-family:var(--sans);font-weight:600;font-size:38px;line-height:1.1}
.world-construction .world-category{color:#f5ad83}
.world-interiors,.world-smart{color:#fff}
.world-interiors::after,.world-smart::after{content:"";position:absolute;inset:0;background:linear-gradient(#141a1a22,#161b19bb);z-index:-1}
.world-interiors .world-art>img{object-position:40% 50%}
.world-smart .world-copy h3{font-family:var(--sans);font-weight:600;font-size:39px;line-height:1.13}
.world-smart .world-copy h3 span{color:#ffd4ad}
.world-caption{font-size:var(--text-small,14px);color:#6b6e65;margin:18px 0 0;line-height:1.65}

.architecture-concept{background:#f8f8f1;color:#303b35;font-size:var(--text-body,18px)}
.architecture-concept .eyebrow,.construction-concept .eyebrow{font-size:var(--text-small,14px);line-height:1.6}
.architecture-concept .button,.architecture-concept .text-link,.construction-concept .button,.construction-concept .text-link{font-size:var(--text-control,16px);min-height:44px}
.arc-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,3vw,44px);align-items:center;padding-block:72px 86px}
.arc-intro h1{font-family:var(--serif);font-size:clamp(60px,5.8vw,86px);line-height:1.03;letter-spacing:-.045em;margin:25px 0}
.arc-intro h1 em{color:#6c7850}
.arc-intro>p:not(.eyebrow){font-size:var(--text-body,18px);line-height:1.7;margin-bottom:28px;color:#6a7162}
.arc-intro .button{background:#364235;border-color:#364235}
.arc-location{display:block;font-size:var(--text-small,14px);line-height:1.6;letter-spacing:.06em;margin-top:30px;color:#526048}
.arc-hero-drawing{position:relative;min-width:0;transform:rotate(-3deg);background:#fefdf8;padding:20px 20px 0;box-shadow:0 30px 60px #33412a15;border:1px solid #e3e7da}
.arc-hero-drawing svg{width:100%;height:auto;max-height:680px;display:block}
.arc-hero-drawing figcaption{font-size:var(--text-small,14px);line-height:1.55;color:#56634d;border-top:1px solid #d9dece;padding:14px}
.arc-paper-mark{position:absolute;right:17px;top:15px;border:1px solid #cbd2bc;width:56px;height:56px;display:grid;place-content:center;font-size:var(--text-small,14px);line-height:1.4;text-align:center;color:#66724f}
.diagram-room-labels{font-size:18px}
.diagram-study-labels{display:none}
.arc-plan-legend{display:none}
.arc-studio{background:#e9ecdf;border-block:1px solid #dce1ce}
.arc-studio-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:clamp(24px,3vw,44px);align-items:end;margin-bottom:36px}
.arc-studio-heading>p{font-size:var(--text-body,18px);line-height:1.7;color:#526048;margin-bottom:24px}
.arc-studio-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:clamp(24px,3vw,44px);align-items:center}
.arc-plan{min-width:0;background:#fbfbf4;border:1px solid #d1d7c4;padding:14px}
.arc-plan svg{width:100%;height:auto;max-height:680px;display:block}
.arc-plan-note{font-size:var(--text-small,14px);line-height:1.6;letter-spacing:.02em;display:block;padding:12px 18px;color:#6c755f}
.arc-layer-buttons{display:flex;flex-direction:column}
.arc-layer-buttons button{background:transparent;color:#434d39;border:0;border-top:1px solid #bdc6ab;display:flex;align-items:center;gap:14px;min-height:52px;padding:18px 0;text-align:left;font-size:var(--text-control,16px);line-height:1.5}
.arc-layer-buttons button:last-child{border-bottom:1px solid #bdc6ab}
.arc-layer-buttons button>span:first-child{font-size:var(--text-small,14px);color:#5e6a50}
.arc-layer-buttons button>span:last-child{margin-left:auto}
.arc-layer-buttons button[aria-pressed="true"]{color:#a3441d;font-weight:600;padding-inline:12px;background:#f9faf3}
.arc-layer-copy{padding-block:26px 18px;min-height:250px}
.arc-layer-copy .eyebrow{margin-bottom:12px}
.arc-layer-copy h3{font-family:var(--serif);font-size:32px;line-height:1.15;letter-spacing:-.025em}
.arc-layer-copy p{font-size:var(--text-body,18px);color:#526048;line-height:1.7}
.arc-perspective{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,3vw,44px)}
.arc-questions article{border-top:1px solid #d8decc;padding-block:23px}
.arc-questions article>span{font-size:var(--text-small,14px);line-height:1.5;letter-spacing:.1em;color:#58654a}
.arc-questions h3{font-family:var(--serif);font-size:30px;margin:14px 0 12px;line-height:1.2}
.arc-questions p{font-size:var(--text-body,18px);line-height:1.7;color:#526048}
.arc-photo{height:550px;position:relative;overflow:hidden;background:#38402e}
.arc-photo>img{width:100%;height:100%;object-fit:cover}
.arc-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#142316a8,transparent)}
.arc-photo figcaption{position:absolute;z-index:1;right:var(--page-gutter,clamp(18px,2vw,40px));top:25px;max-width:calc(100% - 2 * var(--page-gutter,clamp(18px,2vw,40px)));background:#fffdf2e6;padding:8px 12px;font-size:var(--text-small,14px);line-height:1.5}
.arc-photo>div{position:absolute;z-index:1;left:var(--page-gutter,clamp(18px,2vw,40px));max-width:calc(100% - 2 * var(--page-gutter,clamp(18px,2vw,40px)));bottom:60px;color:#fff}
.arc-photo h2{font-family:var(--serif);font-size:70px;line-height:1.04;letter-spacing:-.03em;margin:0}
.concept-ending{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,3vw,44px);align-items:center}
.concept-ending p:not(.eyebrow){max-width:760px;font-size:var(--text-body,18px);line-height:1.7;color:#526048}
.concept-ending-actions{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.concept-ending .section-heading{margin-bottom:25px}

.construction-concept{background:#f0f0e8;color:#29332f;font-size:var(--text-body,18px)}
.build-hero{background:#242d2b;color:#f1f1e9;padding-top:65px}
.build-hero-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,44px);align-items:center}
.build-hero h1{font-family:var(--sans);font-size:clamp(50px,5.3vw,78px);font-weight:600;line-height:1.04;letter-spacing:-.06em;margin:27px 0}
.build-hero h1>span{color:#f6ac80}
.build-hero .eyebrow{color:#ddb897}
.build-hero-layout>div>p:not(.eyebrow){max-width:640px;color:#c5c9bd;font-size:var(--text-body,18px);line-height:1.7;margin-bottom:27px}
.build-orange-button{background:#e77e47;color:#1e2823;font-weight:700;border-color:#e77e47}
.build-orange-button:hover{background:#ffa46b;border-color:#ffa46b}
.build-hero-model{min-width:0;border:1px solid #5b655a;background:#2d3732}
.build-hero-model>svg{width:100%;height:auto;max-height:680px;display:block}
.build-model-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 16px;font-size:var(--text-small,14px);line-height:1.5;letter-spacing:.03em;border-top:1px solid #535e50;padding:16px 20px;color:#c3c8b8}
.build-hero-baseline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:50px;padding-block:24px;border-top:1px solid #596251;font-size:var(--text-small,14px);line-height:1.6;color:#c8cdbb}
.build-section-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(24px,3vw,44px);align-items:end;margin-bottom:35px}
.build-section-title>p{font-size:var(--text-body,18px);line-height:1.7;color:#526048}
.build-stage-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:20px 0 30px;gap:16px;min-width:0}
.build-stage-tabs button{background:transparent;border:0;border-top:1px solid #b8bfa9;padding:18px 0 10px;min-height:76px;text-align:left;color:#526048;font-size:var(--text-control,16px);line-height:1.5;position:relative}
.build-stage-tabs button>span{display:block;font-size:var(--text-small,14px);margin-bottom:8px}
.build-stage-tabs button[aria-pressed="true"]{color:#994c27;border-top:3px solid #ba663d;padding-top:16px;font-weight:600}
.build-stage-tabs button i{display:none}
.build-stage-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,3vw,44px);align-items:center}
.build-stage-model{min-width:0;background:#2d3732;border:1px solid #475241}
.build-stage-model svg{width:100%;height:auto;max-height:680px;display:block}
.build-stage-copy{position:relative;min-width:0;padding:15px 0}
.build-stage-number{font-family:var(--sans);font-size:100px;line-height:1;color:#dddccb;font-weight:600;position:absolute;right:0;top:-10px;z-index:0}
.build-stage-copy>.eyebrow{position:relative;color:#99532d}
.build-stage-copy h3{position:relative;font-family:var(--serif);font-size:40px;line-height:1.14;margin:20px 0}
.build-stage-copy p:not(.eyebrow){font-size:var(--text-body,18px);color:#526048;line-height:1.7}
.build-stage-copy ul{padding:0;list-style:none;margin:25px 0 0}
.build-stage-copy li{border-top:1px solid #d7dccb;padding-block:14px;font-size:var(--text-body,18px);line-height:1.6}
.build-stage-copy li::before{content:"↗";color:#ae562b;margin-right:12px}
.build-starting-points{background:#e3e5d7;border-block:1px solid #d8ddcb}
.build-input-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.build-input-grid article{border-top:1px solid #afb99c;padding-top:20px}
.build-input-grid article>span{font-size:var(--text-small,14px);color:#59634e}
.build-input-grid article h3{font-family:var(--serif);font-size:31px;margin:22px 0 15px;line-height:1.15}
.build-input-grid article p{font-size:var(--text-body,18px);color:#526048;line-height:1.7;margin-bottom:25px}
.build-material-story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:clamp(24px,3vw,44px);align-items:center}
.build-material-story img{width:100%;height:420px;object-fit:cover}
.build-material-story figcaption{font-size:var(--text-small,14px);line-height:1.6;margin-top:12px;color:#526048}
.build-material-story>div>p:not(.eyebrow){font-size:var(--text-body,18px);color:#65705c;line-height:1.7;margin-bottom:26px}
.build-final{padding-block:85px;background:#242d2b;color:#f3f2e8}
.build-final .concept-ending p:not(.eyebrow){color:#c3c7b8}
.build-final .eyebrow{color:#eda679}

@media(max-width:1100px){
  .arc-hero{gap:28px}.arc-intro h1{font-size:64px}
  .arc-studio-layout{gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .arc-perspective,.build-stage-layout,.build-material-story,.concept-ending{gap:28px}
  .build-input-grid{gap:24px}
  .world-tile{min-height:470px;padding:26px}
  .world-copy h3{font-size:38px}
  .world-construction .world-copy h3,.world-smart .world-copy h3{font-size:34px}
}
@media(max-width:900px){
  .service-concept-nav .service-concept-home{display:none}
  .service-concept-nav>.section-shell>div{width:100%;justify-content:space-between;gap:16px}
}
@media(max-width:760px){
  .service-concept-nav>.section-shell{display:block;min-height:0;width:100%;padding-inline:var(--page-gutter,clamp(18px,2vw,40px))}
  .service-concept-nav a{padding-block:14px}
  .world-grid{gap:16px}
  .world-tile{min-height:460px;padding:24px}
  .world-copy h3{font-size:34px}
  .world-construction .world-copy h3,.world-smart .world-copy h3{font-size:29px}
  .arc-hero{grid-template-columns:minmax(0,1fr);gap:36px;padding-block:45px 65px}
  .arc-intro h1{font-size:70px}
  .arc-hero-drawing{max-width:570px;width:95%;justify-self:center}
  .arc-studio-heading{grid-template-columns:minmax(0,1fr);gap:8px}
  .arc-studio-heading>p{margin:0}
  .arc-studio-layout{grid-template-columns:minmax(0,1fr);gap:26px}
  .arc-layer-buttons{flex-direction:row;flex-wrap:wrap;gap:10px}
  .arc-layer-buttons button{flex:1 1 120px;border-bottom:1px solid #bdc6ab;gap:10px;padding:14px 8px}
  .arc-layer-buttons button>span:last-child{display:none}
  .arc-layer-buttons button[aria-pressed="true"]{padding-inline:8px}
  .arc-layer-copy{min-height:0;padding-block:24px 10px}
  .arc-layer-copy h3{font-size:34px}
  .arc-perspective{grid-template-columns:minmax(0,1fr);gap:16px}
  .arc-photo{height:440px}
  .arc-photo>div{bottom:40px}
  .arc-photo h2{font-size:60px}
  .concept-ending{grid-template-columns:minmax(0,1fr);gap:20px}
  .concept-ending-actions{gap:16px}
  .build-hero-layout{grid-template-columns:minmax(0,1fr);gap:30px}
  .build-hero h1{font-size:65px}
  .build-hero{padding-top:40px}
  .build-hero-baseline{margin-top:30px}
  .build-section-title{grid-template-columns:minmax(0,1fr);gap:8px}
  .build-section-title>p{margin-bottom:0}
  .build-stage-tabs{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:10px;max-width:100%}
  .build-stage-tabs button{flex:0 0 150px;scroll-snap-align:start}
  .build-stage-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .build-stage-copy{padding-top:15px}
  .build-stage-copy h3{font-size:38px}
  .build-stage-number{font-size:86px;top:0}
  .build-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .build-input-grid>.section-heading{grid-column:1/-1;margin:0 0 8px}
  .build-material-story{grid-template-columns:minmax(0,1fr);gap:28px}
  .build-material-story img{height:350px}
  .build-final{padding-block:60px}
}
@media(max-width:680px){
  .diagram-room-labels{display:none}
  .arc-plan-legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px 14px;font-size:var(--text-small,14px);line-height:1.6;color:#475348}
}
@media(max-width:520px){
  .service-concept-nav>.section-shell>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .service-concept-nav a{min-height:48px;white-space:normal}
  .world-grid{grid-template-columns:minmax(0,1fr)}
  .world-tile{min-height:440px;padding:24px}
  .world-copy h3{font-size:42px}
  .world-construction .world-copy h3,.world-smart .world-copy h3{font-size:36px}
  .arc-intro h1{font-size:56px}
  .arc-hero-drawing{width:calc(100% - 12px);padding:8px 8px 0}
  .arc-hero-drawing figcaption{padding:12px}
  .arc-paper-mark{right:12px;top:12px;width:50px;height:50px}
  .arc-plan{padding:3px}
  .arc-plan-note{padding:12px}
  .arc-photo h2{font-size:51px}
  .arc-photo figcaption{top:15px}
  .arc-questions h3{font-size:29px}
  .build-hero h1{font-size:53px}
  .build-model-caption{padding:14px}
  .build-stage-copy h3{font-size:35px}
  .build-input-grid{grid-template-columns:minmax(0,1fr)}
  .build-input-grid>.section-heading{grid-column:auto}
  .build-input-grid article{padding-top:15px}
  .build-input-grid article h3{margin-top:15px}
  .build-material-story img{height:310px}
}

.interiors-concept{--ic-ink:#302d27;--ic-muted:#686258;--ic-rust:#a3441d;--ic-paper:#f8f5ee;--ic-rule:#d9d1c3;background:var(--ic-paper);color:var(--ic-ink);overflow:clip}
.interiors-concept .ic-shell{width:calc(100% - 2 * var(--page-gutter,24px));margin-inline:auto}
.interiors-concept .ic-eyebrow{text-transform:uppercase;font-size:var(--text-small,14px);font-weight:600;letter-spacing:.1em;line-height:1.6;margin:0 0 18px}
.interiors-concept .ic-heading{font-family:var(--serif);font-size:clamp(42px,4.5vw,65px);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px}
.interiors-concept em{color:var(--ic-rust)}
.interiors-concept .ic-copy{font-size:var(--text-body,18px);line-height:1.75;color:var(--ic-muted)}
.interiors-concept .ic-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;font-size:var(--text-control,16px);font-weight:600;padding-bottom:9px;border-bottom:1px solid #9c9182;line-height:1.6;min-height:44px;max-width:100%;min-width:0;padding-block:7px}
.interiors-concept .ic-text-link>span{font-size:19px;line-height:1;flex-shrink:0}
.interiors-concept .ic-text-link:hover{color:var(--ic-rust);border-color:var(--ic-rust)}
.interiors-concept .ic-hero{padding-top:24px}
.interiors-concept .ic-topline{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.interiors-concept .ic-topline .ic-eyebrow{margin:0;display:flex;align-items:center;gap:12px;font-size:var(--text-small,14px);letter-spacing:.08em}
.interiors-concept .ic-topline .ic-eyebrow>span{width:25px;height:2px;background:#d15b26}
.interiors-concept .ic-back{font-size:var(--text-control,16px);font-weight:600;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.interiors-concept .ic-back>span{font-size:18px;margin-left:20px}
.interiors-concept .ic-hero-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:clamp(28px,3.5vw,56px);align-items:end;padding:34px 0 36px}
.interiors-concept .ic-hero h1{font-family:var(--serif);font-size:clamp(66px,7.6vw,110px);line-height:1.01;letter-spacing:-.045em;margin:0}
.interiors-concept .ic-hero h1 em{white-space:nowrap}
.interiors-concept .ic-hero-copy{padding-bottom:8px;max-width:460px}
.interiors-concept .ic-hero-copy>p{font-size:var(--text-body,18px);line-height:1.75;margin:0 0 20px;color:var(--ic-muted)}
.interiors-concept .ic-hero-copy>p:first-child{font-size:var(--text-body,18px);color:var(--ic-ink);line-height:1.75}
.interiors-concept .ic-hero-copy .ic-text-link{margin-top:4px}
.interiors-concept .ic-hero-composition{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:clamp(28px,3.5vw,56px);align-items:end}
.interiors-concept .ic-hero-photo{position:relative;background:#ddd3c3;min-width:0}
.interiors-concept .ic-hero-photo>img{width:100%;height:clamp(420px,36vw,620px);object-fit:cover;object-position:45% center}
.interiors-concept .ic-hero-photo>figcaption{position:absolute;left:20px;bottom:18px;background:#fbf8f1ed;color:#433e36;padding:6px 10px;font-size:var(--text-small,14px);letter-spacing:.02em;max-width:calc(100% - 40px);line-height:1.5}
.interiors-concept .ic-hero-aside{padding-bottom:11px}
.interiors-concept .ic-aside-rule{display:block;width:45px;height:2px;background:#d15b26;margin-bottom:24px}
.interiors-concept .ic-hero-aside .ic-eyebrow{font-size:var(--text-small,14px);margin-bottom:20px}
.interiors-concept .ic-aside-title{font-family:var(--serif);font-size:42px;line-height:1.08;letter-spacing:-.025em;margin:0 0 25px}
.interiors-concept .ic-hero-aside>p:last-of-type{font-size:var(--text-body,18px);line-height:1.75;color:var(--ic-muted);max-width:290px;margin-bottom:24px}
.interiors-concept .ic-mini-palette{display:flex;width:128px;height:24px;gap:4px}
.interiors-concept .ic-mini-palette>span{flex:1;background:#dcd2c1}
.interiors-concept .ic-mini-palette>span:nth-child(2){background:#b1936e}
.interiors-concept .ic-mini-palette>span:nth-child(3){background:#705849}
.interiors-concept .ic-mini-palette>span:nth-child(4){background:#b76542}
.interiors-concept .ic-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;border-bottom:1px solid var(--ic-rule);padding:14px 0;font-size:var(--text-small,14px);color:var(--ic-muted);flex-wrap:wrap}
.interiors-concept .ic-hero-foot>a{color:var(--ic-ink);font-weight:600;font-size:var(--text-control,16px);display:inline-flex;align-items:center;min-height:44px}
.interiors-concept .ic-hero-foot>a>span{font-size:16px;margin-left:22px}
.interiors-concept .ic-room-section{padding-block:72px 64px;scroll-margin-top:110px}
.interiors-concept .ic-section-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:end;margin-bottom:32px}
.interiors-concept .ic-section-intro .ic-heading{margin-bottom:0}
.interiors-concept .ic-section-intro>p{font-size:var(--text-body,18px);line-height:1.75;color:var(--ic-muted);max-width:560px;margin:0 0 5px}
.interiors-concept .ic-room-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ic-rule);border-bottom:1px solid var(--ic-rule);margin-bottom:24px}
.interiors-concept .ic-room-controls>button{display:flex;align-items:center;gap:16px;padding:16px 20px 16px 0;border:0;border-bottom:2px solid transparent;background:transparent;text-align:left;color:var(--ic-muted);font-size:var(--text-control,16px);position:relative;min-width:0;min-height:58px;line-height:1.5}
.interiors-concept .ic-room-controls>button>span:first-child{font-size:var(--text-small,14px);color:var(--ic-rust)}
.interiors-concept .ic-room-controls .ic-control-arrow{margin-left:auto;font-size:20px;color:var(--ic-rust);opacity:0}
.interiors-concept .ic-room-controls>button[aria-pressed="true"]{border-bottom-color:var(--ic-rust);color:var(--ic-ink);font-weight:600}
.interiors-concept .ic-room-controls>button[aria-pressed="true"] .ic-control-arrow{opacity:1}
.interiors-concept .ic-room-controls>button:hover{background:#f0eae0}
.interiors-concept .ic-room-result{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);min-height:490px;background:#eee7db}
.interiors-concept .ic-room-photo{position:relative;min-width:0;min-height:490px;background:#d9cfc0}
.interiors-concept .ic-room-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}
.interiors-concept .ic-room-photo>figcaption{position:absolute;bottom:18px;left:18px;max-width:calc(100% - 36px);background:#fbf8f1ed;padding:6px 10px;color:#433e36;font-size:var(--text-small,14px);letter-spacing:.02em;line-height:1.5}
.interiors-concept .ic-room-notes{padding:32px;display:flex;align-items:start;flex-direction:column;min-width:0}
.interiors-concept .ic-room-notes .ic-eyebrow{font-size:var(--text-small,14px);margin-bottom:18px;color:var(--ic-rust)}
.interiors-concept .ic-room-notes h3{font-family:var(--serif);font-size:36px;line-height:1.13;letter-spacing:-.03em;margin-bottom:20px}
.interiors-concept .ic-room-notes .ic-copy{font-size:var(--text-body,18px);line-height:1.75;margin-bottom:22px}
.interiors-concept .ic-note-label{text-transform:uppercase;font-size:var(--text-small,14px);font-weight:600;letter-spacing:.06em;margin-bottom:10px}
.interiors-concept .ic-room-notes ul{list-style:none;padding:0;margin:0 0 25px;width:100%}
.interiors-concept .ic-room-notes li{font-size:var(--text-body,18px);line-height:1.75;padding:12px 0;border-bottom:1px solid #d5cbbb}
.interiors-concept .ic-room-counter{font-family:var(--serif);font-size:28px;color:var(--ic-rust);margin-top:auto;line-height:1.2}
.interiors-concept .ic-room-counter>span{font-family:var(--sans);font-size:var(--text-small,14px);color:var(--ic-muted);margin-left:6px}
.interiors-concept .ic-small-note{font-size:var(--text-small,14px);line-height:1.65;color:var(--ic-muted);margin:18px 0 0}
.interiors-concept .ic-mood-section{padding-block:72px;background-color:#eee6d7;background-image:radial-gradient(ellipse at 10% 10%,#ffffff48,transparent 55%),radial-gradient(ellipse at 80% 85%,#d5c4a630,transparent 60%),repeating-linear-gradient(25deg,#ffffff0b 0 1px,transparent 1px 5px)}
.interiors-concept .ic-mood-controls{display:flex;gap:12px;margin:30px 0;flex-wrap:wrap}
.interiors-concept .ic-mood-controls>button{border:1px solid #a89d8b;color:var(--ic-ink);background:transparent;border-radius:0;padding:13px 20px;font-size:var(--text-control,16px);line-height:1.5;display:flex;gap:16px;align-items:center;min-height:50px}
.interiors-concept .ic-mood-controls>button>span{font-size:var(--text-small,14px);opacity:.8}
.interiors-concept .ic-mood-controls>button[aria-pressed="true"]{background:var(--ic-ink);border-color:var(--ic-ink);color:#fffaf2}
.interiors-concept .ic-mood-controls>button:hover{border-color:var(--ic-rust)}
.interiors-concept .ic-mood-result{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.interiors-concept .ic-material-board{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}
.interiors-concept .ic-material:nth-child(even){transform:translateY(25px)}
.interiors-concept .ic-material-sample{height:205px;background-color:var(--ic-swatch);box-shadow:0 6px 13px #594b3014;position:relative;overflow:hidden}
.interiors-concept .ic-material:nth-child(3) .ic-material-sample,.interiors-concept .ic-material:nth-child(4) .ic-material-sample{height:150px}
.interiors-concept .ic-texture-plaster{background-image:radial-gradient(ellipse at 12% 18%,#ffffff27,transparent 52%),radial-gradient(ellipse at 84% 81%,#38301c16,transparent 68%),repeating-linear-gradient(17deg,#ffffff05 0 1px,transparent 1px 4px)}
.interiors-concept .ic-texture-oak{background-image:repeating-linear-gradient(91deg,transparent 0 4px,#40291418 5px 6px,transparent 7px 12px,#ffebc61a 14px 17px),linear-gradient(92deg,#ffffff12,transparent 25%,#3d271b16 73%,transparent)}
.interiors-concept .ic-texture-linen{background-image:repeating-linear-gradient(0deg,#ffffff26 0 1px,#62513a09 1px 3px),repeating-linear-gradient(90deg,transparent 0 2px,#fff3d530 2px 3px)}
.interiors-concept .ic-texture-stone{background-image:linear-gradient(126deg,transparent 25%,#f7f0d446 26%,transparent 27%,transparent 60%,#84705228 61%,transparent 62%),radial-gradient(ellipse at 25% 70%,#ede1c951,transparent 65%)}
.interiors-concept .ic-texture-metal{background-image:linear-gradient(115deg,#f8e6b980,transparent 28%,#4e351928 60%,#ffffff40 78%,transparent),repeating-linear-gradient(0deg,transparent 0 1px,#f8e6b91c 1px 2px)}
.interiors-concept .ic-material-label{display:flex;justify-content:space-between;gap:7px;padding-top:11px;font-size:var(--text-small,14px);line-height:1.6;flex-wrap:wrap}
.interiors-concept .ic-material-label>strong{font-weight:600}
.interiors-concept .ic-material-label>span{color:var(--ic-muted)}
.interiors-concept .ic-mood-notes{padding-bottom:10px}
.interiors-concept .ic-mood-mark{display:block;font-family:var(--serif);font-size:76px;color:var(--ic-rust);line-height:1;margin:0 0 22px}
.interiors-concept .ic-mood-notes .ic-eyebrow{font-size:var(--text-small,14px);margin-bottom:15px}
.interiors-concept .ic-mood-notes h3{font-family:var(--serif);font-size:42px;line-height:1.13;letter-spacing:-.03em;margin:0 0 24px}
.interiors-concept .ic-mood-notes .ic-copy{font-size:var(--text-body,18px);margin-bottom:24px;line-height:1.75}
.interiors-concept .ic-mood-note{font-size:var(--text-body,18px);line-height:1.75;padding:17px 0 0;border-top:1px solid #c8bda9;color:var(--ic-muted);margin:0 0 24px}
.interiors-concept .ic-mood-section .ic-small-note{margin-top:40px}
.interiors-concept .ic-planning{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);padding-block:72px}
.interiors-concept .ic-planning-intro .ic-copy{max-width:520px;margin-bottom:24px}
.interiors-concept .ic-planning-list{list-style:none;margin:0;padding:0;align-self:center;border-top:1px solid var(--ic-rule)}
.interiors-concept .ic-planning-list>li{display:grid;grid-template-columns:30px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--ic-rule)}
.interiors-concept .ic-step-number{font-size:var(--text-small,14px);color:var(--ic-rust);padding-top:8px}
.interiors-concept .ic-planning-list h3{font-family:var(--serif);font-size:29px;line-height:1.2;letter-spacing:-.02em;margin:0 0 13px}
.interiors-concept .ic-planning-list p{font-size:var(--text-body,18px);line-height:1.75;color:var(--ic-muted);margin:0}
.interiors-concept .ic-coverage{background:#38382e;color:#f4eee3;padding-block:64px}
.interiors-concept .ic-coverage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:start}
.interiors-concept .ic-coverage .ic-heading{font-size:clamp(40px,3.8vw,54px)}
.interiors-concept .ic-coverage em{color:#efaa83}
.interiors-concept .ic-coverage .ic-eyebrow{color:#d1ccbf;font-size:var(--text-small,14px)}
.interiors-concept .ic-coverage-intro{font-size:var(--text-body,18px);line-height:1.75;color:#d1ccbf;max-width:470px;margin-bottom:0}
.interiors-concept .ic-coverage-options>div{padding:0 0 26px;border-bottom:1px solid #66675b}
.interiors-concept .ic-coverage-options>div+div{padding-top:27px}
.interiors-concept .ic-location{font-size:var(--text-small,14px);letter-spacing:.1em;text-transform:uppercase;color:#efaa83;margin:0 0 11px}
.interiors-concept .ic-coverage-options h3{font-family:var(--serif);font-size:32px;line-height:1.2;margin:0 0 13px}
.interiors-concept .ic-coverage-options p:last-child{font-size:var(--text-body,18px);line-height:1.75;color:#ded9cf;max-width:650px;margin-bottom:0}
.interiors-concept .ic-enquiry{text-align:center;padding-block:72px}
.interiors-concept .ic-enquiry .ic-eyebrow{font-size:var(--text-small,14px);margin-bottom:25px}
.interiors-concept .ic-enquiry h2{font-family:var(--serif);font-size:clamp(54px,6.5vw,92px);line-height:1.03;letter-spacing:-.045em;margin:0 0 28px}
.interiors-concept .ic-enquiry>p:not(.ic-eyebrow){font-size:var(--text-body,18px);line-height:1.75;color:var(--ic-muted);margin-bottom:28px}
.interiors-concept .ic-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:14px 20px;background:var(--ic-rust);color:#fffaf4;font-size:var(--text-control,16px);font-weight:600;line-height:1.6;border:1px solid var(--ic-rust);transition:background .2s;max-width:100%}
.interiors-concept .ic-button>span{font-size:20px;line-height:1}
.interiors-concept .ic-button:hover{background:#843719;border-color:#843719}
.interiors-concept .ic-enquiry-return{display:flex;width:fit-content;margin:23px auto 0;font-size:var(--text-control,16px);color:var(--ic-muted);text-decoration:underline;text-underline-offset:4px;min-height:44px;align-items:center;justify-content:center;max-width:100%}

@media(min-width:1500px){
  .interiors-concept .ic-hero-composition{grid-template-columns:minmax(0,1fr) 340px}
  .interiors-concept .ic-hero-aside>p:last-of-type{max-width:340px}
  .interiors-concept .ic-material-sample{height:250px}
  .interiors-concept .ic-material:nth-child(3) .ic-material-sample,.interiors-concept .ic-material:nth-child(4) .ic-material-sample{height:180px}
}
@media(max-width:1100px){
  .interiors-concept .ic-hero-intro{grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);gap:28px}
  .interiors-concept .ic-hero h1{font-size:clamp(60px,7.5vw,88px)}
  .interiors-concept .ic-hero-composition{grid-template-columns:minmax(0,1fr) 260px;gap:28px}
  .interiors-concept .ic-aside-title{font-size:37px}
  .interiors-concept .ic-room-result{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .interiors-concept .ic-room-notes{padding:28px}
  .interiors-concept .ic-mood-result{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .interiors-concept .ic-material-sample{height:180px}
  .interiors-concept .ic-mood-notes h3{font-size:36px}
}
@media(max-width:900px){
  .interiors-concept .ic-hero-intro{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 0 30px}
  .interiors-concept .ic-hero h1{font-size:clamp(60px,8.2vw,78px)}
  .interiors-concept .ic-hero-copy{max-width:650px;padding-bottom:0}
  .interiors-concept .ic-hero-copy>p{margin-bottom:16px}
  .interiors-concept .ic-hero-composition{grid-template-columns:minmax(0,1fr);gap:26px}
  .interiors-concept .ic-hero-photo>img{height:auto;aspect-ratio:1.6;object-position:40% center}
  .interiors-concept .ic-hero-aside{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 28px;padding:0}
  .interiors-concept .ic-aside-rule,.interiors-concept .ic-hero-aside .ic-eyebrow,.interiors-concept .ic-mini-palette{display:none}
  .interiors-concept .ic-aside-title{font-size:32px;margin:0}
  .interiors-concept .ic-hero-aside>p:last-of-type{margin:0;max-width:490px;align-self:center}
  .interiors-concept .ic-section-intro{gap:28px}
  .interiors-concept .ic-heading{font-size:clamp(42px,5.8vw,56px)}
  .interiors-concept .ic-room-result{grid-template-columns:minmax(0,1fr);min-height:0}
  .interiors-concept .ic-room-photo{min-height:0;aspect-ratio:1.7}
  .interiors-concept .ic-room-counter{display:none}
  .interiors-concept .ic-room-notes .ic-copy{max-width:760px}
  .interiors-concept .ic-room-notes ul{margin-bottom:0}
  .interiors-concept .ic-mood-result{grid-template-columns:minmax(0,1fr);gap:48px}
  .interiors-concept .ic-material-sample{height:230px}
  .interiors-concept .ic-mood-notes{padding-bottom:0;max-width:760px}
  .interiors-concept .ic-mood-mark{display:none}
  .interiors-concept .ic-mood-section .ic-small-note{margin-top:28px}
  .interiors-concept .ic-planning{grid-template-columns:minmax(0,1fr);gap:32px}
  .interiors-concept .ic-planning-intro .ic-copy{max-width:760px}
  .interiors-concept .ic-coverage-grid{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media(max-width:680px){
  .interiors-concept .ic-hero{padding-top:18px}
  .interiors-concept .ic-topline{align-items:center;gap:6px 16px}
  .interiors-concept .ic-topline .ic-eyebrow{letter-spacing:.04em;gap:8px}
  .interiors-concept .ic-topline .ic-eyebrow>span{width:16px;flex-shrink:0}
  .interiors-concept .ic-back>span{margin-left:9px}
  .interiors-concept .ic-hero-intro{padding:24px 0 28px}
  .interiors-concept .ic-hero h1{font-size:clamp(48px,9.4vw,64px);letter-spacing:-.04em;line-height:1.04}
  .interiors-concept .ic-hero-photo>img{aspect-ratio:1.12}
  .interiors-concept .ic-hero-photo>figcaption{left:12px;bottom:12px;max-width:calc(100% - 24px);padding:6px 8px}
  .interiors-concept .ic-hero-aside{gap:0 20px}
  .interiors-concept .ic-aside-title{font-size:30px}
  .interiors-concept .ic-hero-foot{gap:6px 16px;padding:12px 0}
  .interiors-concept .ic-hero-foot>a>span{margin-left:12px}
  .interiors-concept .ic-room-section{padding-block:48px}
  .interiors-concept .ic-section-intro{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:24px}
  .interiors-concept .ic-heading{font-size:clamp(38px,6.3vw,43px)}
  .interiors-concept .ic-section-intro>p{max-width:none;margin-bottom:0}
  .interiors-concept .ic-room-controls{margin-bottom:20px}
  .interiors-concept .ic-room-controls>button{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:12px 8px 12px 0;min-height:76px}
  .interiors-concept .ic-room-controls .ic-control-arrow{display:none}
  .interiors-concept .ic-room-photo{aspect-ratio:1.2}
  .interiors-concept .ic-room-photo>figcaption{bottom:12px;left:12px;max-width:calc(100% - 24px);padding:6px 8px}
  .interiors-concept .ic-room-notes{padding:24px 20px}
  .interiors-concept .ic-room-notes h3{font-size:34px;max-width:480px}
  .interiors-concept .ic-room-notes .ic-copy{margin-bottom:20px}
  .interiors-concept .ic-small-note{margin-top:14px}
  .interiors-concept .ic-mood-section{padding-block:48px}
  .interiors-concept .ic-mood-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:24px 0}
  .interiors-concept .ic-mood-controls>button{justify-content:flex-start;padding:12px 16px;gap:18px;min-height:48px}
  .interiors-concept .ic-mood-result{gap:40px}
  .interiors-concept .ic-material-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .interiors-concept .ic-material-sample{height:165px}
  .interiors-concept .ic-material:nth-child(3) .ic-material-sample,.interiors-concept .ic-material:nth-child(4) .ic-material-sample{height:130px}
  .interiors-concept .ic-material-label{display:block;padding-top:9px;overflow-wrap:anywhere}
  .interiors-concept .ic-material-label>span{display:block}
  .interiors-concept .ic-material:nth-child(even){transform:translateY(14px)}
  .interiors-concept .ic-mood-notes h3{font-size:35px;max-width:480px}
  .interiors-concept .ic-planning{gap:28px;padding-block:48px}
  .interiors-concept .ic-planning-list>li{grid-template-columns:24px minmax(0,1fr);gap:14px;padding:24px 0}
  .interiors-concept .ic-planning-list h3{font-size:28px}
  .interiors-concept .ic-coverage{padding-block:48px}
  .interiors-concept .ic-coverage .ic-heading{font-size:42px}
  .interiors-concept .ic-coverage-intro{max-width:none}
  .interiors-concept .ic-coverage-options h3{font-size:31px}
  .interiors-concept .ic-enquiry{padding-block:48px}
  .interiors-concept .ic-enquiry h2{font-size:clamp(46px,10vw,64px)}
  .interiors-concept .ic-enquiry-return{margin-top:18px}
}
@media(max-width:380px){
  .interiors-concept .ic-topline{align-items:flex-start;flex-direction:column;gap:2px}
  .interiors-concept .ic-hero-aside{grid-template-columns:minmax(0,1fr);gap:18px}
  .interiors-concept .ic-hero-aside>p:last-of-type{max-width:none}
  .interiors-concept .ic-hero-foot{align-items:flex-start;flex-direction:column}
  .interiors-concept .ic-room-notes{padding:22px 18px}
  .interiors-concept .ic-material-sample{height:145px}
  .interiors-concept .ic-material:nth-child(3) .ic-material-sample,.interiors-concept .ic-material:nth-child(4) .ic-material-sample{height:115px}
}
@media(prefers-reduced-motion:reduce){.interiors-concept .ic-button{transition:none}}

.smart-concept {
  --sm-background: #101314;
  --sm-panel: #1b1e20;
  --sm-line: #ffffff20;
  --sm-muted: #adb2b2;
  --sm-orange: #d15b26;
  --sm-accent: #ee976c;
  background: var(--sm-background);
  color: #f6f5f0;
  font-family: Manrope, Arial, sans-serif;
  font-size: var(--text-body);
  overflow: clip;
}
.smart-concept .sm-shell { width: calc(100% - 2 * var(--page-gutter)); max-width: none; margin-inline: auto; }
.smart-concept h1, .smart-concept h2, .smart-concept h3 { font-family: Manrope, Arial, sans-serif; font-weight: 600; }
.smart-concept button, .smart-concept a, .smart-concept input { touch-action: manipulation; }
.smart-concept :focus-visible { outline: 2px solid #ffad82; outline-offset: 5px; }
.smart-concept svg { width: 24px; height: 24px; flex: none; }
.smart-concept .sm-kicker { display: flex; align-items: center; gap: 11px; font-size: var(--text-small); text-transform: uppercase; letter-spacing: .09em; line-height: 1.6; font-weight: 600; margin: 0 0 25px; color: #d2d5d2; }
.smart-concept .sm-status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--sm-accent); flex: none; box-shadow: 0 0 14px #d15b2644; }
.smart-concept .sm-button { min-height: 54px; max-width: 100%; padding: 17px 23px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid transparent; border-radius: 4px; font-size: var(--text-control); font-weight: 600; line-height: 1.5; transition: background .2s, transform .2s; }
.smart-concept .sm-button svg { width: 18px; height: 18px; }
.smart-concept .sm-button-orange { background: var(--sm-orange); color: #101314; }
.smart-concept .sm-button-orange:hover { background: #a74519; color: #fff; transform: translateY(-2px); }
.smart-concept .sm-hero { min-height: 760px; position: relative; background: #15191a; isolation: isolate; display: flex; }
.smart-concept .sm-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; z-index: -3; }
.smart-concept .sm-hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #101314eb 0%, #101314c2 28%, #10131438 75%), linear-gradient(0deg, #101314ed 0%, transparent 35%, #10131433 100%); }
.smart-concept .sm-hero-content { position: relative; padding-top: 28px; display: flex; flex-direction: column; align-items: flex-start; }
.smart-concept .sm-hero-topline { display: flex; flex-wrap: wrap; width: 100%; justify-content: space-between; align-items: center; gap: 16px 25px; font-size: var(--text-small); color: #d4d5d0; margin-bottom: 56px; }
.smart-concept .sm-hero-topline > span { text-transform: uppercase; letter-spacing: .14em; }
.smart-concept .sm-back-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
.smart-concept .sm-back-link:hover { color: var(--sm-accent); }
.smart-concept .sm-hero h1 { font-size: clamp(60px, 7.1vw, 108px); line-height: 1.04; letter-spacing: -.067em; margin: 0 0 28px; max-width: 920px; }
.smart-concept .sm-hero h1 > span { color: #e9e2d8; }
.smart-concept .sm-hero-copy { font-size: var(--text-body); line-height: 1.7; color: #ced0ca; max-width: 42ch; margin: 0 0 30px; }
.smart-concept .sm-hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.smart-concept .sm-quiet-link { display: inline-flex; max-width: 100%; min-height: 44px; gap: 18px; align-items: center; font-size: var(--text-control); padding-block: 12px; border-bottom: 1px solid #ffffff55; }
.smart-concept .sm-quiet-link > span { font-size: 20px; }
.smart-concept .sm-quiet-link:hover { color: var(--sm-accent); }
.smart-concept .sm-hero-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; width: 100%; margin-top: auto; padding-block: 45px 28px; }
.smart-concept .sm-hero-foot p { font-size: var(--text-small); line-height: 1.9; margin: 0; }
.smart-concept .sm-hero-foot p span { color: #b4b8b3; }
.smart-concept .sm-concept-label { font-size: var(--text-small); text-transform: uppercase; letter-spacing: .12em; color: #c5c9c2; text-align: right; }
.smart-concept .sm-section-nav { border-block: 1px solid var(--sm-line); background: #171a1b; }
.smart-concept .sm-section-nav > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; min-height: 82px; gap: 12px 28px; }
.smart-concept .sm-nav-title { display: flex; align-items: center; gap: 11px; font-size: var(--text-control); font-weight: 600; white-space: nowrap; }
.smart-concept .sm-nav-title svg { width: 18px; height: 18px; color: var(--sm-accent); }
.smart-concept .sm-section-nav > div > div { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; }
.smart-concept .sm-section-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--text-control); padding-block: 15px; color: #c5c9c7; }
.smart-concept .sm-section-nav a:hover { color: var(--sm-accent); }
.smart-concept .sm-nav-contact { display: flex; gap: 22px; align-items: center; }
.smart-concept .sm-nav-contact span { color: var(--sm-accent); font-size: 20px; }
.smart-concept .sm-experience { padding-block: 115px 100px; scroll-margin-top: 120px; }
.smart-concept .sm-section-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 4vw, 72px); align-items: end; margin-bottom: 54px; }
.smart-concept .sm-section-heading h2, .smart-concept .sm-considered-copy h2 { font-size: clamp(38px, 4.1vw, 60px); letter-spacing: -.052em; line-height: 1.13; margin: 0; }
.smart-concept .sm-section-heading h2 > span, .smart-concept .sm-considered-copy h2 > span { color: #9da5a4; }
.smart-concept .sm-section-heading > p { max-width: 48ch; font-size: var(--text-body); line-height: 1.75; color: var(--sm-muted); margin: 0 0 4px; }
.smart-concept .sm-experience-stage { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 0; align-items: center; padding-right: 0; }
.smart-concept .sm-room { position: relative; height: 710px; width: calc(100% + 100px); border-radius: 9px; overflow: hidden; background: #2b2925; isolation: isolate; }
.smart-concept .sm-room-image { width: 100%; height: 100%; object-fit: cover; object-position: 39% center; filter: brightness(var(--sm-room-brightness)); transition: filter .65s ease; }
.smart-concept .sm-room-warmth { position: absolute; inset: 0; background: linear-gradient(135deg, #e39c3500 15%, #ff9d3180 80%); mix-blend-mode: screen; opacity: var(--sm-warmth); pointer-events: none; transition: opacity .65s; }
.smart-concept .sm-room-light { position: absolute; top: 9%; left: 10%; width: 64%; height: 2px; background: #ffd5a2; opacity: var(--sm-light-glow); box-shadow: 0 0 19px 6px #f8a34a88; transform: rotate(-2deg); transition: opacity .65s; }
.smart-concept .sm-curtains { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.smart-concept .sm-curtain { position: absolute; top: 0; bottom: 0; width: 51%; background: repeating-linear-gradient(90deg, #746b5b20 0, #b0a59654 9%, #2b2b274f 15%, #b1a69966 21%); backdrop-filter: blur(1.5px); transition: transform 1s cubic-bezier(.22,.61,.36,1); }
.smart-concept .sm-curtain-left { left: 0; border-right: 1px solid #d8ccba44; }
.smart-concept .sm-curtain-right { right: 0; border-left: 1px solid #d8ccba44; }
.smart-concept .sm-room[data-curtains="open"] .sm-curtain-left { transform: translateX(-96%); }
.smart-concept .sm-room[data-curtains="open"] .sm-curtain-right { transform: translateX(96%); }
.smart-concept .sm-room-vignette { position: absolute; inset: 0; background: linear-gradient(0deg, #080d0feb 0%, #080d0f19 65%, #080d0f66 100%); pointer-events: none; }
.smart-concept .sm-room-marker { position: absolute; top: 25px; left: 28px; max-width: calc(100% - 56px); display: flex; align-items: center; gap: 9px; font-size: var(--text-small); color: #f2eee6; padding: 8px 11px; background: #10131488; border: 1px solid #ffffff20; border-radius: 3px; }
.smart-concept .sm-room-caption { position: absolute; bottom: 35px; left: 34px; right: 125px; }
.smart-concept .sm-room-caption .sm-kicker { margin-bottom: 10px; font-size: var(--text-small); }
.smart-concept .sm-room-caption > strong { display: block; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.25; letter-spacing: -.035em; font-weight: 600; max-width: 470px; }
.smart-concept .sm-room-readouts { display: flex; align-items: center; flex-wrap: wrap; gap: 19px; margin-top: 24px; font-size: var(--text-small); color: #c5c9c4; }
.smart-concept .sm-room-readouts > span { display: flex; align-items: center; gap: 7px; }
.smart-concept .sm-room-readouts svg { width: 15px; height: 15px; color: #dcb391; }
.smart-concept .sm-controller { position: relative; z-index: 2; min-width: 0; max-width: 100%; background: linear-gradient(140deg, #292d2e, #171b1c 65%); border: 7px solid #34393a; box-shadow: 0 32px 65px #0007, inset 0 0 0 1px #ffffff15; border-radius: 38px; padding: 42px 26px 20px; }
.smart-concept .sm-phone-notch { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 75px; height: 9px; border-radius: 20px; background: #111516; }
.smart-concept .sm-controller-brand { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: var(--text-control); letter-spacing: -.02em; margin-bottom: 27px; }
.smart-concept .sm-demo-badge { color: var(--sm-accent); font-size: var(--text-small); padding: 3px 6px; border: 1px solid #d15b264a; border-radius: 3px; letter-spacing: .1em; }
.smart-concept .sm-controller-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 23px; }
.smart-concept .sm-controller-title p { font-size: var(--text-small); color: #aeb5b2; margin: 0 0 4px; }
.smart-concept .sm-controller-title h3 { font-size: 30px; margin: 0; line-height: 1.3; letter-spacing: -.04em; }
.smart-concept .sm-controller-home { height: 37px; width: 37px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #ffffff19; color: #e2c3ae; background: #ffffff05; }
.smart-concept .sm-controller-home svg { height: 18px; width: 18px; }
.smart-concept .sm-scene-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-bottom: 16px; }
.smart-concept .sm-scene-controls button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; min-height: 74px; border-radius: 8px; border: 1px solid #ffffff13; background: #ffffff04; color: #c7ccca; font-size: var(--text-control); padding: 10px 6px; transition: background .2s, border-color .2s; }
.smart-concept .sm-scene-controls svg { width: 20px; height: 20px; }
.smart-concept .sm-scene-controls button[aria-pressed="true"] { background: #d15b2633; color: #ffc49c; border-color: #d15b2688; }
.smart-concept .sm-scene-controls button:hover { background: #d15b2626; }
.smart-concept .sm-control-card { background: #ffffff04; border: 1px solid #ffffff0e; border-radius: 9px; padding: 17px; margin-top: 12px; }
.smart-concept .sm-control-label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 9px; min-height: 28px; }
.smart-concept .sm-control-label label, .smart-concept .sm-control-label > span:first-child { display: flex; align-items: center; gap: 8px; font-size: var(--text-control); color: #e2e5df; }
.smart-concept .sm-control-label svg { width: 16px; height: 16px; color: #b9c0bc; }
.smart-concept .sm-control-label output { font-size: 24px; line-height: 1; font-weight: 600; }
.smart-concept .sm-control-label output span { font-size: var(--text-small); margin-left: 2px; color: #adb5b0; }
.smart-concept .sm-control-hint { font-size: var(--text-small); color: #9fa8a3; }
.smart-concept .sm-small-readout { font-size: var(--text-control); color: var(--sm-accent); }
.smart-concept #sm-lighting { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 44px; min-height: 44px; border: 0; border-radius: 0; padding: 0; margin: 8px 0 0; background: transparent; cursor: pointer; color: var(--sm-accent); }
.smart-concept #sm-lighting::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--sm-orange) var(--sm-range-fill), #ffffff1b var(--sm-range-fill)); }
.smart-concept #sm-lighting::-webkit-slider-thumb { appearance: none; width: 22px; height: 22px; border-radius: 50%; border: 3px solid #f8eee2; background: #d15b26; margin-top: -9px; box-shadow: 0 0 0 4px #d15b2617; }
.smart-concept #sm-lighting::-moz-range-track { height: 4px; border-radius: 4px; background: #ffffff1b; }
.smart-concept #sm-lighting::-moz-range-progress { height: 4px; background: var(--sm-orange); }
.smart-concept #sm-lighting::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; border: 3px solid #f8eee2; background: #d15b26; }
.smart-concept .sm-range-labels { display: flex; justify-content: space-between; font-size: var(--text-small); color: #a1aaa5; margin-top: 1px; }
.smart-concept .sm-curtain-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 3px; border-radius: 5px; background: #101415; margin-top: 13px; }
.smart-concept .sm-curtain-controls button { border: 0; border-radius: 3px; background: transparent; color: #aab3ac; min-height: 44px; font-size: var(--text-control); padding: 8px; }
.smart-concept .sm-curtain-controls button[aria-pressed="true"] { background: #353d3b; color: #f2f2e9; }
.smart-concept .sm-curtain-controls button:hover { color: #fff; }
.smart-concept .sm-climate-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; }
.smart-concept .sm-climate-controls button { background: #ffffff07; color: #dfe3db; border: 1px solid #ffffff20; border-radius: 50%; width: 48px; height: 48px; flex: none; padding: 0; line-height: 1; font-size: 24px; }
.smart-concept .sm-climate-controls button:hover:not(:disabled) { border-color: var(--sm-accent); background: #d15b261a; }
.smart-concept .sm-climate-controls button:disabled { opacity: .35; cursor: not-allowed; }
.smart-concept .sm-climate-controls output { font-size: 40px; font-weight: 400; line-height: 1; letter-spacing: -.05em; white-space: nowrap; }
.smart-concept .sm-climate-controls output span { font-size: 18px; color: #b0b8b1; vertical-align: super; letter-spacing: 0; margin-left: 2px; }
.smart-concept .sm-controller-status { display: flex; align-items: center; justify-content: center; gap: 6px; text-align: center; font-size: var(--text-small); color: #b4beb7; margin: 17px 0 15px; }
.smart-concept .sm-controller-status > span { width: 6px; height: 6px; flex: none; border-radius: 50%; background: var(--sm-accent); }
.smart-concept .sm-phone-bottom { width: 80px; height: 3px; border-radius: 10px; background: #ffffff30; margin: auto; }
.smart-concept .sm-demo-note { display: flex; justify-content: space-between; align-items: flex-start; gap: 28px; margin-top: 29px; font-size: var(--text-small); line-height: 1.8; color: #929d97; }
.smart-concept .sm-demo-note p { margin: 0; display: flex; gap: 9px; align-items: center; color: #c2c8c2; }
.smart-concept .sm-demo-note > span { max-width: 54ch; text-align: right; }
.smart-concept .sm-possibilities { background: #181b1d; border-block: 1px solid #ffffff0a; padding-block: 100px 110px; scroll-margin-top: 100px; }
.smart-concept .sm-possibility-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.smart-concept .sm-possibility-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 28px 23px 25px; border: 1px solid #ffffff17; border-radius: 6px; background: linear-gradient(150deg, #ffffff04, transparent); }
.smart-concept .sm-card-top { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-bottom: 45px; }
.smart-concept .sm-card-top > svg { width: 28px; height: 28px; color: var(--sm-accent); }
.smart-concept .sm-card-top > span { font-size: var(--text-small); color: #828d87; }
.smart-concept .sm-possibility-card h3 { font-size: 25px; line-height: 1.25; letter-spacing: -.035em; margin: 0 0 17px; }
.smart-concept .sm-possibility-card p { color: var(--sm-muted); font-size: var(--text-body); line-height: 1.9; margin: 0 0 30px; }
.smart-concept .sm-possibility-card a { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; font-size: var(--text-control); padding-top: 17px; border-top: 1px solid #ffffff12; margin-top: auto; color: #cbd0c8; }
.smart-concept .sm-possibility-card a svg { width: 14px; height: 14px; color: var(--sm-accent); }
.smart-concept .sm-possibility-card a:hover { color: #fff; }
.smart-concept .sm-considered { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 72px); padding-block: 120px; align-items: center; }
.smart-concept .sm-considered-image { position: relative; height: 615px; border-radius: 7px; overflow: hidden; }
.smart-concept .sm-considered-image img { width: 100%; height: 100%; object-fit: cover; object-position: 35% center; filter: brightness(.72) saturate(.8); }
.smart-concept .sm-considered-image figcaption { position: absolute; bottom: 18px; left: 18px; max-width: calc(100% - 36px); padding: 7px 10px; font-size: var(--text-small); text-transform: uppercase; letter-spacing: .07em; background: #121718bc; color: #deded5; }
.smart-concept .sm-considered-copy h2 { font-size: clamp(34px, 3.6vw, 51px); }
.smart-concept .sm-considered-copy > p:not(.sm-kicker) { color: var(--sm-muted); font-size: var(--text-body); line-height: 1.75; margin: 26px 0 31px; max-width: 52ch; }
.smart-concept .sm-considered-copy ol { padding: 0; margin: 0; list-style: none; }
.smart-concept .sm-considered-copy li { display: flex; gap: 18px; border-top: 1px solid var(--sm-line); padding: 20px 0; }
.smart-concept .sm-considered-copy li:last-child { padding-bottom: 0; }
.smart-concept .sm-considered-copy li > span { font-size: var(--text-small); margin-top: 3px; color: var(--sm-accent); }
.smart-concept .sm-considered-copy h3 { font-size: 20px; letter-spacing: -.015em; margin: 0 0 7px; }
.smart-concept .sm-considered-copy li p { font-size: var(--text-body); line-height: 1.75; color: #a8b0a9; margin: 0; max-width: 48ch; }
.smart-concept .sm-coverage { padding-block: 0 120px; scroll-margin-top: 135px; }
.smart-concept .sm-coverage-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.smart-concept .sm-coverage-grid article { padding: 38px 40px 32px; background: #1d2122; border: 1px solid var(--sm-line); border-radius: 6px; }
.smart-concept .sm-coverage-tag { display: inline-block; color: var(--sm-accent); font-size: var(--text-small); text-transform: uppercase; letter-spacing: .13em; padding-bottom: 15px; margin-bottom: 19px; border-bottom: 1px solid #d15b2650; }
.smart-concept .sm-coverage-grid h3 { font-size: clamp(25px, 2.7vw, 37px); line-height: 1.22; letter-spacing: -.04em; margin: 0 0 20px; }
.smart-concept .sm-coverage-grid p { font-size: var(--text-body); line-height: 1.75; color: var(--sm-muted); max-width: 52ch; margin: 0 0 28px; }
.smart-concept .sm-inline-link { display: inline-flex; max-width: 100%; min-height: 44px; gap: 23px; align-items: center; font-size: var(--text-control); border-bottom: 1px solid #ffffff55; padding-bottom: 7px; }
.smart-concept .sm-inline-link svg { width: 15px; height: 15px; color: var(--sm-accent); }
.smart-concept .sm-inline-link:hover { color: var(--sm-accent); }
.smart-concept .sm-final-cta { text-align: center; padding-block: 100px 110px; position: relative; background: radial-gradient(ellipse at 50% 100%, #d15b261e, transparent 65%), #1a1d1e; border-block: 1px solid #ffffff0a; }
.smart-concept .sm-final-cta .sm-kicker { justify-content: center; }
.smart-concept .sm-final-cta h2 { font-size: clamp(43px, 5.3vw, 76px); line-height: 1.1; letter-spacing: -.06em; margin: 0 0 26px; }
.smart-concept .sm-final-cta h2 span { color: var(--sm-accent); }
.smart-concept .sm-final-cta p:not(.sm-kicker) { font-size: var(--text-body); line-height: 1.75; max-width: 46ch; color: #adb6ae; margin: 0 auto 32px; }
.smart-concept .sm-final-cta .sm-button { min-width: 230px; }
.smart-concept .sm-call-link { display: table; min-height: 44px; margin: 22px auto 0; padding: 10px 5px; font-size: var(--text-control); color: #c3c8bf; }
.smart-concept .sm-call-link:hover { color: var(--sm-accent); }
.smart-concept .sm-related { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-block: 50px; }
.smart-concept .sm-related > p { font-size: var(--text-body); margin: 0; }
.smart-concept .sm-related > p span { display: block; color: #939d95; font-size: var(--text-small); margin-top: 7px; }
.smart-concept .sm-related > div { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.smart-concept .sm-related a { display: inline-flex; min-height: 44px; align-items: center; gap: 20px; font-size: var(--text-control); padding-block: 12px; }
.smart-concept .sm-related svg { width: 15px; height: 15px; color: var(--sm-accent); }
.smart-concept .sm-related a:hover { color: var(--sm-accent); }

@media (min-width: 1600px) {
  .smart-concept .sm-hero { min-height: 830px; }
  .smart-concept .sm-hero-topline { margin-bottom: 75px; }
}
@media (max-width: 1180px) {
  .smart-concept .sm-hero { min-height: 720px; }
  .smart-concept .sm-hero-topline { margin-bottom: 55px; }
  .smart-concept .sm-hero h1 { font-size: 82px; }
  .smart-concept .sm-section-heading { gap: 40px; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
  .smart-concept .sm-section-nav > div > div { gap: 25px; }
  .smart-concept .sm-experience-stage { grid-template-columns: minmax(0, 1fr) 410px; }
  .smart-concept .sm-controller { padding-inline: 23px; }
  .smart-concept .sm-room { height: 730px; }
  .smart-concept .sm-room-readouts { gap: 12px; }
  .smart-concept .sm-room-caption { left: 26px; right: 108px; }
  .smart-concept .sm-possibility-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smart-concept .sm-possibility-card { padding: 27px; }
  .smart-concept .sm-possibility-card p { max-width: 48ch; }
  .smart-concept .sm-card-top { margin-bottom: 30px; }
  .smart-concept .sm-considered { gap: 40px; }
  .smart-concept .sm-considered-image { height: 700px; }
  .smart-concept .sm-coverage-grid article { padding: 32px; }
}
@media (max-width: 900px) {
  .smart-concept .sm-hero { min-height: 700px; }
  .smart-concept .sm-hero h1 { font-size: 70px; }
  .smart-concept .sm-hero-shade { background: linear-gradient(90deg, #101314e5, #10131477 80%), linear-gradient(0deg, #101314e8, transparent 50%); }
  .smart-concept .sm-hero-topline { margin-bottom: 50px; }
  .smart-concept .sm-hero-foot { align-items: flex-start; }
  .smart-concept .sm-nav-contact { display: none; }
  .smart-concept .sm-section-nav > div { gap: 20px; min-height: 75px; }
  .smart-concept .sm-section-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 38px; }
  .smart-concept .sm-section-heading > p { max-width: 500px; }
  .smart-concept .sm-section-heading h2 { font-size: 48px; }
  .smart-concept .sm-experience { padding-block: 85px; }
  .smart-concept .sm-experience-stage { display: flex; flex-direction: column; }
  .smart-concept .sm-room { height: 500px; width: 100%; }
  .smart-concept .sm-room-caption { right: 28px; left: 28px; bottom: 55px; }
  .smart-concept .sm-room-caption > strong { font-size: 34px; }
  .smart-concept .sm-room-readouts { flex-direction: row; align-items: center; gap: 14px 22px; }
  .smart-concept .sm-room-marker { left: 20px; top: 20px; }
  .smart-concept .sm-controller { width: min(440px, 100%); margin-top: -28px; border-width: 6px; padding-inline: 24px; }
  .smart-concept .sm-control-card { padding: 17px; }
  .smart-concept .sm-considered { grid-template-columns: 1fr; gap: 35px; padding-block: 85px; }
  .smart-concept .sm-considered-copy h2 { font-size: 35px; }
  .smart-concept .sm-considered-image { height: 500px; }
  .smart-concept .sm-coverage { padding-bottom: 85px; }
  .smart-concept .sm-coverage-grid { gap: 18px; }
  .smart-concept .sm-coverage-grid article { padding: 28px; }
  .smart-concept .sm-coverage-grid h3 { font-size: 29px; }
  .smart-concept .sm-related { flex-wrap: wrap; }
  .smart-concept .sm-related > div { gap: 12px 20px; }
  .smart-concept .sm-related a { gap: 10px; font-size: var(--text-control); }
}
@media (max-width: 680px) {
  .smart-concept .sm-kicker { font-size: var(--text-small); letter-spacing: .06em; gap: 9px; margin-bottom: 20px; }
  .smart-concept .sm-hero { min-height: 720px; }
  .smart-concept .sm-hero-image { object-position: 64% center; }
  .smart-concept .sm-hero-shade { background: linear-gradient(90deg, #101314dc, #10131474 100%), linear-gradient(0deg, #101314f2 0%, #10131422 60%); }
  .smart-concept .sm-hero-content { padding-top: 17px; }
  .smart-concept .sm-hero-topline { flex-direction: column; align-items: flex-start; font-size: var(--text-small); gap: 5px; margin-bottom: 42px; }
  .smart-concept .sm-hero-topline > span { font-size: var(--text-small); letter-spacing: .06em; }
  .smart-concept .sm-hero h1 { font-size: clamp(36px, 11.5vw, 75px); line-height: 1.08; letter-spacing: -.058em; margin-bottom: 25px; }
  .smart-concept .sm-hero-copy { font-size: var(--text-body); line-height: 1.75; max-width: 42ch; margin-bottom: 24px; }
  .smart-concept .sm-hero-actions { width: 100%; gap: 16px; align-items: flex-start; flex-direction: column; }
  .smart-concept .sm-button { min-height: 52px; font-size: var(--text-control); gap: 18px; padding: 15px 18px; }
  .smart-concept .sm-quiet-link { font-size: var(--text-control); gap: 16px; padding-block: 8px; }
  .smart-concept .sm-hero-foot { flex-direction: column; gap: 14px; padding-block: 38px 24px; }
  .smart-concept .sm-hero-foot p { font-size: var(--text-small); line-height: 1.95; }
  .smart-concept .sm-concept-label { font-size: var(--text-small); text-align: left; }
  .smart-concept .sm-section-nav > div { min-height: 65px; }
  .smart-concept .sm-nav-title { display: none; }
  .smart-concept .sm-section-nav > div > div { justify-content: space-between; width: 100%; gap: 0 12px; }
  .smart-concept .sm-section-nav a { font-size: var(--text-control); }
  .smart-concept .sm-experience { padding-block: 65px; scroll-margin-top: 90px; }
  .smart-concept .sm-section-heading { gap: 23px; margin-bottom: 32px; }
  .smart-concept .sm-section-heading h2 { font-size: clamp(32px, 8.7vw, 45px); line-height: 1.14; }
  .smart-concept .sm-section-heading > p { font-size: var(--text-body); line-height: 1.75; max-width: 48ch; }
  .smart-concept .sm-experience-stage { display: flex; flex-direction: column; gap: 0; }
  .smart-concept .sm-room { width: 100%; height: 420px; border-radius: 7px; }
  .smart-concept .sm-room-image { object-position: 40% center; }
  .smart-concept .sm-room-marker { left: 16px; top: 16px; max-width: calc(100% - 32px); padding: 6px 8px; font-size: var(--text-small); }
  .smart-concept .sm-room-caption { left: 20px; right: 20px; bottom: 45px; }
  .smart-concept .sm-room-caption .sm-kicker { font-size: var(--text-small); margin-bottom: 8px; }
  .smart-concept .sm-room-caption > strong { font-size: 27px; max-width: 290px; }
  .smart-concept .sm-room-readouts { flex-direction: row; gap: 10px 14px; margin-top: 18px; font-size: var(--text-small); }
  .smart-concept .sm-room-readouts svg { width: 13px; height: 13px; }
  .smart-concept .sm-controller { width: min(440px, 100%); margin-top: -20px; padding: 38px 18px 20px; border-radius: 34px; box-shadow: 0 20px 50px #0005; }
  .smart-concept .sm-controller-brand { font-size: var(--text-control); margin-bottom: 24px; }
  .smart-concept .sm-controller-title { margin-bottom: 21px; }
  .smart-concept .sm-controller-title p { font-size: var(--text-small); }
  .smart-concept .sm-controller-title h3 { font-size: 28px; }
  .smart-concept .sm-scene-controls { gap: 7px; }
  .smart-concept .sm-scene-controls button { font-size: var(--text-control); min-height: 75px; }
  .smart-concept .sm-control-card { padding: 14px; }
  .smart-concept .sm-control-label label, .smart-concept .sm-control-label > span:first-child { font-size: var(--text-control); }
  .smart-concept .sm-control-hint { font-size: var(--text-small); }
  .smart-concept .sm-small-readout { font-size: var(--text-control); }
  .smart-concept .sm-curtain-controls button { min-height: 44px; font-size: var(--text-control); }
  .smart-concept .sm-climate-controls button { width: 48px; height: 48px; }
  .smart-concept .sm-controller-status { font-size: var(--text-small); }
  .smart-concept .sm-demo-note { flex-direction: column; align-items: center; gap: 12px; margin-top: 24px; text-align: center; font-size: var(--text-small); }
  .smart-concept .sm-demo-note p { gap: 7px; font-size: var(--text-small); }
  .smart-concept .sm-demo-note > span { text-align: center; max-width: 48ch; }
  .smart-concept .sm-possibilities { padding-block: 65px; }
  .smart-concept .sm-possibility-grid { grid-template-columns: 1fr; gap: 14px; }
  .smart-concept .sm-possibility-card { padding: 25px; }
  .smart-concept .sm-card-top { margin-bottom: 27px; }
  .smart-concept .sm-possibility-card h3 { font-size: 24px; margin-bottom: 15px; }
  .smart-concept .sm-possibility-card p { font-size: var(--text-body); max-width: none; margin-bottom: 24px; }
  .smart-concept .sm-possibility-card a { font-size: var(--text-control); padding-block: 15px 2px; }
  .smart-concept .sm-considered { grid-template-columns: 1fr; gap: 36px; padding-block: 65px; }
  .smart-concept .sm-considered-image { height: 380px; }
  .smart-concept .sm-considered-copy h2 { font-size: clamp(32px, 8.5vw, 44px); }
  .smart-concept .sm-considered-copy > p:not(.sm-kicker) { font-size: var(--text-body); margin-top: 24px; }
  .smart-concept .sm-considered-copy li { padding-block: 20px; gap: 16px; }
  .smart-concept .sm-considered-copy h3 { font-size: 18px; }
  .smart-concept .sm-considered-copy li p { font-size: var(--text-body); }
  .smart-concept .sm-coverage { padding-block: 0 65px; scroll-margin-top: 95px; }
  .smart-concept .sm-coverage-grid { grid-template-columns: 1fr; gap: 16px; }
  .smart-concept .sm-coverage-grid article { padding: 28px 25px; }
  .smart-concept .sm-coverage-tag { font-size: var(--text-small); margin-bottom: 18px; padding-bottom: 13px; }
  .smart-concept .sm-coverage-grid h3 { font-size: 30px; }
  .smart-concept .sm-coverage-grid p { font-size: var(--text-body); margin-bottom: 24px; }
  .smart-concept .sm-final-cta { padding-block: 65px; }
  .smart-concept .sm-final-cta h2 { font-size: 45px; }
  .smart-concept .sm-final-cta p:not(.sm-kicker) { font-size: var(--text-body); max-width: 46ch; margin-bottom: 28px; }
  .smart-concept .sm-final-cta .sm-kicker { font-size: var(--text-small); }
  .smart-concept .sm-call-link { font-size: var(--text-control); }
  .smart-concept .sm-related { padding-block: 36px; align-items: stretch; flex-direction: column; gap: 20px; }
  .smart-concept .sm-related > div { display: flex; flex-direction: column; gap: 0; }
  .smart-concept .sm-related a { justify-content: space-between; width: 100%; border-bottom: 1px solid var(--sm-line); padding-block: 17px; font-size: var(--text-control); }
}
@media (max-width: 380px) {
  .smart-concept .sm-controller { padding-inline: 12px; }
  .smart-concept .sm-control-card { padding-inline: 12px; }
  .smart-concept .sm-scene-controls { gap: 5px; }
  .smart-concept .sm-scene-controls button { padding-inline: 4px; font-size: 15px; }
  .smart-concept .sm-climate-controls output { font-size: 36px; }
  .smart-concept .sm-controller-title h3 { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .smart-concept *, .smart-concept *::before, .smart-concept *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.service-walkthrough{padding-block:72px 84px;background:#e8e9e1;color:#252d29;scroll-margin-top:110px}
.wt-smart-homes{background:#13191a;color:#f4f4e9}.wt-interiors{background:#ece5d7}.wt-construction{background:#e3e6db}
.wt-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:end;margin-bottom:30px}
.wt-intro .eyebrow{font-size:14px;line-height:1.6;letter-spacing:.09em;margin-bottom:18px}
.wt-intro h2{font-family:var(--serif);font-size:clamp(40px,4.5vw,66px);line-height:1.08;letter-spacing:-.035em;margin:0;max-width:900px}
.wt-smart-homes .wt-intro h2{font-family:var(--sans);font-weight:600;letter-spacing:-.055em}
.wt-intro>p{font-size:var(--text-body,18px);line-height:1.7;margin:0;max-width:58ch;color:#4e5a4d}
.wt-smart-homes .wt-intro>p{color:#c5cec8}
.wt-card{max-width:none;border:1px solid #bec5b8;background:#f8f6ee;color:#26312a;box-shadow:0 24px 60px #1e271918;overflow:hidden;border-radius:9px}
.wt-topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 22px;background:#202a26;color:#faf8ee}
.wt-title-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.wt-title-group strong{font-size:18px;font-weight:600;line-height:1.4}
.wt-status-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#f4b17e}
.wt-status-dot[data-ready]{background:#b8d3b1}
.wt-concept-tag{font-size:14px;line-height:1.5;color:#cad3c8;padding-left:14px;border-left:1px solid #697369}
.wt-topbar-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.wt-topbar-actions button{min-height:44px;padding:10px 14px;border:1px solid #667468;background:transparent;color:#f6f5eb;border-radius:4px;font-size:16px;line-height:1.4;white-space:nowrap}
.wt-topbar-actions button[aria-pressed="true"]{background:#f4efe3;color:#29382c;border-color:#f4efe3}
.wt-topbar-actions button:hover{border-color:#e9b28c}
.wt-expand{display:flex;align-items:center;gap:10px}
.wt-expand span{font-size:22px;line-height:1}
.wt-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;height:clamp(680px,79svh,900px)}
.wt-visual{position:relative;min-width:0;min-height:0;background:#d9d7cc;isolation:isolate}
.wt-canvas-region{position:absolute;inset:0;outline-offset:-5px;touch-action:pan-y}
.walkthrough-canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.wt-canvas-region:focus-visible{outline:3px solid #b7582c}
.wt-poster{position:absolute;inset:0;z-index:3;overflow:hidden}
.wt-poster>img{width:100%;height:100%;object-fit:cover}
.wt-poster-shade{position:absolute;inset:0;background:linear-gradient(180deg,#12221b1a 10%,#15231cbb 100%)}
.wt-loading-copy{position:absolute;left:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px);bottom:90px;max-width:590px;color:#fff}
.wt-loading-kicker{font-size:14px;line-height:1.6;letter-spacing:.08em}
.wt-loading-copy>p{font-family:var(--serif);font-size:clamp(32px,3.8vw,54px);line-height:1.1;letter-spacing:-.025em;margin:18px 0}
.wt-loading-copy>span:last-of-type{display:block;font-size:18px;line-height:1.7;max-width:54ch}
.wt-loading-copy>button{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 20px;border:0;border-radius:3px;background:#efab7e;color:#1c2a21;font-size:16px;font-weight:600;min-height:48px;margin-top:22px}
.wt-loading-copy>button span{font-size:22px}
.wt-location{position:absolute;left:20px;top:20px;z-index:2;display:flex;flex-direction:column;gap:5px;padding:14px 18px;max-width:calc(100% - 40px);background:#fcf9efed;color:#28382d;border:1px solid #fff9;box-shadow:0 6px 25px #13281814;pointer-events:none}
.wt-location>span{font-size:14px;line-height:1.4;color:#52614e}
.wt-location>strong{font-size:20px;line-height:1.35;font-weight:600}
.wt-canvas-hint{position:absolute;z-index:4;bottom:0;left:0;right:0;margin:0;padding:13px 18px;font-size:14px;line-height:1.6;background:#faf7eeed;color:#3e513f;text-align:center;pointer-events:none;border-top:1px solid #d0d7c688}
.wt-markers{position:absolute;inset:0;pointer-events:none;z-index:1}
.wt-markers[hidden],.wt-marker[hidden]{display:none}
.wt-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;width:44px;height:44px;border-radius:50%;border:1px solid #fff9;background:#253d32;color:#fff;font-size:14px;font-weight:600;box-shadow:0 2px 4px #0003,0 0 0 5px #ffffff42;display:grid;place-items:center}
.wt-marker[aria-pressed="true"]{background:#a54d24;box-shadow:0 0 0 6px #f4af7755}
.wt-marker:hover{background:#a3441d}
.wt-motion-tools{position:absolute;z-index:2;right:20px;bottom:72px;display:flex;flex-direction:column;align-items:center;gap:10px}
.wt-motion-tools button{display:grid;place-items:center;min-width:48px;min-height:48px;padding:0;border:1px solid #fff9;border-radius:5px;background:#faf7eeed;color:#263c2d;font-size:27px;line-height:1;box-shadow:0 3px 10px #17251b15}
.wt-motion-tools button:hover{background:#fff;color:#9f4822}
.wt-motion-tools button:active{background:#ecb58e}
.wt-look-tools{display:flex;align-items:center;gap:4px}
.wt-look-tools>span{font-size:14px;font-weight:600;line-height:1.4;color:#fff;background:#243a2ee8;border-radius:4px;padding:6px 2px;min-width:48px;text-align:center}
.wt-walk-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);gap:4px;grid-template-areas:". forward ." "left label right" ". back ."}
.wt-move-forward{grid-area:forward}.wt-move-left{grid-area:left}.wt-move-right{grid-area:right}.wt-move-back{grid-area:back}
.wt-walk-label{grid-area:label;display:grid;place-items:center;font-size:14px;font-weight:600;color:#fff;background:#243a2ee8;border-radius:4px}
.wt-panel{padding:22px 24px;border-left:1px solid #c8cebd;min-width:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#aeb9a6 #eeefe5;display:flex;flex-direction:column;background:#f8f6ee}
.wt-map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:#52604b;margin-bottom:12px}
.wt-map-heading>span:last-child{font-size:22px;line-height:1}
.wt-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"bedroom study" "living kitchen" "entry entry";gap:5px;padding:7px;border:1px solid #bfc8b5;background:#e9eddf}
.wt-plan-room{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;padding:10px 8px;border:1px solid #c9d1bf;border-radius:0;background:#faf9ef;font-size:16px;line-height:1.4;color:#41543a}
.wt-plan-bedroom{grid-area:bedroom}.wt-plan-study{grid-area:study}.wt-plan-living{grid-area:living}.wt-plan-kitchen{grid-area:kitchen}.wt-plan-entry{grid-area:entry;max-width:65%;width:100%;justify-self:center}
.wt-plan-room:hover{border-color:#a7562b;background:#fff}
.wt-plan-room[aria-current="location"]{background:#2f4536;border-color:#2f4536;color:#fff}
.wt-plan-room[data-destination]{outline:2px dashed #a55329;outline-offset:-4px}
.wt-plan-dot{width:6px;height:6px;background:#9b785d;border-radius:50%;flex-shrink:0}
.wt-plan-room[aria-current="location"] .wt-plan-dot{background:#f4b17e}
.wt-chapter-label{display:flex;align-items:center;justify-content:space-between;font-size:14px;line-height:1.5;color:#52604b;gap:12px;margin-top:14px}
.wt-reset{border:0;background:none;min-height:44px;padding:8px 0 8px 8px;font-size:16px;line-height:1.4;text-decoration:underline;text-underline-offset:4px;color:#506047}
.wt-feature-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:5px 0 20px}
.wt-feature-tabs button{padding:9px 11px;min-height:44px;border:1px solid #bbc6ae;background:transparent;color:#42533b;font-size:16px;border-radius:3px;line-height:1.45}
.wt-feature-tabs button[aria-pressed="true"]{background:#2b3e30;border-color:#2b3e30;color:#fff}
.wt-feature-tabs button:hover{border-color:#9b5128}
.wt-feature-copy h3{font-family:var(--serif);font-size:31px;line-height:1.13;letter-spacing:-.02em;margin:0 0 15px}
.wt-feature-copy p{font-size:16px;line-height:1.65;margin-bottom:12px;color:#4e5e45}
.wt-feature-copy .wt-feature-detail{font-size:14px;line-height:1.65;color:#53624c}
.wt-settings{border:0;border-top:1px solid #cbd4bf;padding:15px 0 0;margin:12px 0 20px;min-width:0}
.wt-settings legend{font-size:14px;line-height:1.5;padding:0 8px 0 0;color:#4b5c43}
.wt-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block:12px;font-size:16px;line-height:1.5}
.wt-toggle{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#e3e8d9;color:#34492d;border:1px solid #abbc9a;padding:8px 12px;border-radius:4px;font-size:16px;line-height:1.4;min-width:100px}
.wt-toggle>span{width:8px;height:8px;background:#71825e;border-radius:50%;flex-shrink:0}
.wt-toggle[aria-pressed="true"]{background:#2e4a38;color:#fff;border-color:#2e4a38}
.wt-toggle[aria-pressed="true"]>span{background:#f5b484}
.wt-slider-label{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:16px;line-height:1.5}
.wt-slider-label input{width:100%;height:44px;padding:0;min-height:44px;border:0;background:transparent;accent-color:#a84b22;margin:3px 0 0}
.wt-slider-label output{font-weight:600;color:#95431d}
.wt-option-row>span{display:block;font-size:16px;line-height:1.5;margin-bottom:12px}
.wt-option-row>div{display:flex;flex-wrap:wrap;gap:6px}
.wt-option-row button{flex:1;min-width:75px;padding:10px 12px;font-size:16px;line-height:1.4;min-height:44px;border:1px solid #b2c2a2;border-radius:3px;background:#edf0e5;color:#405237}
.wt-option-row button[aria-pressed="true"]{background:#2a3b2f;color:#fff;border-color:#2a3b2f}
.wt-option-row .wt-build-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.wt-setting-note{font-size:14px;line-height:1.65;color:#526148;margin:12px 0 0}
.wt-tour-navigation{margin-top:auto;display:flex;gap:8px;justify-content:space-between;padding-top:8px}
.wt-tour-navigation button{border:0;border-radius:3px;background:#2b3b2e;color:#fff;font-size:16px;min-height:48px;padding:10px 12px;line-height:1.45}
.wt-tour-navigation button:first-child{background:#e3e8d9;color:#3f4e36}
.wt-tour-navigation button:last-child{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}
.wt-project-link{display:flex;align-items:center;justify-content:space-between;font-size:16px;min-height:44px;line-height:1.5;margin-top:14px;color:#93451f;text-decoration:underline;text-underline-offset:4px;gap:12px}
.wt-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px;background:#ecf0e3;border-top:1px solid #c6d0b8;color:#43563a}
.wt-bottom p{margin:0;font-size:14px;line-height:1.6;max-width:850px}
.wt-bottom>span{font-size:14px;line-height:1.6;text-align:right}
.wt-card button:disabled{opacity:.55;cursor:default}
.wt-card button:focus-visible{outline:3px solid #bc632f;outline-offset:3px}
.wt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wt-card:fullscreen{width:100%;height:100%;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;overflow:auto}
.wt-card:fullscreen .wt-workspace{flex:1;min-height:0;height:auto}
.wt-card:fullscreen .wt-panel{overflow:auto}
.wt-card:fullscreen .wt-visual{min-height:450px}
@media(min-width:1700px){
  .wt-workspace{grid-template-columns:minmax(0,1fr) 400px}
  .wt-panel{padding:26px 28px}
  .wt-feature-copy p{font-size:18px}
  .wt-feature-copy .wt-feature-detail{font-size:16px}
}
@media(max-width:1150px){
  .wt-topbar{align-items:flex-start}
  .wt-title-group{max-width:300px}
  .wt-concept-tag{border:0;padding-left:20px}
  .wt-workspace{grid-template-columns:minmax(0,1fr) 330px}
  .wt-panel{padding:20px}
  .wt-topbar-actions{justify-content:flex-end}
}
@media(max-width:960px){
  .wt-intro{grid-template-columns:minmax(0,1fr);gap:18px}
  .wt-intro>p{max-width:70ch}
  .wt-workspace{display:flex;flex-direction:column;height:auto}
  .wt-visual{height:68svh;min-height:500px;max-height:740px}
  .wt-panel{border-left:0;border-top:1px solid #c4ceba;padding:26px;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px}
  .wt-room-map{grid-column:1;grid-row:1/4;align-self:start}
  .wt-chapter-label{grid-column:2;margin-top:0}
  .wt-feature-tabs{grid-column:2}
  .wt-feature-copy{grid-column:2}
  .wt-settings{grid-column:1;grid-row:4/6;align-self:start}
  .wt-tour-navigation{grid-column:2;align-self:end;margin-top:8px}
  .wt-project-link{grid-column:2;align-self:start}
  .wt-card:fullscreen .wt-workspace{display:block}
  .wt-card:fullscreen .wt-visual{height:70svh;min-height:400px}
  .wt-card:fullscreen .wt-panel{overflow:visible}
}
@media(max-width:680px){
  .service-walkthrough{padding-block:52px}
  .wt-intro h2{font-size:42px}
  .wt-intro .eyebrow{font-size:14px;letter-spacing:.05em}
  .wt-intro>p{font-size:16px}
  .wt-topbar{padding:16px;flex-direction:column;gap:14px}
  .wt-title-group{max-width:none;gap:9px}
  .wt-concept-tag{display:none}
  .wt-topbar-actions{justify-content:flex-start;gap:6px;width:100%}
  .wt-topbar-actions button{font-size:16px;min-height:46px;padding:9px 11px}
  .wt-topbar-actions .wt-expand{margin-left:auto}
  .wt-topbar-actions .wt-expand span{display:none}
  .wt-visual{height:68svh;min-height:460px;max-height:620px}
  .wt-panel{display:flex;gap:0;padding:22px 18px}
  .wt-room-map{max-width:none}
  .wt-plan{grid-template-areas:"bedroom study" "living kitchen" "entry entry";gap:6px}
  .wt-chapter-label{margin-top:16px}
  .wt-feature-copy h3{font-size:32px}
  .wt-location{left:14px;top:14px;padding:12px 14px;max-width:calc(100% - 28px)}
  .wt-location>strong{font-size:19px}
  .wt-motion-tools{right:14px;bottom:80px;gap:8px}
  .wt-motion-tools button{min-width:44px;min-height:44px;font-size:25px}
  .wt-look-tools>span{min-width:44px}
  .wt-walk-pad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px)}
  .wt-loading-copy{left:22px;right:22px;bottom:90px}
  .wt-loading-copy>p{font-size:36px}
  .wt-loading-copy>span:last-of-type{font-size:16px}
  .wt-bottom{padding:14px 18px;align-items:flex-start;flex-direction:column;gap:7px}
  .wt-bottom>span{text-align:left}
  .wt-canvas-hint{padding:12px 14px}
  .wt-card{border-radius:6px}
}
@media(max-width:380px){
  .wt-intro h2{font-size:37px}
  .wt-topbar-actions .wt-expand{margin-left:0}
  .wt-visual{min-height:460px}
  .wt-panel{padding:20px 14px}
  .wt-plan-room{font-size:16px;padding-inline:5px}
  .wt-toggle-row{flex-wrap:wrap}
}

/* A continuous page, with the building held in view while the story scrolls. */
body:has(.construction-story-page){background:#ebe7df}
html:has(.construction-story-page){scroll-padding-top:0;scroll-behavior:auto}
body:has(.construction-story-page) .site-header{height:82px;background:#f7f5eff2;border-bottom:1px solid #d3cec3}
.construction-story-page{--construction-header:82px;--construction-view:calc(100svh - var(--construction-header));background:#ebe7df;color:#25282a}
.construction-story{position:relative;isolation:isolate;--construction-progress:0}
.construction-legacy-anchor{position:absolute;top:0}
.construction-stage{position:sticky;top:var(--construction-header);height:var(--construction-view);min-height:600px;margin-bottom:calc(-1 * max(var(--construction-view),600px));overflow:hidden;pointer-events:none}
.construction-canvas{position:absolute;inset:0;width:100%;height:100%}
.construction-canvas canvas{display:block;width:100%;height:100%;pointer-events:none}
.construction-fallback{position:absolute;width:72%;height:100%;right:0;top:0}
.construction-scene-wash{position:absolute;inset:0;background:linear-gradient(90deg,#ebe7df 0%,#ebe7dfed 23%,#ebe7df30 43%,transparent 61%)}
.construction-page-meta{position:relative;min-height:64px;padding:10px var(--page-gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 24px;background:#ebe7df;border-bottom:1px solid #bab8ac;font-size:14px;letter-spacing:.06em;font-weight:600}
.construction-page-meta nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:16px;letter-spacing:.025em}.construction-page-meta nav>span[aria-hidden]{color:#a3441d}.construction-page-meta a{display:inline-flex;align-items:center;min-height:44px}
.construction-page-meta>span{text-transform:uppercase;font-size:14px;letter-spacing:.12em}
.construction-chapters{position:relative;z-index:1;pointer-events:none}
.construction-chapter{height:var(--construction-view);min-height:600px;display:flex;align-items:center;padding:110px var(--page-gutter) 95px;scroll-margin-top:var(--construction-header)}
.construction-chapter-copy{width:38%;max-width:570px;pointer-events:auto}
.construction-kicker{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;display:flex;gap:18px;align-items:center;margin:0 0 22px}
.construction-kicker>span{color:#a3441d;border-top:2px solid #c55b2c;padding-top:6px;line-height:1}
.construction-chapter h1,.construction-chapter h2{font-family:var(--serif);font-size:clamp(46px,5.4vw,86px);line-height:1.02;letter-spacing:-.045em;margin:0 0 28px;text-wrap:balance}
.construction-chapter h2{font-size:clamp(44px,4.6vw,70px);max-width:11ch}
.construction-chapter h1 em{color:#a64b27}
.construction-chapter-body{font-size:clamp(18px,1.38vw,21px);line-height:1.7;max-width:33ch;color:#4b504d;margin:0 0 26px;text-wrap:pretty}
.construction-chapter-detail{display:flex;gap:13px;max-width:37ch;font-size:15px;line-height:1.7;color:#5b5d56;padding-top:18px;border-top:1px solid #bab8ac;margin:0}
.construction-chapter-detail>span{color:#a3441d;font-size:20px;line-height:1.2}
.construction-chapter .button{margin-top:28px}
.construction-chapter-rail{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:grid;gap:1px;pointer-events:auto;z-index:3}
.construction-chapter-rail a{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:flex-end;gap:11px;color:#77796f;padding:0 4px;font-size:14px}
.construction-chapter-rail i{height:1px;width:13px;background:#aaa99c;transition:width .2s,background .2s}
.construction-chapter-rail [aria-current]{color:#923c1b;font-weight:600}.construction-chapter-rail [aria-current] i{width:26px;height:2px;background:#b44b23}
.construction-scroll-hint{display:flex;gap:24px;align-items:center;font-size:14px;color:#444c45;margin:28px 0 0}.construction-scroll-hint span{font-size:25px}
.construction-progress{position:absolute;height:2px;bottom:0;left:0;right:0;background:#d5d0c5}.construction-progress>span{display:block;height:100%;width:100%;background:#bd552b;transform:scaleX(var(--construction-progress));transform-origin:left}
.construction-loading{position:absolute;right:18%;bottom:15%;font-size:14px;background:#ebe7dfdf;padding:8px 12px}
.construction-story-end{position:relative;background:#f7f4ed;border-top:1px solid #ccc8bd;padding:90px var(--page-gutter) 35px;display:grid;grid-template-columns:1.3fr .7fr;column-gap:60px;row-gap:45px}
.construction-story-end h2{font-family:var(--serif);font-size:clamp(42px,5vw,74px);line-height:1.05;letter-spacing:-.035em;margin:0}.construction-story-end h2 em{color:#a3441d}
.construction-end-copy{max-width:44ch;padding-top:40px}.construction-end-copy p{font-size:18px;color:#545b51;line-height:1.8;margin-bottom:25px}.construction-phone{display:block;margin-top:20px;font-size:18px}
.construction-related{grid-column:1/-1;display:flex;gap:30px;align-items:center;flex-wrap:wrap;border-block:1px solid #d9d2c5;padding-block:24px;font-size:16px}.construction-related>span{margin-right:auto;color:#62675c}.construction-related a{min-height:44px;display:inline-flex;align-items:center}
.construction-concept-note{grid-column:1/-1;color:#63685e;font-size:14px;line-height:1.8;margin:0;max-width:95ch}
@media(min-width:1600px){.construction-chapter-copy{width:36%}.construction-chapter h1{font-size:100px}.construction-chapter h2{font-size:82px}}
@media(max-width:1000px) and (min-width:761px){.construction-chapter-copy{width:43%}.construction-chapter h1{font-size:60px}.construction-chapter h2{font-size:52px}.construction-chapter-body{font-size:18px}.construction-page-meta>span{letter-spacing:.04em}.construction-scene-wash{background:linear-gradient(90deg,#ebe7df 0%,#ebe7dfed 25%,#ebe7df44 47%,transparent 66%)}}
@media(max-width:760px){
 body:has(.construction-story-page) .site-header{height:76px}.construction-story-page{--construction-header:76px}
 .construction-chapter{padding:0 18px 65px;align-items:flex-end}
 .construction-chapter-copy{width:100%;max-width:600px;background:linear-gradient(0deg,#ebe7df 80%,#ebe7df00);padding-top:28px}
 .construction-page-meta{min-height:60px;padding:8px 18px}.construction-page-meta>span{display:none}
 .construction-scene-wash{background:linear-gradient(0deg,#ebe7df 0%,#ebe7df 30%,#ebe7df00 52%)}
 .construction-fallback{width:112%;height:70%;right:-6%;top:-5%}
 .construction-kicker{font-size:14px;margin-bottom:12px;gap:12px}
 .construction-chapter h1{font-size:clamp(40px,8.7vw,58px);line-height:1.02;margin-bottom:16px}.construction-chapter h2{font-size:clamp(36px,8vw,50px);line-height:1.04;margin-bottom:15px;max-width:17ch}
 .construction-chapter-body{font-size:16px;line-height:1.6;max-width:46ch;margin-bottom:14px}.construction-chapter-detail{font-size:14px;line-height:1.55;padding-top:10px;max-width:48ch}
 .construction-chapter .button{margin-top:16px;padding:12px 16px;min-height:48px;font-size:16px}
 .construction-chapter-rail{right:10px;top:70px;transform:none;gap:0}.construction-chapter-rail a{min-height:44px;min-width:44px;font-size:14px}.construction-chapter-rail a span{display:none}.construction-chapter-rail i{width:10px}.construction-chapter-rail [aria-current] i{width:19px}
 .construction-scroll-hint{margin:16px 0 0}
 .construction-loading{right:20%;bottom:60%}
 .construction-story-end{padding:60px 18px 28px;grid-template-columns:1fr;gap:30px}.construction-story-end h2{font-size:43px}.construction-end-copy{padding:0}.construction-end-copy p{font-size:16px}.construction-related{gap:10px 24px;padding-block:18px}.construction-related>span{width:100%}
}
@media(prefers-reduced-motion:reduce){html:has(.construction-story-page){scroll-behavior:auto}.construction-chapter-rail i{transition:none}}

/* A continuous page, with the building held in view while the story scrolls. */
body:has(.ss-story-page){background:var(--ss-bg)}
html:has(.ss-story-page){scroll-padding-top:0;scroll-behavior:auto}
body:has(.ss-story-page) .site-header{height:82px;background:#f7f5eff2;border-bottom:1px solid #d3cec3}
.ss-story-page{--ss-header:82px;--ss-view:calc(100svh - var(--ss-header));background:var(--ss-bg);color:var(--ss-ink)}
.ss-story{position:relative;isolation:isolate;--ss-progress:0}
.ss-legacy-anchor{position:absolute;top:0}
.ss-stage{position:sticky;top:var(--ss-header);height:var(--ss-view);min-height:600px;margin-bottom:calc(-1 * max(var(--ss-view),600px));overflow:hidden;pointer-events:none}
.ss-canvas{position:absolute;inset:0;width:100%;height:100%}
.ss-canvas canvas{display:block;width:100%;height:100%;pointer-events:none}
.ss-fallback{position:absolute;width:72%;height:100%;right:0;top:0}
.ss-scene-wash{position:absolute;inset:0;background:var(--ss-bg);mask-image:linear-gradient(90deg,#000 0%,#000e 23%,#0003 43%,transparent 61%)}
.ss-page-meta{position:relative;min-height:64px;padding:10px var(--page-gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 24px;background:var(--ss-bg);border-bottom:1px solid var(--ss-line);font-size:14px;letter-spacing:.06em;font-weight:600}
.ss-page-meta nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:16px;letter-spacing:.025em}.ss-page-meta nav>span[aria-hidden]{color:var(--ss-accent)}.ss-page-meta a{display:inline-flex;align-items:center;min-height:44px}
.ss-page-meta>span{text-transform:uppercase;font-size:14px;letter-spacing:.12em}
.ss-chapters{position:relative;z-index:1;pointer-events:none}
.ss-chapter{height:var(--ss-view);min-height:600px;display:flex;align-items:center;padding:110px var(--page-gutter) 95px;scroll-margin-top:var(--ss-header)}
.ss-chapter-copy{width:38%;max-width:570px;pointer-events:auto}
.ss-kicker{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;display:flex;gap:18px;align-items:center;margin:0 0 22px}
.ss-kicker>span{color:var(--ss-accent);border-top:2px solid #c55b2c;padding-top:6px;line-height:1}
.ss-chapter h1,.ss-chapter h2{font-family:var(--serif);font-size:clamp(46px,5.4vw,86px);line-height:1.02;letter-spacing:-.045em;margin:0 0 28px;text-wrap:balance}
.ss-chapter h2{font-size:clamp(44px,4.6vw,70px);max-width:11ch}
.ss-chapter h1 em{color:var(--ss-accent)}
.ss-chapter-body{font-size:clamp(18px,1.38vw,21px);line-height:1.7;max-width:33ch;color:var(--ss-muted);margin:0 0 26px;text-wrap:pretty}
.ss-chapter-detail{display:flex;gap:13px;max-width:37ch;font-size:15px;line-height:1.7;color:var(--ss-muted);padding-top:18px;border-top:1px solid var(--ss-line);margin:0}
.ss-chapter-detail>span{color:var(--ss-accent);font-size:20px;line-height:1.2}
.ss-chapter .button{margin-top:28px}
.ss-chapter-rail{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:grid;gap:1px;pointer-events:auto;z-index:3}
.ss-chapter-rail a{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:flex-end;gap:11px;color:#77796f;padding:0 4px;font-size:14px}
.ss-chapter-rail i{height:1px;width:13px;background:#aaa99c;transition:width .2s,background .2s}
.ss-chapter-rail [aria-current]{color:var(--ss-accent);font-weight:600}.ss-chapter-rail [aria-current] i{width:26px;height:2px;background:#b44b23}
.ss-scroll-hint{display:flex;gap:24px;align-items:center;font-size:14px;color:var(--ss-muted);margin:28px 0 0}.ss-scroll-hint span{font-size:25px}
.ss-progress{position:absolute;height:2px;bottom:0;left:0;right:0;background:var(--ss-line)}.ss-progress>span{display:block;height:100%;width:100%;background:#bd552b;transform:scaleX(var(--ss-progress));transform-origin:left}
.ss-loading{position:absolute;right:18%;bottom:15%;font-size:14px;background:var(--ss-bg);padding:8px 12px}
.ss-story-end{position:relative;background:var(--ss-end);border-top:1px solid var(--ss-line);padding:90px var(--page-gutter) 35px;display:grid;grid-template-columns:1.3fr .7fr;column-gap:60px;row-gap:45px}
.ss-story-end h2{font-family:var(--serif);font-size:clamp(42px,5vw,74px);line-height:1.05;letter-spacing:-.035em;margin:0}.ss-story-end h2 em{color:var(--ss-accent)}
.ss-end-copy{max-width:44ch;padding-top:40px}.ss-end-copy p{font-size:18px;color:var(--ss-muted);line-height:1.8;margin-bottom:25px}.ss-phone{display:block;margin-top:20px;font-size:18px}
.ss-related{grid-column:1/-1;display:flex;gap:30px;align-items:center;flex-wrap:wrap;border-block:1px solid var(--ss-line);padding-block:24px;font-size:16px}.ss-related>span{margin-right:auto;color:var(--ss-muted)}.ss-related a{min-height:44px;display:inline-flex;align-items:center}
.ss-concept-note{grid-column:1/-1;color:var(--ss-muted);font-size:14px;line-height:1.8;margin:0;max-width:95ch}
@media(min-width:1600px){.ss-chapter-copy{width:36%}.ss-chapter h1{font-size:100px}.ss-chapter h2{font-size:82px}}
@media(max-width:1000px) and (min-width:761px){.ss-chapter-copy{width:43%}.ss-chapter h1{font-size:60px}.ss-chapter h2{font-size:52px}.ss-chapter-body{font-size:18px}.ss-page-meta>span{letter-spacing:.04em}.ss-scene-wash{background:var(--ss-bg);mask-image:linear-gradient(90deg,#000 0%,#000e 25%,#0004 47%,transparent 66%)}}
@media(max-width:760px){
 body:has(.ss-story-page) .site-header{height:76px}.ss-story-page{--ss-header:76px}
 .ss-chapter{padding:0 18px 65px;align-items:flex-end}
 .ss-chapter-copy{width:100%;max-width:600px;background:linear-gradient(0deg,var(--ss-bg) 80%,transparent);padding-top:28px}
 .ss-page-meta{min-height:60px;padding:8px 18px}.ss-page-meta>span{display:none}
 .ss-scene-wash{background:var(--ss-bg);mask-image:linear-gradient(0deg,#000 0%,#000 30%,transparent 52%)}
 .ss-fallback{width:112%;height:70%;right:-6%;top:-5%}
 .ss-kicker{font-size:14px;margin-bottom:12px;gap:12px}
 .ss-chapter h1{font-size:clamp(40px,8.7vw,58px);line-height:1.02;margin-bottom:16px}.ss-chapter h2{font-size:clamp(36px,8vw,50px);line-height:1.04;margin-bottom:15px;max-width:17ch}
 .ss-chapter-body{font-size:16px;line-height:1.6;max-width:46ch;margin-bottom:14px}.ss-chapter-detail{font-size:14px;line-height:1.55;padding-top:10px;max-width:48ch}
 .ss-chapter .button{margin-top:16px;padding:12px 16px;min-height:48px;font-size:16px}
 .ss-chapter-rail{right:10px;top:70px;transform:none;gap:0}.ss-chapter-rail a{min-height:44px;min-width:44px;font-size:14px}.ss-chapter-rail a span{display:none}.ss-chapter-rail i{width:10px}.ss-chapter-rail [aria-current] i{width:19px}
 .ss-scroll-hint{margin:16px 0 0}
 .ss-loading{right:20%;bottom:60%}
 .ss-story-end{padding:60px 18px 28px;grid-template-columns:1fr;gap:30px}.ss-story-end h2{font-size:43px}.ss-end-copy{padding:0}.ss-end-copy p{font-size:16px}.ss-related{gap:10px 24px;padding-block:18px}.ss-related>span{width:100%}
}
@media(prefers-reduced-motion:reduce){html:has(.ss-story-page){scroll-behavior:auto}.ss-chapter-rail i{transition:none}}

.ss-story-page{--ss-bg:#e9ede6;--ss-ink:#25372e;--ss-muted:#4f5e55;--ss-accent:#a3441d;--ss-line:#bfc8b9;--ss-end:#f5f7f0}
.ss-interiors{--ss-bg:#eee4d7;--ss-ink:#3a3028;--ss-muted:#655447;--ss-accent:#995130;--ss-line:#c5b7a6;--ss-end:#f7eee3}
.ss-smart-homes{--ss-bg:#141f25;--ss-ink:#f4f1e7;--ss-muted:#c1ccd0;--ss-accent:#e6a76e;--ss-line:#465761;--ss-end:#1c2b32}
body:has(.ss-story-page){background:#e9ede6}
body:has(.ss-interiors){background:#eee4d7}
body:has(.ss-smart-homes){background:#141f25}
.ss-smart-homes .ss-chapter-rail a{color:#b8c6ca}
.ss-smart-homes .ss-chapter-rail [aria-current]{color:#efb780}
.ss-smart-homes .ss-chapter-rail [aria-current] i,.ss-smart-homes .ss-progress>span{background:#e6a76e}
.ss-smart-homes .ss-kicker>span{border-color:#e6a76e}
.ss-smart-homes .button-dark{background:#efb780;border-color:#efb780;color:#19262c}
.ss-smart-homes .button-dark:hover{background:#f8cd9e}
.ss-story-page .ss-service-links{display:flex;gap:12px 24px;flex-wrap:wrap}
.ss-story-page .ss-scope{font-size:16px;max-width:42ch;color:var(--ss-muted);border-top:1px solid var(--ss-line);padding-top:20px}
@media(max-width:1180px){body:has(.ss-story-page) .site-nav,body:has(.construction-story-page) .site-nav{top:100%}}

/* A quiet editorial layer around the scroll-driven scene. */
.ss-story-page,.construction-story-page{--story-paper:var(--ss-bg,#ebe7df);--story-ink:var(--ss-ink,#25282a);--story-muted:var(--ss-muted,#4b504d);--story-accent:var(--ss-accent,#a3441d);--story-line:var(--ss-line,#bab8ac)}
.story-atmosphere{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 73% 40%,#fff9ed99,transparent 56%),radial-gradient(ellipse at 78% 82%,#8d714a17,transparent 48%)}
.ss-architecture .story-atmosphere:after{content:"";position:absolute;inset:0 0 0 39%;opacity:.25;background-image:linear-gradient(#7788781a 1px,transparent 1px),linear-gradient(90deg,#7788781a 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 50%,#000,transparent 68%)}
.ss-smart-homes .story-atmosphere{background:radial-gradient(ellipse at 72% 35%,#4b77852b,transparent 55%),radial-gradient(ellipse at 76% 76%,#d7934c24,transparent 46%)}
.ss-smart-homes .story-atmosphere:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 77% 44%,#db9b4524,transparent 48%);opacity:var(--ss-progress)}
.ss-progress,.construction-progress{z-index:4}
.ss-chapter-rail a,.construction-chapter-rail a{position:relative}
.ss-chapter-rail a,.construction-chapter-rail a{color:#5e6259}
.ss-smart-homes .ss-chapter-rail a{color:#b8c6ca}
.ss-smart-homes :focus-visible{outline-color:#efb780}
.ss-chapter-rail a b,.construction-chapter-rail a b{position:absolute;right:66px;white-space:nowrap;font-size:14px;font-weight:500;background:var(--story-paper);color:var(--story-ink);border:1px solid var(--story-line);padding:9px 13px;opacity:0;transform:translateX(5px);transition:opacity .18s,transform .18s;pointer-events:none}
.ss-chapter-rail a:is(:hover,:focus-visible) b,.construction-chapter-rail a:is(:hover,:focus-visible) b{opacity:1;transform:none}
.story-details{position:absolute;inset:0;pointer-events:none;color:var(--story-ink);z-index:2}
.story-details>div{opacity:0;transition:opacity .22s}
.story-details[data-ready="true"]>div[data-visible="true"]{opacity:1}
.story-feature{position:absolute;left:0;top:0;transform:translate(var(--feature-x,-1000px),var(--feature-y,-1000px))}
.story-feature-pin{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border:2px solid var(--story-paper);border-radius:50%;background:var(--story-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--story-accent) 16%,transparent)}
.story-feature-leader{position:absolute;bottom:4px;left:4px;width:1px;height:56px;background:var(--story-accent);transform:rotate(36deg);transform-origin:bottom}
.story-feature-label{position:absolute;left:37px;bottom:47px;width:max-content;min-width:165px;max-width:260px;border-top:1px solid var(--story-accent);padding:9px 12px 10px;background:color-mix(in srgb,var(--story-paper) 94%,transparent);box-shadow:0 6px 28px #00000006}
.story-feature-label strong{display:block;font-size:15px;font-weight:600;line-height:1.35}
.story-feature-label span{display:block;font-size:14px;color:var(--story-muted);line-height:1.5;margin-top:3px}
.story-feature-left .story-feature-leader{left:-4px;transform:rotate(-36deg)}
.story-feature-left .story-feature-label{left:auto;right:37px}
.story-journey{position:absolute;bottom:0;left:var(--page-gutter);right:var(--page-gutter);min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid color-mix(in srgb,var(--story-line) 65%,transparent);color:var(--story-muted);font-size:14px;z-index:3;pointer-events:auto;background:linear-gradient(0deg,var(--story-paper),transparent)}
.story-journey-position{display:flex;align-items:center;gap:18px}.story-journey-count{color:var(--story-accent);font-weight:600;font-variant-numeric:tabular-nums}.story-journey-count>span{font-weight:400;color:var(--story-muted)}
.story-journey-title>span{margin:0 8px}
.story-journey a{display:flex;align-items:center;gap:6px;min-height:44px;font-size:16px;color:var(--story-ink)}.story-journey a>span:last-child{font-size:20px;margin-left:13px;transition:transform .2s}.story-journey a:hover>span:last-child{transform:translateY(3px)}
.story-next-prefix{color:var(--story-muted)}
@media(max-width:1100px){.story-details{display:none}.story-journey-title{display:none}}
@media(max-width:760px){.story-journey{left:18px;right:18px;min-height:53px;gap:12px;font-size:14px}.story-next-prefix{display:none}.story-journey a{max-width:75%;line-height:1.25;text-align:right}.story-journey a>span:last-child{margin-left:5px}.ss-chapter-rail a b,.construction-chapter-rail a b{right:36px}.story-atmosphere{background:radial-gradient(ellipse at 50% 25%,#fff9ed80,transparent 60%)}}
@media(prefers-reduced-motion:reduce){.story-details>div,.story-journey a>span:last-child,.ss-chapter-rail a b,.construction-chapter-rail a b{transition:none}}
