/* Scoped to the Contact page: existing article and homepage layouts stay intact. */
.hpj-contact-page.hpj-contact-page { margin:0; padding:0 0 64px; background:#fff; color:#171717; font-family:Arial,Helvetica,sans-serif; }
.hpj-contact-page .hpj-contact-width { width:calc(100% - 48px); max-width:1080px; margin-left:auto; margin-right:auto; box-sizing:border-box; }
.hpj-contact-page .hpj-contact-banner { margin:0; padding:32px 0 36px; background:#f8f8f8; }
.hpj-contact-page .hpj-contact-banner h1 { margin:0; padding:0; font:700 36px/1.3 Arial,Helvetica,sans-serif; letter-spacing:-1px; color:#d64d42; }
.hpj-contact-page .hpj-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:80px; align-items:start; margin-top:36px; }
.hpj-contact-page .hpj-contact-main, .hpj-contact-page .hpj-contact-sidebar { min-width:0; margin:0; }
.hpj-contact-page .wp-block-post-content { margin:0; }
.hpj-contact-page .hpj-contact-email { margin:0 0 28px; font-size:15px; line-height:1.7; }
.hpj-contact-page .hpj-contact-email a { color:#972e27; text-decoration:underline; text-underline-offset:3px; }
.hpj-contact-page .hpj-form { margin:0; max-width:none; }
.hpj-contact-page .hpj-form > p { margin:0 0 24px; }
.hpj-contact-page .hpj-form label { display:block; margin:0 0 9px; color:#171717; font-size:14px; font-weight:600; line-height:1.4; }
.hpj-contact-page .hpj-required { color:#b63830; }
.hpj-contact-page .hpj-form input:not([type=hidden]):not([type=checkbox]),
.hpj-contact-page .hpj-form textarea { display:block; box-sizing:border-box; border:1px solid #bcbcbc; border-radius:2px; padding:10px 12px; background:#fff; color:#171717; font:16px/1.5 Arial,Helvetica,sans-serif; box-shadow:none; }
.hpj-contact-page .hpj-form input:not([type=hidden]):not([type=checkbox]) { width:65%; min-height:44px; }
.hpj-contact-page .hpj-form textarea { width:100%; min-height:150px; resize:vertical; }
.hpj-contact-page .hpj-form button { min-height:44px; border:0; border-radius:24px; padding:10px 20px; font:600 14px/1.5 Arial,Helvetica,sans-serif; background:#b63d34 !important; color:#fff !important; cursor:pointer; }
.hpj-contact-page .hpj-form button:hover { background:#973129 !important; }
.hpj-contact-page .hpj-form button:disabled { opacity:.65; cursor:wait; }
.hpj-contact-page :is(a,button,input,textarea):focus-visible { outline:3px solid #1b6177; outline-offset:3px; }
.hpj-contact-page .hpj-form-privacy { font-size:13px; }
.hpj-contact-page .hpj-form-privacy a { color:#555; }
.hpj-contact-page .hpj-contact-about { border:1px solid #dedede; padding:12px; background:#fff; text-align:center; }
.hpj-contact-page .hpj-contact-about h2 { margin:0 0 10px; padding:0; background:none; text-align:left; font:700 26px/1.2 Arial,Helvetica,sans-serif; letter-spacing:-1px; color:#d64d42; }
.hpj-contact-page .hpj-contact-about img { display:block; width:100%; height:auto; border-radius:10px; }
.hpj-contact-page .hpj-contact-about h3 { margin:8px 0 10px; padding:0; background:none; color:#d64d42; font:700 25px/1.2 Arial,Helvetica,sans-serif; letter-spacing:-1px; }
.hpj-contact-page .hpj-contact-about p { margin:0 4px 12px; font-size:16px; line-height:1.7; color:#222; }
.hpj-contact-page .hpj-contact-about a { color:#972e27; font-size:14px; text-underline-offset:3px; }
.hpj-contact-status { margin-top:18px; padding:12px 14px; border-left:3px solid #24714e; background:#eff8f2; color:#17432f; font-size:15px; line-height:1.6; }
.hpj-contact-status[hidden] { display:none; }
.hpj-contact-status.is-error { border-color:#b63d34; background:#fff2ef; color:#81261f; }
@media(max-width:800px) {
 .hpj-contact-page .hpj-contact-layout { gap:32px; grid-template-columns:minmax(0,1fr) 230px; }
 .hpj-contact-page .hpj-form input:not([type=hidden]):not([type=checkbox]) { width:100%; }
}
@media(max-width:640px) {
 .hpj-contact-page .hpj-contact-width { width:calc(100% - 40px); }
 .hpj-contact-page .hpj-contact-banner { padding:24px 0; }
 .hpj-contact-page .hpj-contact-banner h1 { font-size:32px; }
 .hpj-contact-page .hpj-contact-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:40px; margin-top:28px; }
 .hpj-contact-page .hpj-contact-about { max-width:320px; margin:0 auto; }
}
