@font-face{font-family:Poppins;src:url('assets/fonts/Poppins-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/fonts/Poppins-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/fonts/Poppins-SemiBold.otf') format('opentype');font-weight:600;font-display:swap}
:root{--blue:#173b80;--green:#8dbb30;--ink:#202329;--header:76px}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:14px Poppins,Arial,sans-serif;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,.hero:focus-visible{outline:2px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;background:white;padding:12px;z-index:100}
.site-header{height:var(--header);padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:10;background:white}.brand{position:relative;width:168px;height:36px;overflow:hidden;flex-shrink:0}.brand img{position:absolute;width:125%;max-width:none;left:-12.5%;top:-127%;height:auto}nav{display:flex;gap:5px;margin-left:auto;margin-right:auto}nav button,.contact-link{min-height:44px;padding:10px 16px;font-size:13px;font-weight:500;border-radius:4px;transition:background .2s}nav button:hover,nav button[aria-expanded=true],.contact-link:hover,.contact-link[aria-expanded=true]{background:#f0f2f3}#mobile-toggle{display:none;width:44px;height:44px;padding:12px}#mobile-toggle span{display:block;height:1.5px;background:var(--ink);margin:5px 0}
.hero{position:relative;height:calc(100svh - var(--header) - 24px);min-height:560px;max-height:1100px;overflow:hidden;background:#e7e9e8}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .75s ease,visibility .75s}.slide.active{opacity:1;visibility:visible}.scene{width:100%;height:100%;object-fit:cover;object-position:50% 58%;display:block}.hero-copy{position:absolute;top:34px;left:24px;right:24px;text-align:center}.hero-copy h1,.hero-copy h2{font-size:48px;line-height:1.15;font-weight:500;margin:0;letter-spacing:0}.hero-copy p{margin:10px 0 23px;font-size:16px;line-height:1.5}.actions{display:flex;justify-content:center;gap:14px}.actions button{width:228px;min-height:44px;padding:11px 18px;border-radius:3px;font-size:13px;font-weight:500;transition:background .2s}.primary{background:var(--blue);color:white}.primary:hover{background:#245299}.secondary{background:#fffffff0;color:#222}.secondary:hover{background:#fff}.arrow{position:absolute;top:53%;transform:translateY(-50%);width:44px;height:48px;background:#ffffff8c;border-radius:3px;font:32px Arial,sans-serif;opacity:0;transition:opacity .2s,background .2s}.hero:hover .arrow,.hero:focus-within .arrow{opacity:1}.arrow:hover{background:#fff}.previous{left:25px}.next{right:25px}.carousel-bottom{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px}.pagination{display:flex}.pagination button{width:36px;height:44px;display:grid;place-items:center}.pagination span{width:8px;height:8px;border-radius:50%;background:#fff9;box-shadow:0 0 0 1px #0002}.pagination button[aria-pressed=true] span{background:var(--blue);box-shadow:0 0 0 3px #ffffff8c}#playback{width:36px;height:36px;display:grid;place-items:center;background:#ffffffb8;border-radius:50%}.pause-symbol{width:9px;height:12px;border-left:3px solid #333;border-right:3px solid #333}.play-symbol{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #333}.image-note{position:absolute;bottom:15px;right:24px;font-size:9px;color:#3c4144;background:#ffffffa8;padding:2px 6px}
#mega{position:absolute;top:var(--header);left:0;width:100%;background:white;padding:36px 8% 48px;box-shadow:0 16px 24px #00000008;max-height:calc(100svh - var(--header));overflow-y:auto}.close-menu{position:absolute;right:27px;top:12px;font:28px Arial;width:44px;height:44px}.product-directory{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:60px;max-width:1120px;margin:auto}.products{display:flex;justify-content:center;gap:30px}.product{flex:1;min-width:0;text-align:center}.product img{width:100%;height:165px;object-fit:contain;display:block;margin-bottom:16px}.product h3{font-size:15px;font-weight:500;margin:0 0 8px}.product button{font-size:12px;text-decoration:underline;text-underline-offset:4px}.directory-links{border-left:1px solid #ddd;padding:10px 0 10px 40px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.directory-links h3,.directory-column h3{font-size:12px;color:#777;font-weight:400;margin:0 0 12px}.directory-links button,.directory-column button{font-size:13px;text-align:left;padding:4px 0;line-height:1.6}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px;max-width:940px;margin:14px auto}.directory-column{display:flex;flex-direction:column;align-items:flex-start;gap:8px}button:disabled{cursor:default;color:#59616a}.scrim{position:fixed;inset:var(--header) 0 0;background:#0004;backdrop-filter:blur(5px);z-index:9}
@media(min-width:1600px){.hero-copy{top:48px}.hero-copy h1,.hero-copy h2{font-size:54px}}
@media(max-width:1050px){.site-header{padding:0 22px;gap:12px}.brand{width:145px;height:31px}nav button,.contact-link{padding:10px;font-size:12px}.product-directory{gap:25px}#mega{padding:35px 5%}.directory-links{padding-left:25px}}
@media(max-width:760px){:root{--header:64px}.site-header{padding:0 20px;gap:10px}.brand{width:148px;height:32px}.contact-link{margin-left:auto}#mobile-toggle{display:block}nav{display:none;position:absolute;top:var(--header);left:0;right:0;background:white;padding:18px 20px;margin:0;flex-direction:column;gap:4px}nav.open{display:flex}nav button{text-align:left;font-size:15px;padding:12px;min-height:48px}#mega{top:var(--header);padding:50px 24px 30px}.site-header.mobile-directory nav{display:none}.hero{height:calc(100svh - var(--header) - 16px);min-height:590px;max-height:950px}.hero-copy{top:30px;left:20px;right:20px}.hero-copy h1,.hero-copy h2{font-size:34px;max-width:420px;margin:auto;line-height:1.15}.hero-copy p{font-size:14px;margin:12px 0 20px}.actions{gap:10px;max-width:430px;margin:auto}.actions button{width:50%;min-height:44px;font-size:12px;padding:10px}.scene{object-position:50% 62%}.arrow{opacity:1;width:32px;height:44px;background:#ffffff7a}.previous{left:10px}.next{right:10px}.carousel-bottom{bottom:19px}.image-note{bottom:6px;right:10px;font-size:8px}.product-directory{grid-template-columns:1fr;gap:24px}.products{gap:12px}.product img{height:130px}.product h3{font-size:13px}.directory-links{padding:20px 0 0;border-left:0;border-top:1px solid #ddd}.directory-grid{grid-template-columns:1fr;gap:28px;margin:0}.directory-column button,.directory-links button{min-height:36px}.close-menu{right:15px;top:8px}}
@media(min-width:761px) and (hover:hover) and (pointer:fine){.close-menu{display:none}}
.scene{object-position:50% 0}
@media(min-width:761px) and (max-width:950px){.site-header{padding:0 15px;gap:5px}.brand{width:120px;height:26px}nav{gap:0}nav button,.contact-link{padding:10px 7px;font-size:11px}}
@media(max-width:760px){.scene{object-position:50% 0}}
.scene.commercial-scene{object-position:50% 80%}
@media(max-width:760px){.scene.commercial-scene{object-position:72% 50%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.site-header{position:sticky;top:0}
html{scroll-padding-top:var(--header)}
.directory-links a,.directory-column a{font-size:13px;text-align:left;padding:4px 0;line-height:1.6}
.directory-links a:hover,.directory-column a:hover{text-decoration:underline;text-underline-offset:4px}
.discover-directory{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}
@media(max-width:760px){.discover-directory{grid-template-columns:1fr}}
@media(max-width:760px){.directory-links a,.directory-column a{min-height:36px}}
.commercial-plans{row-gap:16px}
.commercial-directory .residential-plan-image{position:relative;aspect-ratio:3/1;background:transparent}
.commercial-directory .residential-plan-image img{object-fit:contain}
.commercial-directory .residential-plan h3{font-size:14px;line-height:1.4;margin:8px 0 0}
.commercial-directory .residential-plan-actions{gap:20px}
.commercial-directory .directory-links{align-self:start}
.commercial-placeholder{position:absolute;right:5px;bottom:4px;background:#fff;padding:1px 4px;font-size:8px;color:#666}
@media(max-width:760px){.commercial-directory .residential-plan-image{aspect-ratio:8/5}.commercial-directory .residential-plan h3{margin:0;font-size:14px}.commercial-directory .residential-plan-actions{gap:16px}.commercial-placeholder{font-size:7px}}
.residential-directory{max-width:1320px;grid-template-columns:minmax(0,3fr) minmax(175px,1fr);gap:36px}
.residential-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.residential-plan{min-width:0;text-align:center}
.residential-plan-image{display:block;overflow:hidden;border-radius:4px;background:transparent;aspect-ratio:8/5}
.residential-plan-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s}
.residential-plan-image:hover img{transform:scale(1.025)}
.residential-directory:not(.commercial-directory) .residential-plan-image[href="residential.html?plan=apartment"] img{scale:.84;transform-origin:50% 76%}
.residential-plan h3{font-size:16px;font-weight:500;margin:15px 0 3px}
.residential-plan p{font-size:11px;color:#656a70;margin:0 0 10px}
.residential-plan-actions{display:flex;justify-content:center;gap:24px}
.residential-plan-actions a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 2px;font-size:12px;color:#50565d;background:transparent;flex:0 1 auto;text-underline-offset:5px}
.residential-plan-actions a:hover,.residential-plan-actions a:focus-visible{color:var(--ink);text-decoration:underline}
.residential-plan-actions a.plan-order{color:var(--blue)}
.residential-custom{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;border-top:1px solid #e8e8e8;margin-top:20px;padding-top:22px}
.residential-custom a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;max-width:100%;padding:11px 22px;border:1px solid #dce0e3;border-radius:4px;background:#fff;color:#30363d;font-size:13px;font-weight:500;line-height:1.5;transition:border-color .2s,background .2s}
.residential-custom .configure-icon{color:#719b25}
.residential-custom .choose-icon{color:var(--blue)}
.residential-custom .configure-system-action:hover{border-color:#8dbb30;background:#fafafa}
.residential-custom .choose-system-action:hover{border-color:var(--blue);background:#fafafa}
.residential-action-icon{display:block;width:20px;height:20px;flex:0 0 20px;background:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}
.configure-icon{mask-image:url('assets/icons/sliders-horizontal.svg');-webkit-mask-image:url('assets/icons/sliders-horizontal.svg')}
.choose-icon{mask-image:url('assets/icons/message-square-text.svg');-webkit-mask-image:url('assets/icons/message-square-text.svg')}
@media(max-width:380px){.site-header{padding:0 14px;gap:4px}.site-header .brand{width:130px;height:28px}.site-header .contact-link{padding:8px;font-size:11px}.site-header #mobile-toggle{width:36px;flex-shrink:0;padding:8px}.residential-directory .residential-plan{grid-template-columns:36% minmax(0,1fr);gap:10px}.residential-directory .residential-plan-actions a{font-size:10px;padding:7px 3px;white-space:nowrap}.residential-directory .residential-plan h3{font-size:14px}.residential-directory .residential-plan p{font-size:10px}}
@media(max-width:760px){body:has(.site-header.mobile-directory) .support-bar{visibility:hidden}}
@media(max-width:1050px) and (min-width:761px){.residential-directory{gap:20px;grid-template-columns:minmax(0,3fr) 165px}.residential-plans{gap:12px}.residential-directory .directory-links{padding-left:20px}.residential-plan-actions a{font-size:11px;padding:8px 5px}.residential-plan h3{font-size:14px}}
@media(max-width:760px){.residential-directory{grid-template-columns:minmax(0,1fr);gap:18px}.residential-plans{grid-template-columns:minmax(0,1fr);gap:18px}.residential-plan{display:grid;grid-template-columns:42% minmax(0,1fr);align-items:center;gap:14px;text-align:left}.residential-plan h3{margin:0 0 3px;font-size:15px}.residential-plan p{margin-bottom:6px}.residential-plan-actions a{min-height:44px;padding:6px;font-size:11px}.residential-custom{gap:10px;margin-top:18px;padding-top:18px}.residential-custom a{font-size:12px;gap:8px;padding:12px 10px;text-align:center}.residential-directory .directory-links{gap:4px}}
@media(max-width:760px){.residential-plan-actions{justify-content:flex-start;gap:18px}.residential-plan-actions a{padding:6px 0}}
@media(max-width:520px){.residential-custom{flex-direction:column;align-items:center}.residential-custom a{width:250px;justify-content:flex-start;padding:11px 16px;font-size:13px}}
@media(min-width:761px){
  #mega:has(.residential-directory){padding-top:18px;padding-bottom:20px}
  .residential-directory:not(.commercial-directory) .residential-plan-image{height:clamp(115px,21svh,170px);aspect-ratio:auto}
  .residential-directory:not(.commercial-directory) .residential-plan h3{margin-top:8px}
  .residential-directory .residential-custom{margin-top:12px;padding-top:12px}
  .commercial-plans{row-gap:8px}
  .commercial-directory .residential-plan-image{height:clamp(40px,calc((100svh - var(--header) - 330px)/3),100px);aspect-ratio:auto}
  .commercial-directory .residential-plan h3{margin:4px 0 0;min-height:20px;display:flex;align-items:center;justify-content:center}
  .commercial-directory .residential-plan-actions a{min-height:34px;padding:5px 2px}
  body:has(#mega:not([hidden])) .support-bar{visibility:hidden}
}
.hero .actions .hero-quote{display:flex;align-items:center;justify-content:center;width:228px;min-height:44px;padding:11px 18px;border-radius:3px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s}
@media(max-width:760px){.hero .actions .hero-quote{width:50%;font-size:12px;padding:10px}}
