.contact-page{min-height:100svh;background:var(--paper);position:relative;isolation:isolate}
.contact-page::before{content:"";position:absolute;inset:0 45% 0 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 3% 36%,#eaa88860,transparent 62%),radial-gradient(ellipse at 15% 0%,#c3c6d54d,transparent 65%)}
.contact-page .site-header{position:relative;padding-top:26px}
.contact-page .site-header nav a[aria-current="page"]:after{transform:scaleX(1)}
.contact-layout{max-width:1600px;min-height:calc(100svh - 190px);margin:auto;padding:65px 6vw 70px;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}
.contact-overline{font-size:12px;letter-spacing:.075em;line-height:1.6;margin:0 0 29px}
.contact-intro h1,.contact-thanks h1{font:500 clamp(58px,6.65vw,108px)/1 var(--display);letter-spacing:-.065em;margin:0 0 30px}
.contact-intro h1 em,.contact-thanks h1 em{font-style:normal;color:var(--accent)}
.contact-invitation{font-size:18px;line-height:1.6;color:#6b615b;margin:0 0 38px}
.contact-direct p{font-size:14px;color:#6b615b;margin:0 0 8px}
.contact-direct a{display:inline-flex;align-items:center;gap:22px;font-size:22px;letter-spacing:-.035em;border-bottom:1px solid var(--line);padding-bottom:7px;transition:color .2s,border-color .2s}
.contact-direct a:hover{color:var(--accent);border-color:var(--accent)}
.contact-socials{display:flex;gap:25px;font-size:14px;margin-top:30px}
.contact-socials a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-form-section{padding-top:1px;min-width:0}
.form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 32px}
.form-heading h2{font:500 clamp(23px,2.15vw,32px)/1.2 var(--display);letter-spacing:-.045em;margin:0}
.form-heading p{font-size:12px;white-space:nowrap;color:#6b615b;margin:0}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-field{margin-bottom:31px;min-width:0}
.contact-field label{display:block;font-size:14px;line-height:1.5;margin-bottom:8px}
.contact-field label>span:not(.optional){color:var(--accent)}
.contact-field .optional{font-size:12px;margin-left:10px;color:#6b615b}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #b7ada2;border-radius:0;background:transparent;padding:10px 0 13px;color:var(--ink);font:400 17px/1.6 var(--body);transition:border-color .2s,box-shadow .2s}
.contact-field textarea{resize:vertical;min-height:145px;max-height:500px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#83796f;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
.contact-field input:user-invalid,.contact-field textarea:user-invalid{border-color:#aa3227}
.contact-submit{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px 12px 25px;border:0;border-radius:5px;background:var(--ink);color:var(--paper);font:500 17px/1.4 var(--body);cursor:pointer;transition:background .2s,transform .2s}
.submit-arrow{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--ink);line-height:1;transition:background .25s}
.submit-arrow .ui-chevron{width:23px;height:23px}
.contact-submit:hover{background:#302a28}
.contact-submit:hover .submit-arrow{background:#e16c46;transform:none}
.contact-submit:hover .submit-arrow .ui-chevron,.contact-direct a:hover .ui-chevron{transform:translateX(2px)}
.contact-submit:disabled{cursor:wait;opacity:.65}
.contact-submit:disabled .submit-arrow{transform:none}
.contact-submit:disabled .ui-chevron{transform:none}
.form-note{font-size:12px;line-height:1.6;color:#6b615b;margin:16px 0 0}
.form-status{font-size:14px;line-height:1.5;margin:14px 0 0;color:#6b615b}
.form-status:empty{display:none}
.contact-honeypot{display:none}
.contact-page-footer{display:flex;justify-content:space-between;gap:25px;font-size:12px;line-height:1.6;letter-spacing:.04em;margin:0 6vw;padding:23px 0;border-top:1px solid var(--line)}
.contact-thanks{max-width:1300px;min-height:calc(100svh - 190px);margin:auto;padding:60px 6vw 75px}
.contact-thanks>p:not(.contact-overline){font-size:18px;line-height:1.65;color:#6b615b;margin:0 0 32px}
.contact-thanks .contact-submit{max-width:320px}
@media(prefers-reduced-motion:no-preference){.contact-intro,.contact-thanks{animation:contact-enter .65s both}.contact-form-section{animation:contact-enter .65s .12s both}@keyframes contact-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}
@media(max-width:1050px){.contact-layout{gap:6%;padding-top:55px}.contact-field-row{grid-template-columns:1fr;gap:0}.contact-intro h1{font-size:7vw}.contact-field{margin-bottom:25px}}
@media(max-width:700px){.contact-page::before{inset:0 0 45%}.contact-page .site-header{padding:22px 6vw}.contact-layout{display:flex;flex-direction:column;gap:45px;min-height:0;padding:30px 6vw 55px}.contact-intro{width:100%}.contact-overline{margin-bottom:21px}.contact-intro h1,.contact-thanks h1{font-size:clamp(54px,12.6vw,87px);margin-bottom:23px}.contact-invitation{font-size:17px;margin-bottom:25px}.contact-direct a{font-size:21px}.contact-socials{margin-top:22px}.contact-form-section{width:100%;border-top:1px solid var(--line);padding-top:30px}.form-heading{margin-bottom:28px}.form-heading h2{font-size:25px}.contact-field-row{grid-template-columns:1fr 1fr;gap:18px}.contact-field input,.contact-field textarea{font-size:16px}.contact-field input{padding-bottom:10px}.contact-field textarea{min-height:140px}.contact-page-footer{font-size:12px;gap:20px}.contact-page-footer>span:last-child{text-align:right}.contact-thanks{padding:45px 6vw 65px}}
@media(max-width:420px){.contact-field-row{grid-template-columns:1fr;gap:0}.contact-page-footer>span{max-width:55%}.contact-page .site-header nav{gap:17px;padding:16px 18px}}
@media(prefers-reduced-motion:reduce){.contact-submit,.submit-arrow,.contact-direct a{transition:none}}
