.contact-page{background:#f5f5f3;color:#202326}
.contact-layout{max-width:850px;margin:0 auto;padding:70px 28px 90px}
.contact-intro{text-align:center;max-width:660px;margin:0 auto 35px}
.contact-intro .eyebrow{color:#777b7f;margin-bottom:18px}
.contact-intro h1{font:500 clamp(40px,5.5vw,64px)/1.07 var(--serif);letter-spacing:-.04em;margin:0 0 20px}
.contact-lead{font-size:14px;line-height:1.85;color:#626568;margin:0 auto;max-width:550px}
.contact-form-panel{padding:36px 40px;background:#fff;border:1px solid #20232620}
.required-note{margin:0 0 30px;font-size:12px;line-height:1.7;color:#626568}
.inquiry-form{display:flex;flex-direction:column;gap:28px}
.contact-form-section{padding:26px 0 0;margin:0;border:0;border-top:1px solid #20232626;display:flex;flex-direction:column;gap:20px;min-width:0}
.contact-form-section>legend{padding:0 14px 0 0;font:500 23px/1.4 var(--serif);letter-spacing:-.02em}
.contact-form-section>legend>span{font:500 10px var(--sans);letter-spacing:.1em;color:#777b7f;margin-right:10px;vertical-align:middle}
.inquiry-form label{font-size:13px;line-height:1.5;font-weight:500;color:#353a3d}
.contact-form-section>label,.form-row>label{display:flex;flex-direction:column;gap:8px;min-width:0}
.field-label>span{color:#777b7f}
.form-row{display:grid;gap:20px}.form-row.two-up{grid-template-columns:1fr 1fr}
.inquiry-form input:not([type=checkbox]):not([type=radio]),.inquiry-form textarea{width:100%;min-height:48px;padding:13px 14px;border:1px solid #bfc3c4;border-radius:0;background:#fafaf9;color:#202326;font:400 14px/1.5 var(--sans);transition:border-color .2s,box-shadow .2s}
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#858b8e;font-size:13px}
.inquiry-form input:focus-visible,.inquiry-form textarea:focus-visible{outline:2px solid #434b50;outline-offset:2px;border-color:#434b50}
.inquiry-form textarea{min-height:150px;resize:vertical}
.interest-group{border:0;padding:0;margin:0;min-width:0}
.interest-group legend{padding:0;margin-bottom:12px;font-size:13px;font-weight:500;line-height:1.5}
.interest-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.interest-options label{display:flex;align-items:center;gap:10px;border:1px solid #d6d8d8;background:#fafaf9;padding:12px;cursor:pointer;min-height:48px;font-size:12px}
.interest-options label:has(input:checked){border-color:#535e64;background:#edf0ed}
.interest-options input{accent-color:#303b33;width:17px;height:17px;margin:0;flex:0 0 17px}
.service-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice-hint{font-size:12px;line-height:1.6;color:#777b7f;margin:-4px 0 12px}
.addon-group{border-top:1px solid #20232620;padding-top:20px}
@media(max-width:600px){.service-options{grid-template-columns:1fr}}
.form-submit{border:0;background:#202326;color:#fff;cursor:pointer;align-self:flex-start;min-height:48px;padding:16px 24px;font-size:10px}
.form-note{margin:-13px 0 0;font-size:12px;line-height:1.6;color:#626568}
.preview-status{margin:0;font-size:13px;line-height:1.7;color:#626568}.preview-status:empty{display:none}
.contact-footer{background:#e9e9e7}.contact-page .wordmark{width:154px}
@media(max-width:600px){.contact-layout{padding:48px 6% 65px}.contact-intro{margin-bottom:28px}.contact-intro h1{font-size:42px}.contact-lead{font-size:13px}.contact-form-panel{padding:25px 20px}.form-row.two-up{grid-template-columns:1fr;gap:18px}.interest-options{grid-template-columns:1fr}.contact-form-section>legend{font-size:21px}.form-submit{width:100%;justify-content:space-between}.contact-footer{padding:24px 6%;gap:18px}.contact-footer>span:first-of-type{display:none}}

.contact-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-submit:disabled{opacity:.55;cursor:wait}
.preview-status.is-success{color:#43533f}

/* Badge hidden only on the contact pages, with visible reCAPTCHA attribution. */
.contact-page .grecaptcha-badge{visibility:hidden}
.recaptcha-notice{font-size:11px;line-height:1.7;color:#626568;margin:0 auto;max-width:520px;text-align:center}
.recaptcha-notice a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* A readable input size also avoids automatic field zoom on iPhone. */
@media(max-width:900px){
 .inquiry-form input:not([type=checkbox]):not([type=radio]),.inquiry-form textarea{font-size:16px}
}

/* Keep accessible names while displaying each text-field prompt only once. */
.inquiry-form .field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.contact-form-section>label,.form-row>label{gap:0}

.addon-group--standalone{border-top:0;padding-top:0}
.interest-options .choice-description{display:block;font-size:12px;line-height:1.6;font-weight:400;color:#555b5f;margin-top:3px}

.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#626568;opacity:1}
.contact-intro .eyebrow,.choice-hint{color:#626568}

.recaptcha-notice[hidden]{display:none}
