.contact-page { background: var(--cream, #fbf8f1); color: var(--navy, #14233b); }
.contact-page .pdg-global-header { color: var(--navy, #14233b); background: var(--cream, #fbf8f1); }
.contact-shell { max-width: 1180px; margin: 0 auto; padding: 180px 48px 110px; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 8vw, 110px); }
.contact-intro h1 { color: var(--navy, #14233b); text-shadow: none; font-size: clamp(48px, 5.6vw, 76px); line-height: .98; letter-spacing: -.035em; margin: 24px 0 32px; font-weight: 400; }
.contact-intro > p:not(.eyebrow) { max-width: 380px; line-height: 1.8; color: var(--muted); }
.contact-property { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 36px; line-height: 1.65; }
.contact-property .eyebrow { margin: 0 0 15px; }
.contact-context { font-size: 14px; white-space: pre-line; }
.contact-back { display: inline-block; border-bottom: 1px solid currentColor; margin-top: 24px; font-size: 13px; }
.contact-form-section h2 { font-size: 38px; font-weight: 400; margin: 0 0 8px; }
.contact-required, .contact-small, .contact-privacy { font-size: 12px; line-height: 1.7; color: var(--muted); }
.contact-form { display: grid; gap: 22px; margin-top: 32px; }
.contact-form label { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 600; }
.contact-form label span { font-weight: 400; color: var(--muted); }
.contact-form input, .contact-form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--line, #cfc8bc); border-radius: 0; background: rgba(255,255,255,.4); color: inherit; padding: 14px 16px; font: inherit; font-size: 16px; }
.contact-form textarea { resize: vertical; min-height: 160px; }
.contact-form :is(input, textarea, button, a):focus-visible { outline: 2px solid var(--gold, #9a7144); outline-offset: 4px; }
.contact-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-status { margin: 0; min-height: 1.6em; font-size: 13px; line-height: 1.65; }
.contact-submit { justify-content: center; width: 100%; border: 1px solid var(--navy, #14233b); background: var(--navy, #14233b); color: #fff; min-height: 54px; cursor: pointer; font: inherit; font-size: 13px; }
.contact-submit:disabled { opacity: .5; cursor: not-allowed; }
.contact-retry { justify-self: start; background: none; border: 0; border-bottom: 1px solid; color: inherit; cursor: pointer; font: inherit; font-size: 13px; padding: 5px 0; }
.contact-form [hidden], .contact-shell [hidden] { display: none !important; }
.contact-small, .contact-privacy { margin: 0; }
.contact-agent-notice { padding: 18px; border: 1px solid #d5c9b3; background: #f2ece1; }
.contact-agent-notice p { margin: 0 0 14px; font-size: 15px; line-height: 1.5; }
.contact-agent-notice label { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.contact-form .contact-agent-notice input[type="checkbox"] { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: 2px 0 0; accent-color: #14233b; }
@media (max-width: 767px) { .contact-shell { display: block; padding: 124px 24px 70px; } .contact-form-section { margin-top: 50px; } .contact-intro h1 { color: var(--navy, #14233b); text-shadow: none; font-size: 56px; } .contact-form { gap: 20px; } }
