/* Velara-inspired smart access collection. Scoped to the residential catalog. */
.lock-catalog{--lc-navy:#050c18;--lc-blue:#378dff;--lc-cyan:#69e8e0;--lc-border:#213248;background:#050c18;color:#edf5ff;overflow:clip}.lock-catalog p{color:#a5b6cc}.lc-hero{isolation:isolate;position:relative;padding:90px 0 35px;background:radial-gradient(ellipse at 50% 5%,#15355b 0,transparent 56%),#050c18;overflow:hidden}.lc-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#92caff55 .7px,transparent .9px);background-size:63px 73px;mask-image:linear-gradient(#000,transparent 86%)}.lc-atmosphere span{position:absolute;left:50%;top:-220px;width:180px;height:1050px;background:linear-gradient(90deg,transparent,#258eff0d 22%,#2a8dff40 46%,#85ebff8c 50%,#1a80ff26 54%,transparent 85%);filter:blur(10px);transform:rotate(12deg);animation:lc-beam 12s ease-in-out infinite alternate;transform-origin:50% 0}.lc-atmosphere span:nth-child(2){left:36%;width:280px;opacity:.6;animation-delay:-5s;transform:rotate(-17deg)}.lc-atmosphere span:nth-child(3){left:61%;width:100px;opacity:.45;animation-delay:-9s}.lc-hero-grid{display:block;text-align:center;position:relative}.lc-hero-copy{max-width:1000px;margin:0 auto}.lc-hero .eyebrow{padding:8px 15px;border:1px solid #6aaed64a;border-radius:50px;background:#10253c94;color:#b0e8f3;letter-spacing:.14em;font-size:.65rem;box-shadow:inset 0 1px #ffffff0c}.lc-hero .eyebrow::before{display:none}.lc-status{height:6px;width:6px;border-radius:100%;background:#69e8e0;box-shadow:0 0 12px #69e8e0}.lc-hero h1{font-size:clamp(3rem,6.1vw,5.6rem);line-height:1.04;font-weight:500;letter-spacing:-.06em;margin:13px auto 25px}.lc-hero h1 span{color:#a7dfff;background:linear-gradient(110deg,#f0f9ff 0%,#8cc6ff 47%,#68e1d8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lc-intro{max-width:590px;margin:0 auto;font-size:1.06rem;line-height:1.8}.lc-actions{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;margin:30px 0 23px}.lock-catalog .button{background:linear-gradient(110deg,#2a73f0,#329eb9);border:1px solid #5ca6ef80;border-radius:50px;box-shadow:0 0 30px #218afd30;font-size:.9rem;min-height:48px;padding:11px 24px}.lock-catalog .button:hover{box-shadow:0 0 45px #2d9ffd65;transform:translateY(-3px)}.lc-hero-link{font-size:.88rem;color:#dae9f8}.lc-hero-link span{display:inline-block;margin-left:8px;transition:transform .25s}.lc-hero-link:hover span{transform:translateX(5px)}.lc-highlights{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.lc-highlights span{font-size:.7rem;color:#90a7c1}.lc-highlights span::before{content:'·';color:#69e8e0;margin-right:8px}.lc-showcase{display:flex;justify-content:center;align-items:center;gap:23px;position:relative;max-width:940px;margin:66px auto 0;padding:0 0 35px}.lc-orbit{position:absolute;inset:70% -13% -20%;border:1px solid #5dbfff33;border-radius:50%;box-shadow:0 0 80px #2365b815,inset 0 0 50px #226baf19;transform:perspective(500px) rotateX(62deg);pointer-events:none}.lc-display{position:relative;display:flex;flex-direction:column;width:27%;text-align:left;background:linear-gradient(145deg,#1a2d4380,#0b1628e0);border:1px solid #7fb5e044;border-radius:20px;padding:17px;box-shadow:0 30px 60px #0005,inset 0 1px #ffffff10;animation:lc-float 7s ease-in-out infinite;transition:border-color .3s,box-shadow .3s}.lc-display--main{width:34%;border-color:#82d2ee80;background:linear-gradient(155deg,#253f58b3,#0d192e);z-index:2;animation-delay:-2s}.lc-display--left{animation-delay:-4s;transform:rotate(-5deg)}.lc-display--right{animation-delay:-1s}.lc-display:hover{border-color:#8debe5;box-shadow:0 30px 60px #0005,0 0 35px #418bca30}.lc-display-label{font-size:.54rem;letter-spacing:.16em;color:#a2bfd9;margin-bottom:13px}.lc-display img{height:170px;width:100%;object-fit:contain;background:#f3f6fa;border-radius:11px;padding:15px}.lc-display--main img{height:250px}.lc-display-caption{padding:17px 2px 2px;display:flex;flex-direction:column;gap:2px}.lc-display-caption strong{font-size:1.13rem;letter-spacing:-.03em;font-weight:500}.lc-display-caption>span{font-size:.65rem;color:#9eb1c7}.lock-catalog .lc-scroll-note{position:relative;margin:12px 0 0;color:#728ca7;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.lc-scroll-note span{display:inline-block;margin-right:13px;color:#91dcdf;animation:lc-arrow 2s ease-in-out infinite}.lc-motion-toggle{position:absolute;right:22px;top:16px;z-index:3;border:1px solid #6b93b647;background:#0c1a2eb3;color:#acc0d7;border-radius:25px;padding:5px 12px;font-size:.65rem}.lc-motion-toggle:hover{color:white;border-color:#77c9db}.lc-motion-toggle[hidden]{display:none}.lc-nav{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:22px 0;border-top:1px solid #203149;border-bottom:1px solid #203149}.lc-nav a{font-size:.73rem;font-weight:500;color:#a7bfd6;padding:8px 13px;border-radius:30px;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s}.lc-nav a:hover,.lc-nav a[aria-current='location']{background:#14263d;border-color:#3c617f;color:#99e4ec}.lc-family{padding-top:100px;scroll-margin-top:25px}.lc-family-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:37px}.lc-family-heading>div{max-width:740px}.lock-catalog .eyebrow{color:#76ccd4;font-size:.64rem;letter-spacing:.16em}.lc-family-heading h2{font-size:clamp(2.2rem,3.8vw,3.8rem);font-weight:500;letter-spacing:-.05em;margin-bottom:17px}.lc-family-heading p:last-child{margin:0;max-width:610px;font-size:.94rem}.lc-family-number{font-size:6.8rem;font-weight:400;line-height:1;color:#182c44;letter-spacing:-.09em}.lc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.lc-card{display:flex;flex-direction:column;border:1px solid #25364b;border-radius:19px;overflow:hidden;background:linear-gradient(155deg,#142034,#0c1525);transition:transform .4s,border-color .4s,box-shadow .4s}.lc-card:hover{transform:translateY(-7px);border-color:#5588b1;box-shadow:0 16px 40px #0004}.lc-card-media{height:275px;background:#f3f6fa;display:flex;align-items:center;justify-content:center;padding:28px;gap:12px;overflow:hidden}.lc-card-media img{height:100%;width:100%;object-fit:contain;min-width:0;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.lc-card:hover .lc-card-media img{transform:scale(1.035)}.lc-card-media img+img{max-width:44%}.lc-card-media:has(img+img) img:first-child{max-width:50%}.lc-card-copy{padding:26px;display:flex;flex-direction:column;flex:1}.lock-catalog .lc-variant{font-size:.67rem;letter-spacing:.035em;line-height:1.6;color:#9aafc7;margin-bottom:10px}.lc-card h3{font-size:2.1rem;font-weight:500;letter-spacing:-.045em;margin-bottom:15px}.lc-access{font-size:.82rem;line-height:1.9;margin-bottom:23px}.lc-card details{font-size:.78rem;border-top:1px solid #29394e;border-bottom:1px solid #29394e;padding:13px 0;margin-top:auto;margin-bottom:22px}.lc-card summary{cursor:pointer;font-weight:500;padding:4px 0;color:#d6e4f5}.lc-card details p{margin:12px 0 0}.lc-card .text-link{font-size:.79rem;font-weight:500;color:#82dadd;justify-content:space-between}.lc-card .text-link span{transition:transform .25s}.lc-card .text-link:hover span{transform:translate(3px,-3px)}.lock-catalog .lc-note{font-size:.76rem;line-height:1.8;color:#8ca2ba;margin:24px 0 0}.lc-spec-wrap{background:radial-gradient(ellipse at 80% 40%,#0b2e40,transparent 60%),#091322;border-top:1px solid #203149;margin-top:100px;padding:85px 0;scroll-margin-top:24px}.lc-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.lc-spec-panel{padding:35px;border:1px solid #2e445d;border-radius:20px;background:#0e1b2fcc}.lc-spec-panel h3{font-size:1.45rem;font-weight:500;margin-bottom:24px}.lc-spec-panel dl{margin:0}.lc-spec-panel dl>div{display:grid;grid-template-columns:1fr 1.25fr;gap:22px;padding:16px 0;border-bottom:1px solid #293b50;font-size:.83rem}.lc-spec-panel dt{font-weight:500;color:#c4d5e8}.lc-spec-panel dd{margin:0;color:#96acc5}.lc-custom{background:linear-gradient(130deg,#11344299,#102138)}.lc-custom ul{padding-left:20px;color:#a5b9cd;margin:24px 0 32px}.lc-custom li{padding:5px 0;font-size:.9rem}.lock-catalog a:focus-visible,.lock-catalog summary:focus-visible,.lock-catalog button:focus-visible{outline:2px solid #87e6e3;outline-offset:5px}.lc-reveal{transition:opacity .7s ease,translate .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--lc-delay,0ms)}.lc-reveal.is-pending{opacity:.25;translate:0 28px}.lock-catalog[data-motion='paused'] *{animation-play-state:paused!important}.lock-catalog[data-motion='paused'] .lc-reveal{opacity:1;translate:none;transition:none}.lock-catalog[data-motion='paused'] .lc-card,.lock-catalog[data-motion='paused'] .lc-card img{transform:none;transition:none}
body:has(.lock-catalog){background:#050c18}body:has(.lock-catalog) .site-header{background:#060f1e;border-bottom-color:#1a2b41}body:has(.lock-catalog) .section--product{background:#07101e;color:#e8f2ff;border-top:1px solid #26374c}body:has(.lock-catalog) .section--product p,body:has(.lock-catalog) .section--product li{color:#a9b9cf}body:has(.lock-catalog) .detail-group{border-color:#273b53}body:has(.lock-catalog) .section--product h2{font-weight:500}body:has(.lock-catalog) .cta-band{background:radial-gradient(ellipse at 85% 40%,#145269,transparent 70%),#102b4d;border:1px solid #2b536e;border-radius:24px}body:has(.lock-catalog) .site-footer{border-top:1px solid #203149}
@keyframes lc-beam{0%{transform:rotate(-13deg) translateX(-45px);opacity:.4}100%{transform:rotate(15deg) translateX(45px);opacity:.9}}@keyframes lc-float{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes lc-arrow{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(min-width:1100px){#lock-keypad .lc-grid,#lock-advanced .lc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#lock-keypad .lc-card-media,#lock-advanced .lc-card-media{height:235px}#lock-keypad .lc-card-copy,#lock-advanced .lc-card-copy{padding:22px}}
@media(max-width:1099px){.lc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-hero{padding-top:80px}.lc-family-number{font-size:5rem}}
@media(max-width:680px){.lc-hero{padding:66px 0 26px}.lc-hero h1{font-size:clamp(2.6rem,10.5vw,3.8rem);line-height:1.07;letter-spacing:-.055em;margin-top:17px}.lc-hero .eyebrow{font-size:.5rem;letter-spacing:.1em;padding:7px 10px}.lc-intro{font-size:.9rem;max-width:340px}.lc-actions{gap:17px;margin:24px 0}.lc-hero-link{font-size:.78rem}.lc-highlights{gap:8px 14px}.lc-highlights span{font-size:.57rem}.lc-showcase{gap:8px;margin-top:43px;padding-bottom:20px}.lc-display{width:29%;border-radius:11px;padding:8px;animation-duration:8s}.lc-display--main{width:39%}.lc-display-label{font-size:.36rem;letter-spacing:.03em;margin-bottom:8px;white-space:nowrap}.lc-display img{height:93px;padding:5px;border-radius:6px}.lc-display--main img{height:151px}.lc-display-caption{padding:9px 0 2px}.lc-display-caption strong{font-size:.8rem}.lc-display-caption>span{font-size:.45rem;line-height:1.5}.lock-catalog .lc-scroll-note{font-size:.5rem;letter-spacing:.06em}.lc-orbit{inset:65% -2% -20%}.lc-atmosphere span{filter:blur(7px);height:780px;width:110px}.lc-motion-toggle{font-size:.57rem;right:15px;top:14px}.lc-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:17px 0}.lc-nav a{font-size:.65rem;padding:8px 6px;text-align:center}.lc-family{padding-top:61px}.lc-family-heading{margin-bottom:26px}.lc-family-number{display:none}.lc-grid,.lc-spec-grid{grid-template-columns:1fr;gap:23px}.lc-card-media{height:285px;padding:24px}.lc-card-copy{padding:25px}.lc-family-heading h2{font-size:2.15rem}.lc-family-heading p:last-child{font-size:.86rem}.lc-spec-wrap{margin-top:62px;padding:53px 0}.lc-spec-panel{padding:24px}.lc-spec-panel dl>div{grid-template-columns:1fr 1.2fr;gap:14px}.lc-card:hover{transform:none}@keyframes lc-float{0%,100%{translate:0 0}50%{translate:0 -5px}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lock-catalog *,.lock-catalog *::before,.lock-catalog *::after{animation:none!important;transition:none!important}.lc-reveal.is-pending{opacity:1;translate:none}.lc-card:hover,.lc-card:hover img{transform:none}.lc-motion-toggle{display:none}}
