@font-face{font-family:Manrope;src:url('../fonts/manrope-300.woff2') format('woff2'),url('../fonts/manrope-300.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-400.woff2') format('woff2'),url('../fonts/manrope-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-600.woff2') format('woff2'),url('../fonts/manrope-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--bg:#101817;--surface:#17201e;--text:#edf0eb;--muted:#9ba7a0;--accent:#c7dac6;--line:#ffffff21;--ease:cubic-bezier(.2,.7,.2,1);--pad:clamp(24px,5.5vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a{color:inherit}button{cursor:pointer}a{text-decoration:none}button{border:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#c7dac6;color:#101817}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(36px,4.3vw,70px);letter-spacing:-.055em;line-height:1.16}h3{letter-spacing:-.03em}.muted{color:var(--muted)}.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.section{padding:115px var(--pad)}.skip{position:fixed;z-index:100;top:8px;left:8px;background:var(--text);color:var(--bg);padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}.header{height:104px;position:fixed;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 var(--pad);border-bottom:1px solid #ffffff25;transition:height .45s var(--ease),background .45s,border-color .45s,backdrop-filter .45s}.header.is-stuck{height:64px;background:#0d15144d;border-bottom-color:#ffffff1c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header.is-stuck .brand-logo{width:170px}.header.is-stuck .brand{font-size:20px}.header .brand-logo,.header .brand{transition:width .45s var(--ease),font-size .45s var(--ease)}.brand{display:flex;align-items:center;gap:13px;font-size:25px;font-weight:600;letter-spacing:-1px;white-space:nowrap}.brand-light{font-weight:300}.nav{display:flex;gap:29px;margin-left:auto}.nav a,.header-cta{font-size:13px;font-weight:500;white-space:nowrap}.nav a{position:relative;padding:9px 0}.nav a:after{content:'';position:absolute;left:0;bottom:3px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s}.nav a:hover:after{transform:scaleX(1)}.header-cta{display:flex;gap:21px;align-items:center;margin-left:26px;padding:12px 0}.header-cta svg{width:17px;height:17px;transition:transform .3s}.header-cta:hover svg{transform:translate(3px,-3px)}.menu-toggle{display:none}.hero{position:relative;min-height:850px;height:100svh;max-height:1200px;isolation:isolate;overflow:hidden;background:#202b31}.hero-image-wrap{position:absolute;inset:0;z-index:-4;transform:none;will-change:auto}.hero-image{width:100%;height:100%;object-fit:cover;object-position:64% 50%;transition:filter 1.7s var(--ease);filter:brightness(.95)}.scene-tint{position:absolute;inset:0;opacity:.16;background:radial-gradient(ellipse at 78% 60%,#f5c86d77,transparent 55%);transition:opacity 1.5s,background 1.5s;mix-blend-mode:screen}.hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#091313b8 0%,#09131382 33%,#0913130a 77%),linear-gradient(0deg,#0a1515eb 0%,transparent 38%,#08111255 100%)}#signal-canvas{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.7}.hero-content{position:relative;padding:clamp(188px,20vh,245px) var(--pad) 250px;max-width:970px;pointer-events:none}.hero-content a{pointer-events:auto}.hero-eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:30px;color:#e2e8e0}.small-line{width:28px;height:1px;background:var(--accent)}h1{font-size:clamp(66px,6.7vw,112px);letter-spacing:-.065em;line-height:1.075;font-weight:300}h1>span{color:#d6e0d2}.hero-description{font-size:17px;line-height:1.7;margin-top:25px;color:#e2e6df}.circle-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:500;margin-top:32px}.circle{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);transition:transform .45s var(--ease),color .3s}.circle-link:hover .circle{transform:translateX(6px)}.circle svg{width:24px;stroke-width:1.5}.scene-console{position:absolute;right:var(--pad);bottom:103px;width:min(430px,calc(100% - 48px));padding:22px 25px 16px;border:1px solid #e8eee22e;border-radius:3px;background:#121c1c80;box-shadow:0 16px 50px #00000015;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.console-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.console-top .eyebrow{letter-spacing:.12em;font-size:12px}.console-hint{font-size:12px;color:#bec6bf}.scene-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.scene-buttons button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:13px 6px 10px;min-height:77px;background:#ffffff04;border:1px solid #ffffff12;border-radius:2px;transition:background .35s,color .35s,transform .35s;font-size:12px}.scene-buttons svg{width:21px;height:21px}.scene-buttons button:hover{background:#ffffff16;transform:translateY(-2px)}.scene-buttons button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.scene-response{display:flex;gap:10px;justify-content:space-between;margin-top:16px;font-size:12px;color:#c1cdc4}.scene-response>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.hero-bottom{position:absolute;bottom:26px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.015em;color:#d3dad3}.hero-bottom>span:first-child{display:flex;gap:12px}.hero-bottom>a{position:absolute;left:50%;display:flex;align-items:center;gap:12px;transform:translateX(-50%)}.scroll-line{width:1px;height:25px;background:#ffffff40;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;left:0;top:-10px;width:1px;height:10px;background:var(--accent);animation:scrollLine 2.5s infinite}.image-credit{font-size:12px;opacity:.65}.hero-hotspot{position:absolute;z-index:0;display:flex;align-items:center;gap:12px;pointer-events:none;color:#eff2eb}.hotspot-light{left:76%;top:44%}.hotspot-audio{left:62%;top:58%}.hero-hotspot>span{width:7px;height:7px;background:#dfeada;border-radius:50%;box-shadow:0 0 0 8px #e0e9d810,0 0 0 16px #e0e9d805;animation:beacon 4s infinite}.hero-hotspot>div{font-size:12px;opacity:0;transform:translateX(-10px);transition:.8s}.hero:hover .hero-hotspot>div{opacity:.85;transform:none}.systems-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px var(--pad);border-bottom:1px solid var(--line);font-size:13px;background:#111918}.systems-strip>span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-right:40px}.systems-strip b{font-weight:400;color:#66796e}.section-heading>.eyebrow{margin-bottom:30px;color:var(--accent)}.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;align-items:start}.intro-grid>p{color:#b8c0ba;font-size:15px;max-width:450px;padding-top:5px;line-height:1.85}.residence-experience{margin-top:65px;border:1px solid #ffffff23;display:grid;grid-template-columns:1fr .8fr 1fr;background:linear-gradient(120deg,#19221f,#111918);padding:32px 34px;gap:20px;min-height:400px;align-items:center}.residence-selector>.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--muted)}.residence-buttons{margin-top:25px}.residence-buttons>button{width:100%;display:flex;gap:15px;align-items:center;text-align:left;padding:22px 13px 22px 0;background:none;border-bottom:1px solid var(--line);font-size:17px;color:var(--muted);transition:.4s}.residence-buttons>button:first-child{border-top:1px solid var(--line)}.property-number{font-size:12px;color:#819088}.residence-buttons small{display:block;font-size:12px;font-weight:400;color:#a3aea6;margin-top:4px}.residence-buttons>button>svg{width:18px;margin-left:auto;opacity:0;transform:translateX(-8px);transition:.4s}.residence-buttons>button[aria-pressed=true]{color:var(--text);padding-left:12px;background:#ffffff05}.residence-buttons>button[aria-pressed=true]>svg,.residence-buttons>button:hover>svg{opacity:1;transform:none}.demo-caption{font-size:12px;color:#86958b;margin-top:17px}.connection-visual{position:relative;height:280px;display:flex;align-items:center;justify-content:center;overflow:hidden}.orbit{position:absolute;width:180px;height:180px;border:1px solid #c7dac615;border-radius:50%;transform:rotateX(25deg)}.orbit-two{width:240px;height:240px;border-style:dashed;border-color:#c7dac618;animation:orbit 70s linear infinite}.orbit-three{width:115px;height:115px;border-color:#c7dac628}.orbit-axis{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#c7dac63b,transparent)}.connection-core{position:relative;display:grid;place-items:center;width:77px;height:77px;border-radius:50%;border:1px solid #c7dac648;background:#1c2822;box-shadow:0 0 55px #c7dac610}.orbit-node{position:absolute;width:5px;height:5px;border-radius:50%;background:#c7dac6;box-shadow:0 0 10px #c7dac670}.node-a{top:53px;left:38%;animation:beacon 4s infinite}.node-b{bottom:51px;right:31%;animation:beacon 4s 1s infinite}.node-c{top:53%;left:8%;animation:beacon 4s 2s infinite}.connection-label{position:absolute;bottom:0;font-size:12px;letter-spacing:.14em;color:#a9b8ab}.home-control{border:1px solid #ffffff26;background:#1b2520;padding:22px;border-radius:5px;transition:box-shadow .5s,transform .5s;box-shadow:0 12px 30px #00000025}.home-control.pulse{box-shadow:0 0 30px #c7dac620;transform:translateY(-4px)}.control-heading{display:flex;align-items:center;gap:11px}.control-heading>svg{width:22px;color:var(--accent)}.control-heading>div>span{font-size:13px;display:block}.control-heading small{font-size:12px;color:#a6b6a9;display:block;margin-top:2px}.control-greeting{margin-top:24px}.control-greeting>span:first-child{display:block;font-size:23px;letter-spacing:-.04em}.control-greeting>span:last-child{font-size:12px;color:#a6b6a9}.system-readouts{margin:21px 0 17px;font-size:12px}.system-readouts>div{display:flex;justify-content:space-between;gap:9px;align-items:center;margin:13px 0}.system-readouts dt{display:flex;align-items:center;gap:9px;color:#b0bcb2;white-space:nowrap}.system-readouts dd{margin:0;text-align:right;font-size:12px;color:#e1e9de}.system-readouts svg{width:15px;height:15px}.control-scenes{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.control-scenes button{display:grid;place-items:center;background:transparent;color:var(--accent);border:1px solid #ffffff20;padding:10px;border-radius:3px;transition:.4s}.control-scenes button svg{width:18px;height:18px}.control-scenes button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.interface-note{display:block;text-align:center;font-size:12px;color:#96a499;margin-top:13px}.standard-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:60px}.standard-notes>div{border-top:1px solid var(--line);padding-top:20px;position:relative}.standard-notes>div>span{position:absolute;right:0;top:25px;font-size:12px;color:var(--muted)}.standard-notes h3{font-size:21px}.standard-notes p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:12px}.expertise{background:#e9ece5;color:#18211b}.expertise .muted{color:#727f73}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.section-top .eyebrow{margin-bottom:23px}.section-top>p{font-size:14px;line-height:1.9;color:var(--muted);padding-bottom:6px}.expertise .section-top>p{color:#657165}.expertise-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}.expertise-list details{border-top:1px solid #1c2a2330}.expertise-list details:last-child{border-bottom:1px solid #1c2a2330}.expertise-list summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:23px 0}.expertise-list summary::-webkit-details-marker{display:none}.expertise-list summary>span{font-size:12px;color:#727f73}.expertise-list summary h3{font-size:20px;flex:1}.expertise-list summary b{position:relative;width:17px;height:17px}.expertise-list summary b:before,.expertise-list summary b:after{content:'';position:absolute;top:8px;left:0;width:15px;height:1px;background:#34493a;transition:transform .4s}.expertise-list summary b:after{transform:rotate(90deg)}.expertise-list details[open] summary b:after{transform:rotate(0)}.detail-copy{padding:0 25px 27px 33px;font-size:14px;color:#59675a;line-height:1.9;animation:detailIn .5s var(--ease)}.detail-copy>span{display:block;margin-top:15px;font-size:12px;color:#314d39}.expertise-image{height:560px;position:relative;overflow:hidden;align-self:stretch}.expertise-image>img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.expertise-image:hover>img{transform:scale(1.04)}.expertise-image:after{position:absolute;content:'';inset:50% 0 0;background:linear-gradient(transparent,#0b1718b5)}.expertise-image figcaption{position:absolute;bottom:25px;left:25px;color:#f1f2e9;z-index:2;display:flex;flex-direction:column;gap:3px}.expertise-image figcaption>span:first-child{font-size:18px;letter-spacing:-.03em}.expertise-image figcaption>span:last-child{font-size:12px;color:#d6ded3}.image-scan{position:absolute;inset:0;background:linear-gradient(180deg,transparent,#c7dac61f,transparent);height:35%;transform:translateY(-110%);z-index:1;pointer-events:none}.expertise-image:hover .image-scan{animation:scan 2.7s var(--ease)}.brand-row{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:45px;margin-top:65px;border-top:1px solid #1c2a2326;color:#475447}.brand-row>span{font-size:12px;color:#657165}.brand-row>div{font-size:23px;letter-spacing:.1em}.brand-row .brand-crestron{font-size:20px;letter-spacing:.015em}.brand-row .brand-savant{font-weight:600;font-size:25px;letter-spacing:.12em}.work{padding-bottom:130px}.project-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:55px}.work-note{margin:64px 0 0 auto;padding-top:26px;border-top:1px solid var(--line);max-width:520px;font-size:14px;line-height:1.9;color:var(--muted);text-align:right}.project-image{display:block;width:100%;height:430px;background:var(--surface);position:relative;overflow:hidden;text-align:left;padding:0}.project-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#08131166)}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter 1.2s;filter:saturate(.85)}.project-image:hover img{transform:scale(1.065);filter:saturate(1)}.project-view{position:absolute;right:25px;top:25px;z-index:2;display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 10px #0b1a1899);transition:color .4s,transform .4s}.project-image:hover .project-view{color:var(--accent);transform:translate(4px,-4px)}.project-tag{position:absolute;bottom:23px;left:25px;z-index:2;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.project-caption{margin-top:22px}.project-caption>h3{font-size:25px}.project-caption>span{font-size:13px;display:block;margin-top:4px;color:var(--muted)}.care{position:relative;overflow:hidden;isolation:isolate;background:#1b2621;padding-top:95px;padding-bottom:95px}.care-field{position:absolute;inset:0;z-index:-1;overflow:hidden;mask-image:linear-gradient(90deg,transparent 25%,#000);opacity:.48}.care-field>div{position:absolute;right:-30%;top:50%;width:85vw;height:85vw;border:1px solid #bdd8c633;border-radius:50%;transform:translateY(-50%)}.care-field>div:nth-child(2){width:68vw;height:68vw;right:-21.5%}.care-field>div:nth-child(3){width:51vw;height:51vw;right:-13%;border-color:#bdd8c660}.care-field>div:nth-child(4){width:34vw;height:34vw;right:-4.5%;animation:breathe 8s infinite}.care-intro{display:flex;justify-content:space-between;gap:30px;margin-bottom:40px}.care-intro .eyebrow{color:#c7dac6}.care-label{font-size:12px;color:#acbcae}.care h2{font-size:clamp(44px,5.6vw,90px);line-height:1.16}.care h2>span{color:#8d9f90}.care-description{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-top:35px}.care-description>p{color:#b6c4b8;font-size:15px;max-width:490px;line-height:1.9}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:13px;border-bottom:1px solid #c7dac666;padding-bottom:10px}.text-link>svg{width:19px;height:19px;transition:transform .4s}.text-link:hover>svg{transform:translate(3px,-3px)}.care-services{display:grid;grid-template-columns:repeat(3,1fr);gap:75px;margin-top:70px}.care-services>div{border-top:1px solid #c7dac63a;padding-top:25px}.care-services>div>span{font-size:30px;letter-spacing:-.05em;font-weight:300;color:var(--accent)}.care-services h3{font-size:16px;margin-top:20px}.care-services p{font-size:13px;color:#a5b6a8;margin-top:8px;line-height:1.85}.process{padding-top:105px;padding-bottom:105px}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process-steps>div{border-top:1px solid #c7dac64a;padding-top:22px;position:relative}.process-steps>div:before{content:'';position:absolute;width:5px;height:5px;background:#c7dac6;top:-3px;left:0;border-radius:50%}.process-steps>div>span{font-size:12px;color:var(--accent)}.process-steps h3{font-size:19px;margin-top:25px}.process-steps p{font-size:13px;color:var(--muted);margin-top:13px;max-width:240px}.contact{background:#e9ece5;color:#18271b;padding-top:65px;padding-bottom:55px;position:relative;overflow:hidden}.contact-top{display:flex;justify-content:space-between;align-items:flex-start}.contact-top>p:last-child{font-size:12px;color:#5c6b5b;line-height:1.8}.contact-main{display:flex;align-items:center;justify-content:space-between;padding:54px 0 62px;gap:45px}.contact-main h2{font-size:clamp(58px,7.8vw,125px);letter-spacing:-.065em}.contact-cta{display:inline-flex;align-items:center;gap:14px;padding:20px 34px;border-radius:100px;border:1px solid #18271b;background:#18271b;color:#e9ece5;font-size:15px;white-space:nowrap;transition:background .5s var(--ease),color .5s,transform .5s var(--ease)}.contact-cta svg{width:20px;height:20px;stroke-width:1.5;transition:transform .5s var(--ease)}.contact-main:hover .contact-cta{transform:translateY(-3px)}.contact-main:hover .contact-cta svg{transform:translateX(5px)}.contact-bottom{border-top:1px solid #18271b35;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:16px}.contact-bottom>span{font-size:12px;color:#5c6b5b}.contact-bottom a:hover{text-decoration:underline;text-underline-offset:6px}footer{padding:35px var(--pad);display:flex;align-items:center;gap:45px;font-size:12px;color:var(--muted)}footer .brand{margin-right:auto;font-size:22px;color:var(--text)}footer>a:last-child{white-space:nowrap}.project-dialog{width:min(880px,calc(100% - 40px));max-height:90svh;background:#17221c;color:var(--text);padding:0;border:1px solid #c7dac644;overflow:auto}.project-dialog::backdrop{background:#071010dd;backdrop-filter:blur(10px)}.dialog-close{position:absolute;right:16px;top:16px;z-index:2;width:43px;height:43px;border-radius:50%;background:#111a18d9;color:#fff;border:1px solid #ffffff55;font-size:28px;line-height:1}.project-dialog>img{width:100%;height:360px;object-fit:cover;display:block}.dialog-copy{padding:35px 40px 40px}.dialog-copy h2{font-size:42px;margin:16px 0}.dialog-copy>p:not(.eyebrow){font-size:16px;color:#b6c4b8;max-width:650px}.dialog-copy>.text-link{margin-top:25px}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.js .reveal.visible{opacity:1;transform:none}body[data-scene=entertain] .hero-image{filter:brightness(1.12) saturate(1.14)}body[data-scene=arrive] .scene-tint{opacity:.44;background:radial-gradient(ellipse at 78% 58%,#ffd08a8c,transparent 62%),radial-gradient(ellipse at 46% 66%,#ffcf9438,transparent 58%)}body[data-scene=entertain] .scene-tint{opacity:.5;background:radial-gradient(ellipse at 80% 58%,#ffbe6366,transparent 62%)}body[data-scene=unwind] .hero-image{filter:brightness(.7) saturate(.7)}body[data-scene=unwind] .scene-tint{opacity:.24;background:radial-gradient(ellipse at 78% 61%,#e8974a4d,transparent 56%)}body[data-scene=away] .hero-image{filter:brightness(.48) saturate(.55)}body[data-scene=away] .scene-tint{opacity:.3;background:linear-gradient(120deg,#0a2033,#2f5f6b33)}body[data-scene=away] .hero-hotspot{opacity:.3}
@keyframes beacon{0%,100%{box-shadow:0 0 0 6px #e0e9d810,0 0 0 13px #e0e9d800}50%{box-shadow:0 0 0 10px #e0e9d81a,0 0 0 22px #e0e9d800}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:translateY(-50%) scale(1.07);opacity:.4}}@keyframes scrollLine{to{transform:translateY(40px)}}@keyframes scan{to{transform:translateY(400%)}}@keyframes detailIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.hero-content{padding-top:23vh}.scene-console{width:475px;bottom:125px}.hero-content{max-width:1150px}}
@media(max-width:1200px){.nav{gap:18px}.header{gap:20px}.header-cta{margin-left:5px;font-size:12px}.brand{font-size:22px}.nav a{font-size:12px}.intro-grid{gap:45px}.residence-experience{padding:25px;grid-template-columns:1fr .6fr 1fr;gap:15px}.residence-buttons>button{font-size:15px}.connection-visual{height:260px}.home-control{padding:18px}.expertise-layout{gap:45px}.hero-content{max-width:740px}h1{font-size:clamp(68px,7.5vw,100px)}.scene-console{width:395px}.care-services{gap:40px}.expertise-list summary h3{font-size:18px}.project-image{height:350px}}
@media(max-width:960px){.header{height:90px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#101a17f5;backdrop-filter:blur(25px);padding:25px var(--pad);border-bottom:1px solid var(--line);margin:0;flex-direction:column;gap:8px}.nav.open{display:flex}.nav a{font-size:17px;padding:12px 0}.menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:40px;height:40px;background:none}.menu-toggle span{height:1px;width:25px;background:var(--text);transition:transform .3s}.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)}.header-cta{margin-left:auto;font-size:12px}.hero{height:940px;min-height:0;max-height:none}.hero-content{padding-top:175px}.scene-console{bottom:100px;right:var(--pad);width:420px}.hero-image{object-position:65% 50%}.hero-hotspot{display:none}.hero-bottom>a{display:none}.systems-strip{flex-wrap:wrap;justify-content:center;padding:25px var(--pad);gap:12px 22px}.systems-strip>span{width:100%;text-align:center;margin:0 0 5px;font-size:12px}.systems-strip>div{font-size:12px}.section{padding:85px var(--pad)}.intro-grid{grid-template-columns:1.3fr 1fr;gap:35px}.intro-grid>p{font-size:14px}.residence-experience{grid-template-columns:1fr 1fr;gap:40px}.connection-visual{display:none}.residence-buttons>button{font-size:16px}.standard-notes{gap:30px}.standard-notes h3{font-size:18px}.standard-notes p{font-size:12px}.expertise-layout{gap:35px}.expertise-list summary{gap:12px;padding:20px 0}.expertise-list summary h3{font-size:16px}.detail-copy{padding-left:25px;padding-right:10px;font-size:13px}.expertise-image{height:520px}.section-top>p{font-size:12px}.brand-row{gap:20px}.brand-row>div{font-size:18px}.brand-row .brand-crestron{font-size:16px}.brand-row .brand-savant{font-size:19px}.project-grid{gap:30px}.project-offset{padding-top:75px}.project-image{height:320px}.project-caption>h3{font-size:23px}.project-caption>span{font-size:12px}.care h2{font-size:clamp(42px,6vw,65px)}.care-description{align-items:flex-start;flex-direction:column;gap:25px}.care-description>p{max-width:600px}.care-services{gap:30px}.care-services p{font-size:12px}.process-steps{grid-template-columns:repeat(2,1fr);gap:40px}.process-steps p{max-width:290px}.contact-main{padding:45px 0}.contact-main h2{font-size:clamp(52px,8vw,85px)}.contact-cta{padding:17px 28px;font-size:14px}.contact-cta svg{width:19px;height:19px}.contact-bottom{font-size:13px}.contact-bottom>span{font-size:12px}footer{gap:24px}}
@media(max-width:640px){:root{--pad:24px}.header{height:80px;gap:15px}.brand{font-size:23px;gap:10px}.header-cta{font-size:0;margin-left:auto;gap:0;width:35px;height:35px;display:grid;place-items:center;padding:0}.header-cta svg{width:17px}.menu-toggle{width:32px}.nav{top:100%}.hero{height:900px;min-height:900px}.hero-content{padding:156px var(--pad) 270px;width:100%;max-width:none}.hero-eyebrow{font-size:12px;letter-spacing:.11em;gap:10px;margin-bottom:27px}.small-line{width:20px}h1{font-size:clamp(49px,11vw,70px);line-height:1.1;letter-spacing:-.055em}.hero-description{font-size:15px;line-height:1.8;margin-top:25px}.hero-image{object-position:68% 50%}.hero-shade{background:linear-gradient(90deg,#091313aa,#09131350),linear-gradient(0deg,#0a1515f0,transparent 50%,#08111266)}.circle-link{font-size:12px;gap:13px;margin-top:29px}.circle svg{width:22px}.scene-console{left:var(--pad);right:var(--pad);bottom:94px;width:auto;padding:18px 18px 14px}.console-hint{font-size:12px}.console-top .eyebrow{font-size:12px}.scene-buttons button{min-height:73px;font-size:12px}.scene-response{font-size:12px}.hero-bottom{bottom:23px;flex-direction:column;align-items:flex-start;gap:7px;font-size:12px}.image-credit{font-size:12px}.systems-strip{gap:10px 15px;padding:25px var(--pad);justify-content:flex-start}.systems-strip>span{text-align:left}.systems-strip>div{font-size:12px}.systems-strip>b:nth-of-type(2){display:none}.systems-strip>div{width:calc(50% - 25px)}.section{padding:70px var(--pad)}h2{font-size:39px;line-height:1.18;letter-spacing:-.055em}.eyebrow{font-size:12px;letter-spacing:.13em}.intro-grid{grid-template-columns:1fr;gap:28px}.intro-grid>p{font-size:15px;padding:0;max-width:none;line-height:1.9}.residence-experience{margin-top:40px;grid-template-columns:1fr;padding:24px 20px;gap:28px}.residence-selector>.eyebrow{font-size:12px}.residence-buttons{margin-top:20px}.residence-buttons>button{padding:18px 5px 18px 0;font-size:17px}.residence-buttons small{font-size:12px}.residence-buttons>button[aria-pressed=true]{padding-left:10px}.demo-caption{font-size:12px}.home-control{padding:23px}.control-heading>div>span{font-size:15px}.control-heading small{font-size:12px}.control-greeting>span:first-child{font-size:28px}.control-greeting>span:last-child{font-size:12px}.system-readouts{font-size:12px}.system-readouts dd{font-size:12px}.system-readouts>div{margin:16px 0}.interface-note{font-size:12px}.standard-notes{grid-template-columns:1fr;gap:27px;margin-top:40px}.standard-notes>div{padding-top:20px}.standard-notes h3{font-size:23px}.standard-notes p{font-size:14px;margin-top:8px}.standard-notes p br{display:none}.standard-notes>div>span{font-size:12px}.section-top{display:block;margin-bottom:35px}.section-top .eyebrow{margin-bottom:22px}.section-top>p{font-size:14px;line-height:1.8;margin-top:24px}.expertise-layout{grid-template-columns:1fr;gap:35px}.expertise-list summary{padding:22px 0;gap:15px}.expertise-list summary h3{font-size:18px}.expertise-list summary>span{font-size:12px}.detail-copy{font-size:14px;padding-left:27px;padding-bottom:27px}.detail-copy>span{font-size:12px}.expertise-image{height:400px}.expertise-image figcaption>span:last-child{font-size:12px}.brand-row{margin-top:40px;padding-top:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:25px 30px}.brand-row>span{grid-column:1/-1;font-size:12px}.brand-row>span>br{display:none}.brand-row>div,.brand-row .brand-crestron,.brand-row .brand-savant{font-size:20px}.project-grid{grid-template-columns:1fr;gap:40px}.project-offset{padding-top:0}.project-image{height:340px}.project-caption>h3{font-size:25px}.project-caption>span{font-size:13px}.care-intro{display:block;margin-bottom:32px}.care-label{display:block;font-size:12px;margin-top:15px}.care h2{font-size:42px}.care-description{margin-top:25px;gap:28px}.care-description>p{font-size:15px}.care-description>.text-link{font-size:12px;gap:15px}.care-services{grid-template-columns:1fr;gap:30px;margin-top:45px}.care-services>div{padding-top:20px}.care-services>div>span{font-size:33px}.care-services h3{font-size:18px;margin-top:12px}.care-services p{font-size:14px;margin-top:6px;max-width:320px}.care-field{mask-image:none;opacity:.35}.care-field>div{height:180vw;width:180vw;right:-120%}.care-field>div:nth-child(2){height:150vw;width:150vw;right:-105%}.care-field>div:nth-child(3){height:120vw;width:120vw;right:-90%}.care-field>div:nth-child(4){height:90vw;width:90vw;right:-75%}.process-steps{grid-template-columns:1fr;gap:28px}.process-steps>div{padding-top:18px}.process-steps>div>span{font-size:12px}.process-steps h3{font-size:22px;margin-top:16px}.process-steps p{font-size:14px;margin-top:8px;max-width:none}.contact{padding-top:45px;padding-bottom:35px}.contact-top{display:block}.contact-top>p:last-child{margin-top:18px;font-size:12px}.contact-main{gap:15px;align-items:flex-end;padding:38px 0 35px}.contact-main h2{font-size:clamp(43px,10.5vw,64px)}.contact-cta{padding:15px 22px;font-size:13px;flex-shrink:0;margin-bottom:7px}.contact-cta svg{width:17px;height:17px}.contact-bottom{display:flex;flex-wrap:wrap;gap:20px;font-size:14px}.contact-bottom>span{width:100%;font-size:12px}.contact-bottom>span br{display:none}footer{padding:30px var(--pad);gap:22px;flex-wrap:wrap;justify-content:space-between}footer .brand{width:100%;font-size:24px}footer>span{font-size:12px}footer>a:last-child{font-size:12px}.dialog-copy{padding:27px 24px 30px}.dialog-copy h2{font-size:34px}.project-dialog>img{height:250px}.dialog-copy>p:not(.eyebrow){font-size:14px}}
@media(max-width:360px){h1{font-size:46px}.hero-eyebrow{font-size:12px}.console-hint{font-size:12px}.scene-console{padding:16px 12px}.hero{height:900px}.contact-main h2{font-size:39px}.contact-main{gap:9px}.contact-cta{padding:13px 18px;font-size:12.5px}.system-readouts{font-size:12px}.system-readouts dd{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.hero-image-wrap{transform:none!important}#signal-canvas{display:none}}
html.motion-off{scroll-behavior:auto}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .reveal{opacity:1;transform:none}.motion-off .hero-image-wrap{transform:none!important}.motion-off #signal-canvas{display:none}
/* display:block overrides the generic `footer` flex rule above, which laid the
   legal bar out beside the link columns and centred it, leaving dead space
   under it. Stacked, the credit is the last thing on the page. */
.site-footer{display:block;background:#0d1514;color:#c7cfc9;padding:70px var(--pad) 0}
.cd2027v1-footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:50px;padding-bottom:50px;border-bottom:1px solid #ffffff14}
.cd2027v1-footer-brand p{font-size:13px;color:#8a948d;margin-top:16px;max-width:280px;line-height:1.7}
.cd2027v1-footer-phone a{color:#c7dac6}
.cd2027v1-footer-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8a948d;font-weight:500;margin-bottom:18px}
.cd2027v1-footer-col ul{list-style:none;margin:0;padding:0}
.cd2027v1-footer-col li{padding:0;line-height:1.35}
.cd2027v1-footer-col a{color:#c7cfc9;font-size:14px;transition:color .2s}
.cd2027v1-footer-col a:hover{color:var(--accent)}
.cd2027v1-footer-legal{display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:12px;color:#6c766f;flex-wrap:wrap}
.cd2027v1-footer-legal a{color:#8a948d}
.cd2027v1-footer-credit{margin-left:auto;text-align:right}
.cd2027v1-footer-brand .cd2027v1-footer-email{margin-top:4px}
.cd2027v1-footer-legal a:hover{color:var(--accent)}
@media(max-width:375px){h1{font-size:clamp(40px,11.2vw,44px)}}

.intro-grid>p,.standard-notes p,.detail-copy,.care-description>p,.care-services p,.process-steps p{font-size:16px}.nav a,.header-cta,.circle-link,.text-link,.scene-buttons button,.system-readouts,.control-heading>div>span{font-size:14px}.scene-console{width:460px}.console-top .eyebrow,.console-hint,.scene-response{font-size:12px}.hero-bottom,.systems-strip>div{font-size:12px}.residence-experience{grid-template-columns:1fr .65fr 1.1fr}.system-readouts dd{font-size:12px}.control-greeting>span:last-child,.control-heading small{font-size:12px}.expertise-list summary h3{font-size:20px}.control-scenes button{min-height:44px}.scene-buttons button{min-height:80px}.standard-notes h3{padding-right:24px}.project-caption>span{font-size:14px}.contact-bottom>span,.contact-top>p:last-child{font-size:14px}
@media(min-width:961px) and (max-width:1250px){.nav{gap:16px}.nav a{font-size:12px}.header-cta{font-size:12px;gap:12px}.scene-console{width:400px}.hero-content{max-width:720px}.hero-description{max-width:310px}}
@media(max-width:960px){.residence-experience{grid-template-columns:1fr 1fr}.nav a{font-size:17px}.scene-console{width:440px}.standard-notes p{font-size:14px}.expertise-list summary h3{font-size:17px}.detail-copy{font-size:15px}.circle-link{font-size:13px}.contact-bottom{font-size:14px}.cd2027v1-footer-inner{grid-template-columns:1fr 1fr;gap:35px 50px}.cd2027v1-footer-brand{grid-column:1/-1}}
@media(max-width:640px){.scene-console{width:auto;padding:18px 16px 15px}.console-top{gap:8px}.console-hint{font-size:12px;max-width:140px;text-align:right;line-height:1.4}.scene-response{font-size:12px;line-height:1.5;min-height:36px}.scene-response>span:first-child{max-width:240px}.hero{height:960px;min-height:960px}.hero-content{padding-top:150px}.hero-eyebrow{font-size:12px;letter-spacing:.06em;align-items:flex-start;max-width:290px}.small-line{margin-top:9px;flex-shrink:0}.hero-bottom{font-size:12px}.hero-bottom>span:first-child{gap:8px;font-size:11px}.hero-bottom .image-credit{font-size:12px}.hero-description{font-size:16px}.circle-link{font-size:12px;gap:12px}.circle{flex-shrink:0}.header-cta{font-size:0}.residence-experience{grid-template-columns:1fr}.system-readouts{font-size:14px}.system-readouts dd{font-size:12px}.control-heading>div>span{font-size:16px}.standard-notes p{font-size:16px}.expertise-list summary h3{font-size:18px}.detail-copy{font-size:16px}.project-caption>span{font-size:14px}.care-description>.text-link{font-size:14px}.contact-top>p:last-child{font-size:13px}.contact-bottom>span{font-size:14px}.contact-bottom>span br{display:block}footer{gap:16px}.brand-row>span{font-size:14px}.hero-image-wrap{will-change:auto}.header .brand-logo{width:150px}.cd2027v1-footer-inner{grid-template-columns:1fr;gap:30px}.cd2027v1-footer-brand{grid-column:auto}.project-grid{grid-template-columns:1fr!important;gap:30px!important}}
.cd2027v1-form{margin-top:50px;max-width:720px}
.cd2027v1-form .field-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cd2027v1-form .cd-full{grid-column:1/-1}
.cd2027v1-form label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5c6b5b;margin-bottom:8px}
.cd2027v1-form input,.cd2027v1-form select,.cd2027v1-form textarea{width:100%;padding:14px 16px;border:1px solid #18271b35;background:#fff;font:inherit;font-size:15px;color:#18271b;border-radius:2px}
.cd2027v1-form input:focus,.cd2027v1-form select:focus,.cd2027v1-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.cd2027v1-form button{margin-top:30px}
.contact-header-fix .header{background:#0d1514;border-bottom-color:#ffffff1c}
.expertise-list details{scroll-margin-top:90px}
/* Homepage contact: heading left, form right; stacked below 1100px. Status message sits below the form. */
.contact-main-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:start;gap:60px}
.contact-main-form h2{font-size:clamp(52px,5.6vw,96px)}
.contact-main-form .cd2027v1-form{margin-top:0;max-width:none}
.contact-main-form .cd2027v1-form-status{margin-top:20px}
.contact-main-form:hover .contact-cta{transform:none}
.contact-main-form:hover .contact-cta svg{transform:none}
.contact-main-form .contact-cta:hover{transform:translateY(-3px)}
.contact-main-form .contact-cta:hover svg{transform:translateX(5px)}
.cd2027v1-form-status{margin-top:20px;max-width:720px}
.contact{scroll-margin-top:64px}
#cd-form-status{scroll-margin-top:45vh}
@media(max-width:1100px){.contact-main-form{grid-template-columns:1fr;gap:40px}.contact-main-form .cd2027v1-form{max-width:720px}}
@media(max-width:640px){.contact-main-form h2{font-size:clamp(43px,10.5vw,64px)}.cd2027v1-form .field-list{grid-template-columns:1fr}.contact-main-form .contact-cta{margin-bottom:0}}
/* Work hero: sized like the Estate Technology hero so each phrase holds one line on desktop. */
@media(min-width:961px){#work-title{font-size:clamp(44px,4.6vw,80px);line-height:1.16;letter-spacing:-.055em;white-space:nowrap}}
.cd2027v1-prose{margin-top:30px;font-size:16px;line-height:1.85;color:#c9d1cb}
.cd2027v1-prose p{margin:0 0 24px}
.cd2027v1-prose h2{font-size:28px;margin:48px 0 18px}
.cd2027v1-prose h3{font-size:22px;margin:36px 0 14px}
.cd2027v1-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.cd2027v1-prose img{width:100%;height:auto;display:block;margin:30px 0}
.nav-links,.page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:50px 0 0;padding:0;font-size:13px}
.page-numbers a,.page-numbers span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);color:var(--muted)}
.page-numbers.current{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.page-numbers a:hover{color:var(--text);border-color:var(--accent)}
/* paginate_links() puts the page-numbers class directly on each <a>/<span>, not on a wrapping element, so the two descendant rules above never match anything live. Override with selectors that target .page-numbers itself; .nav-links keeps the flex row. */
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;margin:0;padding:0 10px;border:1px solid var(--line);color:var(--muted)}
a.page-numbers:hover{color:var(--text);border-color:var(--accent)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#21759b;display:block;font-size:14px;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
/* Contact form submission status (page-contact.php's cd2027v1-form-status/-success/-error), previously unstyled body text. */
.cd2027v1-form-status{padding:22px 26px;border-radius:3px;font-size:14px;line-height:1.75}
.cd2027v1-form-status p{margin:0}
.cd2027v1-form-success{background:#e3f3e8;border:1px solid #2f8a5540;color:#17603a}
.cd2027v1-form-error{background:#fff4f3;border:1px solid #c0392b40;color:#c0392b}
/* Header and footer wordmark. These rules live in journey.css, which is only
   enqueued on the front page, so every inner page fell back to the image's
   width="500" attribute and rendered the logo at more than twice its intended
   size. The logo is site chrome, not hero styling, so it belongs here where
   every template gets it. Values match journey.css so the pages agree. */
.brand{gap:0}
.brand .brand-logo{display:block;width:232px;height:auto;max-width:100%;object-fit:contain}
footer .brand .brand-logo{width:212px}
@media(max-width:1200px) and (min-width:961px){.brand .brand-logo{width:205px}}
@media(max-width:960px){.brand .brand-logo{width:220px}}
@media(max-width:640px){.brand .brand-logo{width:180px}}
@media(max-width:375px){.brand .brand-logo{width:166px}}
/* Contact page: breathing room between the submit button and the closing rule. */
.contact .cd2027v1-form ~ .contact-bottom{margin-top:40px}
@media(max-width:640px){.contact .cd2027v1-form ~ .contact-bottom{margin-top:22px}}
/* Header nav in caps, and one CTA format across the site: a square sage outline,
   caps, no arrow. The sage of "quietly resolved" (#727f73) is only 3.5:1 on the
   beige panel and 4.3:1 on the header, under the 4.5:1 needed for small text, so
   CTAs use #8d9f90 on dark (6.4:1) and #5e6b5f on beige (4.7:1). The heading
   accent keeps #727f73, which is large text and only needs 3:1. Arrows are
   hidden rather than cut from four templates. */
.nav a{text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.header-cta,.text-link,.contact .contact-cta{display:inline-flex;align-items:center;justify-content:center;gap:0;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:500;background:transparent;border:1px solid currentColor;border-radius:0;padding:13px 24px;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.text-link{color:#8d9f90}
.header-cta{color:#fff}
.header-cta{padding:9px 18px}
.text-link:hover{background:#8d9f9024;color:#a6b8a7;border-color:#a6b8a7;transform:none}
.header-cta:hover{background:#ffffff1f;color:#fff;border-color:#fff;transform:none}
.text-link>svg,.contact .contact-cta svg{display:none}
.contact .contact-cta{color:#000}
.contact .contact-cta:hover{background:#00000012;color:#000;border-color:#000;transform:none}
.contact-main:hover .contact-cta,.contact-main-form .contact-cta:hover{transform:none}
/* The form's submit button is the page's one primary action: solid black, larger, lifted with a shadow. */
.cd2027v1-form button.contact-cta{background:#000;color:#fff;border:1px solid #000;padding:19px 44px;font-size:13px;font-weight:600;letter-spacing:.14em;cursor:pointer;box-shadow:0 10px 24px -10px rgba(0,0,0,.55);transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.cd2027v1-form button.contact-cta:hover,.cd2027v1-form button.contact-cta:focus-visible{background:#2a2a2a;border-color:#2a2a2a;color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(0,0,0,.65)}
.cd2027v1-form button.contact-cta:disabled{opacity:.6;cursor:progress;transform:none}
@media(max-width:640px){.cd2027v1-form button.contact-cta{width:100%}}
.contact h1>span,.contact h2>span{color:#727f73}
/* On phones the link-style contact block stacks: its heading is too long to sit
   beside the button. The homepage's form variant keeps its own grid. */
@media(max-width:640px){.contact-main:not(.contact-main-form){flex-direction:column;align-items:flex-start;gap:24px}}
/* Brand strip: one continuously sliding track holding the list twice, so the
   loop never shows a seam. Motion follows the visitor's OS setting only. */
.brand-marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.brand-track{display:flex;width:max-content;animation:cd-brand-slide 58s linear infinite}
.brand-list{display:flex;align-items:center;gap:64px;margin:0;padding:0 32px;list-style:none}
.brand-list li{display:flex;align-items:center;font-size:20px;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;color:#475447}
/* Every logo is flattened to one ink so the row reads as a set, whatever colour
   the supplied file is (brightness(0) keeps the alpha and drops the colour). */
.brand-list img{display:block;height:24px;width:auto;filter:brightness(0);opacity:.72}
/* Logos that stack a mark over type need more height to stay legible; the wide
   wordmarks need less so they do not dominate the row. */
.brand-ruckus img,.brand-future-automation img{height:38px}
.brand-axis img{height:30px}
.brand-james img{height:28px}
.brand-kaleidescape img{height:22px}
.brand-list .brand-crestron{letter-spacing:.02em}
.brand-list .brand-savant{font-weight:600;letter-spacing:.13em}
@keyframes cd-brand-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
html.motion-off .brand-track{animation:none}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none}.brand-marquee{overflow-x:auto}}
@media(max-width:640px){.brand-row{display:block}.brand-row>span{display:block;margin-bottom:20px}.brand-list{gap:44px;padding:0 22px}.brand-list li{font-size:17px}}
.header-cta .cta-short{display:none}
@media(max-width:640px){.header-cta{font-size:12px;width:auto;gap:0;display:flex;align-items:center;padding:8px 14px}.header-cta .cta-full{display:none}.header-cta .cta-short{display:inline}}
