@font-face{font-family:plexSans;src:url(../media/ibm_plex_sans_latin_400_normal-s.p.1xf5nwxyfigak.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexSans;src:url(../media/ibm_plex_sans_latin_500_normal-s.p.2i4a1iuj6lbvw.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexSans;src:url(../media/ibm_plex_sans_latin_600_normal-s.p.2ovda_azncp9b.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:plexSans Fallback;src:local(Arial);ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.0%;size-adjust:101.13%}.plexsans_f4acfece-module__Xm6GhG__className{font-family:plexSans,plexSans Fallback}.plexsans_f4acfece-module__Xm6GhG__variable{--font-sans:"plexSans", "plexSans Fallback"}
:root{--brand:#fe0000;--brand-ink:#b80000;--ink:#2b2b2b;--muted:#5f5f5f;--rule:#d9d9d9;--paper:#f6f6f4;--surface:#fff;--container:1080px;--gutter:24px;--section-gap:72px;--measure:68ch}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--surface);color:var(--ink);font-family:var(--font-sans), "Helvetica Neue", Arial, sans-serif;font-feature-settings:"kern";margin:0;font-size:17px;line-height:1.6}a{color:var(--brand-ink);text-underline-offset:3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}a:hover{text-decoration-color:currentColor}a:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.logo,.navigation-list a,.index__title a,.emergency__phone{text-decoration:none}img{max-width:100%;height:auto;display:block}p,ul,ol,dl,address,blockquote,figure{margin:0}address{font-style:normal}h1,h2,h3{overflow-wrap:anywhere;margin:0;line-height:1.2}h1,h2{letter-spacing:-.02em;font-weight:600}h1{font-size:clamp(30px,4vw,40px);line-height:1.15}h2{font-size:clamp(22px,2.8vw,26px)}h3{letter-spacing:-.01em;font-size:19px;font-weight:600}li{overflow-wrap:anywhere}.container{width:min(100%, calc(var(--container) + 2 * var(--gutter)));padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plus-mark{color:var(--brand);vertical-align:-2px;display:inline-flex}.site-header{z-index:10;border-top:4px solid var(--brand);border-bottom:1px solid var(--rule);background:var(--surface);position:relative}.header-inner{justify-content:space-between;align-items:stretch;gap:32px;min-height:84px;display:flex}.logo{flex:0 260px;align-items:center;padding-block:16px;display:flex}.logo img{width:100%;max-width:260px}.desktop-navigation{display:flex}.navigation-list{gap:4px;margin:0;padding:0;list-style:none;display:flex}.navigation-list>li{display:flex;position:relative}.navigation-list>li>a{color:var(--ink);letter-spacing:.005em;align-items:center;gap:7px;padding:0 12px;font-size:15px;font-weight:500;display:inline-flex;position:relative}.navigation-list>li:last-child>a{padding-right:0}.navigation-list>li>a:after{content:"";background:var(--brand);transform-origin:100%;height:2px;position:absolute;bottom:-1px;left:12px;right:12px;transform:scaleX(0)}.navigation-list>li:last-child>a:after{right:0}.navigation-list>li:hover>a:after,.navigation-list>li:focus-within>a:after{transform-origin:0;transform:scaleX(1)}.navigation-list>li>a[aria-current=page]:after,.navigation-list>li>a[data-section]:after{background:var(--ink);transform:scaleX(1)}.navigation-list>li:hover>a[aria-current=page]:after,.navigation-list>li:hover>a[data-section]:after{background:var(--brand)}.navigation-list a:focus-visible{outline-offset:-3px}.chevron{color:var(--muted)}.has-children:hover>a .chevron,.has-children:focus-within>a .chevron{color:var(--ink);transform:rotate(180deg)}.submenu{z-index:20;background:var(--surface);border:1px solid var(--rule);opacity:0;visibility:hidden;border-top:0;min-width:280px;margin:1px 0 0;padding:10px 0;list-style:none;position:absolute;top:100%;left:0;transform:translateY(-6px)}.navigation-list>li:nth-last-child(-n+2)>.submenu{left:auto;right:0}.submenu:before{content:"";background:var(--brand);transform-origin:0;height:2px;position:absolute;top:-1px;left:-1px;right:-1px;transform:scaleX(0)}.has-children:hover>.submenu,.has-children:focus-within>.submenu{opacity:1;visibility:visible;transition-delay:0s;transform:none}.has-children:hover>.submenu:before,.has-children:focus-within>.submenu:before{transform:scaleX(1)}.submenu a{color:var(--ink);min-height:44px;padding:10px 20px 10px 40px;font-size:15px;display:block;position:relative}.submenu a:before{content:"→";color:var(--brand);opacity:0;position:absolute;left:20px;transform:translate(-6px)}.submenu a:hover,.submenu a:focus-visible,.submenu a[aria-current=page]{color:var(--brand-ink)}.submenu a:hover:before,.submenu a:focus-visible:before,.submenu a[aria-current=page]:before{opacity:1;transform:none}.mobile-navigation{display:none}.menu-icon{gap:4px;display:inline-grid}.menu-icon span{background:currentColor;width:18px;height:2px;display:block}.mobile-navigation[open] .menu-icon span:first-child{transform:translateY(6px)rotate(45deg)}.mobile-navigation[open] .menu-icon span:nth-child(2){opacity:0}.mobile-navigation[open] .menu-icon span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.menu-label--open,.mobile-navigation[open] .menu-label--closed{display:none}.mobile-navigation[open] .menu-label--open{display:inline}.page{padding-block:48px 96px}.page>*+*{margin-top:var(--section-gap)}.page-head+*{margin-top:48px}.page-head{max-width:var(--measure)}.eyebrow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:14px;font-weight:500}.breadcrumbs{color:var(--muted);margin-top:16px;font-size:14px}.breadcrumbs ol{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--rule);margin-right:8px}.breadcrumbs a{color:var(--muted)}.back-link{border-top:1px solid var(--rule);padding-top:24px;font-size:15px}.back-link a{display:inline-block}.back-link a:before{content:"←";margin-right:6px;display:inline-block}.back-link a:hover:before{transform:translate(-3px)}.lead{max-width:var(--measure)}.lead p{font-size:20px;line-height:1.55}.lead p+p{margin-top:16px}.lead__heading{margin-bottom:20px}.page--home .lead__heading{letter-spacing:-.025em;max-width:18ch;font-size:clamp(34px,5vw,50px);line-height:1.1}.page--home .lead p:first-of-type{font-size:22px}.prose{max-width:var(--measure)}.prose h2{margin-bottom:16px}.prose p+p{margin-top:16px}.columns__col>.prose+.prose{margin-top:40px}.list{max-width:var(--measure)}.list h2{margin-bottom:20px}.list ul,.list ol{padding-left:22px}.list li+li{margin-top:8px}.list--process ol{padding:0;list-style:none}.list--process li{border-top:1px solid var(--rule);grid-template-columns:48px 1fr;align-items:baseline;margin:0;padding:14px 0;display:grid}.list--process li:last-child{border-bottom:1px solid var(--rule)}.list__number{font-family:var(--font-sans);color:var(--brand-ink);letter-spacing:.04em;font-size:14px;font-weight:600;display:inline-block}.index__list{border-top:1px solid var(--rule);padding:0;list-style:none}.index__entry{border-bottom:1px solid var(--rule);grid-template-columns:1fr 2fr;gap:24px 48px;padding:32px 0;display:grid}.index__title{font-size:clamp(22px,2.8vw,26px)}.index__title a{color:var(--ink);position:relative}.index__title a:after{content:"";background:var(--brand);transform-origin:100%;height:2px;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.index__title a:hover{color:var(--brand-ink)}.index__title a:hover:after{transform-origin:0;transform:scaleX(1)}.index__body{max-width:60ch}.index__children{flex-wrap:wrap;gap:8px 24px;margin-top:12px;padding:0;font-size:15px;list-style:none;display:flex}.index__children a{display:inline-block}.index__children a:before{content:"→";color:var(--brand);margin-right:6px;display:inline-block}.index__children a:hover:before{transform:translate(3px)}.checklist h2{margin-bottom:8px}.checklist__group{margin-top:40px}.checklist__group h3{border-bottom:2px solid var(--ink);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:12px;padding-bottom:12px;font-size:15px;display:flex}.checklist ol{padding:0;list-style:none}.checklist li{border-bottom:1px solid var(--rule);grid-template-columns:64px 1fr;padding:20px 0;display:grid}.checklist__number{font-family:var(--font-sans);color:var(--brand-ink);font-size:28px;font-weight:600;line-height:1}.checklist__item{max-width:var(--measure)}.checklist__question{font-weight:600}.checklist__answer{color:var(--muted);margin-top:6px;font-size:16px}.brands h2{margin-bottom:20px}.brands__group+.brands__group{margin-top:24px}.brands__label{color:var(--muted);font-size:15px}.brands__list{flex-wrap:wrap;align-items:center;gap:12px 32px;margin-top:8px;padding:0;list-style:none;display:flex}.brand-mark{letter-spacing:.02em;font-size:22px;font-weight:600}.brand-mark--logo{width:auto;height:28px}.aside{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);padding:20px 0;font-size:15px}.aside dl{gap:12px;display:grid}.aside dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:13px}.aside dd{margin:2px 0 0}.aside .brand-mark{font-size:20px}.emergency{max-width:var(--measure);border-top:4px solid var(--brand);border-bottom:1px solid var(--rule);padding:32px 0}.emergency h2{margin-bottom:8px}.emergency__label{color:var(--muted)}.emergency__phone{font-family:var(--font-sans);letter-spacing:.01em;color:var(--brand-ink);margin:8px 0 20px;font-size:clamp(32px,6vw,48px);font-weight:600;line-height:1;display:inline-block;position:relative}.emergency__phone:after{content:"";background:var(--brand);transform-origin:100%;height:3px;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.emergency__phone:hover{color:var(--brand)}.emergency__phone:hover:after{transform-origin:0;transform:scaleX(1)}.contact-wrap{max-width:var(--measure)}.contact{background:var(--paper);padding:32px}.contact h2{margin-bottom:12px}.contact p+p{margin-top:12px}.contact__fields{gap:16px;margin-top:20px;display:grid}.contact__fields>:first-child{margin-top:0}.contact__line{grid-template-columns:96px 1fr;gap:12px;display:grid}.contact__term{color:var(--muted);font-size:15px}.contact__line--emergency a{font-size:20px;font-weight:600}.hours{gap:8px;display:grid}.hours__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hours dt{color:var(--muted)}.hours dd{margin:0}.hours dd span{display:block}.contact .hours__row{grid-template-columns:160px 1fr}.quote{border-left:2px solid var(--brand);letter-spacing:-.01em;max-width:30ch;padding-left:20px;font-size:23px;font-weight:500;line-height:1.4}.quote__rule{background:var(--brand);width:2px;position:absolute;top:0;bottom:0;left:-2px}.note{max-width:var(--measure);align-items:baseline;gap:12px;font-size:19px;display:flex}.cross-link{max-width:var(--measure);border-top:1px solid var(--rule);padding-top:20px}.cross-link__label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:14px;display:block}.figure{max-width:min(100%,360px)}.figure figcaption,.photo figcaption{color:var(--muted);margin-top:8px;font-size:14px}.columns{align-items:start;gap:48px;display:grid}.columns--even{grid-template-columns:1fr 1fr}.columns--wide{grid-template-columns:2fr 1fr}.columns--lead{grid-template-columns:3fr 2fr;gap:64px}.columns--lead .columns__col:last-child{padding-top:12px}.columns__col>*+*{margin-top:40px}.columns--wide .columns__col:last-child h2{font-size:20px}.columns--wide .columns__col:last-child .contact{padding:24px}.columns--wide .columns__col:last-child .contact .hours__row{grid-template-columns:1fr;gap:2px}.legal-section{max-width:var(--measure)}.legal-meta{color:var(--muted);margin-bottom:24px;font-size:15px}.legal-toc{border-block:1px solid var(--rule);margin-bottom:40px;padding:20px 0;font-size:15px}.legal-toc ol{padding-left:20px}.legal-toc li+li{margin-top:4px}.legal{font-size:16px;line-height:1.65}.legal h2{margin:40px 0 12px;font-size:20px}.legal h2:first-child{margin-top:0}.legal h3{margin:28px 0 8px;font-size:17px}.legal p+p{margin-top:12px}.legal a{overflow-wrap:anywhere}.not-found__links{gap:12px;padding:0;font-size:19px;list-style:none;display:grid}.site-footer{background:var(--ink);color:#f2f2f2;margin-top:48px;font-size:15px}.site-footer a{color:#fff}.footer-inner{grid-template-columns:repeat(3,1fr);gap:40px;padding-block:48px 32px;display:grid}.footer-heading{margin-bottom:12px;font-weight:600}.footer-col p+p,.footer-col address+p{margin-top:12px}.footer-col ul{gap:8px;padding:0;list-style:none;display:grid}.footer-col .hours dt{color:#bdbdbd}.footer-line{color:#bdbdbd;border-top:1px solid #4a4a4a;grid-column:1/-1;padding-top:24px;font-size:14px}@media (max-width:900px){.header-inner{gap:16px;min-height:68px}.logo{flex-basis:200px;padding-block:12px}.logo img{max-width:200px}.desktop-navigation{display:none}.mobile-navigation{align-items:center;display:flex}.mobile-navigation summary{cursor:pointer;min-height:44px;color:var(--ink);align-items:center;gap:10px;padding:8px 0 8px 12px;font-size:15px;font-weight:500;list-style:none;display:inline-flex}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation nav{z-index:30;background:var(--surface);border-bottom:1px solid var(--rule);margin-top:1px;position:absolute;top:100%;left:0;right:0}.mobile-navigation nav:before{content:"";background:var(--brand);height:2px;position:absolute;top:-1px;left:0;right:0}.mobile-navigation .navigation-list{padding:4px 0 8px;display:block}.mobile-navigation .navigation-list>li{border-top:1px solid var(--rule);display:block}.mobile-navigation .navigation-list>li:first-child{border-top:0}.mobile-navigation .navigation-list>li>a{min-height:52px;padding:14px 0;font-size:17px;font-weight:600;display:flex}.mobile-navigation .navigation-list>li>a:after{display:none}.mobile-navigation .navigation-list a[aria-current=page]{color:var(--brand-ink)}.mobile-navigation .chevron{display:none}.mobile-navigation .submenu{border:0;border-left:2px solid var(--rule);opacity:1;visibility:visible;min-width:0;margin:0 0 12px;padding:0;position:static;transform:none}.mobile-navigation .submenu:before{display:none}.mobile-navigation .submenu a{min-height:44px;padding:10px 0 10px 18px;font-size:16px}.mobile-navigation .submenu a:before{display:none}.menu-contact{border-top:1px solid var(--rule);color:var(--muted);padding:16px 0 20px;font-size:15px}.columns--even,.columns--wide,.columns--lead{grid-template-columns:1fr;gap:40px}.columns--lead .columns__col:last-child{padding-top:0}.columns--aside-first .columns__col:last-child{order:-1}.index__entry{grid-template-columns:1fr;gap:12px;padding:24px 0}.footer-inner{grid-template-columns:1fr 1fr}}@media (max-width:640px){:root{--gutter:16px;--section-gap:48px}body{font-size:16px}.page{padding-block:32px 64px}.logo{flex-basis:180px}.logo img{max-width:180px}.lead p{font-size:18px}.page--home .lead p:first-of-type{font-size:19px}.list--process li{grid-template-columns:40px 1fr}.checklist li{display:block}.checklist__number{margin-bottom:6px;font-size:22px;display:block}.contact{padding:24px 20px}.contact__line,.contact .hours__row{grid-template-columns:1fr;gap:2px}.quote{font-size:21px}.footer-inner{grid-template-columns:1fr;gap:32px}}
:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.22s;--dur:.6s;--dur-slow:.9s;--stagger:70ms}.has-rule{position:relative}.rule{background:var(--rule);pointer-events:none;height:1px;position:absolute;left:0;right:0}.rule--top{top:-1px}.rule--bottom{bottom:-1px}.rule--ink{background:var(--ink);height:2px;top:auto;bottom:-2px}.rule--brand{background:var(--brand);height:4px;top:-4px}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){[data-reveal] [data-motion]{opacity:1;clip-path:inset(0);transition-property:opacity,transform,clip-path,letter-spacing;transition-duration:var(--dur), var(--dur-slow), .8s, var(--dur-slow);transition-timing-function:var(--ease-out);transition-delay:calc(var(--i,0) * var(--stagger) + var(--offset,0s));transform:none}[data-reveal] [data-motion=draw],[data-reveal] [data-motion=grow]{transition-duration:var(--dur)}[data-reveal] [data-motion=number]{transition-duration:.5s}[data-reveal]:not(.is-in) [data-motion]{opacity:0;animation:1ms 4s forwards motion-safety}[data-reveal]:not(.is-in) [data-motion=rise]{transform:translateY(14px)}[data-reveal]:not(.is-in) [data-motion=slide]{transform:translate(-16px)}[data-reveal]:not(.is-in) [data-motion=number]{transform:translateY(.35em)}[data-reveal]:not(.is-in) [data-motion=draw]{opacity:1;transform-origin:0;transform:scaleX(0)}[data-reveal]:not(.is-in) [data-motion=grow]{opacity:1;transform-origin:top;transform:scaleY(0)}[data-reveal]:not(.is-in) [data-motion=sheet]{opacity:1;clip-path:inset(0 100% 0 0)}[data-reveal]:not(.is-in) [data-motion=stroke]{opacity:1}[data-reveal]:not(.is-in) .brand-mark[data-motion=number]{letter-spacing:.12em}[data-motion=ready] [data-reveal]:not(.is-in) [data-motion]{animation:none}[data-reveal].has-rule,[data-reveal] .has-rule{border-color:#0000}.index{--stagger:90ms}.list--process{--stagger:80ms}.checklist{--stagger:50ms}.brands,.contact-wrap{--stagger:60ms}[data-reveal] .plus-mark[data-motion=stroke] :is(path,rect){stroke-dasharray:60;stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-slow) var(--ease-out) calc(var(--i,0) * var(--stagger))}[data-reveal]:not(.is-in) .plus-mark[data-motion=stroke] :is(path,rect){stroke-dashoffset:60px}.site-header{border-top-color:#0000}.site-header:before{content:"";background:var(--brand);transform-origin:0;height:4px;animation:draw-x var(--dur) var(--ease-out) forwards;position:absolute;inset:-4px 0 auto;transform:scaleX(0)}.header-inner>*{animation:rise var(--dur-slow) var(--ease-out) .15s backwards}.header-inner>.desktop-navigation,.header-inner>.mobile-navigation{animation-delay:.26s}.navigation-list>li>a:after,.chevron{transition:transform var(--dur-fast) var(--ease-out)}.submenu{transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), visibility 0s linear .12s}.submenu:before{transition:transform var(--dur-fast) var(--ease-out) 40ms}.submenu li{opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);transform:translateY(-4px)}.has-children:hover>.submenu li,.has-children:focus-within>.submenu li{opacity:1;transition-delay:calc(var(--i,0) * 30ms + 60ms);transform:none}.submenu a:before{transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.mobile-navigation[open] nav{animation:menu-panel .24s var(--ease-out) backwards}.mobile-navigation[open] .navigation-list>li,.mobile-navigation[open] .menu-contact{animation:rise var(--dur) var(--ease-out) backwards;animation-delay:calc(var(--i,4) * 35ms + 60ms)}.menu-icon span{transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out)}a{transition:color var(--dur-fast) var(--ease-out), text-decoration-color var(--dur-fast) var(--ease-out)}a:focus-visible,summary:focus-visible{transition:outline-offset .12s var(--ease-out)}.index__children a:before,.back-link a:before,.index__title a:after,.emergency__phone:after{transition:transform var(--dur-fast) var(--ease-out)}.brand-mark{transition:color var(--dur-fast) var(--ease-out), letter-spacing var(--dur-slow) var(--ease-out)}}@media (max-width:900px){.submenu li{opacity:1;transform:none}}@keyframes motion-safety{to{opacity:1;clip-path:inset(0);transform:none}}@keyframes draw-x{to{transform:scaleX(1)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes menu-panel{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.visual{max-width:720px}.visual svg{width:100%;height:auto;display:block}.visual text{font-family:var(--font-sans), "Helvetica Neue", Arial, sans-serif;fill:var(--ink)}.visual .t-muted{fill:var(--muted)}.visual .t-brand{fill:var(--brand-ink)}.visual figcaption{color:var(--muted);margin-top:12px;font-size:14px}.visual--lockingPlan{max-width:520px}.visual--keyDeactivation{max-width:300px}.visual--doorAnatomy{max-width:420px}.visual--cylinder{max-width:640px}.visual--cylinder text{font-size:12px}.visual text{font-size:13px}@media (max-width:640px){.cyl__labels{display:none}}.cyl__face-plug{transform-box:fill-box;transform-origin:50%;transform:rotate(30deg)}.kd__row--lost .kd__key{stroke:var(--muted)}.kd__row--lost>text:not(.kd__lost){fill:var(--muted)}.kd__row--lost .kd__link{opacity:.25}@media (hover:hover){.lp__row{transition:opacity .2s var(--ease-out)}.locking-plan:hover .lp__row{opacity:.35}.locking-plan .lp__row:hover{opacity:1}.lp__row:hover .lp__label{fill:var(--brand-ink)}.da__part{transition:stroke .2s var(--ease-out)}.da__label{transition:fill .2s var(--ease-out)}.da__callout:hover .da__part{stroke:var(--brand-ink)}.da__callout:hover .da__label{fill:var(--brand-ink)}}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.lp__mark{transform-box:fill-box;transform-origin:50%;transition:transform .5s var(--ease-out) var(--d,0s), opacity .3s var(--ease-out) var(--d,0s)}[data-reveal]:not(.is-in) .lp__mark{opacity:0;transform:scale(.4)}.cyl__outline{stroke-dasharray:1;transition:stroke-dashoffset var(--dur-slow) var(--ease-out), fill-opacity .4s var(--ease-out) .5s}[data-reveal]:not(.is-in) .cyl__outline{stroke-dashoffset:1px}[data-reveal]:not(.is-in) .cyl__fill{fill-opacity:0}.cyl__shear{transition:opacity .3s var(--ease-out) .5s}[data-reveal]:not(.is-in) .cyl__shear{opacity:0}.cyl__key{transition:transform .9s var(--ease-in-out) .7s}[data-reveal]:not(.is-in) .cyl__key{transform:translate(-180px)}.cyl__stack{transition:transform .32s var(--ease-out) calc(1.5s + var(--i,0) * 80ms)}[data-reveal]:not(.is-in) .cyl__stack{transform:translateY(var(--rest))}.cyl__face-plug{transition:transform .6s var(--ease-in-out) 2s}[data-reveal]:not(.is-in) .cyl__face-plug{transform:rotate(0)}.cyl__labels{transition:opacity .5s var(--ease-out) 2.3s}[data-reveal]:not(.is-in) .cyl__labels{opacity:0}.kd__door{transition:opacity .5s var(--ease-out)}[data-reveal]:not(.is-in) .kd__door{opacity:0}.kd__row .kd__key,.kd__row>text:not(.kd__lost){transition:opacity .5s var(--ease-out) calc(.3s + var(--i,0) * .12s), transform .6s var(--ease-out) calc(.3s + var(--i,0) * .12s), stroke .4s var(--ease-out) 1.8s, fill .4s var(--ease-out) 1.8s}[data-reveal]:not(.is-in) .kd__row .kd__key,[data-reveal]:not(.is-in) .kd__row>text:not(.kd__lost){opacity:0;transform:translate(8px)}[data-reveal]:not(.is-in) .kd__row--lost .kd__key{stroke:var(--ink)}[data-reveal]:not(.is-in) .kd__row--lost>text:not(.kd__lost){fill:var(--ink)}.kd__link{stroke-dasharray:1;transition:stroke-dashoffset .7s var(--ease-out) calc(.8s + var(--i,0) * .12s), opacity .4s var(--ease-out) 2s}[data-reveal]:not(.is-in) .kd__link{stroke-dashoffset:1px;opacity:1}.kd__strike{stroke-dasharray:1;transition:stroke-dashoffset .4s var(--ease-out) 1.7s}[data-reveal]:not(.is-in) .kd__strike{stroke-dashoffset:1px}.kd__lost{transition:opacity .4s var(--ease-out) 2.1s}[data-reveal]:not(.is-in) .kd__lost{opacity:0}.da__line{stroke-dasharray:1;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}[data-reveal]:not(.is-in) .da__line{stroke-dashoffset:1px}.da__wall{transition:opacity .5s var(--ease-out) .6s}[data-reveal]:not(.is-in) .da__wall{opacity:0}.da__part{transition:opacity .4s var(--ease-out) calc(.9s + var(--i,0) * .16s), stroke .2s var(--ease-out)}[data-reveal]:not(.is-in) .da__part{opacity:0}.da__leader{stroke-dasharray:1;transition:stroke-dashoffset .5s var(--ease-out) calc(1s + var(--i,0) * .16s)}[data-reveal]:not(.is-in) .da__leader{stroke-dashoffset:1px}.da__label{transition:opacity .4s var(--ease-out) calc(1.2s + var(--i,0) * .16s), transform .5s var(--ease-out) calc(1.2s + var(--i,0) * .16s), fill .2s var(--ease-out)}[data-reveal]:not(.is-in) .da__label{opacity:0;transform:translateY(6px)}}
