html.js[data-sig="contact"]{--door-wall:#111318;--door-leaf:#0b0c10;--door-frame:#262a33;--door-f:14px;--door-gap:4px;--door-sill-h:9px;--door-sill-x:10px;--door-warm:226,201,149;--door-hot:255,238,204}html.js[data-sig="contact"] main > .contact-main{padding-top:0 !important;overflow-x:clip}html.js[data-sig="contact"] .routes--contact{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;column-gap:clamp(64px,9vw,140px);row-gap:0;margin:0;padding:clamp(64px,7vw,104px) calc(var(--door-f) + var(--door-sill-x)) clamp(118px,10vw,150px);background:var(--door-wall);border:0;border-radius:0;box-shadow:0 0 0 100vmax var(--door-wall);clip-path:inset(-1px -100vmax)}html.js[data-sig="contact"] .contact-coordinates{margin-top:clamp(44px,5vw,64px)}html.js[data-sig="contact"] .routes--contact > .contact-route{--door-t:#f4f1ea;--door-p:#b9bdc6;--door-li:#a9adb7;--door-k:#c9ac72;--door-note:#c9c4b8;--door-btn:#c9ac72;position:relative;z-index:auto;isolation:auto;overflow:visible;min-width:0;margin:0;border:0;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,0.6),inset 0 0 0 1px rgba(244,241,234,0.035);opacity:1 !important;filter:none !important;transform:none !important;transition:none}html.js[data-sig="contact"] .routes--contact > .contact-route{--pull-x:17px;--pull-h:clamp(64px,6.2vw,92px);--pull-y:46%;background:linear-gradient(180deg,#e2c995,#c9ac72 38%,#9b7f4c) var(--pull-side,right) var(--pull-x) top var(--pull-y) / 3px var(--pull-h) no-repeat,linear-gradient(rgba(0,0,0,0.55),rgba(0,0,0,0.55)) var(--pull-side,right) calc(var(--pull-x) - 3px) top calc(var(--pull-y) + 4px) / 3px var(--pull-h) no-repeat,var(--door-leaf)}html.js[data-sig="contact"] .routes--contact > .contact-route:first-child{--pull-side:left}html.js[data-sig="contact"] .routes--contact > .contact-route::before{content:"";position:absolute;z-index:-1;left:calc(var(--door-f) * -1);right:calc(var(--door-f) * -1);top:calc(var(--door-f) * -1);bottom:calc(var(--door-gap) * -1);border-radius:2px 2px 0 0;pointer-events:none;background:linear-gradient(180deg,#23262e,#272b34 62%,#2d313b);box-shadow:0 0 0 1px rgba(0,0,0,0.5),inset 0 0 0 1px rgba(244,241,234,0.06),inset 0 1px 0 rgba(244,241,234,0.09)}html.js[data-sig="contact"] .routes--contact > .contact-route::after{content:"";position:absolute;left:calc((var(--door-f) + var(--door-sill-x)) * -1);right:calc((var(--door-f) + var(--door-sill-x)) * -1);top:calc(100% + var(--door-gap));height:var(--door-sill-h);border-radius:1px;pointer-events:none;background:linear-gradient(180deg,#3b3f49,#262931 45%,#17191f);box-shadow:0 1px 0 rgba(0,0,0,0.5)}html.js[data-sig="contact"] .contact-route > :not([class^="sig-door"]):not(.contact-route__number){position:relative;z-index:1}html.js[data-sig="contact"] .contact-route h2,html.js[data-sig="contact"] .contact-route .contact-route__lead,html.js[data-sig="contact"] .contact-route strong{color:var(--door-t);transition:color 0.45s ease}html.js[data-sig="contact"] .contact-route p{color:var(--door-p);transition:color 0.45s ease}html.js[data-sig="contact"] .contact-route p a{color:var(--door-t);text-decoration-color:rgba(244,241,234,0.45)}html.js[data-sig="contact"] .contact-route .kicker{color:var(--door-k);transition:color 0.45s ease}html.js[data-sig="contact"] .contact-route__scope,html.js[data-sig="contact"] .contact-route__scope li{border-color:rgba(244,241,234,0.12)}html.js[data-sig="contact"] .contact-route__scope li{color:var(--door-li);transition:color 0.45s ease}html.js[data-sig="contact"] .contact-route .contact-route__note{border-left-color:var(--door-k);background:rgba(201,172,114,0.07);color:var(--door-note);transition:color 0.45s ease}html.js[data-sig="contact"] .contact-route .contact-action{border-color:rgba(201,172,114,0.5);background:transparent;color:var(--door-btn);transition:color 0.45s ease,background-color 0.45s ease,border-color 0.45s ease}html.js[data-sig="contact"] .contact-route .contact-action--primary{border-color:var(--door-btn);background:var(--door-btn);color:#0a0b10}html.js[data-sig="contact"] .contact-route a:focus-visible{outline:2px solid #e2c995;outline-offset:3px}html.js[data-sig="contact"] .contact-route .contact-route__number{display:block;position:absolute;z-index:1;top:24px;right:26px;padding:5px 7px 4px;border:1px solid rgba(201,172,114,0.42);border-radius:2px;font-family:var(--mono,"IBM Plex Mono",ui-monospace,monospace);font-size:12px;font-weight:500;line-height:1;letter-spacing:0.08em;color:var(--door-k);-webkit-text-stroke:0;transition:color 0.45s ease,border-color 0.45s ease}.sig-door__gap{position:absolute;z-index:0;left:0;right:0;top:100%;height:var(--door-gap);pointer-events:none;background:linear-gradient(90deg,rgba(var(--door-hot),0.55),rgba(var(--door-hot),0.96) 14%,rgb(var(--door-hot)) 50%,rgba(var(--door-hot),0.96) 86%,rgba(var(--door-hot),0.55));box-shadow:0 0 6px 1px rgba(var(--door-warm),0.75),0 0 22px 3px rgba(var(--door-warm),0.32);transition:opacity 0.6s ease,transform 0.7s cubic-bezier(0.2,0.7,0.2,1),box-shadow 0.6s ease}.sig-door__spill{position:absolute;z-index:0;left:-8%;right:-8%;top:calc(100% + var(--door-gap) + var(--door-sill-h));height:clamp(84px,8vw,118px);pointer-events:none;background:radial-gradient(50% 100% at 50% 0,rgba(var(--door-warm),0.36),rgba(var(--door-warm),0.14) 42%,rgba(var(--door-warm),0.04) 72%,rgba(var(--door-warm),0) 100%);transform-origin:50% 0;transition:opacity 0.7s ease,transform 0.8s cubic-bezier(0.2,0.7,0.2,1)}.sig-door__fan{position:absolute;z-index:0;left:-40%;right:-40%;top:calc(100% + var(--door-gap) + var(--door-sill-h));height:clamp(96px,9vw,128px);pointer-events:none;background:linear-gradient(180deg,rgba(var(--door-hot),0.42),rgba(var(--door-warm),0.22) 34%,rgba(var(--door-warm),0.08) 66%,rgba(var(--door-warm),0.02) 86%,rgba(var(--door-warm),0));clip-path:polygon(38.9% 0,77.8% 0,100% 100%,27.8% 100%);filter:blur(5px);opacity:0;transform:scaleY(0.55);transform-origin:50% 0;transition:opacity 0.55s ease,transform 0.8s cubic-bezier(0.2,0.7,0.2,1)}.sig-door__seam{position:absolute;z-index:0;top:0;bottom:0;right:0;width:12px;pointer-events:none;opacity:0;background:linear-gradient(270deg,rgb(var(--door-hot)),rgba(var(--door-hot),0.92) 55%,rgba(var(--door-warm),0.55)) right center / 2px 100% no-repeat;transition:background-size 0.75s cubic-bezier(0.2,0.7,0.2,1),opacity 0.3s ease}.sig-door__seam::after{content:"";position:absolute;top:0;bottom:0;right:0;width:12px;opacity:0;box-shadow:0 0 14px 2px rgba(var(--door-warm),0.55),0 0 46px 8px rgba(var(--door-warm),0.2);transition:opacity 0.75s ease}.contact-route[data-door="1"] .sig-door__seam{right:auto;left:0;background:linear-gradient(90deg,rgb(var(--door-hot)),rgba(var(--door-hot),0.92) 55%,rgba(var(--door-warm),0.55)) left center / 2px 100% no-repeat}.contact-route[data-door="1"] .sig-door__fan{clip-path:polygon(22.2% 0,61.1% 0,72.2% 100%,0 100%)}html.js[data-sig="contact"] .routes--contact > .contact-route.is-open{--door-k:#e2c995}.contact-route.is-open .sig-door__seam{opacity:1;background-size:12px 100%}.contact-route.is-open .sig-door__seam::after{opacity:1}.contact-route.is-open .sig-door__fan{opacity:1;transform:none}.contact-route.is-open .sig-door__spill{opacity:0.55;transform:scaleY(0.8)}.contact-route.is-open .sig-door__gap{box-shadow:0 0 8px 1px rgba(var(--door-warm),0.85),0 0 30px 5px rgba(var(--door-warm),0.4)}.contact-route.is-open .contact-route__number{border-color:rgba(226,201,149,0.7)}html.js[data-sig="contact"] .routes--contact > .contact-route.is-dim{--door-t:#b9bcc5;--door-p:#8f939c;--door-li:#8a8e97;--door-k:#a08a5e;--door-note:#9d998f;--door-btn:#8f7b52}.contact-route.is-dim .sig-door__gap{opacity:0.4}.contact-route.is-dim .sig-door__spill{opacity:0.35}.contact-route.is-dim .contact-route__number{border-color:rgba(160,138,94,0.3)}html.sig[data-sig="contact"] .sig-doors.is-pre .contact-route:not(.is-lit) .sig-door__gap{opacity:0;transform:scaleX(0.12)}html.sig[data-sig="contact"] .sig-doors.is-pre .contact-route:not(.is-lit) .sig-door__spill{opacity:0;transform:scaleY(0.3)}@media (max-width:1100px){html.js[data-sig="contact"] .routes--contact{column-gap:clamp(48px,6vw,80px)}}@media (max-width:860px){html.js[data-sig="contact"]{--door-f:10px;--door-sill-x:6px;--door-gap:3px;--door-sill-h:7px}html.js[data-sig="contact"] .routes--contact{grid-template-columns:minmax(0,1fr);row-gap:clamp(150px,26vw,190px);justify-items:center;padding:56px 0 clamp(118px,22vw,150px)}html.js[data-sig="contact"] .routes--contact > .contact-route{width:100%;max-width:560px}html.js[data-sig="contact"] .routes--contact > .contact-route:first-child{--pull-side:right}html.js[data-sig="contact"] .routes--contact > .contact-route{--pull-x:10px}.contact-route[data-door="1"] .sig-door__seam{left:auto;right:0;background:linear-gradient(270deg,rgb(var(--door-hot)),rgba(var(--door-hot),0.92) 55%,rgba(var(--door-warm),0.55)) right center / 2px 100% no-repeat}.contact-route.is-open .sig-door__seam{background-size:12px 100%}.contact-route[data-door="1"] .sig-door__fan{clip-path:polygon(38.9% 0,77.8% 0,100% 100%,27.8% 100%)}}@media (max-width:719px){html.js[data-sig="contact"] .contact-route .contact-route__number{top:18px;right:18px}}@media (prefers-reduced-motion:reduce){html.js[data-sig="contact"] .routes--contact > .contact-route,html.js[data-sig="contact"] .contact-route *,.sig-door__gap,.sig-door__spill,.sig-door__fan,.sig-door__seam,.sig-door__seam::after{transition:none !important}}@media (forced-colors:active){html.js[data-sig="contact"] .routes--contact{box-shadow:none;clip-path:none}html.js[data-sig="contact"] .routes--contact > .contact-route{border:1px solid CanvasText}html.js[data-sig="contact"] .routes--contact > .contact-route::before,html.js[data-sig="contact"] .routes--contact > .contact-route::after{border:1px solid CanvasText;background:Canvas}.sig-door__gap,.sig-door__spill,.sig-door__fan,.sig-door__seam{display:none}}@media print{html.js[data-sig="contact"] .routes--contact{box-shadow:none;clip-path:none;background:none;padding:0}html.js[data-sig="contact"] .routes--contact > .contact-route{--door-t:#111;--door-p:#333;--door-li:#333;--door-k:#5d4c2e;--door-note:#333;--door-btn:#5d4c2e;background:none;box-shadow:none;border:1px solid #999}html.js[data-sig="contact"] .routes--contact > .contact-route::before,html.js[data-sig="contact"] .routes--contact > .contact-route::after,.sig-door__gap,.sig-door__spill,.sig-door__fan,.sig-door__seam{display:none}html.js[data-sig="contact"] .contact-route .contact-action--primary{background:none;color:#111}}
