:root{color-scheme:dark;--bg:#050d15;--ink:#ecf4f7;--muted:#8ba2b2;--cyan:#72e4f3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:absolute;inset:0 0 auto;height:950px;z-index:-1;background:radial-gradient(ellipse at 50% 45%,#0b283b66,transparent 65%);pointer-events:none}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #abf6ff;outline-offset:6px;border-radius:8px}.skip{position:fixed;top:-90px;left:20px;padding:16px;background:#163d50;z-index:10}.skip:focus{top:15px}header{max-width:1440px;margin:auto;height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #19303c80}.brand{display:flex;align-items:center;font-size:25px;font-weight:600;letter-spacing:-1px;gap:12px}.brand svg{width:27px;height:30px;stroke:#a1e8f2;stroke-width:1.3;fill:none}.brand-divider{height:23px;width:1px;background:#28414e;margin:0 7px}.brand-sub{font-size:10px;letter-spacing:2.1px;font-weight:500;color:#7893a4}.header-note{font-size:12px;color:#94acba;display:flex;gap:9px;align-items:center}.header-note>span{width:5px;height:5px;border-radius:50%;background:#7cbdcd}.intro{text-align:center;padding:49px 20px 0}.eyebrow{font-size:10px;letter-spacing:3px;color:#76b6c7;font-weight:600;margin:0 0 17px}h1{font-size:clamp(30px,3.3vw,46px);letter-spacing:-1.7px;font-weight:500;margin:0 0 14px}.intro>p:last-child{font-size:14px;color:#94a8b7;line-height:1.6;margin:0}.campus{position:relative;max-width:1200px;aspect-ratio:1200 / 710;margin:-8px auto -14px}.campus-art{width:100%;height:100%;display:block}.room-label{position:absolute;display:flex;align-items:center;gap:13px;padding:15px 18px;background:linear-gradient(120deg,#143346ed,#091a28f5);border:1px solid #3b859c;border-radius:9px;box-shadow:0 10px 25px #0006,0 0 20px #12bbdf0a;min-width:240px;transition:border-color .2s,background .2s,transform .2s}.room-label:hover{border-color:#94f0ff;background:#153b4f;transform:translateY(-3px)}.inventory{left:9%;top:19%}.srt{right:7.5%;top:19%}.live{left:calc(50% - 120px);top:84%}.room-number{font-size:11px;font-family:monospace;color:#68c0d3;border:1px solid #346c80;border-radius:5px;padding:8px}.room-label strong{display:block;font-size:19px;font-weight:500;letter-spacing:-.4px}.room-label small{display:block;font-size:8px;letter-spacing:1.7px;color:#87b6c6;margin-top:7px}.arrow{font-size:23px;color:#94dfeb;margin-left:auto}.scene-caption{position:absolute;bottom:3%;left:5%;color:#537b8d;font-size:8px;letter-spacing:1.7px;display:flex;align-items:center;gap:13px}.cross{font-size:16px;color:#4c8ca0}.applications{max-width:1100px;margin:35px auto 60px;padding:0 30px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.section-title h2{font-size:17px;font-weight:500;letter-spacing:-.3px;margin:0}.section-title>span{font-size:9px;letter-spacing:1.6px;color:#678496}.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.app{position:relative;display:flex;flex-direction:column;padding:22px 23px;background:#0b1823;border:1px solid #203643;border-radius:9px;min-height:221px;transition:border-color .2s,background .2s}.app:hover{background:#0e2230;border-color:#559bae}.app-top{display:flex;justify-content:space-between;align-items:center;color:#81c4d2;font-size:19px}.index{font-family:monospace;font-size:10px;letter-spacing:1.7px;color:#7595a5}.app h3{font-weight:500;font-size:23px;letter-spacing:-.65px;margin:21px 0 7px}.app p{color:#96a9b6;font-size:12px;line-height:1.5;margin:0 0 12px}.notice{font-size:10px;color:#ccb98b;margin:-3px 0 14px;line-height:1.5}.open{margin-top:auto;padding-top:17px;font-size:11px;color:#a5dce6;display:flex;align-items:center;justify-content:space-between}.open>span{font-size:18px}footer{max-width:1100px;margin:0 auto;padding:25px 30px 35px;border-top:1px solid #19303c;display:flex;justify-content:space-between;gap:20px;font-size:11px;line-height:1.7}.footer-dim{color:#647e8e}@media(min-width:1450px){.intro{padding-top:60px}}@media(max-width:800px){header{height:78px;padding:0 23px}.brand-sub,.brand-divider{display:none}.intro{padding-top:37px}h1{font-size:33px;letter-spacing:-1.2px}.intro>p:last-child{font-size:12px}.campus{margin:4px auto 0}.room-label{min-width:0;padding:10px;gap:8px}.room-number{display:none}.room-label strong{font-size:14px}.room-label small{font-size:6px;letter-spacing:1px}.arrow{font-size:18px}.inventory{left:6%}.srt{right:4%}.live{left:41%;top:85%}.scene-caption{display:none}.applications{margin:25px auto 35px;padding:0 23px}.app-grid{gap:10px}.app{padding:17px}.app h3{font-size:20px}.section-title h2{font-size:15px}}@media(max-width:560px){.header-note{font-size:10px}.brand{font-size:23px}.brand svg{width:22px}.intro{padding:34px 20px 0}.eyebrow{font-size:8px;letter-spacing:2.3px;margin-bottom:15px}h1{font-size:30px;max-width:320px;margin:0 auto 12px;line-height:1.13}.intro>p:last-child{max-width:270px;margin:auto;line-height:1.65}.campus{width:100%;margin:8px auto 0}.room-label{padding:8px 9px;border-radius:5px;gap:4px;min-height:44px}.room-label strong{font-size:11px;letter-spacing:-.2px}.room-label small{font-size:5px;letter-spacing:.65px;margin-top:4px}.arrow{font-size:14px;margin-left:4px}.inventory{left:4%;top:17%}.srt{right:2%;top:17%}.live{left:calc(50% - 58px);top:84%}.applications{margin:30px auto}.section-title{margin-bottom:16px}.section-title h2{font-size:15px}.section-title>span{font-size:8px;letter-spacing:1px}.app-grid{grid-template-columns:1fr;gap:12px}.app{padding:19px 21px;min-height:0}.app h3{margin:12px 0 6px;font-size:24px}.app p{font-size:12px;margin-bottom:2px}.app-top{font-size:17px}.open{padding-top:15px;font-size:12px}.notice{margin:8px 0 0;font-size:11px}.app-grid .app:nth-child(2){border-color:#315265}footer{margin:0 23px;padding:21px 0 28px;flex-direction:column;gap:5px;font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.external-icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;fill:none;display:block}.arrow{display:flex}

/* Room palettes — requested colour study */
:root{--bg:#000;--ink:#f3f0eb;--muted:#aba9a5}body:before{display:none}header{border-color:#292929}.eyebrow{color:#b7c0c1}.intro>p:last-child{color:#a9abad}.brand svg{stroke:#d9e8e9}.brand-sub,.header-note{color:#a3a9ab}.brand-divider{background:#3d3d3d}.header-note>span{background:#becbce}.scene-caption{color:#8d9193}.cross{color:#a1aaac}footer{border-color:#292929}.footer-dim,.section-title>span{color:#96999a}
.inventory,.app:nth-child(1){--room-bg:#221b14;--room-hover:#382a1c;--room-edge:#96734e;--room-bright:#f0d3aa;--room-muted:#c3ab8b;--room-dim:#5f4932}
.srt,.app:nth-child(2){--room-bg:#2d1c12;--room-hover:#462919;--room-edge:#bb7d42;--room-bright:#ffd1a0;--room-muted:#d3b28f;--room-dim:#75482a}
.live,.app:nth-child(3){--room-bg:#142039;--room-hover:#1e3353;--room-edge:#688fc6;--room-bright:#c5daff;--room-muted:#ccc1ad;--room-dim:#425c83}
.room-label{background:var(--room-bg);border-color:var(--room-edge);box-shadow:0 10px 25px #0008}.room-label:hover{background:var(--room-hover);border-color:var(--room-bright)}.room-label strong{color:#fff2e1}.room-label small{color:var(--room-muted)}.room-number{color:var(--room-bright);border-color:var(--room-dim)}.arrow{color:var(--room-bright)}.app,.app-grid .app:nth-child(2){background:var(--room-bg);border-color:var(--room-dim)}.app:hover{background:var(--room-hover);border-color:var(--room-edge)}.app-top,.open{color:var(--room-bright)}.index,.app p{color:var(--room-muted)}.app h3{color:#fff0dc}.notice{color:#f5d3a5}

/* Focused campus, polished edge treatment */
.intro{padding-top:35px}.intro .eyebrow{margin-bottom:12px}.campus{margin:-12px auto 10px}footer{margin-top:5px}
.srt{--room-bg:#23172e;--room-hover:#382346;--room-edge:#a987c1;--room-bright:#b8f4ae;--room-muted:#c4b3d0;--room-dim:#5e4472}
.room-label{background:linear-gradient(135deg,#ffffff12,transparent 38%,#ffffff08 45%,transparent 70%),var(--room-bg);box-shadow:0 14px 25px #000b,inset 0 1px 0 #f5f7ff55,inset 0 -1px 0 #ffffff12;border-top-color:#d3d7dacc}.room-label:after{content:"";position:absolute;left:-12px;top:0;width:310px;height:290px}.live:after{top:-185px;left:-30px;height:260px}.room-label:hover{box-shadow:0 16px 30px #000c,inset 0 1px 0 #fff9}.room-label{z-index:2}.srt-note{position:absolute;top:61.5%;right:8.2%;font-size:10px;color:#c1b4cc;letter-spacing:.1px;margin:0;pointer-events:none}.scene-caption{bottom:1.5%}
@media(max-width:800px){.intro{padding-top:28px}.campus{margin:0 auto 12px}.room-label:after{width:210px;height:185px}.live:after{top:-115px;width:190px;height:180px}.srt-note{top:62%;right:5%;font-size:8px}}
@media(max-width:560px){.intro{padding-top:28px}.intro>p:last-child{max-width:320px;font-size:12px}.campus{margin:18px auto 35px}.room-label:after{left:-4px;width:112px;height:115px}.live:after{left:-9px;top:-56px;width:130px;height:100px}.srt-note{top:65%;right:2%;width:125px;text-align:center;font-size:8px;line-height:1.5}.room-label{min-height:44px}.scene-caption{display:none}footer{margin-top:0}}
@media(min-width:801px){.srt:after{left:-80px;width:310px}}

/* Four-room campus: keep app palettes and add a green living room. */
.campus{aspect-ratio:1200 / 820;margin-bottom:18px}
.inventory,.srt{top:16.5%}
.live{left:9%;top:57.5%}
.smart-home{right:7.5%;top:57.5%;--room-bg:#20382c;--room-hover:#31513c;--room-edge:#91bd95;--room-bright:#d2f2c0;--room-muted:#bcd6b7;--room-dim:#587e5e}
.live:after{left:-12px;top:0;width:310px;height:290px}
.smart-home:after{left:-80px;width:310px;height:290px}
.srt-note{top:52.5%}
.smart-home-note{position:absolute;top:94%;right:10%;font-size:10px;color:#bcd6b7;margin:0;pointer-events:none}
.scene-caption{left:40%;bottom:1%}
@media(max-width:800px){.inventory{left:6%}.srt{right:4%}.live{left:6%}.smart-home{right:4%}.live:after{left:-12px;top:0;width:210px;height:185px}.smart-home:after{left:-35px;width:210px;height:185px}.srt-note{top:53.5%;right:5%}.smart-home-note{right:6%;font-size:8px}}
@media(max-width:560px){.intro>p:last-child{max-width:330px}.campus{margin-top:20px;margin-bottom:40px}.inventory,.srt{top:15%}.inventory,.live{left:4%}.srt,.smart-home{right:2%}.live,.smart-home{top:56%}.live:after,.smart-home:after{top:0;left:-4px;width:112px;height:115px}.srt-note{top:52%;right:2%;width:125px}.smart-home-note{top:94%;right:2%;width:125px;text-align:center;line-height:1.5}}
