/* R03: contact-only. Original brand variables and shared site stylesheet are not modified. */
.hbs-contact-page [hidden] { display:none !important; }
.hbs-contact-page .page-hero--contact { padding-block:48px; }
.hbs-contact-page .page-hero--contact h1 { max-width:920px; }
.hbs-contact-page .contact-grid { grid-template-columns:minmax(0,.87fr) minmax(0,1.3fr); gap:clamp(28px,5vw,72px); align-items:start; }
.hbs-contact-page .contact-grid > * { min-width:0; }
.hbs-contact-page .contact-card { padding:clamp(24px,3.3vw,42px); border:1px solid var(--line); border-top:4px solid var(--green); background:var(--white); box-shadow:var(--shadow-md); }
.hbs-contact-page .hbs-c-heading { margin-bottom:26px; }
.hbs-contact-page .contact-card .subhead { margin:0; color:var(--green-700); }
.hbs-contact-page .form-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:20px; }
.hbs-contact-page .form-field { min-width:0; margin:0 0 20px; }
.hbs-contact-page .form-field label { display:block; color:var(--ink-2); font-weight:600; margin-bottom:8px; font-size:var(--fs-14); }
/* Red is limited to the explicitly requested required markers and validation. */
.hbs-contact-page .hbs-c-required { color:#B42318; font-weight:700; margin-left:2px; }
.hbs-contact-page .form-field input,
.hbs-contact-page .form-field select,
.hbs-contact-page .form-field textarea { min-width:0; width:100%; border:1px solid var(--muted); border-radius:var(--radius-sm); padding:12px 13px; background:var(--white); color:var(--ink); font:inherit; font-size:16px; line-height:1.45; box-shadow:none; }
.hbs-contact-page .form-field input,
.hbs-contact-page .form-field select { min-height:49px; }
.hbs-contact-page .form-field textarea { min-height:154px; resize:vertical; }
.hbs-contact-page .form-field input:focus,
.hbs-contact-page .form-field select:focus,
.hbs-contact-page .form-field textarea:focus { border-color:var(--green); outline:2px solid var(--green); outline-offset:2px; }
.hbs-contact-page .hbs-c-field-error { margin:7px 0 0; color:#B42318; font-size:var(--fs-14); line-height:1.4; }
.hbs-contact-page [aria-invalid="true"] { border-color:#B42318 !important; }
.hbs-contact-page .hbs-c-feedback { margin:0 0 16px; color:var(--purple-700); font-size:var(--fs-14); line-height:1.55; }
.hbs-contact-page #send-button { display:flex; align-items:center; justify-content:center; gap:16px; width:100%; min-height:52px; margin-top:4px; white-space:normal; }
.hbs-contact-page #send-button:disabled { cursor:progress; opacity:.8; transform:none; box-shadow:none; }
.hbs-contact-page .hbs-c-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.hbs-contact-page .hbs-c-receipt { text-align:center; padding:16px 0; }
.hbs-contact-page .hbs-c-success { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 22px; background:var(--green-50); color:var(--green-700); border-radius:50%; font-size:30px; }
.hbs-contact-page .hbs-c-receipt h2 { color:var(--green-700); margin:0 0 14px; }
.hbs-contact-page .hbs-c-receipt p { color:var(--ink-2); margin:14px 0; }
.hbs-contact-page .hbs-c-reference { margin:26px 0 22px; padding:22px 12px; border:1px solid var(--green); border-radius:var(--radius-md); background:var(--green-50); }
.hbs-contact-page .hbs-c-reference span { display:block; font-size:var(--fs-14); color:var(--ink-2); }
.hbs-contact-page .hbs-c-reference strong { display:block; font-family:ui-monospace,'Courier New',monospace; font-variant-ligatures:none; font-size:clamp(24px,3.1vw,38px); font-weight:700; letter-spacing:.1em; line-height:1.4; margin-top:6px; color:var(--green-700); overflow-wrap:anywhere; }
.hbs-contact-page .hbs-c-receipt .btn { margin-top:12px; }
.hbs-contact-page .hbs-c-local { border-left:3px solid var(--yellow); background:var(--yellow-50); padding:10px; font-size:var(--fs-14); }
.hbs-contact-page :focus-visible { outline:3px solid var(--purple-700); outline-offset:3px; }
.hbs-contact-page [tabindex="-1"]:focus { outline:none; }
.hbs-contact-page #enquiry,
.hbs-contact-page .form-field,
.hbs-contact-page #receipt-panel { scroll-margin-top:150px; }
.hbs-contact-page .contact-item a { overflow-wrap:anywhere; }
.hbs-contact-page .skip-link { top:-100px; }
.hbs-contact-page .skip-link:focus { top:0; }
@media(max-width:900px) {
  .hbs-contact-page .contact-grid { grid-template-columns:minmax(0,1fr); }
  .hbs-contact-page .contact-card { grid-row:1; }
}
@media(max-width:580px) {
  .hbs-contact-page .page-hero--contact { padding-block:32px; }
  .hbs-contact-page .contact-card { padding:26px 20px; }
  .hbs-contact-page .form-row { grid-template-columns:minmax(0,1fr); gap:0; }
  .hbs-contact-page .brand__name { white-space:normal; }
  .hbs-contact-page .brand { min-width:0; }
  .hbs-contact-page .nav { gap:12px; }
  .hbs-contact-page .nav__toggle { flex-shrink:0; }
  .hbs-contact-page .hbs-c-reference strong { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) {
  .hbs-contact-page, .hbs-contact-page * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
