/* Full contact overlay, intentionally separate from the scene stylesheet. */
.brand-zone{display:flex;align-items:center;gap:11px}.brand-logo{height:31px;width:auto;object-fit:contain;filter:drop-shadow(0 0 6px #7a4cff44)}.department-name{font:10px 'DM Mono',monospace;letter-spacing:2px;color:#ad92ff;border-left:1px solid #8065c966;padding-left:12px}.back-home{background:none;border:0;color:var(--lav);font-size:15px;cursor:pointer;padding:4px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.back-home.visible{opacity:1;visibility:visible}
body[data-active-view="home"] .brand-zone{opacity:0;pointer-events:none;transform:translateY(-8px);visibility:hidden;width:0;overflow:hidden}.brand-zone{transition:opacity .35s,transform .35s,visibility .35s}
body[data-active-view="events"]{--violet:#9d4cff;--lav:#ddb8ff}body[data-active-view="events"] .space{background:radial-gradient(ellipse at 60% 60%,#291044 0,transparent 45%),radial-gradient(circle at 17% 15%,#55144a 0,transparent 25%),#09040d}body[data-active-view="studio"]{--violet:#4c8cff;--lav:#b9d9ff}body[data-active-view="studio"] .space{background:radial-gradient(ellipse at 60% 60%,#0d284a 0,transparent 45%),radial-gradient(circle at 17% 15%,#143b59 0,transparent 25%),#040a11}body[data-active-view="lab"]{--violet:#25c9a5;--lav:#b9ffed}body[data-active-view="lab"] .space{background:radial-gradient(ellipse at 60% 60%,#0a3b34 0,transparent 45%),radial-gradient(circle at 17% 15%,#16482d 0,transparent 25%),#040d0c}
.contact-overlay{position:fixed;z-index:20;inset:0;display:flex;align-items:center;justify-content:center;padding:28px;background:#04020be8;color:#fff;backdrop-filter:blur(9px)}.contact-overlay[hidden]{display:none}[inert]{pointer-events:none;filter:blur(2px);transition:filter .3s}
.close{position:fixed;top:20px;right:24px;z-index:30;background:#ffffff10;color:#fff;border:1px solid #ffffff20;font-size:28px;cursor:pointer;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;transition:background .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;line-height:1;padding:0}.close:active{background:#ffffff30}
.contact-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;width:min(1020px,92vw);min-height:590px;background:linear-gradient(135deg,#160b30e8,#090516ee);border:1px solid #b79dff88;border-radius:24px;box-shadow:0 0 110px #6c3fe399;overflow:hidden}
.contact-grid section{padding:70px}
.contact-grid section:first-child{background:radial-gradient(circle at 30% 70%,#7040d155,transparent 48%),linear-gradient(140deg,#27104a99,#0c071dcc)}
.contact-grid h2{font-size:clamp(58px,7vw,90px);letter-spacing:-5px;line-height:.86;margin:18px 0 26px}
.contact-grid em{font-style:normal;font-weight:400;color:var(--lav)}
.contact-grid p,.coordinates span{font:10px 'DM Mono',monospace;letter-spacing:1.8px;color:#b7a1ff}
.contact-grid section>span{display:block;max-width:400px;line-height:1.7;color:#cbc4db}
.contact-cta{display:flex!important;justify-content:space-between;align-items:center;width:min(330px,100%);margin-top:42px!important;padding:16px 18px;border:1px solid #c1a8ff;background:linear-gradient(135deg,#8b5cff,#5422c2);color:#fff!important;font:700 10px 'DM Mono',monospace;letter-spacing:1.4px;text-decoration:none;text-shadow:0 1px 8px #210b65;box-shadow:0 8px 28px #6236d477;transition:transform .2s,box-shadow .2s}.contact-cta:hover{background:linear-gradient(135deg,#a37aff,#6833dd);transform:translateY(-2px);box-shadow:0 12px 35px #8b63ef88}.contact-cta:disabled{opacity:.6;cursor:wait;transform:none}.contact-cta b{font-size:19px}.contact-data{display:flex;flex-direction:column;background:linear-gradient(150deg,#100a20d9,#07040eee)}
.coordinates{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:20px}.coordinates strong{display:block;font-size:25px;letter-spacing:-1px;margin-bottom:9px}.coordinates span{font-size:9px}
.data-row{padding:15px 0;border-bottom:1px solid #b99dff20}.data-row span{display:block;font:8px 'DM Mono',monospace;letter-spacing:1.5px;color:#9c87cf;margin-bottom:6px}.data-row a,.data-row b{color:#fff;text-decoration:none;font-size:17px;font-weight:400}.data-row b{font:10px 'DM Mono',monospace;letter-spacing:1px;color:#d2c5f2}.contact-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between}
.qr{display:grid;grid-template-columns:repeat(5,9px);grid-template-rows:repeat(5,9px);gap:2px;padding:8px;background:#f4efff}.qr i{background:#170a35}.qr i:nth-child(2),.qr i:nth-child(4){grid-row:span 2}.qr i:nth-child(3){grid-column:span 2}
.socials{display:flex;gap:8px}.socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #9d7bff66;color:#c5b5fa;text-decoration:none;font:10px 'DM Mono',monospace}.contact-data small{margin-top:35px;font-size:8px;color:#8b82a3}
.contact-status{margin-top:44px;color:#a89ac7;font:9px 'DM Mono',monospace;letter-spacing:1px}.contact-status i{display:inline-block;width:7px;height:7px;background:#7effb9;border-radius:50%;box-shadow:0 0 9px #7effb9;margin-right:6px}
#contactForm{display:grid;gap:14px;margin-top:28px}.contact-intro label{display:grid;gap:7px;color:#c0b0e9;font:8px 'DM Mono',monospace;letter-spacing:1.4px}.field-hint{color:#7a6a9a;font-size:9px;letter-spacing:.5px;margin-top:-3px}.contact-intro input,.contact-intro textarea{width:100%;border:1px solid #c1a8ff3d;border-radius:11px;background:#09051988;color:#fff;padding:11px 12px;outline:0;font:14px 'Space Grotesk',sans-serif;backdrop-filter:blur(10px);transition:border-color .25s,background .25s,box-shadow .25s}.contact-intro textarea{min-height:120px;padding-bottom:28px;resize:vertical}.contact-intro input:focus,.contact-intro textarea:focus{border-color:#c9b0ff;background:#160c3188;box-shadow:0 0 0 3px #a06dff22}.contact-intro input.invalid,.contact-intro textarea.invalid{border-color:#ff6b6b88;box-shadow:0 0 0 2px #ff6b6b22}.contact-intro .contact-cta{margin-top:5px!important}.textarea-wrap{position:relative}.char-count{position:absolute;bottom:8px;right:12px;color:#7a6a9a;font:10px 'DM Mono',monospace;pointer-events:none}.char-count.over{color:#ff6b6b}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #fff4;border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.form-status{min-height:16px;margin:0;color:#bcefd3;font:10px 'DM Mono',monospace;letter-spacing:.5px;transition:opacity .3s}.form-status.error{color:#ffaaaa}.contact-cta:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important;background:linear-gradient(135deg,#5a3a9a,#3a1a7a)}
.captcha{display:grid;grid-template-columns:1fr 68px 36px;gap:9px;align-items:end;padding:12px;border:1px solid #9b7bf044;border-radius:13px;background:#10082488}.captcha>span{grid-column:1/-1;color:#a78ce1;font:8px 'DM Mono',monospace;letter-spacing:1.6px}.captcha label{font:700 12px 'DM Mono',monospace;letter-spacing:.5px;color:#eee7ff}.captcha input{padding:9px!important;text-align:center;font:700 15px 'DM Mono',monospace!important}.captcha button{height:39px;border:1px solid #ad93f966;border-radius:9px;background:#25104e;color:#d6c9ff;font-size:18px;cursor:pointer}.captcha button:hover{background:#482088}

/* Footer */
.site-footer{position:fixed;z-index:4;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:24px;padding:14px 20px;font:9px 'DM Mono',monospace;letter-spacing:1.2px;color:#7a6a9e;background:linear-gradient(transparent,#06040dcc);pointer-events:auto}
.site-footer a{color:#a78cff;text-decoration:none;transition:color .2s}
.site-footer a:hover{color:#d0c1ff}

/* Privacy Policy Dialog */
.privacy-panel{position:relative;width:min(780px,92vw);max-height:80vh;background:linear-gradient(135deg,#160b30e8,#090516ee);border:1px solid #b79dff88;border-radius:24px;box-shadow:0 0 110px #6c3fe399;padding:60px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#7a4cff44 transparent}
.privacy-panel::-webkit-scrollbar{width:6px}
.privacy-panel::-webkit-scrollbar-track{background:transparent}
.privacy-panel::-webkit-scrollbar-thumb{background:#7a4cff44;border-radius:3px}
.privacy-label{margin:0;font:10px 'DM Mono',monospace;letter-spacing:2px;color:#b7a1ff}
.privacy-panel h2{font-size:clamp(48px,6vw,80px);letter-spacing:-4px;line-height:.86;margin:14px 0 32px}
.privacy-panel h2 em{font-style:normal;font-weight:400;color:var(--lav)}
.privacy-content{display:grid;gap:28px}
.privacy-content section h3{font:500 13px 'DM Mono',monospace;letter-spacing:1px;color:#d0c1ff;margin:0 0 10px}
.privacy-content section p{margin:0 0 10px;font:14px/1.7 'Space Grotesk',sans-serif;color:#cbc4db}
.privacy-content section ul{margin:8px 0 0;padding-left:20px}
.privacy-content section li{font:13px/1.7 'Space Grotesk',sans-serif;color:#b8a8d8;margin-bottom:6px}
.privacy-content section li::marker{color:#7a4cff}

@media(max-width:780px){.contact-grid{grid-template-columns:1fr;max-height:85vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#7a4cff44 transparent}.contact-grid section{padding:48px 30px}.contact-grid section:first-child{min-height:auto}.contact-data{min-height:auto}.contact-grid h2{font-size:60px}body[data-active-view]:not([data-active-view="home"]) #contactOpen{display:none}.privacy-panel{padding:36px 24px;max-height:85vh}.privacy-panel h2{font-size:48px;letter-spacing:-3px}.privacy-content section h3{font-size:12px}.privacy-content section p,.privacy-content section li{font-size:13px}.site-footer{font-size:8px;gap:16px;padding:12px 16px}.contact-overlay{padding:12px}.close{top:8px;right:8px;width:42px;height:42px;font-size:24px}#contactOpen{font-size:9px;padding:6px 10px;white-space:nowrap}#sound{gap:4px;padding:6px}.sound-label{font-size:8px}.sound-bars{min-width:13px;height:11px}.sound-bars i{width:2px}}
