/* Contact is a scene, rather than a drawer. */
.panel.contact-panel{left:clamp(235px,22%,330px);right:0;width:auto;padding:82px 27px 38px;background:transparent;backdrop-filter:none;border:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#796432 transparent;animation:contact-arrive .65s cubic-bezier(.2,.8,.2,1)}
.contact-panel>.eyebrow{font-size:9px;color:#ffcd32;letter-spacing:.12em}
.contact-panel>#panel-title{font-size:clamp(34px,3.8vw,52px);margin:12px 56px 12px 0;letter-spacing:.015em}
.contact-panel>#panel-copy{max-width:57ch;margin:0 0 24px;font-size:11px;line-height:1.8;color:#b5b2a9}
#contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(20px,3vw,42px);align-items:start;min-width:0}
#contact-layout[hidden]{display:none}
.contact-left{min-width:0}
.contact-map{position:relative;margin:0;aspect-ratio:3/2;overflow:hidden;background:#030405;isolation:isolate;outline:1px solid #ffcd3225;outline-offset:-1px}
.contact-map>img{display:block;width:100%;height:100%;object-fit:cover;opacity:.78;transition:opacity .8s}
.contact-map:hover>img{opacity:.93}
.contact-map::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0004,transparent 30%,transparent 70%,#0008)}
.contact-map figcaption{position:absolute;left:14px;top:12px;z-index:2;font-size:8px;line-height:1.6;letter-spacing:.08em;color:#f2df9c}
.contact-map figcaption span{display:block;color:#aaa38c;font-size:7px}
.map-marker{position:absolute;left:61%;top:28%;z-index:3;width:0;height:0;color:#ffcd32}
.map-ring{position:absolute;left:-11px;top:-11px;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 6px #ffcd320a}
.map-ring::after{content:'';position:absolute;inset:-9px;border:1px dashed #ffcd3270;border-radius:50%;animation:map-orbit 24s linear infinite}
.map-ring::before{content:'';position:absolute;left:8px;top:8px;width:4px;height:4px;background:currentColor;border-radius:50%}
.map-location{position:absolute;right:23px;top:20px;white-space:nowrap;text-align:right;font-size:clamp(10px,1.1vw,14px);line-height:1.7;padding:4px 7px;background:#030405c9;letter-spacing:.06em}
.map-location::before{content:'';position:absolute;right:-20px;top:0;width:28px;border-top:1px solid #ffcd3280;transform:rotate(-45deg);transform-origin:right}
.map-location small{display:block;color:#b7b0a0;font-size:7px;letter-spacing:.07em}
.map-scale{position:absolute;right:12px;bottom:10px;z-index:2;width:42px;height:5px;border:1px solid #ffcd3250;border-top:0}
.contact-panel #contact-form{padding:10px 0 0}
.contact-panel #contact-form[hidden]{display:none}
.contact-panel #contact-form label{font-size:10px;margin-top:17px;color:#bcb7aa;letter-spacing:.02em}
.contact-panel #contact-form input,.contact-panel #contact-form textarea{background:#070b10b3;border-color:#ffcd322b;padding:11px 10px;font-size:12px;transition:border-color .2s,background .2s}
.contact-panel #contact-form input:focus,.contact-panel #contact-form textarea:focus{outline:1px solid #ffcd32;outline-offset:2px;background:#0c1219}
.contact-panel #contact-form fieldset{padding:13px;margin:23px 0 12px;border-color:#ffcd322b}
.contact-panel #contact-form legend,.contact-panel #choose-references{font-size:10px}
.contact-panel #contact-form .form-status{font-size:10px;line-height:1.8}
.contact-panel #contact-form .contact-permission{font-size:10px;line-height:1.8}
.contact-panel .form-submit{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;letter-spacing:.08em;font-size:11px;transition:background .25s}
.contact-panel .form-submit:hover{background:#ffcd3210}
.support-column{position:sticky;top:76px;min-width:0;padding-bottom:20px}
.support-video-window{position:relative;aspect-ratio:9/16;background:#030608ad;isolation:isolate;outline:1px solid #ffcd3229;outline-offset:-1px;overflow:hidden;transition:outline-color .5s,background .5s}
.support-video-window:hover{outline-color:#ffcd3270;background:#070c13b3}
.support-video-window>video{width:100%;height:100%;object-fit:cover;display:block}
.support-video-window>video[hidden]{display:none}
#contact-media{position:absolute;inset:0;z-index:-1}
#contact-media>video,#contact-media>iframe,#contact-media>img{display:block;width:100%;height:100%;object-fit:cover;border:0}
#contact-video-controls{display:flex;justify-content:flex-end;padding-top:12px}
#contact-video-controls[hidden]{display:none}
#contact-video-toggle{min-height:40px;padding:7px 0;font-size:10px;color:#ffcd32;letter-spacing:.05em}
.support-video-window:has(#contact-media>:is(video,iframe)) .support-headline{filter:drop-shadow(0 1px 3px #0009)}
.support-video-window::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle,#ffcd321b .6px,transparent .8px) 0 0/7px 7px;mask-image:linear-gradient(transparent,#0006,transparent)}
.support-topline{position:absolute;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;gap:10px;font-size:7px;letter-spacing:.13em;color:#a69a76;pointer-events:none}
.support-topline i{display:block;width:7px;height:7px;border:1px solid #ffcd32;border-radius:50%}
.support-headline{position:absolute;left:clamp(18px,2vw,30px);right:18px;top:28%;pointer-events:auto}
.support-title{position:relative;margin:0;color:#ffcd32;font:400 clamp(32px,4.2vw,65px)/.97 Bebas,sans-serif;letter-spacing:.015em;overflow-wrap:normal;white-space:pre-line}
.support-title::before,.support-title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;white-space:pre-line}
.support-title::before{color:#e6e4dd;opacity:0;animation:support-glitch 12s linear infinite}
.support-title::after{color:transparent;background:radial-gradient(circle,#ffcd32 .7px,transparent .9px) 0 0/3px 3px;background-clip:text;-webkit-background-clip:text;opacity:0;transition:opacity .35s,background-position .7s}
.support-video-window:hover .support-title::after{opacity:.75;background-position:9px 3px}
.support-video-window:hover .support-title{color:#ffcd32a6}
.support-footer{position:absolute;left:18px;right:18px;bottom:22px;display:flex;align-items:center;gap:10px;color:#a89f86;font-size:7px;letter-spacing:.08em;pointer-events:none}
.support-footer span{margin-left:auto;color:#ffcd32;font-size:16px}
#support-trace{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.support-corner{position:absolute;width:12px;height:12px;border-color:#ffcd3260;border-style:solid;pointer-events:none}
.support-corner.top{left:7px;top:7px;border-width:1px 0 0 1px}.support-corner.bottom{right:7px;bottom:7px;border-width:0 1px 1px 0}
.frame:has(.contact-panel:not([hidden])) .robot-base,.frame:has(.contact-panel:not([hidden])) #scene{opacity:0;visibility:hidden}
.frame:has(.contact-panel:not([hidden])) .interaction{visibility:hidden;pointer-events:none}
.frame:has(.contact-panel:not([hidden])) .shade{opacity:.25}
@keyframes contact-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes map-orbit{to{transform:rotate(360deg)}}
@keyframes support-glitch{0%,94%,96%,98%,100%{opacity:0;transform:none;clip-path:inset(0)}94.5%,95%{opacity:.45;transform:translateX(1px);clip-path:inset(20% 0 69%)}96.5%,97%{opacity:.35;transform:translateX(-1px);clip-path:inset(66% 0 25%)}}
@media(min-width:1600px){.panel.contact-panel{left:310px}}
@media(max-width:1000px) and (min-width:761px){.panel.contact-panel{left:215px;padding-left:18px;padding-right:18px}#contact-layout{gap:20px;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.contact-panel .form-row{grid-template-columns:1fr;gap:0}.support-title{font-size:38px}.support-topline,.support-footer{font-size:6px}}
@media(max-width:760px){.panel.contact-panel{left:0;width:100%;padding:82px 17px 28px}.contact-panel>#panel-title{font-size:38px;margin-top:14px}.contact-panel>#panel-copy{font-size:11px;margin-bottom:21px}#contact-layout{grid-template-columns:minmax(0,1fr);gap:32px}.contact-map{aspect-ratio:3/2}.contact-panel .form-row{grid-template-columns:minmax(0,1fr);gap:0}.support-column{position:relative;top:auto;width:min(100%,320px);justify-self:center;padding-bottom:0}.support-title{font-size:50px}.contact-panel #contact-form input,.contact-panel #contact-form textarea{font-size:16px}.map-location{font-size:12px}}
body:has(#motion[aria-pressed="true"]) .support-title::before,body:has(#motion[aria-pressed="true"]) .map-ring::after{animation:none}
@media(prefers-reduced-motion:reduce){.panel.contact-panel,.map-ring::after,.support-title::before{animation:none}.support-title::before,.support-title::after{display:none}}
