.contact-page .site-header{background:var(--paper);color:var(--ink);border-bottom:1px solid #eeeeec}
.contact-page main{padding-top:82px}
.contact-section{padding:70px var(--gutter) 90px;min-height:calc(100svh - 146px);border-bottom:1px solid #eeeeec}
.contact-heading{text-align:center;margin:0 auto 44px;max-width:800px}
.contact-heading .eyebrow{margin-bottom:16px;letter-spacing:.02em}
.contact-heading h1{font-size:48px;line-height:1.2;margin-bottom:20px}
.contact-heading>p:last-child{font-size:16px;line-height:1.6;text-wrap:balance}
.contact-form{max-width:700px;margin:0 auto}
.contact-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.contact-field{min-width:0}
.contact-full{grid-column:1/-1}
.contact-control,.contact-select{position:relative}
.contact-control input,.contact-control textarea,.contact-select select{width:100%;display:block;border:1px solid transparent;border-radius:0;background:#f2f2f2;color:var(--ink);font:400 14px/1.5 var(--body);min-height:46px;padding:14px 16px;transition:border-color 200ms ease,background-color 200ms ease,box-shadow 200ms ease;touch-action:manipulation}
.contact-control input{height:46px;padding:18px 16px 4px}
.contact-control textarea{min-height:102px;resize:vertical;padding:24px 16px 12px}
.contact-control label{position:absolute;left:17px;top:13px;color:var(--muted);font-size:14px;line-height:20px;cursor:text;transform-origin:left top;transition:transform 200ms var(--ease),color 200ms ease;pointer-events:none}
.contact-control:focus-within label,.contact-control input:not(:placeholder-shown)+label,.contact-control textarea:not(:placeholder-shown)+label{transform:translateY(-8px) scale(.72);color:var(--ink)}
.contact-control input:hover,.contact-control textarea:hover,.contact-select select:hover{background:#eeedeb}
.contact-control input:focus,.contact-control textarea:focus,.contact-select select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);background:var(--paper)}
.contact-select select{appearance:none;padding-right:48px;cursor:pointer}
.contact-select svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none}
.contact-control [aria-invalid=true]{border-color:#9d392e}
.contact-field-error{font-size:12px;line-height:1.5;color:#9d392e;margin-top:6px}
.contact-submit{display:flex;justify-content:center;margin-top:24px}
.contact-submit .button{min-width:148px;min-height:46px;padding:14px 22px;letter-spacing:.03em}
.contact-status{max-width:540px;margin:0 auto;font-size:13px;line-height:1.6;text-align:center;color:var(--muted)}
.contact-status:not(:empty){margin-top:20px;padding:14px 20px;background:var(--cream)}
.contact-errors{margin-bottom:22px;padding:16px 20px;border-left:2px solid #9d392e;background:#faf4f1}
.contact-errors h2{font:500 14px/1.5 var(--body);margin-bottom:6px}
.contact-errors ul{margin:0;padding-left:20px;color:#9d392e;font-size:13px}
.contact-errors a{display:inline-flex;align-items:center;min-height:30px;text-decoration:underline;text-underline-offset:3px}
.contact-errors:focus{outline:2px solid var(--gold);outline-offset:4px}
.contact-noscript{margin-top:20px;text-align:center;color:var(--muted);font-size:13px}
@media(max-width:767px){.contact-page main{padding-top:70px}.contact-section{padding:48px 20px 64px;min-height:calc(100svh - 102px)}.contact-heading{margin-bottom:32px}.contact-heading .eyebrow{margin-bottom:14px}.contact-heading h1{font-size:40px;margin-bottom:18px}.contact-heading>p:last-child{font-size:14px}.contact-fields{grid-template-columns:minmax(0,1fr);gap:14px}.contact-control input,.contact-control textarea,.contact-select select{font-size:16px;min-height:50px}.contact-control input{height:50px;padding-top:20px}.contact-control label{font-size:16px;top:15px}.contact-control textarea{min-height:132px;padding-top:28px}.contact-control:focus-within label,.contact-control input:not(:placeholder-shown)+label,.contact-control textarea:not(:placeholder-shown)+label{transform:translateY(-10px) scale(.72)}.contact-submit{margin-top:24px}.contact-errors a{min-height:44px}.contact-status:not(:empty){padding:14px 16px}}
