/* Loaded only by contato.php; the global header/footer keep their own styles. */
body.is-inner-page { background:#F7F6F2; }
.contact-page { background:#F7F6F2; color:#171717; }
.contact-page__inner { width:calc(100% - 64px); max-width:1320px; margin-inline:auto; padding-block:40px 56px; }
.contact-page__intro { max-width:760px; margin-bottom:32px; }
.contact-page__eyebrow { margin:0 0 12px; color:#53634F; font-size:.75rem; font-weight:600; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
.contact-page h1 { margin:0 0 16px; color:#173A24; font-size:clamp(2rem,3.2vw,2.875rem); line-height:1.12; font-weight:650; letter-spacing:-.025em; }
.contact-page__lead { max-width:700px; margin:0; color:#4F574E; font-size:1rem; line-height:1.65; }
.contact-page__grid { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,6fr); align-items:start; gap:clamp(32px,4vw,64px); }
.contact-page__grid > * { min-width:0; }
.contact-page__grid > :only-child { grid-column:1 / -1; }
.contact-page__channels { margin:0; }
.contact-page__channel { padding-block:16px; border-top:1px solid #D9DFD5; scroll-margin-top:var(--header-offset, 120px); }
.contact-page__channel:first-child { padding-top:0; border-top:0; }
.contact-page__channel dt { display:flex; align-items:center; gap:9px; margin-bottom:9px; color:#53634F; font-size:.75rem; line-height:1.5; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.contact-page__channel dt .icon { width:17px; height:17px; }
.contact-page__channel dd { margin:0; color:#173A24; font-size:1rem; line-height:1.6; }
.contact-page__channel a { text-decoration:none; }
.contact-page__channel a:hover { text-decoration:underline; }
.contact-page__socials { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:20px; padding-top:16px; border-top:1px solid #D9DFD5; }
.contact-page__socials a { display:inline-flex; align-items:center; gap:7px; min-height:44px; color:#173A24; font-size:.8125rem; text-decoration:none; }
.contact-page__socials a:hover { text-decoration:underline; }
.contact-page__socials .icon { width:17px; height:17px; }
.contact-page h2 { margin:0 0 16px; color:#173A24; font-size:1.625rem; line-height:1.2; font-weight:600; letter-spacing:-.015em; }
.contact-page__form { scroll-margin-top:var(--header-offset, 120px); }
.contact-page__form-note { margin:0 0 20px; color:#4F574E; line-height:1.65; }
.contact-page .contact-form { max-width:none; }
.contact-page .form-required { margin:0 0 16px; color:#616B5D; font-size:.8125rem; line-height:1.6; }
.contact-page .form-grid { gap:16px 20px; }
.contact-page .field label { margin-bottom:6px; color:#173A24; font-size:.875rem; font-weight:600; }
.contact-page .field input, .contact-page .field textarea { min-height:44px; padding:8px 12px; border-color:#CBD3C5; border-radius:8px; background:#FFFFFF; color:#171717; font-size:1rem; line-height:1.5; }
.contact-page .field textarea { min-height:144px; }
.contact-page .field input::placeholder, .contact-page .field textarea::placeholder { color:#70776C; opacity:1; }
.contact-page .field [aria-invalid="true"] { border-color:#9B3030; }
.contact-page .field-error { margin-top:8px; color:#842D2D; font-size:.8125rem; line-height:1.5; }
.contact-page .form-bottom { margin-top:20px; }
.contact-page .form-bottom p { max-width:620px; margin:0 0 16px; color:#53634F; font-size:.8125rem; line-height:1.65; }
.contact-page .form-bottom .icon { width:16px; height:16px; margin-right:7px; }
.contact-page .contact-form .button { min-height:var(--button-height, 40px); max-width:100%; padding:8px 18px; border:1px solid #2E6B46; border-radius:8px; background:#2E6B46; color:#FFFFFF; font-size:.875rem; font-weight:600; line-height:1.4; transition:background-color .18s ease,border-color .18s ease; }
.contact-page .contact-form .button:hover { background:#24573A; border-color:#24573A; }
.contact-page :focus-visible { outline:3px solid #173A24; outline-offset:4px; }
.contact-page .form-feedback, .contact-page .development-note { margin:0 0 20px; padding:12px 16px; border:1px solid #CBD3C5; border-radius:4px; background:#FFFFFF; color:#173A24; font-size:.875rem; line-height:1.65; }
.contact-page .form-feedback.success { border-left:3px solid #2E6B46; background:#F0F5EB; }
.contact-page__location { margin-top:48px; padding-top:32px; border-top:1px solid #D9DFD5; }
.contact-page__address { max-width:760px; margin:0 0 20px; color:#4F574E; font-size:1rem; line-height:1.65; }
.contact-page__map { width:100%; height:320px; overflow:hidden; border:1px solid #D9DFD5; border-radius:12px; background:#E9EDE3; }
.contact-page__map iframe { display:block; width:100%; height:100%; border:0; }
@media (max-width:900px) {
    .contact-page__inner { width:calc(100% - 40px); padding-block:32px 48px; }
    .contact-page__grid { grid-template-columns:minmax(0,1fr); gap:32px; }
    .contact-page__intro { margin-bottom:28px; }
    .contact-page__location { margin-top:40px; }
}
@media (max-width:600px) {
    .contact-page .form-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
    .contact-page__map { height:260px; }
}
@media (max-width:479px) {
    .contact-page__inner { width:calc(100% - 32px); padding-top:32px; }
    .contact-page__lead { font-size:1rem; }
}
@media (prefers-reduced-motion:reduce) {
    .contact-page .contact-form .button { transition:none; }
}
