:root{--paper:#f4f1eb;--paper2:#e9e6de;--ivory:#fbf9f4;--ink:#252d2e;--ink2:#394343;--grey:#66706c;--orange:#bf6633;--orange-dark:#a95429;--line:#d8d4cb;--white:#fff;--round:6px;--ease:cubic-bezier(.22,.7,.28,1)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #d67e47;outline-offset:4px}.skip-link{position:absolute;z-index:999;top:-70px;left:20px;background:var(--orange);color:white;padding:12px}.skip-link:focus{top:20px}.wrap{width:min(1180px,calc(100% - 88px));margin-inline:auto}.wrap-wide{width:min(1510px,calc(100% - 48px));margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2,.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.041em}h1 em,h2 em{font-weight:400;color:var(--orange);font-style:normal}h2{font-size:clamp(39px,4.7vw,72px);line-height:1.05;margin-bottom:0}p{line-height:1.73} .eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:12px;color:#6c7775}.eyebrow-rule{display:inline-block;background:var(--orange);width:26px;height:2px}.eyebrow.orange{color:var(--orange-dark)}.eyebrow.on-dark{color:#e7d2bd}
/* navigation */
.site-header{height:86px;position:relative;z-index:40;background:#263032;border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{width:151px;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0}.brand img{width:146px;height:76px;object-fit:contain;display:block}.desktop-nav{display:flex;gap:32px;align-items:center;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:600;letter-spacing:.015em;color:#e6e7e4;transition:color .2s}.desktop-nav a:hover{color:#efa36d}.header-contact{color:#fff;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.025em;background:var(--orange);padding:15px 20px;border-radius:3px;transition:background .2s}.header-contact span{margin-left:15px}.header-contact:hover,.button-light:hover{background:var(--orange-dark)}.menu-toggle{display:none;background:none;border:0;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;background:white;margin:5px}.mobile-menu{background:#263032;padding:18px 24px 25px}.mobile-menu[hidden]{display:none}.mobile-menu a{display:block;padding:13px 0;color:#fff;border-bottom:1px solid #4e585a;font-size:14px}
/* hero: warm light, restrained editorial */
.hero{background:var(--paper);padding:68px 0 18px}.hero-copy{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);gap:64px;align-items:end}.hero h1{font-size:clamp(50px,6vw,93px);line-height:1.015;margin:18px 0 12px}.hero-right{padding-bottom:24px;border-left:1px solid var(--line);padding-left:32px}.hero-right p{color:#626d69;font-size:15px;line-height:1.7;max-width:355px}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid var(--orange);padding:4px 0 10px;font-size:12px;color:var(--orange-dark);font-weight:700;letter-spacing:.03em}.text-link span{font-size:19px;line-height:1}.text-link:hover{gap:29px}
/* cutaway explorer */
.explorer{background:var(--paper);padding:22px 0 100px}.section-intro{margin-bottom:29px}.split-title{display:grid;grid-template-columns:1fr 350px;gap:58px;align-items:end}.split-title h2{margin:13px 0 0}.split-title>p{color:#67706c;margin:0 0 3px;font-size:15px}.filter-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;margin-bottom:14px;padding-bottom:4px}.filter-bar{display:flex;gap:5px;min-width:max-content}.filter{padding:14px 16px;border:1px solid var(--line);background:var(--ivory);color:#66716b;border-radius:3px;cursor:pointer;font-size:12px;transition:.22s;font-weight:600}.filter:hover{background:#e7e1d7;color:#323a37}.filter.active{background:#293233;border-color:#293233;color:white}
.house-wrap{position:relative}.house-stage{width:100%;position:relative;aspect-ratio:1672/941;background:#2d3134;border-radius:5px;overflow:hidden;isolation:isolate;box-shadow:0 24px 42px rgba(36,42,40,.1)}.house-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.house-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(19,25,29,.28),transparent 21%,transparent 75%,rgba(19,25,29,.24));pointer-events:none;z-index:1}.house-topline{z-index:5;position:absolute;top:18px;left:23px;right:23px;color:#fff;font-size:10px;letter-spacing:.15em;display:flex;align-items:center;gap:10px;text-shadow:0 1px 5px #151a1a}.live-dot{height:7px;width:7px;background:#e9a371;border-radius:50%;box-shadow:0 0 0 4px rgba(240,144,67,.2)}.house-topline-tail{margin-left:auto;opacity:.9}.house-hint{position:absolute;bottom:22px;left:24px;z-index:5;background:rgba(31,38,38,.83);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);border-radius:3px;padding:12px 16px;display:flex;align-items:center;gap:9px;color:white;font-size:11px;letter-spacing:.02em}.hint-ring{display:block;width:9px;height:9px;border-radius:50%;border:2px solid #e99b62;box-shadow:0 0 0 4px rgba(233,155,98,.15)}.house-disclaimer{color:#7a817c;font-size:10px;margin:8px 0 24px;letter-spacing:.035em;text-align:right}.house-wires,.house-devices{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.house-wires{z-index:2;overflow:visible}.wire{stroke:#f5a76e;fill:none;stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round;opacity:.58;filter:drop-shadow(0 0 3px rgba(255,141,60,.45));stroke-dasharray:5 8;animation:signal 19s linear infinite}.wire.secondary{opacity:.3;stroke-width:1.15}.wire.network{stroke:#8bd4df}.wire.control{stroke:#f2b376}.wire.av{stroke:#afc9f5}.wire.climate{stroke:#d2cba4}.wire.security{stroke:#eaa67b}.wire.all{opacity:.26;animation-duration:30s}.wire.faint{opacity:.12}.wire.rackroute{stroke-dasharray:none;opacity:.29;animation:none}@keyframes signal{to{stroke-dashoffset:-290}}@media(prefers-reduced-motion:reduce){.wire{animation:none}.device-dot:after{animation:none!important}}
.house-devices{z-index:4}.device-dot{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid #f1af78;background:rgba(33,41,43,.9);color:#ffd3a7;cursor:pointer;box-shadow:0 0 0 3px rgba(235,143,76,.12),0 0 13px rgba(241,137,59,.23);transition:opacity .25s,transform .25s,box-shadow .25s}.device-dot svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.device-dot:hover,.device-dot:focus-visible{transform:translate(-50%,-50%) scale(1.26);box-shadow:0 0 0 5px rgba(236,142,76,.23),0 0 17px rgba(241,137,59,.5)}.device-dot:not(.active){opacity:.28}.device-dot.active{opacity:1}.house-stage[data-filter="all"] .device-dot:not(.show-all){opacity:.13}.device-dot.rack-device{width:30px;height:30px;background:#db7945;box-shadow:0 0 0 5px rgba(255,148,69,.26)}.device-dot.rack-device svg{color:white}.device-dot:after{position:absolute;content:"";inset:-6px;border-radius:50%;border:1px solid rgba(237,153,89,.34);animation:ping 3s ease-out infinite;pointer-events:none}.device-dot[aria-expanded="true"]{background:#e08c59;border-color:white;opacity:1}.device-dot[aria-expanded="true"] svg{color:#263032}@keyframes ping{50%{transform:scale(1.18);opacity:.2}100%{transform:scale(1);opacity:1}}.device-popup{position:absolute;z-index:10;width:min(250px,45vw);background:rgba(31,39,40,.96);color:white;padding:16px 18px 13px;box-shadow:0 12px 33px #151b1b75;border:1px solid rgba(255,255,255,.17);border-left:2px solid #e79c60;border-radius:3px;pointer-events:auto;transform:translate(-50%,calc(-100% - 27px));left:50%;top:50%;font-size:12px}.device-popup[hidden]{display:none}.device-popup strong{display:block;font-size:13px;margin-bottom:7px}.device-popup span{font-size:11px;color:#d3d5d1;line-height:1.5;display:block}.device-popup button{border:0;background:none;color:#fff;position:absolute;right:8px;top:5px;font-size:19px;cursor:pointer}.device-popup:after{content:"";position:absolute;bottom:-8px;left:calc(50% - 6px);border-top:8px solid rgba(31,39,40,.96);border-left:7px solid transparent;border-right:7px solid transparent}
/* selected detail feature */
.system-feature{border:1px solid #d7d4cc;background:#fffdf8;padding:28px 36px 30px;margin-top:16px;box-shadow:0 14px 24px #423f3110}.feature-top{display:flex;align-items:center;justify-content:space-between;color:#a3623d;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding-bottom:20px;border-bottom:1px solid var(--line)}#feature-count{color:#89918c}.feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;padding:28px 0}.feature-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3vw,44px);letter-spacing:-.035em;font-weight:400;line-height:1.13;margin:0 0 16px}.feature-grid p{color:#66716c;font-size:14px;line-height:1.75;max-width:580px}.mini-label{font-size:10px!important;color:var(--orange-dark)!important;letter-spacing:.18em;font-weight:700!important;margin-bottom:10px!important}.feature-details ul{margin:0 0 19px;padding:0;list-style:none;display:grid;gap:10px;color:#48544e;font-size:13px}.feature-details li{padding-left:19px;position:relative;line-height:1.5}.feature-details li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border:1px solid var(--orange);transform:rotate(45deg)}.feature-tags{display:flex;gap:7px;flex-wrap:wrap}.feature-tags span{font-size:10px;border:1px solid #ddd8ce;padding:6px 9px;color:#58645d;background:#f7f4ee}.feature-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:19px}.feature-footnote{font-size:11px;color:#7c8580}.next-system{border:0;background:none;color:var(--orange-dark);font-size:12px;font-weight:700;cursor:pointer}.next-system span{font-size:20px;margin-left:13px;vertical-align:middle}
/* expertise */
.expertise{padding:102px 0 108px;background:#e9e6df}.expert-heading{margin-bottom:42px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d3d0c8;border:1px solid #d3d0c8}.service-card{min-height:278px;background:#f8f6f0;padding:31px 32px 26px;display:flex;flex-direction:column;transition:background .23s}.service-card:hover{background:#fffdfa}.card-top{display:flex;align-items:center;justify-content:space-between;color:#9b6a4e;font-size:10px;letter-spacing:.14em;font-weight:700;margin-bottom:45px}.service-glyph{color:#b86b39;font-size:27px;font-family:Arial;font-weight:400;line-height:1}.service-card h3{font-family:Georgia,'Times New Roman',serif;font-size:26px;letter-spacing:-.03em;font-weight:400;margin:0 0 11px}.service-card>p,.wide-card-body p{color:#64706a;font-size:13px;line-height:1.65;margin-bottom:20px}.service-tags{font-size:10px;color:#a26845;letter-spacing:.025em;margin-top:auto;line-height:1.6}.service-wide{grid-column:span 3;min-height:auto}.service-wide .card-top{margin-bottom:7px}.wide-card-body{display:flex;align-items:end;justify-content:space-between;gap:40px}.wide-card-body p{margin-bottom:0;max-width:600px}.wide-card-body .service-tags{white-space:nowrap}
/* maintenance */
.maintenance{position:relative;background:#293438;color:#f8f6f0;padding:94px 0 100px;overflow:hidden}.maintenance-photo{position:absolute;inset:0 0 0 55%;background:linear-gradient(90deg,#293438,rgba(41,52,56,.15) 52%),url('assets/surrey-mansion-exterior.webp') center/cover no-repeat;opacity:.85}.maintenance:after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#293438 43%,rgba(41,52,56,.35) 82%)}.maintenance-inner{position:relative;z-index:2}.maintenance-copy{max-width:640px}.maintenance h2{font-size:clamp(41px,4.7vw,67px);margin:18px 0 18px}.maintenance h2 em{color:#e6a174}.maintenance-lead{font-size:14px;color:#c6cdca;max-width:560px}.maintenance-points{display:grid;grid-template-columns:1fr 1fr;gap:20px 35px;margin:36px 0}.maintenance-points>div{display:flex;gap:14px;border-top:1px solid rgba(255,255,255,.2);padding-top:14px}.maintenance-points>div>span{font-size:10px;color:#e7a073;letter-spacing:.1em;margin-top:3px}.maintenance-points h3{font-family:Georgia,serif;font-size:18px;font-weight:400;margin-bottom:6px}.maintenance-points p{font-size:12px;line-height:1.5;color:#bdc6c3;margin:0}.button-light{display:inline-flex;gap:25px;align-items:center;background:var(--orange);color:#fff;padding:15px 21px;font-size:12px;font-weight:700;border-radius:3px;transition:.2s}
/* approach */
.approach{padding:100px 0 80px;background:#f5f2ec}.approach-grid{display:grid;grid-template-columns:1fr 420px;gap:85px}.approach h2{margin:18px 0 20px}.approach-copy{padding-top:32px}.approach-copy p{font-size:14px;color:#65706a;margin-bottom:19px}.approach-copy strong{color:#2d3838}.dark-link{margin-top:14px}.principles{margin-top:76px;display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding-top:28px;border-top:1px solid var(--line)}.principles span{font-size:10px;letter-spacing:.13em;font-weight:700;color:#707973}
/* contact */
.contact{background:#e5e3dc;padding:91px 0 100px}.contact-grid{display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:end}.contact h2{margin:19px 0 18px}.contact p{font-size:14px;color:#64706a;max-width:510px}.contact-options{border-top:1px solid #c8c9c1}.contact-options a{display:block;padding:20px 40px 20px 0;border-bottom:1px solid #c8c9c1;position:relative}.contact-options a>span:first-child{display:block;font-size:10px;color:#ad6e48;letter-spacing:.14em;margin-bottom:9px;font-weight:700}.contact-options strong{font-size:18px;font-weight:500;letter-spacing:-.02em}.contact-options a:hover strong{color:var(--orange)}.contact-options .arrow{position:absolute;right:1px;top:36px;font-size:23px;color:var(--orange)}.footer{background:#263032;color:#aeb7b4;padding:29px 0}.footer-inner{display:flex;gap:24px;align-items:center;justify-content:space-between;font-size:11px}.footer a{color:#edaa78}
@media(max-width:950px){.wrap{width:min(100% - 54px,1180px)}.desktop-nav{gap:15px}.desktop-nav a{font-size:11px}.hero-copy{gap:32px}.split-title,.approach-grid,.contact-grid{grid-template-columns:1fr 1fr;gap:36px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-wide{grid-column:span 2}.service-card{min-height:268px}.maintenance-photo{left:48%;opacity:.44}.maintenance:after{background:linear-gradient(90deg,#293438 51%,rgba(41,52,56,.62) 95%)}}
@media(max-width:700px){html{scroll-padding-top:65px}.wrap,.wrap-wide{width:calc(100% - 32px)}.site-header{height:70px}.header-inner{gap:8px}.brand{width:113px}.brand img{width:112px;height:60px}.desktop-nav{display:none}.header-contact{margin-left:auto;font-size:11px;padding:12px}.header-contact span{display:none}.menu-toggle{display:block}.hero{padding:38px 0 28px}.hero-copy{grid-template-columns:1fr;gap:10px}.hero h1{font-size:clamp(47px,10vw,72px);margin:17px 0 12px}.hero-right{padding:0;border-left:0}.hero-right p{font-size:14px;line-height:1.6;max-width:600px}.explorer{padding:12px 0 65px}.split-title,.approach-grid,.contact-grid{grid-template-columns:1fr;gap:21px}.split-title h2{font-size:40px}.split-title>p{font-size:13px}.section-intro{margin-bottom:19px}.filter-scroll{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.filter{padding:12px;font-size:11px}.house-stage{aspect-ratio:1.4;overflow:hidden}.house-photo{width:150%;height:100%;left:-25%;max-width:none;object-fit:cover}.house-wires,.house-devices{width:150%;left:-25%}.house-topline{font-size:8px;left:12px;right:12px;top:11px}.house-topline-tail{display:none}.house-hint{bottom:12px;left:12px;font-size:10px;padding:8px 9px;max-width:70%}.device-dot{width:25px;height:25px}.device-popup{width:185px;font-size:10px;padding:11px}.house-disclaimer{text-align:left;line-height:1.5}.system-feature{padding:19px 17px 19px}.feature-grid{grid-template-columns:1fr;gap:7px;padding:20px 0}.feature-grid h3{font-size:33px}.feature-grid p{font-size:13px}.feature-details ul{font-size:12px}.feature-top{font-size:9px;gap:12px}.feature-top #feature-count{text-align:right}.feature-footer{align-items:start}.feature-footnote{max-width:55%}.expertise{padding:65px 0}.expert-heading h2{font-size:43px}.service-grid{grid-template-columns:1fr}.service-card,.service-wide{grid-column:span 1;min-height:240px;padding:27px}.card-top{margin-bottom:30px}.wide-card-body{display:block}.wide-card-body .service-tags{white-space:normal;margin-top:12px}.maintenance{padding:70px 0}.maintenance-photo{left:0;opacity:.18}.maintenance:after{background:linear-gradient(90deg,rgba(41,52,56,.98),rgba(41,52,56,.9))}.maintenance h2{font-size:42px}.maintenance-points{grid-template-columns:1fr;gap:17px}.approach{padding:68px 0}.approach h2,.contact h2{font-size:42px}.approach-copy{padding:0}.principles{grid-template-columns:1fr 1fr;gap:18px;margin-top:35px}.contact{padding:69px 0}.contact-options strong{font-size:15px}.footer-inner{flex-direction:column;align-items:start;gap:12px}}
@media(max-width:380px){.hero h1{font-size:43px}.contact-options strong{font-size:13px}.principles span{font-size:9px}}

/* Tight, editorial first screen: the house is the hero, not a wall of headings */
@media(min-width:701px){.hero{padding-top:40px;padding-bottom:0}.hero h1{font-size:clamp(46px,5.4vw,79px);margin-top:14px}.hero-right{padding-bottom:13px}.explorer{padding-top:26px}.explorer .section-intro{margin-bottom:20px}.explorer .section-intro h2{font-size:clamp(34px,3.8vw,56px)}.filter-scroll{margin-bottom:10px}}
@media(max-width:700px){.hero{padding:26px 0 8px}.hero h1{font-size:clamp(43px,10vw,58px)}.explorer{padding-top:22px}.explorer .section-intro{display:none}.filter-scroll{margin-bottom:9px}.house-hint{max-width:83%}}

.wire.shading{stroke:#e9c18c}.wire.infrastructure{stroke:#93cfe6}.wire.outdoors{stroke:#e3bd92}
/* Audited 2026 service catalogue and takeover positioning */
.takeovers{padding:85px 0 92px;background:#f5f2ec;border-top:1px solid #d6d2c9}
.takeover-grid{display:grid;grid-template-columns:1fr .88fr;gap:85px;align-items:start}
.takeovers h2{font-size:clamp(40px,4.3vw,64px);margin:18px 0 0;letter-spacing:-.036em;line-height:1.1}
.takeovers h2 em{color:#ae653e;font-style:normal}
.takeover-grid>div:last-child>p{font-size:15px;line-height:1.8;color:#5b6660;margin:13px 0 27px}
.takeover-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding:22px 0 25px;border-top:1px solid #d0ccc3}
.takeover-steps span{font-size:11px;color:#945a37;letter-spacing:.07em;font-weight:700}
@media(max-width:850px){.takeover-grid{grid-template-columns:1fr;gap:18px}}
@media(max-width:700px){.takeovers{padding:58px 0 64px}.takeovers h2{font-size:42px}.takeover-steps{grid-template-columns:1fr 1fr;gap:14px}.service-card{min-height:220px}}

/* 2026 dynamic edition: interaction is deliberate and architectural, never a pretend live feed. */
:root{--reveal:100%}
.site-header{position:sticky;top:0;z-index:50;box-shadow:0 4px 16px rgba(17,25,24,.08)}
.site-header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#e6a371,#bf6633);transform:scaleX(var(--page-progress,0));transform-origin:left center;pointer-events:none}
.hero{padding:32px 0 12px}
.hero h1{font-size:clamp(44px,5.3vw,75px);line-height:1.01;margin:12px 0 12px}
.hero-right p{font-size:14px;margin-bottom:12px}
.explorer{padding-top:12px}
.explorer .section-intro{display:none}
.filter-scroll{margin-bottom:8px}
.filter{position:relative;overflow:hidden}
.filter.active{background:#293233;border-color:#293233}
.filter.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#de8c54}
.explorer-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:54px;margin-bottom:10px}
.view-controls,.tour-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.control-label{color:#a15b34;font-size:10px;font-weight:700;letter-spacing:.16em;margin-right:13px;white-space:nowrap}
.view-choice{cursor:pointer;background:transparent;color:#63706b;font-size:11px;font-weight:700;border:1px solid transparent;border-radius:2px;padding:10px 14px;transition:color .2s,background .2s,border .2s}
.view-choice:hover{color:#252d2e;background:#e8e4dc}
.view-choice.active{background:#e7e2d8;border-color:#d0c5b8;color:#263132}
.tour-state{font-size:11px;color:#748078;margin-right:8px}
.tour-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #a75c33;background:#f6f0e7;color:#9c512e;padding:10px 17px;min-height:39px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .2s,transform .2s,color .2s}
.tour-button:hover{background:#f2e3d5;transform:translateY(-1px)}
.tour-button[aria-pressed="true"]{background:#a95c35;border-color:#a95c35;color:white}
.tour-play-symbol{font-size:10px}
.house-stage{--reveal:100%;background:#283036;will-change:auto}
.house-photo{pointer-events:none}
.house-exterior{z-index:0}
.house-interior{z-index:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}
.house-stage.is-animating .house-interior{transition:clip-path 850ms cubic-bezier(.18,.65,.22,1)}
.house-reveal-boundary{position:absolute;top:0;bottom:0;left:var(--reveal);z-index:5;pointer-events:none;border-left:1px solid rgba(255,234,201,.9);filter:drop-shadow(0 0 5px rgba(232,147,70,.65));opacity:0;transition:opacity .2s}
.house-reveal-boundary.visible{opacity:1}
.house-reveal-boundary span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#f8f5ee;color:#864824;box-shadow:0 3px 14px rgba(0,0,0,.25);font-size:18px;letter-spacing:-.03em}
.house-wires,.house-devices,.house-hint{transition:opacity .33s ease}
.house-stage.is-outside .house-wires,.house-stage.is-outside .house-devices,.house-stage.is-outside .house-hint{opacity:0!important;pointer-events:none}
.house-stage[data-filter="all"] .device-dot:not(.show-all){opacity:.16}
.device-dot.is-focused{opacity:1!important;border-color:#fff!important;background:#e99f65!important;box-shadow:0 0 0 7px rgba(234,138,61,.26),0 0 24px rgba(241,137,59,.65)!important;z-index:7}
.wire.is-focused{stroke:#fff0c7;stroke-width:3;opacity:1!important;filter:drop-shadow(0 0 8px rgba(255,184,109,.85))}
.device-dot{width:25px;height:25px;transition:opacity .3s,transform .25s,box-shadow .25s,background .25s}
.house-topline{z-index:6}
.house-hint{z-index:6}
.house-stage[data-filter="all"] .wire{opacity:.2}
.tour-track{position:absolute;bottom:0;left:0;right:0;height:3px;z-index:8;background:transparent;pointer-events:none}
.tour-track span{display:block;transform:scaleX(0);height:100%;width:100%;background:#f3a56b;transform-origin:left center;box-shadow:0 0 10px rgba(243,165,107,.4)}
.tour-track.is-running span{animation:tour-fill 5.4s linear forwards}
@keyframes tour-fill{to{transform:scaleX(1)}}
.house-bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:50px}
.reveal-range-wrap{display:flex;gap:14px;align-items:center;flex:0 1 510px;min-width:0}
.reveal-range-wrap label{font-size:9px;font-weight:700;letter-spacing:.13em;color:#966343;white-space:nowrap}
.reveal-range{-webkit-appearance:none;appearance:none;flex:1;min-width:48px;max-width:215px;height:3px;background:linear-gradient(to right,#bd6b3e,#e7d9ca);border-radius:6px;cursor:ew-resize;outline-offset:5px}
.reveal-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border:2px solid white;background:#be683a;box-shadow:0 0 0 2px #c17c50,0 2px 5px rgba(0,0,0,.12);border-radius:50%;cursor:ew-resize}
.reveal-range::-moz-range-thumb{width:14px;height:14px;border:2px solid white;background:#be683a;box-shadow:0 0 0 2px #c17c50;border-radius:50%;cursor:ew-resize}
.reveal-label{font-size:10px;color:#5f6b66;white-space:nowrap;font-variant-numeric:tabular-nums}
.house-disclaimer{margin:0;color:#7c857e;text-align:right;font-size:10px}
.system-feature{transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}
.system-feature.feature-refresh{animation:feature-in .45s ease-out}
@keyframes feature-in{0%{border-color:#e0a77a;background:#f9f2e9}100%{border-color:#d7d4cc;background:#fffdf8}}
.service-card{position:relative;transition:background .23s,transform .26s var(--ease),box-shadow .23s}
.service-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(52,48,40,.08);z-index:2}
.service-card .service-action{display:inline-flex;align-items:center;gap:12px;margin-top:17px;padding:9px 0 0;border:0;border-top:1px solid #e8e1d8;background:none;color:#a65c34;font-size:11px;font-weight:700;align-self:flex-start;cursor:pointer;transition:gap .2s}
.service-card .service-action:hover{gap:20px}
.service-card .service-action span{font-size:16px}
.takeover-steps span{transition:color .3s}
.takeover-steps span:hover{color:#bf6633}
@media(max-width:1000px){.control-label{display:none}.tour-state{display:none}.house-bottom-bar{gap:14px}.reveal-range-wrap label{font-size:8px}}
@media(max-width:700px){
 .site-header{height:70px}
 .hero{padding:23px 0 11px}
 .hero h1{font-size:clamp(40px,9.8vw,53px)}
 .explorer{padding-top:8px}
 .explorer-controls{align-items:stretch;gap:7px;flex-wrap:wrap;margin-bottom:9px;min-height:0}
 .view-controls{gap:2px}
 .view-choice{font-size:10px;padding:9px 10px}
 .tour-controls{margin-left:auto}
 .tour-button{min-height:35px;padding:8px 9px;font-size:10px;gap:6px}
 .house-stage{aspect-ratio:1.4}
 .house-reveal-boundary span{width:28px;height:28px;font-size:13px}
 .house-bottom-bar{padding-top:11px;display:block}
 .reveal-range-wrap{width:100%;gap:10px;justify-content:space-between}
 .reveal-range-wrap label{font-size:8px;letter-spacing:.055em;max-width:121px;white-space:normal;line-height:1.4}
 .reveal-range{max-width:none;min-width:60px}
 .reveal-label{font-size:9px}
 .house-disclaimer{text-align:left;font-size:9px;padding-top:8px;line-height:1.45}
 .service-card .service-action{margin-top:12px}
}
@media(max-width:390px){.view-choice{font-size:9px;padding:8px 7px}.tour-button{font-size:9px;padding:8px}.hero h1{font-size:41px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wire,.device-dot:after{animation:none!important}.house-stage.is-animating .house-interior{transition:none}.tour-track span{animation:none!important}.system-feature.feature-refresh{animation:none}.service-card,.tour-button,.site-header:after{transition:none}}

/* Non-selected technology nodes must not intercept touches on nearby active devices. */
.device-dot:disabled{pointer-events:none;cursor:default}
