/* KCC / technology gallery: calm surfaces, strong product silhouettes. */
.product-experience{background:radial-gradient(ellipse at 8% 15%,#275d70 0,transparent 45%),linear-gradient(125deg,#0d2635,#173f52);padding-bottom:75px}.product-studio{border-radius:22px;border-color:#7797a94d;box-shadow:0 40px 90px #04172270}.system-rail20{display:flex;overflow:auto;gap:8px;padding:16px;background:#0b2635;scrollbar-width:thin;scrollbar-color:#5c889b #0b2635}.system-rail20 button{display:flex;align-items:center;gap:16px;flex:none;padding:14px 20px;border:1px solid #7193a344;border-radius:12px;color:#c9e0e9;background:#ffffff06;font:inherit;font-size:12px;cursor:pointer;transition:background .2s,transform .2s}.system-rail20 small{font-size:9px;opacity:.55;font-variant-numeric:tabular-nums}.system-rail20 b{color:#79c4dc}.system-rail20 button[aria-pressed=true]{color:#102e3f;background:#e2f0f5;border-color:#e2f0f5;box-shadow:0 4px 20px #0002}.system-rail20 button:hover{transform:translateY(-2px)}.studio18-toolbar{display:block;background:#eff4f5;min-height:0}.studio18-toolbar>label[hidden]{display:none!important}.studio18-brandlist{display:flex;gap:24px;align-items:center;padding:18px 25px}.studio18-brandlist>small{margin:0;flex:none}.studio18-brandlist>div{gap:12px;flex:1}.studio18-brandlist button{min-width:100px;padding:12px 18px;border-radius:12px;background:#fff8;border:1px solid #dce6eb;transition:box-shadow .2s,transform .2s}.studio18-brandlist button[aria-pressed=true]{background:#fff;border-color:#3a809b;box-shadow:0 5px 16px #173e5216;transform:translateY(-2px)}.studio18-family{background:#f8fafb;padding:18px 25px;gap:24px}.studio18-family button{border:1px solid transparent;padding:9px 15px}.studio18-family button[aria-pressed=true]{background:#1b536b;box-shadow:0 4px 10px #1b536b20}.studio18-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);min-height:540px}.studio18-photograph{background:radial-gradient(ellipse at 50% 45%,#fff 5%,#edf4f6 70%);padding:28px;isolation:isolate;overflow:hidden}.studio18-photograph::before{content:'';position:absolute;width:350px;height:350px;border:1px solid #c0d5df60;border-radius:50%;left:calc(50% - 175px);top:calc(50% - 160px);box-shadow:0 0 0 55px #c6dce51a,0 0 0 110px #c6dce511;pointer-events:none;z-index:-1}.product-zoom{background:transparent;min-height:370px}.product-zoom img{height:350px;mix-blend-mode:multiply;filter:drop-shadow(0 25px 16px #102d3b22);max-width:100%;object-fit:contain}.studio18-photograph .photograph-label{margin:18px 0 0}.photograph-label .brand18 img{height:32px;width:112px}.photograph-label .brand18.kidde18 img{height:55px;margin-bottom:-24px}.edition20{font-size:8px!important;font-weight:400!important;letter-spacing:.1em}.view-switch19{background:#ffffffa6;border-color:#ccdde5;border-radius:40px;padding:7px 12px}.studio18-information{background:#fff;padding:40px}.studio18-information h2{font-size:clamp(30px,3vw,47px);line-height:1.2;margin:20px 0}.studio18-information>p{font-size:14px;line-height:1.9}.studio18-information dl{display:grid;gap:8px;margin:25px 0}.studio18-information dl>div{border:0;border-inline-start:2px solid #9ac9da;padding:12px 15px;background:#f1f6f8;border-radius:0 8px 8px 0}.studio18-information dd{font-size:11px}.studio18-actions .button{border-radius:40px;padding:14px 22px}.studio18-thumbnails{padding:12px;gap:8px;background:#eff4f5;border-top:1px solid #dce5e9}.studio18-thumbnails button{border:1px solid #dce6ea;border-radius:12px;background:#fff;padding:12px;transition:border-color .2s}.studio18-thumbnails button[aria-pressed=true]{border-color:#377c97;background:#e3eef3}.studio18-thumbnails img{height:55px;width:45px}.product-model19{border-radius:16px;overflow:hidden}
.solution-explorer20{border-radius:24px;overflow:hidden;background:#102f40;border:1px solid #315365;box-shadow:0 25px 70px #122e4317}.solution-index20{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px;gap:6px;border-bottom:1px solid #7893a233}.solution-index20 button,.building-index20 button{font:inherit;cursor:pointer;display:flex;align-items:center;gap:14px;text-align:start;border:1px solid transparent;border-radius:10px;padding:17px 14px;background:transparent;color:#c2d8e3;font-size:13px;transition:background .2s,color .2s}.solution-index20 small,.building-index20 small{font-size:9px;opacity:.55;direction:ltr}.solution-index20 b,.building-index20 b{margin-inline-start:auto;color:#80b9cc}.solution-index20 button[aria-pressed=true]{background:#e9f3f6;color:#123a4f}.solution-index20 button:hover{background:#ffffff12}.solution-index20 button[aria-pressed=true]:hover{background:#fff}.solution-stage20{display:grid;grid-template-columns:1.1fr 1fr;min-height:570px}.solution-visual20{position:relative;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 48%,#fff,#edf3f5 65%);animation:reveal20 .45s both}.solution-visual20::before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;border:1px solid #87b4c544;box-shadow:0 0 0 50px #9ab7c015,0 0 0 100px #9ab7c009;z-index:-1}.stage-number20{position:absolute;top:10px;inset-inline-end:25px;font-size:120px;font-weight:700;line-height:1;color:#1a567709;direction:ltr}.stage-kicker20{position:absolute;top:25px;inset-inline-start:25px;font-size:9px;letter-spacing:.12em;color:#4b7489}.solution-product20{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:20px;padding:35px 10px 20px}.solution-product20>img{height:285px;width:100%;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 18px 13px #173b5125);transition:transform .6s}.solution-product20:hover>img{transform:translateY(-8px) scale(1.03)}.solution-product20>span{font-size:12px;color:#20485c;text-align:center}.solution-product20 b{margin-inline-start:12px}.solution-related20{display:flex;gap:12px;justify-content:center}.solution-related20 a{width:75px;height:73px;background:white;border:1px solid #d9e5ea;border-radius:12px;padding:10px;transition:transform .2s}.solution-related20 a:hover{transform:translateY(-4px)}.solution-related20 img{width:100%;height:100%;object-fit:contain}.solution-copy20{padding:45px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;animation:reveal20 .4s both}.solution-copy20 .eyebrow{color:#86c5d9;font-size:10px}.solution-copy20 h2{color:white;font-size:clamp(30px,3vw,44px);line-height:1.4;margin:20px 0}.solution-copy20 p{color:#b9d0dc;font-size:15px;line-height:1.9;margin:0}.solution-brands20{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.solution-brands20 .brand18{background:#fff;border-radius:8px;padding:10px;width:100px;min-height:62px}.solution-brands20 img{height:30px}.solution-brands20 .kidde18 img{height:45px;margin-bottom:-19px}.solution-brands20 .brand18:has(img[src*=sffeco]) img{height:45px}.solution-copy20 .button{border-radius:40px;background:#dbedf4;color:#14394c;padding:15px 25px}.solution-copy20 .text-link{color:#c9e4ef;margin-top:20px;font-size:12px}
.building-explorer20{background:#fff;border:1px solid #d1e0e7;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px #14394f0c}.building-index20{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px;gap:6px;border-bottom:1px solid #d6e4eb;background:#f1f6f8}.building-index20 button{color:#4b6d81;font-size:12px;padding:14px}.building-index20 button[aria-pressed=true]{background:#173e52;color:white;box-shadow:0 5px 14px #163e5220}.building-index20 button:hover{border-color:#80acbf}.building-body20{display:grid;grid-template-columns:1.2fr 1fr}.building-visual20{position:relative;background:radial-gradient(at 60% 40%,#3f6b7d,#143747);min-height:520px;overflow:hidden;isolation:isolate}.building-visual20:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#14374780,transparent 25%);z-index:1}.building-stage20{position:absolute;inset:0}.building-stage20 canvas{width:100%;height:100%;display:block}.building-badge20{position:absolute;top:28px;inset-inline-start:25px;letter-spacing:.1em;font-size:9px;color:#c3e6f1;z-index:2}.building-reset20{position:absolute;bottom:22px;inset-inline-end:22px;z-index:2;border:1px solid #aacbdc66;border-radius:30px;background:#113748b3;color:#e8f6fb;padding:10px 15px;cursor:pointer;font-size:11px}.building-hint20{position:absolute;bottom:30px;inset-inline-start:22px;color:#bad4e1;z-index:2;font-size:10px}.building-copy20{padding:38px;animation:reveal20 .4s both}.building-copy20 .eyebrow{font-size:9px}.building-copy20 h3{font-size:32px;line-height:1.5;margin:15px 0;color:#173e52}.building-copy20>p{font-size:13px;line-height:1.9;color:#617e8e}.building-spaces20{display:grid;gap:8px;margin:24px 0}.building-spaces20 a{display:flex;align-items:center;gap:14px;padding:12px 15px;border:1px solid #dce7ec;border-radius:10px;font-size:12px;transition:background .2s,transform .2s}.building-spaces20 a:hover{background:#edf5f8;transform:translateY(-2px)}.building-spaces20 small{font-size:9px;color:#73a0b4}.building-spaces20 b{margin-inline-start:auto;color:#2b7695}.building-copy20>.button{border-radius:40px;font-size:12px;padding:14px 22px}.building-copy20>.text-link{display:block;width:fit-content;margin-top:20px;font-size:12px}.atlas-invitation .section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.atlas-invitation .section-head p{max-width:370px}.atlas-invitation .section-head h2{font-size:44px}.system-rail20 button:focus-visible,.solution-index20 button:focus-visible,.building-index20 button:focus-visible{outline:3px solid #e1ae66;outline-offset:-3px}
@keyframes reveal20{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.solution-index20{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-copy20{padding:30px}.solution-copy20 h2{font-size:30px}.solution-visual20{padding:25px}.building-body20{grid-template-columns:1fr}.building-visual20{min-height:440px}.building-index20{grid-template-columns:repeat(3,minmax(0,1fr))}.building-copy20{padding:30px}.studio18-brandlist{display:block}.studio18-brandlist>small{margin-bottom:12px}.studio18-information{padding:28px}.studio18-information h2{font-size:32px}.studio18-photograph{padding:20px}.studio18-body{grid-template-columns:1fr 1fr}.product-zoom img{height:310px}}
@media(max-width:600px){.system-rail20{order:-2;padding:12px;gap:6px}.system-rail20 button{font-size:11px;padding:12px 15px;gap:10px}.product-studio{border-radius:16px}.studio18-toolbar{order:-1}.studio18-brandlist{padding:15px}.studio18-brandlist>div{display:flex;flex-wrap:nowrap;overflow:auto;gap:8px;padding:4px 0 8px;scrollbar-width:thin}.studio18-brandlist button{flex:none;min-width:88px;padding:10px}.studio18-brandlist .brand18 img{width:70px}.studio18-body{display:contents}.studio18-photograph{order:0;padding:18px}.studio18-family{order:1;padding:15px}.studio18-information{order:2;padding:24px}.studio18-thumbnails{order:3}.product-zoom img,.studio18-photograph .product-zoom img{height:270px}.studio18-photograph .product-zoom{min-height:300px}.photograph-label .edition20{max-width:110px;line-height:1.8;text-align:end}.studio18-information h2{font-size:33px}.studio18-information dl>div{grid-template-columns:1fr}.solution-stage20{grid-template-columns:1fr}.solution-index20{padding:8px;gap:4px}.solution-index20 button{padding:12px 9px;gap:8px;font-size:11px;line-height:1.6}.solution-visual20{padding:35px 20px 25px}.solution-product20>img{height:240px}.solution-copy20{padding:28px}.solution-copy20 h2{font-size:30px}.solution-copy20 p{font-size:13px}.solution-brands20{gap:8px}.solution-brands20 .brand18{width:85px;padding:8px}.solution-explorer20,.building-explorer20{border-radius:16px}.building-index20{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:4px}.building-index20 button{font-size:10px;padding:12px 8px;gap:7px;line-height:1.7}.building-visual20{min-height:360px}.building-copy20{padding:25px}.building-copy20 h3{font-size:27px}.building-badge20{font-size:8px;top:20px;inset-inline-start:18px}.building-hint20{font-size:8px;max-width:150px}.building-reset20{font-size:10px;inset-inline-end:15px}.atlas-invitation .section-head{display:block}.atlas-invitation .section-head h2{font-size:34px}.atlas-invitation .section-head p{font-size:14px}.solution-related20 a{width:67px;height:65px}}
@media(prefers-reduced-motion:reduce){.solution-visual20,.solution-copy20,.building-copy20{animation:none}.system-rail20 button,.product-zoom img,.solution-product20>img,.building-spaces20 a{transition:none}}
@media(max-width:1000px){.solution-index20{grid-template-columns:none;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:215px;overflow:auto;scrollbar-width:thin;scrollbar-color:#7094a5 #102f40}.solution-index20 button{min-height:55px}}@media(max-width:600px){.solution-index20{grid-auto-columns:185px}}
.building-systems20{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.building-systems20 a{font-size:10px;padding:7px 11px;border-radius:20px;background:#eaf3f7;color:#326a83}.building-systems20 a>span{display:none}
/* Optical brand sizing and contrast on every technology surface. */
.solution-brands20{display:grid;grid-template-columns:repeat(3,minmax(0,140px));gap:12px;width:100%;align-items:center}
.solution-brands20 .brand18{width:100%;height:76px;min-height:76px;padding:14px;border:1px solid #ffffff22;border-radius:10px;box-sizing:border-box;gap:7px}
.solution-brands20 .brand18 img{width:112px;max-width:100%;height:34px;object-fit:contain}
.solution-brands20 .brand18.kidde18 img{height:48px;margin-bottom:-21px}
.solution-brands20 .brand18:has(img[src*=sffeco]) img{height:49px;width:75px}
.brand18:has(img[src*=sensitron]){background:#123e4e!important;border:1px solid #356272;border-radius:9px;padding:10px 12px;box-sizing:border-box}
.brand18:has(img[src*=sensitron]) img{width:120px;max-width:100%;height:38px;object-fit:contain}
.studio18-brandlist button:has(img[src*=sensitron]),.directory-brands button:has(img[src*=sensitron]){padding:7px}
.photograph-label .brand18:has(img[src*=sensitron]){min-width:135px}
.solution-brands20 .brand18:has(img[src*=ap-sensing]) img{height:25px}
@media(max-width:600px){.solution-brands20{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.solution-brands20 .brand18{height:74px;min-height:74px}.solution-brands20 .brand18 img{max-width:112px}}
.solution-brands20{grid-template-columns:repeat(auto-fit,minmax(120px,140px))}.solution-brands20 .brand18:has(img[src*=sensitron]){padding:12px}.solution-brands20 .brand18:has(img[src*=sensitron]) img{width:116px;height:42px}@media(max-width:600px){.solution-brands20{grid-template-columns:repeat(2,minmax(0,1fr))}}
