.contact-page { padding-block: clamp(2rem,6vw,5rem); }
.contact-intro { max-width: 860px; margin-bottom: 3rem; }
.contact-eyebrow { color: #b8d87a; text-transform: uppercase; letter-spacing: .15em; font-size: .75rem; font-weight: 700; }
.contact-intro h1 { font-size: clamp(2.6rem,6vw,4.8rem); line-height: 1.06; letter-spacing: -.045em; margin-block: 1rem 1.5rem; }
.contact-intro h1 em { color: #b8d87a; font-family: Georgia,serif; font-weight: 400; }
.contact-intro>p:last-child { max-width: 650px; line-height: 1.7; font-size: 1.1rem; color: #d0d8cc; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.4fr; gap: clamp(1.5rem,5vw,4rem); align-items: start; }
.contact-layout>* { min-width: 0; }
.contact-number { font-size: 3.5rem; color: #b8d87a; font-family: Georgia,serif; }
.contact-aside h2 { font-size: 2.1rem; line-height: 1.2; }
.contact-aside p { line-height: 1.65; color: #cbd5c7; }
.contact-aside a { overflow-wrap: anywhere; }
.contact-steps { padding-left: 1.2rem; margin-block: 2rem; }
.contact-steps li { padding: .6rem 0 .8rem .6rem; }
.contact-steps strong,.contact-steps span { display: block; }
.contact-steps span { margin-top: .4rem; color: #cbd5c7; line-height: 1.5; }
.public-premium .contact-form { background: #f3f3e9; color: #213321; padding: clamp(1.2rem,3vw,2.5rem); border: 1px solid #d6ddc9; border-radius: 1.4rem; }
.contact-form h2 { margin: 0 0 .6rem; font-size: 1.65rem; }
.contact-form a { color: #34531b; text-decoration: underline; }
.contact-form .input { background: #fffef7; color: #213321; border: 1px solid #89977e; border-radius: .6rem; font: inherit; padding: .85rem; }
.contact-form .input::placeholder { color: #606b58; }
.contact-form .input[aria-invalid=true] { border: 2px solid #9c2626; }
.contact-form .input:focus-visible,.contact-form button:focus-visible,.contact-profile input:focus-visible { outline: 3px solid #496d24; outline-offset: 3px; }
.contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.contact-field { margin-block: .8rem; }
.contact-field label { display: block; font-weight: 650; }
.contact-field label span { font-size: .8rem; font-weight: 400; }
.contact-profile { border: 0; padding: 0; margin: 1.5rem 0; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.contact-profile legend { margin-bottom: .7rem; font-weight: 650; }
.contact-profile label { display: flex; gap: .6rem; border: 1px solid #89977e; padding: 1rem .7rem; border-radius: .7rem; align-items: start; cursor: pointer; }
.contact-profile label:has(input:checked) { background: #e0edc7; border: 2px solid #496d24; }
.contact-profile input { accent-color: #496d24; min-width: 18px; min-height: 18px; }
.contact-profile small { display: block; font-size: .75rem; margin-top: .4rem; }
.contact-privacy { font-size: .8rem; line-height: 1.6; }
.contact-form .contact-submit { width: 100%; display: flex; justify-content: space-between; background: #294524; color: #fff; border: 0; font-size: 1rem; cursor: pointer; padding: 1rem 1.3rem; margin-top: 1.2rem; }
.contact-submit:disabled { opacity: .6; cursor: wait; }
.contact-error,.contact-error-summary { color: #852222; }
.contact-error { font-size: .85rem; }
.contact-error-summary { padding: 1rem; background: #ffe8df; border: 1px solid #ad4b36; border-radius: .5rem; }
.contact-success { padding: 1.5rem; margin-bottom: 2rem; background: #223b22; border: 1px solid #b8d87a; border-radius: 1rem; }
.contact-success h2 { color: #d7eda9; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-form [hidden] { display: none !important; }
.facebook-live-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
.facebook-live-layout>* { min-width: 0; }
.facebook-live-layout p { line-height: 1.7; }
.facebook-embed iframe { display: block; max-width: 100%; }
@media(max-width: 760px) {
  .contact-layout,.facebook-live-layout { grid-template-columns: 1fr; }
  .contact-aside { order: 2; }
  .contact-intro { margin-bottom: 1.5rem; }
  .contact-fields,.contact-profile { grid-template-columns: 1fr; }
  .public-premium header>.container { flex-wrap: wrap; gap: .8rem; }
  .nav-public { flex-wrap: wrap; gap: .4rem; }
  .nav-public .btn { padding: .6rem .8rem; }
}
