.labs-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 77% 38%,#354145 0,#182123 42%,#111819 77%);color:#f3f6f2}
.labs-hero::before{content:"";position:absolute;inset:0;opacity:.14;background-image:linear-gradient(#d5dfd61d 1px,transparent 1px),linear-gradient(90deg,#d5dfd61d 1px,transparent 1px);background-size:54px 54px;pointer-events:none}
.labs-hero-inner{position:relative;display:grid;grid-template-columns:1fr .78fr;gap:70px;align-items:center;min-height:575px;padding:78px 0}
.labs-hero h1{margin:0;font-size:clamp(47px,5.1vw,70px);letter-spacing:-.06em;line-height:1.14}
.labs-hero p:not(.kicker){max-width:660px;margin:26px 0 29px;color:#c5d0cc;font-size:17px;line-height:1.83}
.labs-hero-art{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:15px;transform:rotate(-4deg)}
.labs-hero-art::before{content:"";position:absolute;inset:-22px;border:1px solid #899e9844;border-radius:18px;transform:rotate(7deg)}
.labs-hero-art span{display:grid;place-items:center;min-height:122px;padding:19px;border:1px solid #5c6c6b;border-radius:9px;background:#283638;color:#e2e9e3;font-size:18px;font-weight:690;box-shadow:0 13px 26px #0003}
.labs-hero-art span:nth-child(2){background:#3f4454;border-color:#77739a}
.labs-hero-art span:nth-child(3){background:#3e4052;border-color:#77739a}
.labs-hero-art strong{position:absolute;right:14px;bottom:-21px;padding:9px 13px;border-radius:4px;background:#e8e1f6;color:#38354e;font-size:11px;letter-spacing:.12em;transform:rotate(5deg)}
.lab-browser{background:#f5f6f1}
.lab-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.lab-tabs button{min-height:90px;padding:16px 18px;border:1px solid #d5ddd6;border-radius:7px;background:#fff;color:#243032;text-align:left;transition:background .2s,border-color .2s,transform .2s}
.lab-tabs button:hover{transform:translateY(-2px);border-color:#9b8ac9}
.lab-tabs button[aria-selected="true"]{border-color:#8575b8;background:#eeeaf6;box-shadow:inset 3px 0 #8473b6}
.lab-tabs small{display:block;margin-bottom:6px;color:#7466a2;font-size:11px;font-weight:760;letter-spacing:.06em}
.lab-tabs strong{font-size:16px;font-weight:700}
.lab-panel[hidden]{display:none}
.lab-panel{display:grid;grid-template-columns:.83fr 1.17fr;gap:35px;padding:33px;border:1px solid #c9d4cb;border-radius:9px;background:#e9ede7}
.lab-panel-intro{display:flex;flex-direction:column;min-height:385px;padding:29px;border-radius:7px;background:#253234;color:#eef3ef}
.lab-panel-intro>span{color:#c4b8e8;font-size:11px;font-weight:750;letter-spacing:.08em}
.lab-panel-intro h3{margin:28px 0 13px;font-size:clamp(29px,3.1vw,41px);line-height:1.2;letter-spacing:-.045em}
.lab-panel-intro p{margin:0;color:#c3d0ca;font-size:14px;line-height:1.84}
.lab-output{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:25px}
.lab-output b{width:100%;margin-bottom:5px;color:#b8caaf;font-size:11px}
.lab-output span{padding:5px 8px;border:1px solid #60716d;border-radius:3px;color:#dce7df;font-size:11px}
.lab-panel-details{display:grid;gap:10px}
.lab-panel-details>div{padding:17px 20px;border:1px solid #d5ded6;border-radius:6px;background:#fbfcf8}
.lab-panel-details h4{margin:0 0 9px;color:#66568f;font-size:13px}
.lab-panel-details ul{display:grid;gap:4px;margin:0;padding-left:19px;color:#586765;font-size:12px;line-height:1.55}
.build-list{background:#e7ece5}
.build-table{border:1px solid #cfd8d0;border-radius:8px;overflow:hidden;background:#f7f9f4}
.build-row{display:grid;grid-template-columns:.8fr 1.35fr 1fr;gap:16px;align-items:center;padding:17px 22px;border-bottom:1px solid #dce3dc;color:#5c6a67;font-size:13px;line-height:1.6}
.build-row:last-child{border-bottom:0}
.build-row b{color:#273435;font-size:14px}
.build-row-head{background:#2a3738;color:#dbe8e0;font-size:11px;font-weight:760;letter-spacing:.07em}
.build-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}
.build-options article{padding:26px;border:1px solid #cfdbd1;border-radius:7px;background:#fff}
.build-options article:nth-child(2){background:#273538;border-color:#273538;color:#f0f4f0}
.build-options span{color:#786bab;font-size:11px;font-weight:750}
.build-options article:nth-child(2) span{color:#c1d6b6}
.build-options h3{margin:16px 0 9px;font-size:22px}
.build-options p{margin:0;color:#60706c;font-size:13px;line-height:1.78}
.build-options article:nth-child(2) p{color:#c1d0ca}
.labs-closing{padding:90px 0;background:#263234;color:#f5f6f2}
.labs-closing-grid{display:grid;grid-template-columns:1fr .44fr;gap:70px;align-items:end}
.labs-closing h2{margin:0;font-size:clamp(33px,4vw,51px);letter-spacing:-.05em;line-height:1.2}
.labs-closing p:not(.kicker){max-width:650px;margin:21px 0 0;color:#c3d0ca;font-size:14px;line-height:1.83}
.labs-closing-grid>div:last-child{display:grid;gap:10px}
.labs-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.lab-architecture{background:#f4f4ef}
.architecture-mode{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;padding:6px;border:1px solid #d0d7ce;border-radius:12px;background:#e8ece5}
.architecture-mode button{min-height:80px;padding:14px 20px;border:1px solid transparent;border-radius:8px;background:transparent;color:#3d4a47;text-align:left;font-weight:700;transition:background .18s,color .18s,transform .16s}
.architecture-mode button>span{margin-right:8px;color:#8779ab;font-size:11px}
.architecture-mode button>small{display:block;margin:5px 0 0 28px;color:#68756e;font-size:12px;font-weight:400}
.architecture-mode button[aria-selected=true]{border-color:#c9c1dc;background:#fff;box-shadow:0 3px 10px #3541320b;color:#25252e}
.architecture-mode button:hover:not([aria-selected=true]){background:#ffffff70}
.architecture-mode button:active,.architecture-layer:active,.room-zones button:active,.lab-tabs button:active{transform:scale(.985);transition-duration:70ms}
.architecture-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:0;overflow:hidden;border:1px solid #c7d1c7;border-radius:16px;background:#fff}
.architecture-map{padding:27px;background:#172224;color:#e4eae5}
.architecture-map-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:23px;font-size:11px;color:#97aca2;letter-spacing:.04em}
.architecture-mode-label{color:#c9bde9}
.architecture-layer{display:flex;align-items:center;gap:16px;width:100%;min-height:83px;padding:16px 20px;border:1px solid #4c6059;border-radius:9px;background:#253433;color:#e6ece6;text-align:left;transition:background .2s,border-color .2s,transform .16s}
.architecture-layer:hover{background:#324440;border-color:#91a49a}
.architecture-layer[aria-selected=true]{border-color:#c8b7f0;background:#403f53;box-shadow:inset 3px 0 #c8b7f0}
.architecture-layer .layer-number{color:#acbaad;font-size:11px;letter-spacing:.08em}
.layer-copy{min-width:0;flex:1}
.layer-copy strong{display:block;font-size:17px;letter-spacing:-.02em}
.layer-copy small{display:block;margin-top:4px;color:#afc0b6;font-size:11px;line-height:1.7}
.architecture-layer[aria-selected=true] small{color:#d7cfee}
.layer-symbol{color:#c5badf;font-size:20px;font-weight:400}
.architecture-connector{display:flex;align-items:center;gap:10px;min-height:36px;margin-left:28px;color:#8ba098;font-size:10px}
.architecture-connector i{position:relative;width:1px;height:28px;background:linear-gradient(#776898,#bacfb4)}
.architecture-connector i:after{content:"";position:absolute;bottom:0;left:-2px;border:3px solid transparent;border-top-color:#bacfb4;transform:translateY(4px)}
.architecture-map-note{margin:22px 0 0;color:#90a197;font-size:10px;line-height:1.65}
.architecture-detail{padding:42px 34px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;scroll-margin-top:100px}
.architecture-detail-label{margin:0 0 25px;color:#7e6aab;font-size:11px;letter-spacing:.07em}
.architecture-detail h3{margin:0 0 20px;font-size:clamp(26px,2.4vw,34px);line-height:1.3;letter-spacing:-.045em;font-weight:670}
.architecture-detail>p:not(.architecture-detail-label){margin:0;color:#56665e;font-size:14px;line-height:1.88}
.architecture-detail h4{margin:29px 0 12px;color:#28382e;font-size:12px}
.architecture-detail ul{padding:0;margin:0;list-style:none;color:#607064;font-size:13px;line-height:1.8}
.architecture-detail li{position:relative;padding-left:17px;margin:7px 0}
.architecture-detail li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;background:#9784bd;border-radius:50%}
.architecture-route{align-self:stretch;margin-top:auto;padding-top:30px}
.architecture-route>span{display:block;padding-top:20px;border-top:1px solid #dce2d8;color:#8871b1;font-size:11px}
.architecture-route p{margin:8px 0 0;color:#5c6b63;font-size:12px;line-height:1.9}
.architecture-footnote{margin:20px 0 0;color:#66756b;font-size:12px;line-height:1.8}
.room-planning{background:#f4f4ef}
.room-planning-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}
.room-copy h2{margin:0;font-size:clamp(32px,3.4vw,47px);line-height:1.22;letter-spacing:-.05em}
.room-copy>p:not(.kicker){margin:25px 0 26px;font-size:15px;line-height:1.85;color:#637169}
.room-zones{display:flex;flex-direction:column;border-top:1px solid #d2dad0}
.room-zones button{display:flex;align-items:center;gap:17px;min-height:56px;padding:12px 16px;border:0;border-bottom:1px solid #d2dad0;border-radius:0;background:transparent;color:#6a796c;text-align:left;font-size:14px;transition:background .2s,color .2s,transform .16s}
.room-zones button span{font-size:11px;color:#9483b8}
.room-zones button[aria-selected=true]{background:#e8e6ed;color:#41334f}
.room-zones button:hover:not([aria-selected=true]){background:#e9ede5}
.room-zone-detail{min-height:112px;margin-top:20px;color:#67716b;font-size:13px;line-height:1.8}
.room-zone-detail p{margin:0}
.room-figure{margin:0;padding:22px;border:1px solid #cdd6ca;border-radius:14px;background:#e9ede5;box-shadow:0 20px 40px #25342908}
.room-figure-caption{display:flex;gap:15px;justify-content:space-between;margin-bottom:19px;color:#4c6353;font-size:11px}
.room-figure-caption span:last-child{color:#87937f;font-size:10px}
.room-outline{position:relative;padding:22px 32px 20px;border:1px solid #b7c7b2;border-radius:8px;background:#f5f7f1;background-image:linear-gradient(#94aa9610 1px,transparent 1px),linear-gradient(90deg,#94aa9610 1px,transparent 1px);background-size:20px 20px}
.room-display{width:70%;height:28px;margin:0 auto 21px;padding:5px;border:1px solid #bbcbb4;border-radius:3px;background:#e4eade;color:#61775b;text-align:center;font-size:10px;transition:background .22s,border-color .22s,color .22s}
.teacher-desk{display:flex;align-items:center;justify-content:center;gap:10px;width:170px;max-width:65%;height:44px;margin:0 auto 33px;border:1px solid #bbcbb4;border-radius:4px;background:#e4eade;color:#677560;font-size:10px;transition:background .22s,border-color .22s,color .22s}
.seat-screen{display:block;width:30px;height:17px;border:2px solid #9eae99;border-bottom-width:4px;border-radius:2px}
.student-seats{display:grid;grid-template-columns:repeat(6,1fr);gap:18px 12px}
.student-seat{display:flex;align-items:center;justify-content:center;position:relative;height:32px;border:1px solid #b5c7ac;border-radius:3px;background:#e5ecdf;transition:background .22s,border-color .22s,box-shadow .22s}
.student-seat:after{content:"";position:absolute;left:30%;bottom:-9px;width:40%;height:6px;border:1px solid #b6c5ad;border-radius:2px;background:#f0f3ed}
.student-seat i{width:48%;height:13px;border:1px solid #9aad91;border-bottom-width:3px;border-radius:1px;background:#cbd9c0;transition:background .22s,border-color .22s}
.student-seat:nth-child(6n+3){margin-right:7px}
.student-seat:nth-child(6n+4){margin-left:7px}
.room-infra{display:flex;align-items:center;gap:12px;margin-top:33px;padding:12px 14px;border:1px dashed #b9c6b1;border-radius:4px;background:#eff3e9;color:#697961;font-size:11px;transition:background .22s,border-color .22s,color .22s}
.room-infra small{display:block;font-size:10px;color:#899781;margin-top:3px}
.room-rack{display:grid;gap:3px;padding:5px;border:1px solid #b6c5ae;border-radius:2px}
.room-rack i{display:block;width:22px;height:4px;background:#b8c8ac;border-radius:1px}
.room-figure[data-room-focus=students] .student-seat{border-color:#a995c5;background:#e5dcee;box-shadow:0 2px 5px #76628715}
.room-figure[data-room-focus=students] .student-seat i{border-color:#9784b4;background:#cec0e0}
.room-figure[data-room-focus=teacher] .room-display,.room-figure[data-room-focus=teacher] .teacher-desk{border-color:#a995c5;background:#e5dcee;color:#6b5289}
.room-figure[data-room-focus=infra] .room-infra{border-color:#a995c5;background:#e5dcee;color:#6b5289}
.room-figure figcaption{margin-top:15px;color:#7d8c73;font-size:10px;line-height:1.75}
.lab-course-support{background:#e8ece4}
.lab-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lab-course-grid article{padding:29px 25px;border:1px solid #cdd7c6;border-radius:9px;background:#f4f6ef}
.lab-course-grid article>span{color:#7f6a9f;font-size:11px}
.lab-course-grid h3{margin:20px 0 15px;color:#334037;font-size:21px;line-height:1.4;letter-spacing:-.035em}
.lab-course-grid p{margin:0;color:#6b776a;font-size:13px;line-height:1.8}
.lab-course-plan{margin:22px 0 0;color:#7d8878;font-size:11px;line-height:1.7}
@media(max-width:1060px){.architecture-detail{padding:30px 26px}.architecture-layer{padding:15px}.architecture-map{padding:22px}.room-planning-grid{gap:35px}.labs-hero-inner{gap:45px}.room-outline{padding:22px 20px}.student-seats{gap:18px 9px}}
@media(max-width:800px){.architecture-panel{grid-template-columns:1fr}.architecture-detail{min-height:390px}.architecture-mode button{padding:14px 13px;font-size:14px}.architecture-mode button>small{margin-left:0;font-size:11px}.room-planning-grid{grid-template-columns:1fr;gap:28px}.room-figure{max-width:620px;width:100%;margin-inline:auto}.room-zone-detail{min-height:65px}.lab-course-grid{grid-template-columns:1fr}.lab-course-grid article{padding:25px}.lab-course-grid h3{margin:12px 0 10px}.labs-hero-art{margin:0 15px}}
@media(max-width:480px){.architecture-mode{gap:4px;padding:4px}.architecture-mode button{min-height:86px;padding:12px 8px;font-size:13px}.architecture-mode button>span{display:block;margin:0 0 4px;font-size:9px}.architecture-mode button>small{font-size:9px}.architecture-map{padding:17px 13px}.architecture-map-heading{font-size:10px}.architecture-layer{min-height:85px;gap:10px;padding:14px 12px}.layer-copy strong{font-size:15px}.layer-copy small{font-size:10px}.architecture-detail{padding:28px 24px}.room-figure{padding:16px 12px}.room-outline{padding:20px 14px}.student-seats{column-gap:8px}.room-copy h2{font-size:32px}.room-figure-caption{font-size:10px}.room-figure-caption span:last-child{font-size:9px}.labs-hero h1{font-size:clamp(34px,9vw,43px)}.labs-hero-actions .button{font-size:13px;padding:12px 17px}.labs-hero-art span{padding:12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.labs-hero-art,.labs-hero-art:before{transform:none}.architecture-mode button,.architecture-layer,.room-zones button,.student-seat,.student-seat i,.room-display,.teacher-desk,.room-infra,.lab-tabs button{transition:none!important}}
@media(max-width:920px){.labs-hero-inner{grid-template-columns:1fr;gap:50px}.labs-hero-art{max-width:560px}.lab-panel{grid-template-columns:1fr}.lab-panel-intro{min-height:0}.lab-output{margin-top:24px}.labs-closing-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:620px){.labs-hero-inner{padding:66px 0}.labs-hero h1{font-size:clamp(39px,10vw,53px)}.labs-hero p:not(.kicker){font-size:15px}.labs-hero-art span{min-height:80px;font-size:14px}.lab-tabs{grid-template-columns:repeat(2,1fr);gap:7px}.lab-tabs button{min-height:80px;padding:12px}.lab-tabs strong{font-size:13px}.lab-panel{padding:10px;gap:10px}.lab-panel-intro{padding:23px}.lab-panel-details>div{padding:15px}.build-row{grid-template-columns:1fr;gap:6px;padding:15px}.build-row-head{display:none}.build-row b{font-size:14px}.build-row span{font-size:12px}.build-options{grid-template-columns:1fr}.labs-closing{padding:70px 0}.labs-closing-grid .button{width:100%}}
