#contact{position:relative;isolation:isolate;overflow:hidden;background:#070b0e;border-top:1px solid #d7b58430;padding:clamp(3.5rem,6vw,7rem) 6vw clamp(3rem,5vw,6rem);min-height:88svh}
#contact .contact-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:clamp(3rem,5vw,6rem);position:relative;z-index:1}
.contact-coordinate{font-size:.62rem;letter-spacing:.15em;color:#9ba9b1}
#contact .eyebrow{color:#c9b08a;font-size:.67rem;letter-spacing:.17em}
#contact .contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(3rem,8vw,9rem)}
#contact h2{font-size:clamp(3.2rem,5.4vw,5.9rem);font-weight:400;letter-spacing:-.065em;line-height:1.06;margin:0 0 2.1rem;max-width:9.5em}
#contact h2 em{display:inline-block;color:#d9b780;font-style:normal;letter-spacing:-.06em;padding-bottom:.09em}
#contact .contact-invitation>p{font-size:1rem;line-height:1.8;color:#b6c0c5;max-width:28em;margin:0 0 1.4rem}
#contact .contact-invitation .contact-promise{color:#8799a5}
.contact-signature{display:flex;align-items:center;gap:.85rem;margin-top:4rem;color:#ab9690;font-size:.65rem;letter-spacing:.085em}
.contact-signature>span{width:2.6rem;height:1px;background:linear-gradient(90deg,#d8b684,transparent)}
.contact-form{min-width:0;width:100%;margin:0;padding-top:.35rem}
.contact-form-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#bdc6cb;font-size:.82rem;padding:0 0 1rem;border-bottom:1px solid #889aa335}
.contact-progress{font-size:.67rem;letter-spacing:.1em;color:#7e929e;white-space:nowrap}
.contact-progress b{font-weight:400;color:#dfbf8d}
.contact-fields{display:grid;grid-template-columns:minmax(0,1fr)}
.contact-field{position:relative;display:grid;grid-template-columns:2.2rem minmax(0,1fr) 1rem;align-items:center;gap:1rem;margin:0;padding:1.25rem 0 1.35rem;border-bottom:1px solid #889aa349;cursor:text}
.contact-field:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:#e4c593;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 12px #d9aa6666;pointer-events:none}
.contact-field:focus-within:after,.contact-field.is-complete:after{transform:scaleX(1)}
.contact-number{font-size:.64rem;letter-spacing:.1em;color:#718590;transition:color .25s;align-self:start;padding-top:.2rem}
.contact-field:focus-within .contact-number,.contact-field.is-complete .contact-number{color:#dfbf8d}
.contact-field-content{display:block;min-width:0}
.contact-label{display:block;color:#c1cacf;font-size:.77rem;line-height:1.5}
.contact-field input{width:100%;margin:.35rem 0 0;padding:.1rem 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#f1eee7;font:inherit;font-size:clamp(1.2rem,1.9vw,1.7rem);line-height:1.4;letter-spacing:-.035em;transition:color .2s}
.contact-field input::placeholder{color:#75858f;opacity:1}
.contact-field input:focus{outline:none}
.contact-field:has(input:focus-visible){outline:1px solid #d8b6847a;outline-offset:7px}
.contact-field input:-webkit-autofill{-webkit-text-fill-color:#f1eee7;-webkit-box-shadow:0 0 0 1000px #070b0e inset;caret-color:#f1eee7}
.contact-field:has(input[aria-invalid=true]):after{transform:scaleX(1);background:#efafa0;box-shadow:none}
.contact-field-mark{width:.3rem;height:.3rem;border-radius:50%;border:1px solid #77868b;transition:background .3s,border-color .3s,box-shadow .3s}
.contact-field.is-complete .contact-field-mark{background:#e2c391;border-color:#e2c391;box-shadow:0 0 12px #d8b68480}
.contact-error{display:block;color:#f1b0a3;font-size:.75rem;line-height:1.6;letter-spacing:0;margin-top:.4rem}
.contact-error:empty{display:none}
#contact .contact-submit{display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;width:100%;margin:2rem 0 0;gap:2rem;padding:1.25rem 1.6rem;background:#ddbd89;color:#11181d;border:1px solid #ddbd89;border-radius:0;font-size:.93rem;letter-spacing:-.01em;box-shadow:none;transition:background .25s,border-color .25s}
.contact-button-arrow{font-size:1.5rem;font-weight:300;line-height:1;transition:transform .3s}
#contact .contact-submit:hover{background:#f1d5a9;border-color:#f1d5a9;transform:none;box-shadow:none}
.contact-submit:hover .contact-button-arrow{transform:translate(3px,-3px)}
#contact .contact-submit:focus-visible{outline:2px solid #f3ddba;outline-offset:5px}
#contact .contact-submit:disabled{opacity:1;cursor:default}
#contact .contact-form[aria-busy=true] .contact-submit:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#fff8,transparent 75%);transform:translateX(-100%);animation:contact-send 1.3s linear infinite}
#contact .contact-form[data-saved] .contact-submit{background:transparent;color:#e2c391;border-color:#a88f6880}
#contact .contact-privacy,#contact .contact-status{font-size:.73rem;line-height:1.75;max-width:39em;margin:1rem 0 0;color:#8fa0a9}
#contact .contact-status{min-height:3.5em;color:#edce9e}
.contact-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
#contact .contact-threads{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.24;mask-image:linear-gradient(180deg,transparent 5%,#000 70%);background:radial-gradient(ellipse at 20% 100%,#b8975518,transparent 50%)}
.contact-threads svg{width:100%;height:100%;overflow:visible}
.contact-threads path{stroke:#c7b088;fill:none;stroke-width:.65;opacity:.3;vector-effect:non-scaling-stroke}
.contact-threads path:nth-child(3n){stroke:#9ab6c9;opacity:.22}
.contact-threads .is-drawing{animation:contact-draw 1.8s cubic-bezier(.2,.7,.2,1) both;stroke-dasharray:1;stroke-dashoffset:0;animation-delay:var(--thread-delay,0ms)}
@keyframes contact-send{to{transform:translateX(100%)}}
@keyframes contact-draw{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:.3}}
@media(max-width:1100px){#contact .contact-layout{gap:3rem}#contact h2{font-size:clamp(3rem,5.5vw,5rem)}.contact-field{grid-template-columns:1.8rem minmax(0,1fr) .5rem;gap:.7rem}}
@media(max-width:760px){#contact{padding:3.3rem 6vw 2.5rem;min-height:auto}#contact .contact-heading{margin-bottom:2.8rem}.contact-coordinate{display:none}#contact .contact-layout{grid-template-columns:1fr;gap:2.7rem}#contact h2{font-size:clamp(2.8rem,9.3vw,4.3rem);max-width:12em;margin-bottom:1.6rem}#contact .contact-invitation>p{font-size:.95rem}.contact-signature{display:none}.contact-form-heading{font-size:.77rem}.contact-field{padding:1.2rem 0}.contact-field input{font-size:1.4rem}#contact .contact-submit{margin-top:1.5rem}.contact-threads{opacity:.16!important}#contact .contact-privacy,#contact .contact-status{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.contact-field:after,.contact-button-arrow{transition:none}.contact-threads .is-drawing,#contact .contact-form[aria-busy=true] .contact-submit:after{animation:none}}
