/* Dynamic storefront: small vanilla interactions, no animation packages. */
:root{scrollbar-gutter:stable}.button{position:relative;isolation:isolate;overflow:hidden;border-radius:8px;background:linear-gradient(120deg,#2056d5,#3977ed);border-color:#2862dc;box-shadow:0 4px 12px #245fdf17;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}.button:hover{background:linear-gradient(120deg,#194bbf,#2c67dd);box-shadow:0 8px 22px #245fdf2c;transform:translateY(-2px)}.button:active{transform:scale(.98)}.button:after{content:'';position:absolute;inset:-20% auto -20% -70%;width:45%;background:linear-gradient(90deg,transparent,#ffffff1c,transparent);transform:skewX(-20deg);transition:left .45s;pointer-events:none;z-index:-1}.button:hover:after{left:130%}.button.outline{box-shadow:none;background:#fff}.button.outline:hover{background:#edf4ff;border-color:#91ace0}.button .icon{transition:transform .2s}.button:hover .icon:last-child{transform:translateX(2px)}.header-search:focus-within{border-color:#608ced;box-shadow:0 0 0 3px #245fdf10}.header-search input:focus-visible{outline:none}.store-header{box-shadow:0 3px 16px #183c6610}.store-nav-bar{background:linear-gradient(110deg,#2154cc,#2e70eb)}.store-nav-bar nav>a{position:relative}.store-nav-bar nav>a:after{content:'';position:absolute;left:0;right:0;bottom:9px;height:2px;background:#bddcfa;transform:scaleX(0);transform-origin:left;transition:transform .2s}.store-nav-bar nav>a:hover:after,.store-nav-bar nav>a:focus-visible:after{transform:scaleX(1)}
.dynamic-hero{--hero-accent:#98d0ff;background:#10283f;color:#fff;grid-template-columns:1.03fr 1fr;min-height:370px;box-shadow:0 12px 38px #173b5a13;border:1px solid #0c263f0a;margin-bottom:24px}.dynamic-hero .store-hero-copy{padding:29px 36px;position:relative;z-index:1}.dynamic-hero .store-hero-copy:before{content:'';position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(#2b79d822,transparent 70%);right:-70px;top:-50px;z-index:-1;pointer-events:none}.dynamic-hero .eyebrow{font-size:8px;color:#aac9e1;letter-spacing:1.5px;margin-bottom:15px}.dynamic-hero .eyebrow i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--hero-accent);box-shadow:0 0 0 4px #97d0ff12;margin-right:6px}.dynamic-hero h1{font-size:47px;line-height:1.08;letter-spacing:-1.9px;margin-bottom:18px}.dynamic-hero h1 em{color:var(--hero-accent);display:inline-block;min-width:320px;transition:color .35s}.dynamic-hero #hero-description{font-size:13px;color:#c1d0dd;line-height:1.8;min-height:47px;max-width:420px;margin-bottom:24px}.dynamic-hero .hero-actions{gap:12px;align-items:stretch}.dynamic-hero .hero-primary{font-size:12px;min-height:46px;padding:12px 16px;gap:12px;background:#f2f7ff;border-color:#f2f7ff;color:#153a67;box-shadow:0 5px 15px #04172d1c}.dynamic-hero .hero-primary:hover{background:#fff;box-shadow:0 8px 22px #020e1f3d}.dynamic-hero .hero-primary .icon{width:18px;height:18px}.dynamic-hero .hero-secondary{font-size:11px;min-height:46px;padding:12px 14px;gap:10px;background:transparent;color:#e5f0fc;border-color:#7193b068;box-shadow:none}.dynamic-hero .hero-secondary:hover{background:#ffffff0b;border-color:#a2bad2}.dynamic-hero .hero-secondary .icon{width:16px;height:16px}.dynamic-hero .store-hero-image{min-height:370px;overflow:hidden}.dynamic-hero .hero-room-image{transform:scale(1.025);transition:transform 1s,filter .7s;object-position:68% 50%}.dynamic-hero:hover .hero-room-image{transform:scale(1.055)}.dynamic-hero .store-hero-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#04182f45,transparent 38%,#04182f44);z-index:0}.dynamic-hero[data-hero-scene="gate"]{--hero-accent:#9fe2dd}.dynamic-hero[data-hero-scene="gate"] .hero-room-image{filter:saturate(.85) brightness(.97)}.dynamic-hero[data-hero-scene="security"]{--hero-accent:#b6c9ff}.dynamic-hero[data-hero-scene="security"] .hero-room-image{filter:brightness(.87) saturate(.9)}
.hero-modes{position:absolute;top:18px;left:18px;right:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;background:#0b223c99;backdrop-filter:blur(12px);border:1px solid #ffffff28;border-radius:9px;z-index:2}.hero-modes button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:0;border-radius:5px;color:#d5e3f2;background:transparent;font-size:9px;font-weight:700;overflow:hidden;transition:background .2s,color .2s}.hero-modes button:hover{background:#ffffff16}.hero-modes button[aria-pressed="true"]{color:#143b65;background:#f3f8ff;box-shadow:0 2px 8px #00132c1a}.hero-modes .icon{width:15px;height:15px}.hero-modes button[aria-pressed="true"]:after{content:'';height:2px;background:#3f83e6;position:absolute;bottom:0;left:0;animation:hero-progress 7s linear both}.dynamic-hero.is-paused .hero-modes button:after{animation-play-state:paused}.hero-pause{position:absolute;top:80px;right:20px;z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#eaf4ff;border:1px solid #ffffff3d;border-radius:50%;background:#10283f88;backdrop-filter:blur(8px)}.hero-pause:hover{background:#183d62}.hero-pause .icon{width:15px;height:15px}.dynamic-hero .image-label{bottom:130px;left:20px;z-index:2;font-size:6px;padding:4px 7px;letter-spacing:1px;background:#0c203a9e}.hero-spotlight{position:absolute;z-index:2;bottom:22px;left:20px;right:20px;display:flex;align-items:center;gap:15px;min-height:90px;padding:13px 16px;border:1px solid #ffffff99;border-radius:10px;background:#fffffff2;color:#172f43;box-shadow:0 8px 25px #00142a1a;transition:transform .2s,box-shadow .2s}.hero-spotlight:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00142a30}.hero-spotlight>img{width:64px;height:64px;object-fit:contain;padding:5px;background:white;border-radius:8px;flex-shrink:0}.hero-spotlight>span:not(.spotlight-arrow){min-width:0;flex:1}.hero-spotlight small{font-size:5px;letter-spacing:1.1px;color:#748a9b;display:block;margin-bottom:6px}.hero-spotlight strong{display:block;font-size:12px;line-height:1.5;max-height:36px;overflow:hidden}.hero-spotlight b{display:block;color:#2863d7;font-size:15px;margin-top:5px}.spotlight-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ecf3ff;color:#2863d7;flex-shrink:0}.spotlight-arrow .icon{height:16px;width:16px}
.store-category-tile{transition:transform .2s,box-shadow .2s,border-color .2s}.store-category-tile:hover{transform:translateY(-4px);box-shadow:0 9px 24px #204c8212;border-color:#96b6ed}.store-category-tile>.category-symbol{transition:transform .25s}.store-category-tile:hover>.category-symbol{transform:rotate(-5deg)}.store-category-tile>.category-copy{display:block;padding:0;background:none;border-radius:0}.category-copy strong{display:block}.category-copy small{display:block;font-size:7px;font-weight:400;color:#718291;line-height:1.5;margin-top:5px}.store-product{transition:transform .22s,box-shadow .22s,border-color .22s}.store-product:hover{transform:translateY(-5px);box-shadow:0 12px 30px #20457315}.store-product-media{position:relative}.store-product-image img{transition:transform .45s}.store-product:hover .store-product-image img{transform:scale(1.06)}.quick-view-trigger{position:absolute;top:11px;right:11px;z-index:2;display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 10px;background:#fffffff0;color:#2d5c8c;border:1px solid #dce6f1;border-radius:7px;box-shadow:0 4px 14px #163b6020;font:700 9px Manrope,Arial,sans-serif;opacity:0;transform:translateY(-5px);transition:opacity .2s,transform .2s,background .2s}.quick-view-trigger .icon{width:15px;height:15px}.store-product:hover .quick-view-trigger,.store-product:focus-within .quick-view-trigger,.quick-view-trigger:focus-visible{opacity:1;transform:translateY(0)}.quick-view-trigger:hover{background:#eaf2ff;border-color:#8fafe0}.quick-view-trigger:disabled{cursor:default;opacity:0}.button.is-added{background:#e5f7ed;color:#187149;border-color:#95d1b0;box-shadow:none}.cart-pop .cart-count{animation:cart-bump .5s}.support-grid>div{position:relative;padding:24px 22px 24px 63px;transition:background .2s;border-radius:9px}.support-grid>div:hover{background:#eef5fe}.support-grid>div>.icon{position:absolute;left:20px;top:26px}.store-install-cta{background:linear-gradient(110deg,#edf4ff,#f4f9ff);border:1px solid #e2ecf7;border-radius:12px;padding:34px 38px}.store-install-cta h2{font-size:32px;letter-spacing:-1px;line-height:1.2}
body.modal-open{overflow:hidden}.quick-view-dialog{width:min(900px,calc(100% - 48px));max-width:900px;padding:0;border:0;border-radius:17px;color:#1b303f;box-shadow:0 28px 90px #031b4255;max-height:90vh;max-height:90dvh;overflow:auto}.quick-view-dialog::backdrop{background:#102a40b3;backdrop-filter:blur(5px)}.quick-layout{display:grid;grid-template-columns:.9fr 1.1fr;min-height:480px}.quick-close,.feedback-close{display:flex;align-items:center;justify-content:center;border:1px solid #dce6ed;background:#ffffffd9;border-radius:50%;color:#567487;z-index:3;cursor:pointer}.quick-close{position:absolute;top:13px;right:13px;width:35px;height:35px}.quick-close .icon,.feedback-close .icon{width:16px;height:16px}.quick-image{display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#f5f9fc,#edf4fa);padding:45px;min-height:380px}.quick-image img{width:100%;height:100%;max-height:350px;object-fit:contain;mix-blend-mode:multiply}.image-missing{color:#71869b;font-size:13px;text-align:center}.quick-copy{padding:43px 34px 33px}.quick-copy>.eyebrow{font-size:8px;color:#648092;margin-bottom:13px}.quick-copy h2{font-size:25px;line-height:1.35;letter-spacing:-.8px;margin:0 0 19px}.quick-price{font-size:26px;letter-spacing:-.6px;font-weight:800;color:#2863d7;margin-bottom:17px}.quick-availability{font-size:10px;color:#617e6e;margin-bottom:17px}.quick-copy>#quick-summary{font-size:11px;line-height:1.9;color:#647784;max-height:82px;overflow:auto;margin-bottom:23px}.quick-copy form>label{display:block;font-size:10px;font-weight:700;margin-bottom:9px}.quick-buy-row{display:flex;gap:12px}.quick-buy-row input{width:65px;min-height:45px;border:1px solid #aebeca;border-radius:6px;padding:10px;font-size:16px;text-align:center}.quick-buy-row>.button{flex:1;font-size:12px;min-height:45px}.quick-copy>#quick-details{font-size:11px;margin-top:22px;display:inline-flex}.quick-copy>.quick-note{font-size:8px;line-height:1.7;color:#82939e;margin:27px 0 0}.cart-feedback{position:fixed;bottom:25px;right:25px;width:370px;max-width:calc(100% - 32px);z-index:90;background:#fff;border:1px solid #dbe8e2;border-radius:14px;box-shadow:0 14px 50px #173d6030;padding:21px;animation:feedback-in .25s ease-out}.feedback-close{position:absolute;right:11px;top:12px;width:31px;height:31px;background:transparent;border-color:transparent}.feedback-status{display:flex;align-items:center;gap:8px;color:#2c7353;font-weight:700;font-size:12px;margin:0 0 16px}.feedback-status .icon{height:17px;width:17px;padding:2px;background:#e8f6ee;border-radius:50%}.feedback-product{display:flex;align-items:center;gap:13px;margin-bottom:19px}.feedback-product>img{width:57px;height:57px;object-fit:contain}.feedback-product strong{display:block;font-size:11px;line-height:1.6;max-height:36px;overflow:hidden}.feedback-product span{display:block;font-size:12px;color:#2863d7;font-weight:700;margin-top:5px}.feedback-actions{display:flex;gap:9px}.feedback-actions>.button{font-size:10px;flex:1;min-height:44px;padding-inline:11px}.feedback-actions .icon{height:15px;width:15px}.motion-ready .reveal-target:not(.is-revealed){opacity:0;transform:translateY(15px)}.motion-ready .reveal-target{transition:opacity .5s,transform .5s,box-shadow .22s,border-color .22s}.motion-ready .store-product.is-revealed:hover{transform:translateY(-5px)}
@keyframes hero-progress{from{width:0}to{width:100%}}@keyframes cart-bump{45%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes feedback-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.dynamic-hero .store-hero-copy{padding:27px 28px}.dynamic-hero h1{font-size:42px}.dynamic-hero h1 em{min-width:290px}.dynamic-hero .hero-actions{gap:9px}.dynamic-hero .hero-primary{font-size:10px;padding-inline:12px}.dynamic-hero .hero-secondary{font-size:10px;padding-inline:10px}.hero-spotlight{gap:10px;padding:12px}.hero-spotlight strong{font-size:11px}.hero-modes{left:14px;right:14px;top:14px}.hero-modes button{font-size:8px}.hero-pause{top:73px;right:17px}}
@media(max-width:850px){.dynamic-hero{grid-template-columns:1fr 1fr;min-height:345px}.dynamic-hero .store-hero-copy{padding:24px}.dynamic-hero h1{font-size:34px;letter-spacing:-1.2px}.dynamic-hero h1 em{min-width:235px}.dynamic-hero #hero-description{font-size:11px;min-height:60px}.dynamic-hero .hero-actions{gap:9px;flex-direction:column;align-items:flex-start}.dynamic-hero .store-hero-image{min-height:345px}.hero-modes{gap:3px;padding:4px;left:10px;right:10px}.hero-modes button{font-size:6px;gap:3px}.hero-modes .icon{height:12px;width:12px}.hero-pause{top:69px;right:13px;width:29px;height:29px}.hero-spotlight{left:12px;right:12px;bottom:17px;padding:10px;gap:10px}.hero-spotlight>img{height:48px;width:48px}.hero-spotlight strong{font-size:9px;max-height:28px}.hero-spotlight b{font-size:12px}.spotlight-arrow{display:none}.dynamic-hero .image-label{left:12px;bottom:119px;font-size:5px}.quick-view-trigger{padding:7px 8px;min-height:32px;top:8px;right:8px}.quick-view-trigger span{display:none}.quick-layout{grid-template-columns:.8fr 1.2fr}.quick-copy{padding-inline:27px}.quick-copy h2{font-size:23px}}
@media(max-width:620px){.store-nav-bar nav>a:after{display:none}.dynamic-hero{display:flex;flex-direction:column;min-height:0;margin-top:18px;margin-bottom:18px;border-radius:11px}.dynamic-hero .store-hero-copy{padding:26px 23px 27px}.dynamic-hero .eyebrow{font-size:6px;letter-spacing:1.15px;margin-bottom:14px}.dynamic-hero .eyebrow i{width:4px;height:4px;margin-right:5px}.dynamic-hero h1{font-size:38px;line-height:1.08;letter-spacing:-1.5px;margin-bottom:17px}.dynamic-hero h1 em{min-width:255px}.dynamic-hero #hero-description{font-size:12px;min-height:65px;margin-bottom:21px;max-width:320px}.dynamic-hero .hero-actions{display:flex;flex-direction:row;align-items:stretch;gap:9px}.dynamic-hero .hero-primary{font-size:10px;min-height:44px;padding:11px;gap:8px}.dynamic-hero .hero-secondary{font-size:9px;min-height:44px;padding:10px;gap:6px}.dynamic-hero .hero-primary .icon,.dynamic-hero .hero-secondary .icon{height:14px;width:14px}.dynamic-hero .store-hero-image{height:253px;min-height:253px}.dynamic-hero .hero-room-image{object-position:68% 54%}.hero-modes{left:13px;right:13px;top:13px;padding:4px;gap:3px;border-radius:7px}.hero-modes button{font-size:7px;min-height:44px;gap:4px}.hero-modes .icon{width:12px;height:12px}.hero-pause{top:76px;right:15px;width:44px;height:44px}.dynamic-hero .image-label{left:14px;bottom:110px;font-size:5px;letter-spacing:.7px}.hero-spotlight{left:13px;right:13px;bottom:14px;min-height:79px;padding:10px 12px;gap:12px;border-radius:8px}.hero-spotlight>img{height:50px;width:50px;padding:2px}.hero-spotlight small{font-size:5px;letter-spacing:.8px}.hero-spotlight strong{font-size:10px;line-height:1.4;max-height:28px}.hero-spotlight b{font-size:12px;margin-top:4px}.hero-spotlight>.spotlight-arrow{display:flex;width:22px;height:22px}.hero-spotlight .spotlight-arrow .icon{height:13px;width:13px}.category-rail{gap:9px}.store-category-tile{min-height:112px;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:13px 6px;text-align:center;border-radius:9px}.store-category-tile>.category-symbol{padding:7px}.store-category-tile>.category-symbol .icon{height:23px;width:23px}.category-copy strong{font-size:9px;line-height:1.5}.category-copy small{font-size:6px;letter-spacing:0;margin-top:4px}.store-category-tile:hover{transform:none}.store-section-heading h2{font-size:23px;letter-spacing:-.8px}.store-section-heading>.text-link{font-size:9px}.store-section-heading .eyebrow{font-size:6px;letter-spacing:1.2px}.store-product h3{font-size:12px;line-height:1.6}.store-product .store-price{font-size:16px;letter-spacing:-.3px}.store-card-actions>.button{font-size:9px;min-height:44px}.store-details{height:44px}.store-product:hover,.motion-ready .store-product.is-revealed:hover{transform:none}.store-product:hover .store-product-image img{transform:scale(1.035)}.quick-view-trigger{opacity:1;transform:none;top:8px;right:8px;padding:12px;width:44px;min-height:44px;border-radius:50%;box-shadow:0 3px 10px #14375b14}.quick-view-trigger .icon{width:16px;height:16px}.quick-view-trigger span{display:none}.support-grid{gap:12px;padding-block:24px}.support-grid>div{padding:20px 18px 20px 60px}.support-grid>div>.icon{top:22px;left:19px;height:23px;width:23px}.support-grid h3{font-size:15px;line-height:1.4}.support-grid p{font-size:11px}.store-install-cta{padding:27px 23px;margin-block:23px 32px;border-radius:11px;gap:23px}.store-install-cta h2{font-size:27px}.store-install-cta p{font-size:11px}.store-install-cta>.button{font-size:11px;min-height:45px}.quick-view-dialog{width:calc(100% - 28px);max-height:91vh;max-height:91dvh;border-radius:13px}.quick-layout{display:block;min-height:0}.quick-close{top:11px;right:11px;width:44px;height:44px}.quick-image{height:225px;min-height:225px;padding:28px 45px 22px}.quick-image img{max-height:180px}.quick-copy{padding:23px 22px 25px}.quick-copy h2{font-size:22px;letter-spacing:-.6px;line-height:1.3;margin-bottom:13px}.quick-copy>.eyebrow{font-size:7px;margin-bottom:9px}.quick-price{font-size:24px;margin-bottom:11px}.quick-copy>#quick-summary{font-size:11px;max-height:62px;line-height:1.8;margin-bottom:17px}.quick-availability{font-size:9px;line-height:1.7}.quick-buy-row{gap:10px}.quick-buy-row input{font-size:16px;min-height:45px;width:61px}.quick-buy-row>.button{font-size:11px;min-height:45px;padding-inline:12px}.quick-copy>#quick-enquiry{font-size:11px;min-height:44px}.quick-copy>#quick-details{font-size:10px;margin-top:18px}.quick-copy>.quick-note{font-size:8px;margin-top:17px}.cart-feedback{right:14px;bottom:76px;width:calc(100% - 28px);max-width:360px;padding:18px;border-radius:12px}.feedback-status{font-size:11px;margin-bottom:13px}.feedback-product{gap:12px;margin-bottom:17px}.feedback-product>img{width:49px;height:49px}.feedback-product strong{font-size:10px;line-height:1.6;max-height:34px}.feedback-product span{font-size:11px}.feedback-close{right:9px;top:10px;width:44px;height:44px}.motion-ready .reveal-target.is-revealed{transition-duration:.35s}}
@media(max-width:360px){.dynamic-hero .store-hero-copy{padding:24px 19px}.dynamic-hero h1{font-size:33px;letter-spacing:-1.3px}.dynamic-hero h1 em{min-width:222px}.dynamic-hero #hero-description{font-size:11px;min-height:60px}.dynamic-hero .hero-actions{gap:7px}.dynamic-hero .hero-primary{font-size:9px;padding-inline:9px;gap:6px}.dynamic-hero .hero-secondary{font-size:8px;padding-inline:8px;gap:5px}.dynamic-hero .hero-actions .icon{width:12px;height:12px}.hero-modes{left:10px;right:10px;gap:2px;padding:3px}.hero-modes button{font-size:6px;gap:3px}.hero-modes .icon{width:10px;height:10px}.hero-spotlight{left:10px;right:10px;padding:9px;gap:9px}.hero-spotlight>img{width:42px;height:42px}.hero-spotlight small{font-size:4px;letter-spacing:.6px}.hero-spotlight strong{font-size:9px}.hero-spotlight b{font-size:11px}.hero-spotlight>.spotlight-arrow{display:none}.category-copy strong{font-size:8px}.category-copy small{font-size:6px}.store-section-heading h2{font-size:20px}.store-section-heading>.text-link{font-size:7px;gap:5px}.store-card-actions>.button{font-size:10px}.store-product .store-price{font-size:15px}.quick-image{height:195px;min-height:195px;padding:25px 38px 19px}.quick-image img{max-height:150px}.quick-copy{padding:21px 18px}.quick-copy h2{font-size:20px}.quick-price{font-size:22px}.feedback-actions>.button{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal-target:not(.is-revealed){opacity:1;transform:none}.store-product:hover,.store-category-tile:hover,.button:hover,.button:active,.store-product:hover .store-product-image img,.hero-spotlight:hover,.dynamic-hero:hover .hero-room-image{transform:none!important}.hero-modes button[aria-pressed="true"]:after{width:100%}}
