@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

/* Contact WhatsApp accessible depuis toutes les pages. */
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:45;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#0b2012;box-shadow:0 12px 28px rgba(0,0,0,.28),0 0 0 5px rgba(37,211,102,.14);transition:transform .22s,box-shadow .22s}.whatsapp-float:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 17px 32px rgba(0,0,0,.34),0 0 0 7px rgba(37,211,102,.18)}.whatsapp-float svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.whatsapp-float span{position:absolute;right:67px;padding:7px 10px;border-radius:4px;background:#101716;color:#f5f4ef;font:600 10px Manrope;letter-spacing:.04em;white-space:nowrap;opacity:0;transform:translateX(6px);pointer-events:none;transition:.2s}.whatsapp-float:hover span{opacity:1;transform:none}@media(max-width:760px){.whatsapp-float{right:17px;bottom:17px;width:53px;height:53px}.whatsapp-float span{display:none}}

/* Page contact : fond sombre afin de mieux détacher l'identité vert citron. */
.contact{background:radial-gradient(circle at 92% 8%,#2a3834 0,transparent 31%),linear-gradient(130deg,#111817,#1d2825);color:var(--mist)}.contact .intro-text{color:#bec8c1}.contact-detail{border-color:rgba(232,233,228,.23)}.contact-detail div{border-color:rgba(232,233,228,.23)}.contact-detail span{color:#aebbb4}.contact-detail b{color:#f4f5f0}.contact .btn.dark{border-color:var(--mist);color:var(--mist)}.contact .btn.dark:hover{background:var(--mist);color:var(--ink)}.contact .quote-form{background:#e9ece5;color:var(--ink);box-shadow:0 24px 52px rgba(0,0,0,.28)}.contact .quote-form .eyebrow{color:#52662b}.contact .quote-form p{color:#53605a}.contact .quote-form .form-message{color:#344b1c}
main.page.contact .intro-text{color:#bec8c1}main.page.contact .contact-detail{border-color:rgba(232,233,228,.23)}main.page.contact .contact-detail div{border-color:rgba(232,233,228,.23)}main.page.contact .contact-detail span{color:#aebbb4}main.page.contact .contact-detail b{color:#f4f5f0}

/* Variantes Nuki : Smart Lock Go et Home Set Pro avec Keypad 2. */
.product-lock.nuki-go{width:82px;height:176px;top:130px;border-radius:23px 23px 17px 17px;background:linear-gradient(100deg,#fdfdf8,#c5cbc7 43%,#eef0ea);box-shadow:9px 13px 20px rgba(0,0,0,.37),inset 2px 1px 3px rgba(255,255,255,.8)}.product-lock.nuki-go:before{left:15px;top:17px;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 43% 38%,#e4e9e3 0 4%,#76807c 5% 9%,#38403e 10% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}.product-lock.nuki-go:after{left:37px;top:128px;background:#8a978f;box-shadow:none}.product-lock.nuki-go.silver{background:linear-gradient(100deg,#fff,#b9c0bf 43%,#eef0ed)}.product-lock.nuki-go.brass{background:linear-gradient(100deg,#fff9e7,#d0b069 43%,#f3dfae)}.product-lock.nuki-keypad{width:93px;height:129px;top:153px;border-radius:46px 46px 28px 28px;background:radial-gradient(circle at 32% 17%,#616867 0 2%,transparent 3%),linear-gradient(100deg,#626a69,#252a2a 43%,#0a0b0b);box-shadow:9px 13px 20px rgba(0,0,0,.46),inset 2px 1px 3px rgba(255,255,255,.25)}.product-lock.nuki-keypad:before{left:20px;top:13px;width:53px;height:51px;border-radius:50%;background:radial-gradient(circle at 43% 38%,#64706f 0 4%,#161b1b 5% 9%,#080a0a 10% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.13)}.product-lock.nuki-keypad:after{left:42px;top:92px}.product-lock.nuki-keypad.silver{background:radial-gradient(circle at 30% 22%,#fff,#9aa4a2 42%,#d9ddda 73%)}.product-lock.nuki-keypad.brass{background:radial-gradient(circle at 30% 22%,#f4d987,#88662d 42%,#d4a94d 73%)}.product-keypad{position:absolute;z-index:4;left:28px;top:221px;width:42px;height:92px;border-radius:8px;background:linear-gradient(100deg,#6f7775,#202625 43%,#070909);box-shadow:5px 9px 13px rgba(0,0,0,.36),inset 1px 1px 2px rgba(255,255,255,.23);opacity:0;transform:translateX(-12px);transition:opacity .35s,transform .35s;pointer-events:none}.product-keypad:before{content:'';position:absolute;left:7px;top:9px;width:28px;height:49px;border-radius:4px;background:radial-gradient(circle at 8px 9px,#d8ddd7 0 1px,transparent 2px),radial-gradient(circle at 20px 9px,#d8ddd7 0 1px,transparent 2px),radial-gradient(circle at 8px 22px,#d8ddd7 0 1px,transparent 2px),radial-gradient(circle at 20px 22px,#d8ddd7 0 1px,transparent 2px),linear-gradient(#272f2d,#070909);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.product-keypad:after{content:'KEYPAD 2';position:absolute;left:-3px;bottom:-20px;width:49px;color:#202625;font:500 7px 'DM Mono';letter-spacing:.04em;text-align:center}.product-door:has(.product-lock.nuki-keypad) .product-keypad{opacity:1;transform:none}@media(max-width:760px){.product-keypad{left:27px;top:221px;transform:translateX(-12px) scale(.94);transform-origin:left center}.product-door:has(.product-lock.nuki-keypad) .product-keypad{transform:scale(.94)}}

:root{--ink:#0b0d0e;--night:#101314;--slate:#1a2021;--steel:#a6adae;--mist:#e8e9e4;--paper:#f5f4ef;--line:rgba(245,244,239,.16);--lime:#c8ff4c;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--mist);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.55}.page{overflow:hidden}.container{width:min(var(--max),calc(100% - 48px));margin:auto}a{color:inherit;text-decoration:none}.eyebrow{font:500 11px/1.2 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);display:flex;gap:9px;align-items:center}.eyebrow:before{content:'';width:19px;border-top:1px solid currentColor}.display{font-size:clamp(40px,6vw,82px);line-height:.98;letter-spacing:-.065em;margin:16px 0 22px;font-weight:700}.display em{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-.075em}.lead{max-width:580px;color:#c4cac6;font-size:18px;line-height:1.65}.btn{display:inline-flex;align-items:center;gap:14px;padding:15px 21px;border:1px solid var(--mist);border-radius:100px;font:700 12px Manrope,sans-serif;letter-spacing:.05em;text-transform:uppercase;transition:.25s}.btn:hover{background:var(--mist);color:var(--ink);transform:translateY(-2px)}.btn.dark{border-color:var(--ink);color:var(--ink)}.btn.dark:hover{background:var(--ink);color:var(--mist)}.btn.accent{background:var(--lime);border-color:var(--lime);color:var(--ink)}.btn.accent:hover{background:#daff84;border-color:#daff84}.arrow{font-size:18px;line-height:0}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;position:absolute;left:0;right:0;top:0;z-index:10}.brand{font:800 18px/1 Manrope,sans-serif;letter-spacing:-.07em;display:flex;align-items:center;gap:9px}.brand-mark{width:27px;height:27px;border:2px solid var(--lime);border-radius:9px 9px 7px 7px;display:inline-block;position:relative;transform:rotate(-7deg)}.brand-mark:before{content:'';position:absolute;width:10px;height:7px;border:2px solid var(--lime);border-bottom:0;border-radius:7px 7px 0 0;top:-8px;left:6px}.brand span{color:var(--lime);font-weight:500}.main-nav{display:flex;gap:25px;font:600 11px 'DM Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:#d5d8d4}.main-nav a{opacity:.7}.main-nav a:hover,.main-nav a.active{opacity:1;color:var(--lime)}.menu-toggle{display:none;background:none;border:0;color:inherit;font-size:24px}

.hero{min-height:760px;padding:168px 0 70px;position:relative;background:radial-gradient(circle at 74% 35%,#374143 0,transparent 27%),linear-gradient(120deg,#0b0d0e 45%,#161c1d)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,14,.02),rgba(11,13,14,.3)),repeating-linear-gradient(90deg,transparent 0,transparent 120px,rgba(255,255,255,.025) 121px);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1fr .87fr;gap:50px;align-items:center;position:relative;z-index:1}.hero-copy{padding-bottom:50px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.hero-note{margin-top:54px;color:#929a98;font:500 11px 'DM Mono',monospace;letter-spacing:.05em}.lock-scene{min-height:470px;position:relative;display:grid;place-items:center}.door{width:min(375px,83vw);height:520px;border-radius:11px 11px 2px 2px;background:linear-gradient(105deg,rgba(255,255,255,.14),transparent 13%),linear-gradient(100deg,#202a2a,#0e1212 50%,#313b3d);box-shadow:-30px 35px 70px rgba(0,0,0,.45),inset 0 0 0 10px rgba(255,255,255,.06);position:relative;overflow:hidden}.door:before,.door:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.11);left:25px;right:25px;height:135px}.door:before{top:34px}.door:after{bottom:34px}.door-shine{position:absolute;inset:0;background:linear-gradient(117deg,transparent 31%,rgba(255,255,255,.1) 48%,transparent 55%)}.smart-lock{position:absolute;width:82px;height:206px;border-radius:19px;background:linear-gradient(100deg,#4e5757,#191d1d 38%,#080909);top:142px;right:70px;box-shadow:9px 12px 22px rgba(0,0,0,.55),inset 2px 0 3px rgba(255,255,255,.22);z-index:2}.smart-lock:before{content:'';position:absolute;width:37px;height:59px;background:#111516;border-radius:12px;top:19px;left:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.smart-lock:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:var(--lime);left:37px;top:96px;box-shadow:0 0 14px var(--lime)}.lock-label{position:absolute;right:-7px;bottom:27px;z-index:3;font:500 9px 'DM Mono',monospace;letter-spacing:.13em;writing-mode:vertical-rl;color:#aab1af}.floating-chip{position:absolute;left:-7px;bottom:28px;padding:13px 16px;border:1px solid var(--line);border-radius:8px;background:rgba(17,19,20,.84);backdrop-filter:blur(10px);font:500 10px 'DM Mono',monospace;letter-spacing:.07em}.floating-chip strong{display:block;color:var(--lime);font-size:17px;margin-top:4px}.scroll-cue{position:absolute;bottom:31px;left:50%;transform:translateX(-50%);font:500 10px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:#88918f;z-index:2}.scroll-cue:after{content:'';display:block;height:43px;border-left:1px solid var(--lime);margin:13px auto 0;width:1px}

.intro{background:var(--paper);color:var(--ink);padding:124px 0}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.intro .eyebrow{color:#54645c}.intro h2{font-size:clamp(34px,4.3vw,58px);line-height:1.04;letter-spacing:-.06em;margin:15px 0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-top:32px}.principle{padding-top:17px;border-top:1px solid #b5bbb3}.principle b{font-size:16px;display:block;margin-bottom:8px}.principle p{font-size:13px;margin:0;color:#57605b}.problem{padding:126px 0;background:#151a1a}.problem-head{display:flex;justify-content:space-between;gap:30px;align-items:end}.problem-head .display{max-width:700px}.solutions-mini{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.solution-mini{padding:25px 28px 30px 0;border-right:1px solid var(--line);min-height:195px}.solution-mini:not(:first-child){padding-left:28px}.solution-mini:last-child{border-right:0}.solution-number{font:500 10px 'DM Mono';color:var(--lime)}.solution-mini h3{font-size:21px;letter-spacing:-.045em;margin:32px 0 9px}.solution-mini p{font-size:13px;color:#aeb5b1;max-width:260px;margin:0}.statement{padding:130px 0 123px;background:linear-gradient(120deg,#c8ff4c,#b3dc47);color:#101312}.statement-grid{display:grid;grid-template-columns:1.18fr .82fr;align-items:end;gap:30px}.statement blockquote{font-size:clamp(39px,5vw,67px);letter-spacing:-.07em;line-height:1.05;margin:0;font-weight:700}.statement aside{font-size:15px;line-height:1.7;max-width:320px}.statement .btn{margin-top:23px}.cta-band{background:var(--paper);color:var(--ink);padding:102px 0}.cta-band-inner{padding:46px 54px;background:var(--ink);color:var(--mist);display:flex;align-items:center;justify-content:space-between;gap:25px;border-radius:3px}.cta-band h2{font-size:clamp(29px,4vw,50px);letter-spacing:-.06em;line-height:1;margin:7px 0 0}.footer{padding:32px 0;background:var(--ink);font:500 10px 'DM Mono';letter-spacing:.07em;color:#9ba39f;text-transform:uppercase}.footer-inner{display:flex;justify-content:space-between;gap:15px}.footer a:hover{color:var(--lime)}

.subhero{padding:166px 0 85px;background:#121617;position:relative}.subhero .display{max-width:890px}.subhero .lead{font-size:17px}.subhero .index{position:absolute;right:8vw;bottom:58px;color:rgba(200,255,76,.7);font:500 12px 'DM Mono';letter-spacing:.12em}.configurator{background:var(--paper);color:var(--ink);padding:100px 0 120px}.config-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.config-copy{position:sticky;top:36px}.config-copy h2{font-size:clamp(35px,4vw,56px);letter-spacing:-.065em;line-height:1;margin:16px 0}.config-copy p{max-width:390px;color:#58615c}.selectors{display:grid;gap:12px;margin-top:32px}.selector-label{font:500 10px 'DM Mono';letter-spacing:.1em;text-transform:uppercase;color:#606962}.select-row{display:flex;gap:8px;flex-wrap:wrap}.swatch,.model-tab{background:transparent;border:1px solid #b6bbb6;padding:10px 13px;border-radius:100px;color:var(--ink);font:600 11px Manrope;cursor:pointer;transition:.2s}.swatch.active,.model-tab.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.swatch i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:0}.product-stage{border-radius:4px;min-height:560px;background:#dfe1da;position:relative;display:grid;place-items:center;overflow:hidden}.product-stage:before{content:'';width:70%;height:100%;position:absolute;right:0;background:linear-gradient(110deg,rgba(255,255,255,.46),rgba(255,255,255,0));clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}.product-door{height:485px;width:315px;border-radius:8px 8px 1px 1px;position:relative;background:linear-gradient(105deg,rgba(255,255,255,.25),transparent 17%),linear-gradient(105deg,#1f2323,#090c0c 62%,#2c3131);box-shadow:18px 25px 45px rgba(0,0,0,.24);transition:.55s}.product-door.white{background:linear-gradient(105deg,#fff,#e2e4de 65%,#c0c3bf)}.product-door.wood{background:repeating-linear-gradient(92deg,rgba(255,255,255,.05) 0 3px,transparent 4px 16px),linear-gradient(100deg,#8f5d32,#4f2f1d 65%,#b47842)}.product-door.grey{background:linear-gradient(100deg,#8c9592,#48504f 63%,#9aa29f)}.product-door:after{content:'';position:absolute;inset:25px;border:1px solid rgba(255,255,255,.2)}.product-lock{width:84px;height:211px;border-radius:18px;position:absolute;right:51px;top:135px;background:linear-gradient(100deg,#555e5e,#171a1a 42%,#080909);box-shadow:9px 13px 20px rgba(0,0,0,.35);z-index:1;transition:.4s}.product-lock.silver{background:linear-gradient(100deg,#ebeeee,#a8afaf 43%,#eff1ee)}.product-lock.brass{background:linear-gradient(100deg,#e1bb61,#8a682c 43%,#f2d587)}.product-lock:before{content:'';position:absolute;left:23px;top:20px;width:37px;height:61px;border-radius:11px;background:rgba(3,5,5,.64);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.product-lock.silver:before,.product-lock.brass:before{background:rgba(35,39,38,.55)}.product-lock:after{content:'';position:absolute;left:37px;top:96px;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime)}.model-name{position:absolute;left:31px;top:27px;font:500 11px 'DM Mono';letter-spacing:.12em}.product-info{position:absolute;right:24px;bottom:24px;background:rgba(245,244,239,.88);backdrop-filter:blur(8px);padding:15px 17px;width:220px}.product-info b{display:block;font-size:15px}.product-info small{display:block;color:#64706a;font-size:11px;margin-top:3px}.solution-list{padding:110px 0;background:#131717}.solution-list-head{max-width:700px}.solution-list .display{font-size:clamp(37px,4.5vw,61px)}.solution-cards{margin-top:50px;border-top:1px solid var(--line)}.solution-card{display:grid;grid-template-columns:100px 1fr auto;gap:25px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.solution-card .tag{font:500 11px 'DM Mono';color:var(--lime)}.solution-card h3{font-size:25px;letter-spacing:-.05em;margin:0}.solution-card p{margin:5px 0 0;font-size:13px;color:#aeb5b1}.solution-card .features{font:500 10px 'DM Mono';letter-spacing:.04em;color:#9da5a2;text-align:right;max-width:210px}.note{font-size:12px;color:#89918e;margin:26px 0 0}

.compare{padding:80px 0 120px;background:var(--paper);color:var(--ink)}.filter-panel{background:#e1e4db;padding:24px;margin:0 0 32px;display:flex;gap:15px;align-items:center;justify-content:space-between}.filter-panel p{font-size:14px;margin:0}.filters{display:flex;flex-wrap:wrap;gap:7px}.filter{border:1px solid #aab0a9;background:transparent;border-radius:100px;padding:8px 12px;font:600 10px Manrope;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.table-wrap{overflow-x:auto}.comparison-table{width:100%;min-width:740px;border-collapse:collapse}.comparison-table th{font-size:13px;text-align:left;padding:0 15px 20px;border-bottom:1px solid #8d958f;vertical-align:bottom}.comparison-table th:first-child{padding-left:0;width:31%}.comparison-table th small{display:block;font:500 9px 'DM Mono';letter-spacing:.08em;text-transform:uppercase;color:#758078;margin-top:3px}.comparison-table td{font-size:13px;padding:18px 15px;border-bottom:1px solid #c3c8c0}.comparison-table td:first-child{font-weight:700;padding-left:0}.comparison-table .match{color:#326e48;font-weight:800}.comparison-table .best{background:#dcf7a3}.comparison-table .muted{color:#869087}.compare-bottom{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.compare-advice{padding:35px;background:#151919;color:var(--mist)}.compare-advice h3{font-size:29px;letter-spacing:-.06em;line-height:1.05;margin:7px 0 14px}.compare-advice p{color:#b9c0bc;font-size:14px;max-width:420px}.compare-disclaimer{padding:35px;border:1px solid #b8beb6}.compare-disclaimer h3{font-size:20px;margin:0 0 12px;letter-spacing:-.04em}.compare-disclaimer p{font-size:13px;color:#59625d;margin:0}

.contact{min-height:100vh;padding:154px 0 105px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.contact h1{font-size:clamp(46px,5.6vw,72px);letter-spacing:-.07em;line-height:.98;margin:15px 0 18px}.contact .intro-text{max-width:375px;color:#56605a}.contact-detail{margin-top:45px;border-top:1px solid #b9beb6}.contact-detail div{padding:16px 0;border-bottom:1px solid #b9beb6}.contact-detail span{display:block;font:500 10px 'DM Mono';letter-spacing:.1em;text-transform:uppercase;color:#68716a;margin-bottom:4px}.contact-detail b{font-size:15px}.quote-form{background:#161b1b;color:var(--mist);padding:38px}.quote-form h2{font-size:29px;letter-spacing:-.055em;margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font:500 10px 'DM Mono';letter-spacing:.08em;text-transform:uppercase;color:#b6bfba}.field input,.field select,.field textarea{background:transparent;color:var(--mist);border:0;border-bottom:1px solid #626b67;padding:11px 0;font:400 14px Manrope;outline:none;border-radius:0}.field select option{color:#111;background:#eee}.field textarea{resize:vertical;min-height:72px}.quote-form .btn{margin-top:25px}.form-message{font-size:12px;color:var(--lime);min-height:18px;margin:13px 0 0}

@media(max-width:760px){.container{width:min(100% - 32px,var(--max))}.site-header{height:68px}.main-nav{display:none}.main-nav.open{position:absolute;display:flex;flex-direction:column;top:59px;right:0;background:#171c1b;padding:20px;min-width:190px;border:1px solid var(--line)}.menu-toggle{display:block}.hero{min-height:auto;padding:135px 0 44px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:0}.hero .display{font-size:52px}.hero-note{margin-top:35px}.lock-scene{min-height:410px}.door{height:405px;width:280px}.smart-lock{transform:scale(.78);transform-origin:top right;right:50px;top:120px}.scroll-cue{display:none}.intro,.problem,.statement,.cta-band{padding:76px 0}.intro-grid,.statement-grid,.contact-grid,.config-grid{grid-template-columns:1fr;gap:35px}.principles,.solutions-mini{grid-template-columns:1fr}.principle{padding-bottom:15px}.problem-head{display:block}.solution-mini,.solution-mini:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:24px 0}.statement blockquote{font-size:42px}.cta-band-inner{padding:34px 28px;display:block}.cta-band .btn{margin-top:23px}.footer-inner{display:block;line-height:2}.subhero{padding:126px 0 60px}.subhero .index{display:none}.configurator{padding:69px 0}.config-copy{position:static}.product-stage{min-height:455px}.product-door{transform:scale(.78)}.product-info{right:12px;bottom:12px}.solution-list{padding:75px 0}.solution-card{grid-template-columns:58px 1fr;gap:14px}.solution-card .features{display:none}.filter-panel{display:block}.filters{margin-top:15px}.compare{padding:55px 0 74px}.compare-bottom{grid-template-columns:1fr}.contact{padding:119px 0 70px}.quote-form{padding:27px 20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}

/* Vitrine refinements: stronger hierarchy, calm movement and tactile surfaces. */
body:before{content:'';position:fixed;inset:0;z-index:50;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 33%);opacity:.55}.site-header{border-bottom:1px solid transparent;transition:.25s}.site-header:hover{border-color:rgba(255,255,255,.12)}.hero:before{content:'';position:absolute;width:600px;height:600px;border:1px solid rgba(200,255,76,.12);border-radius:50%;right:-170px;top:65px;box-shadow:0 0 0 70px rgba(200,255,76,.025),0 0 0 140px rgba(200,255,76,.018)}.hero-note{display:flex;gap:13px;flex-wrap:wrap;margin-top:42px;font-size:10px;color:#bac1bd}.hero-note::before{content:'✓';color:var(--lime);font-size:13px}.hero .lead{font-size:19px}.door{border:1px solid rgba(255,255,255,.11);transform:perspective(1100px) rotateY(-5deg);transform-origin:left center}.smart-lock{transition:transform .45s cubic-bezier(.2,.8,.2,1)}.lock-scene:hover .smart-lock{transform:translateY(-5px)}.floating-chip{box-shadow:0 18px 40px rgba(0,0,0,.25)}.intro{position:relative}.intro:after{content:'LOCK\A SMART';white-space:pre;position:absolute;right:3.5vw;bottom:-5px;font:800 clamp(55px,10vw,170px)/.77 Manrope;color:rgba(14,17,17,.035);letter-spacing:-.1em;pointer-events:none}.intro-grid{position:relative;z-index:1}.principle{transition:transform .25s,border-color .25s}.principle:hover{transform:translateY(-5px);border-color:#4e5d54}.problem{position:relative}.problem:after{content:'';position:absolute;right:0;top:16%;width:32vw;height:66%;border-left:1px solid rgba(200,255,76,.16);border-top:1px solid rgba(200,255,76,.16);pointer-events:none}.problem .container{position:relative;z-index:1}.solution-mini{transition:background .25s,padding .25s}.solution-mini:hover{background:rgba(255,255,255,.045);padding-top:31px}.solution-mini:not(:first-child):hover{padding-left:34px}.statement{position:relative;overflow:hidden}.statement:after{content:'01';position:absolute;right:4vw;bottom:-40px;font:800 220px/.8 Manrope;letter-spacing:-.1em;color:rgba(16,19,18,.08)}.statement-grid{position:relative;z-index:1}.cta-band-inner{position:relative;overflow:hidden}.cta-band-inner:after{content:'↗';position:absolute;right:28px;bottom:-72px;font:800 180px/.7 Manrope;color:rgba(200,255,76,.06)}.footer{border-top:1px solid rgba(255,255,255,.08)}.subhero{background-image:radial-gradient(circle at 76% 120%,rgba(200,255,76,.16),transparent 34%),linear-gradient(110deg,#121617,#11191a)}.config-copy .selectors{border-top:1px solid #b6bcb5;padding-top:22px}.select-row button{position:relative;overflow:hidden}.select-row button:after{content:'';position:absolute;inset:0;background:rgba(200,255,76,.17);transform:translateY(110%);transition:.22s}.select-row button:hover:after{transform:translateY(0)}.product-stage{box-shadow:inset 0 0 0 1px rgba(0,0,0,.1),0 20px 45px rgba(9,13,12,.1)}.comparison-table tr{transition:background .2s}.comparison-table tbody tr:hover{background:#e2e5dc}.quote-form{box-shadow:0 24px 52px rgba(0,0,0,.17)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lime)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:760px){.hero:before,.intro:after,.statement:after{display:none}.hero .lead{font-size:17px}.hero-note{margin-top:31px;line-height:1.8}.door{transform:perspective(900px) rotateY(-3deg)}.solution-mini:hover,.solution-mini:not(:first-child):hover{padding:24px 0}.product-stage{box-shadow:none}}

/* Specific product views: representative dimensions and hardware layouts. */
.product-lock.mortise{width:85px;height:318px;top:73px;right:47px;border-radius:11px;background:linear-gradient(100deg,#596260,#1b2120 40%,#070909);box-shadow:10px 15px 23px rgba(0,0,0,.48),inset 1px 1px 2px rgba(255,255,255,.21)}.product-lock.mortise:before{left:16px;top:18px;width:52px;height:118px;border-radius:7px;background:linear-gradient(110deg,#29302f,#080b0b 62%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}.product-lock.mortise:after{left:12px;top:174px;width:57px;height:13px;border-radius:9px;background:linear-gradient(#e3e7e3,#68706e 51%,#f4f5f1);box-shadow:0 11px 0 -3px rgba(0,0,0,.42)}.product-lock.retrofit{width:72px;height:139px;top:147px;border-radius:35px 35px 20px 20px;background:linear-gradient(102deg,#65706d,#202624 43%,#070909);box-shadow:9px 13px 20px rgba(0,0,0,.46),inset 1px 1px 3px rgba(255,255,255,.23)}.product-lock.retrofit:before{left:15px;top:14px;width:43px;height:46px;border-radius:50%;background:radial-gradient(circle at 44% 38%,#6d7975 0 4%,#151a18 5% 12%,#080a0a 13% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.13)}.product-lock.retrofit:after{left:32px;top:96px}.product-lock.rim{width:73px;height:226px;top:109px;border-radius:9px;background:linear-gradient(100deg,#646d6b,#1a201f 40%,#050606);box-shadow:9px 14px 22px rgba(0,0,0,.48),inset 1px 1px 2px rgba(255,255,255,.22)}.product-lock.rim:before{left:12px;top:16px;width:48px;height:118px;border-radius:6px;background:linear-gradient(110deg,#293230,#080b0b 62%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),0 48px 0 -17px var(--lime)}.product-lock.rim:after{left:31px;top:173px;width:10px;height:10px;background:#121816;box-shadow:0 0 0 2px #747c78,0 0 0 4px rgba(0,0,0,.22)}.product-door:has(.product-lock.mortise) .door-handle{opacity:0}.product-door:has(.product-lock.rim) .door-handle{right:17px;top:355px;transform:scale(.76);transform-origin:right center}

/* Product-render upgrade: distinctive hardware silhouettes and a built-up door. */
.product-stage{background:linear-gradient(115deg,#d5d8d0,#f3f3ed 48%,#bfc4be)}.door-frame{padding:13px 14px 0;background:linear-gradient(100deg,#777e7c,#e1e2da 11%,#727977);box-shadow:16px 23px 43px rgba(0,0,0,.25),-3px 0 0 rgba(0,0,0,.15);border-radius:8px 8px 0 0}.product-door{box-shadow:inset 8px 0 16px rgba(255,255,255,.12),inset -8px 0 15px rgba(0,0,0,.2),18px 25px 45px rgba(0,0,0,.24)}.product-door:before{content:'';position:absolute;inset:28px 25px 28px;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);z-index:0}.product-door:after{inset:0;border:0;background:linear-gradient(105deg,rgba(255,255,255,.13),transparent 12% 61%,rgba(0,0,0,.18)),repeating-linear-gradient(90deg,transparent 0 74px,rgba(255,255,255,.025) 75px 77px);z-index:0}.product-door.wood{background:repeating-linear-gradient(92deg,rgba(255,255,255,.065) 0 2px,transparent 3px 13px),repeating-linear-gradient(88deg,rgba(22,10,3,.12) 0 1px,transparent 2px 21px),linear-gradient(100deg,#925c30,#4c2d19 63%,#ad7242)}.door-hinge{position:absolute;left:-10px;width:13px;height:55px;border-radius:4px 0 0 4px;background:linear-gradient(90deg,#333c3b,#d3d5cf 56%,#69706d);box-shadow:0 3px 6px rgba(0,0,0,.35);z-index:2}.hinge-top{top:86px}.hinge-bottom{bottom:87px}.door-handle{position:absolute;z-index:2;right:24px;top:289px;width:48px;height:11px;border-radius:8px;background:linear-gradient(#eeeeea,#757e7d 50%,#eef0ec);box-shadow:0 5px 6px rgba(0,0,0,.28)}.door-handle:before{content:'';position:absolute;width:12px;height:33px;right:4px;top:-10px;border-radius:7px;background:linear-gradient(90deg,#cfd2cf,#58615f,#e0e3df)}.product-lock{right:58px;top:117px;z-index:3;transition:width .35s,height .35s,top .35s,right .35s,border-radius .35s,background .35s}.product-lock:before{transition:.35s}.product-lock.nuki{width:93px;height:129px;top:153px;border-radius:46px 46px 28px 28px;background:radial-gradient(circle at 32% 17%,#616867 0 2%,transparent 3%),linear-gradient(100deg,#626a69,#252a2a 43%,#0a0b0b);box-shadow:9px 13px 20px rgba(0,0,0,.46),inset 2px 1px 3px rgba(255,255,255,.25)}.product-lock.nuki:before{left:20px;top:13px;width:53px;height:51px;border-radius:50%;background:radial-gradient(circle at 43% 38%,#64706f 0 4%,#161b1b 5% 9%,#080a0a 10% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.13)}.product-lock.nuki:after{left:42px;top:92px}.product-lock.yale{width:78px;height:205px;top:122px;border-radius:38px 38px 16px 16px;background:linear-gradient(100deg,#606968,#1f2424 41%,#0b0d0d)}.product-lock.yale:before{left:21px;top:19px;width:36px;height:65px;border-radius:19px;background:linear-gradient(100deg,#2b3130,#0b0d0d)}.product-lock.tedee{width:94px;height:102px;top:169px;border-radius:50%;background:radial-gradient(circle at 30% 24%,#747d7a,#252b29 40%,#080a0a 72%);box-shadow:9px 13px 20px rgba(0,0,0,.46),inset 0 0 0 3px rgba(255,255,255,.1)}.product-lock.tedee:before{left:24px;top:23px;width:47px;height:47px;border-radius:50%;background:radial-gradient(circle,#2e3836 0 15%,#121716 17% 100%)}.product-lock.tedee:after{left:43px;top:76px}.product-lock.igloohome{width:83px;height:221px;top:112px;border-radius:15px;background:linear-gradient(100deg,#5d6563,#1d2221 40%,#060707)}.product-lock.igloohome:before{left:17px;top:22px;width:49px;height:101px;border-radius:8px;background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(255,255,255,.18) 14px 15px),repeating-linear-gradient(0deg,#151b1a 0 16px,rgba(255,255,255,.18) 17px 18px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.product-lock.igloohome:after{left:38px;top:150px}.product-lock.silver{background:linear-gradient(100deg,#fbfdf9,#9ca5a4 42%,#e7e9e5)}.product-lock.brass{background:linear-gradient(100deg,#f1cd75,#87652b 45%,#e0b958)}.product-lock.nuki.silver,.product-lock.tedee.silver{background:radial-gradient(circle at 30% 22%,#fff,#9aa4a2 42%,#d9ddda 73%)}.product-lock.nuki.brass,.product-lock.tedee.brass{background:radial-gradient(circle at 30% 22%,#f4d987,#88662d 42%,#d4a94d 73%)}
