@font-face{font-family:Rubik;src:url('/assets/rubik-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url('/assets/rubik-bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#202021;--paper:#f4f4f1;--red:#c12832;--muted:#646464;--line:#d7d7d2}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Rubik,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}img{max-width:100%}[hidden]{display:none!important}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:700}h1,h2{letter-spacing:-.045em}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #256dc3;outline-offset:4px}
.red{color:var(--red)}.muted{color:var(--muted);line-height:1.6}
.eyebrow{font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.11em;text-transform:uppercase}
.red-rule{display:inline-block;vertical-align:middle;width:23px;height:3px;background:var(--red);margin-right:9px}
.skip{position:fixed;left:16px;top:-90px;padding:14px;background:white;color:var(--ink);z-index:20}.skip:focus{top:12px}
.masthead{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:48px;min-height:104px;padding:20px 3.5vw;background:#fff;border-bottom:4px solid var(--red)}
.brand{display:inline-block;width:238px}.brand img{width:100%;height:auto;display:block}
.masthead-label{font-size:9px;letter-spacing:.16em;padding-right:10px;color:#555}
.parent-brand{display:flex;flex-direction:column;gap:8px;align-items:flex-end;min-width:150px}
.parent-brand span{font-size:7px;letter-spacing:.13em;font-weight:700}
.parent-brand img{display:block;width:150px;height:auto}
.masthead nav{display:flex;align-items:center;gap:25px;font-size:12px}
.masthead nav>a{padding:12px 0;border-bottom:1px solid var(--ink)}
.signout{padding:12px 0;background:transparent;color:var(--ink);font-size:12px}.signout span{margin-left:12px;font-size:18px}.signout:hover,.masthead nav>a:hover{color:var(--red)}
.primary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:55px;width:100%;padding:16px 20px;background:var(--red);color:white;font-size:13px;font-weight:700;transition:background .15s}
.primary:hover{background:#9e1e27}.primary>span:last-child{font-size:25px;font-weight:400;line-height:1}
.field-label{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:700;margin:20px 0 10px}
input,select{width:100%;min-height:50px;padding:13px;border:1px solid #ababaa;border-radius:0;background:#fff;color:var(--ink)}
.feedback{min-height:18px;font-size:11px;line-height:1.5;margin:11px 0;color:#666}.feedback.error{color:#a01b26}.feedback.success{color:#25683d}
.site-footer{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 3.5vw;border-top:1px solid var(--line);font-size:8px;letter-spacing:.06em;color:#5d5d5d;background:#fff}
.footer-divider{padding:0 10px;color:#929292}

/* The login pairs a genuine installation with a compact, tactile access console. */
.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,390px);min-height:calc(100svh - 153px)}
.installation{position:relative;isolation:isolate;overflow:hidden;min-height:640px;color:white;background:#17191c}
.installation-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:53% center;z-index:-2}
.installation:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#090b1059 0%,#090b1000 30%,#090b10a6 72%,#090b10d9 100%);z-index:-1}
.installation-top{position:absolute;top:28px;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.13em}
.installation-top span:first-child{font-weight:700}
.installation-copy{position:absolute;bottom:92px;left:5%;right:5%}
.installation-copy .eyebrow{font-size:10px;margin-bottom:16px}
.installation-copy h1{font-size:clamp(74px,9.5vw,160px);line-height:.84;letter-spacing:-.055em;margin:0 0 24px}
.installation-copy h1 span{color:#ed414a}
.installation-copy>p:last-child{font-size:15px;margin:0;line-height:1.5}
.installation-caption{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff4d;padding-top:17px;font-size:9px;color:#ddd}
.installation-caption b{font-size:7px;letter-spacing:.1em;color:#aeb0b5;display:block;margin-bottom:5px}
.access-panel{padding:38px 40px 29px;display:flex;flex-direction:column;justify-content:center;background:var(--paper)}
.access-heading>.eyebrow{font-size:9px;margin-bottom:23px}
.access-heading h2{font-size:43px;line-height:.98;letter-spacing:-.045em;margin:0 0 16px}
.access-heading .muted{font-size:12px;margin:0 0 6px}
.access-panel .field-label{font-size:8px;letter-spacing:.09em;margin:22px 0 9px}
.access-panel .field-label span{font-weight:400;color:#737373}
#pin{height:62px;min-height:62px;text-align:center;letter-spacing:18px;padding:13px 0 13px 18px;font-size:25px;color:#fff;background:var(--ink);border:1px solid var(--ink);border-bottom:3px solid var(--red)}
#pin::placeholder{color:#999;opacity:1}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:9px;border:1px solid #cececa;background:#cececa}
.keypad button{height:48px;background:#fff;color:var(--ink);font-size:21px;transition:background .12s,color .12s}
.keypad button:hover{background:#e5e5df}.keypad button:active{background:var(--ink);color:#fff}
.keypad .key-action{font-size:8px;letter-spacing:.08em;background:#edede8;color:#626262}
.keypad #backspace{font-size:22px}
.access-help{font-size:10px;line-height:1.7;margin:23px 0 0;color:#717171}
.access-help strong{font-weight:400;color:var(--ink)}

/* A single display changes with the numbered application selector. */
.showroom-main{max-width:1680px;margin:auto;padding:32px 3.5vw 0}
.showroom-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}
.showroom-heading .eyebrow{font-size:9px;margin-bottom:9px;color:#666}
.showroom-heading h1{font-size:clamp(30px,3.7vw,56px);line-height:1;margin:0}
.showroom-heading>p{font-size:11px;line-height:1.7;margin:0 0 2px;color:#606060}
.showroom{display:grid;grid-template-columns:292px minmax(0,1fr);border:1px solid var(--line);background:#fff}
.experience-index{display:flex;flex-direction:column;min-width:0;background:#fff;border-right:1px solid var(--line)}
.index-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px;font-size:7px;font-weight:700;letter-spacing:.08em;border-bottom:1px solid var(--line)}
.index-heading span:last-child{color:#777;font-weight:400;white-space:nowrap}
.app-selector{display:flex;flex-direction:column}
.experience-choice{position:relative;display:flex;align-items:center;gap:16px;min-height:99px;width:100%;text-align:left;padding:24px 21px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);transition:background .15s,color .15s}
.choice-number{align-self:flex-start;padding-top:3px;font-size:10px;color:#787878;font-variant-numeric:tabular-nums}
.choice-copy{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}.choice-copy strong{font-size:18px;letter-spacing:-.035em;line-height:1.1}
.choice-copy>span{font-size:9px;line-height:1.4;color:#737373}
.choice-arrow{font-size:23px}
.experience-choice:hover{background:#efefea}
.experience-choice[aria-pressed=true]{background:var(--red);color:white}
.experience-choice[aria-pressed=true] .choice-number,.experience-choice[aria-pressed=true] .choice-copy>span{color:#fff}

.experience-choice:focus-visible{outline-offset:-5px;z-index:3}
.index-note{margin:auto 0 0;padding:24px 22px;font-size:10px;line-height:1.6;color:#6c6c6c}
.experience-stage{min-width:0;background:#fff}
.experience{height:100%;display:flex;flex-direction:column}
.stage-visual{position:relative;isolation:isolate;height:clamp(280px,28vw,425px);overflow:hidden;background:#18181d}
.stage-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.stage-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:15px;padding:15px 25px;background:#171719d9;color:white;font-size:7px;letter-spacing:.13em}
.is-preview{padding:10px 18px 34px;background:#09080d}
.is-preview .stage-image{object-fit:contain}
.is-preview .stage-caption{background:#09080d;padding-top:12px;padding-bottom:12px}
.stage-info{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:24px;padding:28px}
.stage-copy .eyebrow{font-size:8px;color:#6b6b6b;margin-bottom:10px}
.stage-copy h2{font-size:clamp(24px,2.45vw,38px);line-height:1.06;margin-bottom:12px}
.experience-description{font-size:11px;line-height:1.7;color:#626262;max-width:390px;margin:0}
.stage-controls{display:flex;flex-direction:column;align-items:stretch;gap:11px}
.availability{font-size:7px;letter-spacing:.13em;text-align:right;font-weight:700;color:#646464}
.launch-action{min-height:52px;padding:16px;font-size:11px;gap:12px}
.launch-action>span:first-child{font-size:11px;font-weight:700}
.in-preparation .stage-visual{background:var(--red);color:#fff;display:flex;align-items:center;padding:45px 35px 65px}
.preparation-number{position:absolute;right:20px;bottom:-60px;font-size:clamp(240px,28vw,400px);letter-spacing:-.08em;line-height:1;color:#ffffff14;font-weight:700;pointer-events:none}
.preparation-notice{z-index:1;max-width:360px}
.preparation-notice .eyebrow{font-size:8px;display:block;margin-bottom:20px}
.preparation-notice>p{font-size:clamp(30px,3.6vw,56px);letter-spacing:-.04em;line-height:1;margin:0}
.in-preparation .stage-caption{background:transparent;border-top:1px solid #ffffff40;margin:0 35px;padding:15px 0}
.in-preparation .availability{color:var(--red)}
.showroom-footnote{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0 24px;font-size:9px;color:#626262;line-height:1.5}
.showroom-footnote a{font-size:8px;font-weight:700;color:var(--ink);white-space:nowrap}
.showroom-footnote a span{font-size:15px;padding-left:8px}
.showroom-footnote a:hover{color:var(--red)}
.loading{font-size:12px;line-height:1.6;padding:25px;margin:0;color:#666}
dialog{max-width:470px;width:calc(100% - 40px);padding:43px 36px 32px;border:0;border-top:5px solid var(--red);color:var(--ink);background:var(--paper)}
dialog::backdrop{background:#101014c9}
dialog h2{font-size:30px;line-height:1.1;margin:23px 0 17px}
dialog p:not(.eyebrow){font-size:13px;line-height:1.7;color:#626262}
dialog .primary{margin-top:26px}
.dialog-close{position:absolute;right:12px;top:9px;background:none;font-size:25px;padding:6px;color:var(--ink)}
.settings-main{max-width:900px;margin:auto;padding:44px 28px}
.settings-main h1{font-size:48px;line-height:1;margin-bottom:18px}
.settings-main>.muted{font-size:13px}
.settings-section{background:#fff;border-top:3px solid var(--ink);padding:28px;margin:32px 0}
.settings-section h2{font-size:24px;margin-bottom:12px}
.settings-section>p{font-size:12px;line-height:1.7;color:#626262}
.settings-section .primary{width:auto;min-width:220px}
.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#idle{max-width:130px}

@media(min-width:1680px){.masthead,.site-footer{padding-left:calc((100vw - 1560px)/2);padding-right:calc((100vw - 1560px)/2)}.login-layout{grid-template-columns:minmax(0,1fr) 430px}.access-panel{padding:45px 55px}}
@media(max-width:1100px){
 .masthead{gap:28px}.masthead-label{font-size:8px}
 .login-layout{grid-template-columns:minmax(0,1fr) 350px}.access-panel{padding-left:28px;padding-right:28px}
 .installation-top span:last-child{display:none}
 .showroom{grid-template-columns:250px minmax(0,1fr)}
 .experience-choice{padding:24px 17px;gap:12px}.choice-copy strong{font-size:16px}
 .index-heading{padding:20px 17px;font-size:6px}.index-note{padding:24px 17px}
 .stage-info{grid-template-columns:1fr;gap:20px;padding:24px}.stage-controls{flex-direction:row-reverse;align-items:center;justify-content:space-between}
 .launch-action{width:190px}.availability{text-align:left}
 .stage-visual{height:300px}
}
@media(max-width:760px){
 .masthead{padding:16px 22px;gap:18px;min-height:89px}
 .brand{width:198px}.parent-brand{min-width:120px}.parent-brand img{width:120px}.parent-brand span{font-size:6px}
 .masthead-label{display:none}.login-page .masthead{grid-template-columns:1fr auto}
 .login-layout{grid-template-columns:minmax(0,1fr) 320px}
 .access-panel{padding:30px 24px}.access-heading h2{font-size:37px}
 .installation-copy h1{font-size:73px}.installation-copy>p:last-child{font-size:12px;max-width:160px}
 .installation-copy{left:24px}.installation-top{left:24px}.installation-caption{left:24px}.installation-caption>span:last-child{display:none}
 .showroom-main{padding:26px 22px 0}.showroom-heading{margin-bottom:22px}.showroom-heading>p{font-size:9px}
 .showroom{grid-template-columns:210px minmax(0,1fr)}.index-heading span:last-child{display:none}
 .experience-choice{min-height:105px;gap:10px;padding:20px 14px}.choice-copy strong{font-size:15px}.choice-copy>span{font-size:8px}.choice-arrow{font-size:18px}
 .stage-visual{height:260px}.stage-info{padding:20px}.stage-copy h2{font-size:25px}.stage-controls{flex-direction:column;align-items:stretch;gap:9px}.availability{text-align:left}.launch-action{width:100%}
 .stage-caption{padding:13px 16px;font-size:6px}.index-note{font-size:9px}
 .preparation-notice>p{font-size:31px}.in-preparation .stage-visual{padding:30px 24px 60px}
}
@media(max-width:600px){
 .masthead{grid-template-columns:1fr auto;gap:13px;padding:15px 20px;min-height:84px}
 .brand{width:180px}.parent-brand{min-width:107px;gap:6px}.parent-brand img{width:107px}.parent-brand span{font-size:5.5px}
 .masthead nav{grid-row:2;grid-column:1/-1;border-top:1px solid var(--line);padding-top:9px;justify-content:flex-end;font-size:10px;gap:20px}
 .masthead nav>a{padding:6px 0}.signout{font-size:10px;padding:4px 0}.signout span{font-size:15px}
 .login-layout{display:flex;flex-direction:column}
 .installation{min-height:250px}
 .installation-photo{object-position:center 42%}
 .installation-top{top:18px;left:22px;font-size:8px}
 .installation-copy{left:22px;bottom:53px}.installation-copy>.eyebrow{display:none}
 .installation-copy h1{font-size:64px;line-height:.9;margin-bottom:11px}.installation-copy h1 br{display:none}.installation-copy h1 br:after{content:' '}
 .installation-copy>p:last-child{font-size:11px;max-width:none}
 .installation-caption{left:22px;right:22px;bottom:16px;padding-top:12px;font-size:8px}.installation-caption b{display:none}
 .access-panel{padding:28px max(25px,calc((100vw - 360px)/2)) 28px;display:block}
 .access-heading>.eyebrow{margin-bottom:14px;font-size:8px}
 .access-heading h2{font-size:32px;margin-bottom:10px}.access-heading h2 br{display:none}.access-heading h2 br:after{content:' '}
 .access-heading .muted{font-size:11px}.access-heading .muted br{display:none}.access-heading .muted br:after{content:' '}
 .access-panel .field-label{margin-top:18px}.keypad button{height:49px}
 .access-help{margin-top:18px;font-size:10px}
 .showroom-main{padding:25px 18px 0}.showroom-heading{display:block;margin-bottom:22px}
 .showroom-heading h1{font-size:34px}.showroom-heading>.eyebrow{font-size:8px}
 .showroom-heading>p{margin-top:12px;font-size:11px}.showroom-heading>p br{display:none}.showroom-heading>p br:after{content:' '}
 .showroom{display:block}
 .experience-index{border-right:0}.index-heading{padding:14px 16px;font-size:7px}.index-heading span:last-child{display:block}
 .app-selector{display:grid;grid-template-columns:1fr 1fr}
 .experience-choice{min-height:90px;padding:16px 12px;gap:9px}.experience-choice:nth-child(odd){border-right:1px solid var(--line)}
 .choice-number{font-size:8px}.choice-copy{gap:5px}.choice-copy strong{font-size:14px}.choice-copy>span{font-size:8px}.choice-arrow{display:none}
 .index-note{display:none}
 .stage-visual{height:230px}.stage-info{padding:22px 20px;gap:22px}.stage-copy h2{font-size:29px}
 .stage-controls{flex-direction:column;align-items:stretch;gap:10px}.availability{text-align:left}
 .stage-caption{font-size:6px;padding:12px 16px}.stage-copy .eyebrow{font-size:8px}
 .experience-description{font-size:11px}.launch-action{min-height:52px}
 .is-preview{padding:8px 8px 30px}
 .in-preparation .stage-visual{padding:28px 24px 55px}.preparation-notice{max-width:240px}.preparation-notice>p{font-size:34px}
 .preparation-number{font-size:255px;bottom:-40px;right:12px}
 .showroom-footnote{align-items:flex-start;font-size:8px;gap:14px;padding:18px 0 23px}.showroom-footnote>span{max-width:195px}.showroom-footnote a{font-size:7px}
 .site-footer{padding:17px 20px;gap:12px;flex-direction:column;align-items:flex-start;font-size:7px}
 .settings-main{padding:30px 20px}.settings-main h1{font-size:37px}.settings-section{padding:22px 19px}.two-fields{grid-template-columns:1fr;gap:0}
 dialog{padding:35px 25px 26px}
}
@media(min-width:601px) and (max-height:780px){
 .access-panel{padding-top:26px;padding-bottom:24px}.access-heading>.eyebrow{margin-bottom:16px}.access-heading h2{font-size:36px}.access-heading .muted{font-size:11px}.access-panel .field-label{margin-top:17px}.keypad button{height:42px}.access-help{margin-top:17px}
 .installation{min-height:599px}.installation-copy h1{font-size:clamp(72px,8.5vw,130px)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Keep the complete launcher visible on presentation laptops. */
@media(min-width:1101px) and (max-height:820px){
 .showroom-main{padding-top:24px}
 .showroom-heading{margin-bottom:22px}
 .showroom-heading h1{font-size:42px}
 .stage-visual{height:clamp(215px,calc(100svh - 500px),300px)}
 .experience-choice{min-height:82px;padding-top:18px;padding-bottom:18px}
 .index-note{display:none}
 .stage-info{padding:23px 27px}
 .showroom-footnote{padding-top:16px;padding-bottom:19px}
}
.index-heading{font-size:8px}
.stage-copy .eyebrow,.availability{font-size:9px}
.stage-caption{font-size:8px}
.access-panel .field-label{font-size:9px}
@media(max-width:760px){.index-heading{font-size:7px}.stage-caption{font-size:7px}}
@media(max-width:600px){.installation-copy h1{font-size:48px}}
@media(max-width:350px){.installation-copy h1{font-size:42px}.brand{width:157px}.parent-brand{min-width:93px}.parent-brand img{width:93px}}
@media(max-width:600px){.installation-copy h1{word-spacing:.08em}}

