/* The partner form remains the focus, with a quiet contact option below. */
.a360-hsb-page { margin: 0; background: var(--a360-paper); }
.a360-hsb-page .a360-press-strip { display: none; }
.a360-hsb-page .a360-header.a360-page-header { position: relative; min-height: 112px; padding-block: 27px; background: var(--a360-paper); border-bottom: 1px solid #07182712; }
.a360-hsb-page .a360-page-header .a360-logo span { color: #52616b; }
.a360-hsb-page .a360-page-header .a360-shell-toggle { color: var(--a360-navy); }
.a360-hsb-page .a360-homepage [data-homepage-header] .a360-header-services > .a360-services-main,
.a360-hsb-page [data-homepage-header] .a360-services-disclosure > summary { color: var(--a360-navy); }
.a360-hsb-page [data-homepage-header] .a360-realtor-portal { border-color: #07182726; }
.a360-hsb-page .a360-homepage [data-homepage-header] .a360-header-services > .a360-services-main:hover,
.a360-hsb-page [data-homepage-header] .a360-services-disclosure[open] > summary { color: #94713a; }
.a360-hsb-page :focus-visible { outline: 2px solid #94713a; outline-offset: 5px; }

.a360-hsb-intro { padding-block: 52px 28px; text-align: center; }
.a360-hsb-page .a360-hsb-partner { margin: 0 0 16px; color: #52616b; font: 700 11px/1.8 var(--a360-sans); letter-spacing: .13em; text-transform: uppercase; }
.a360-hsb-intro h1 { margin: 0 0 20px; color: var(--a360-navy); font: 400 clamp(68px, 7vw, 100px)/1.03 var(--a360-serif); letter-spacing: -.035em; }
.a360-hsb-intro h1 em { color: #8c6c35; font-weight: 500; }
.a360-hsb-page .a360-hsb-note { max-width: 580px; margin: 0 auto; color: #52616b; font: 400 14px/1.9 var(--a360-sans); text-wrap: pretty; }
.a360-hsb-page .a360-hsb-help { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; column-gap: 9px; margin: 8px 0 0; color: #52616b; font: 500 13px/1.7 var(--a360-sans); }
.a360-hsb-help a { display: inline-flex; align-items: center; min-height: 44px; color: var(--a360-navy); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.a360-hsb-help a:hover { color: #8c6c35; }
.a360-hsb-booking { width: calc(100% - 96px); max-width: 1220px; margin: 0 auto; }
.a360-hsb-booking iframe { display: block; width: 100%; height: 1000px; border: 0; border-radius: 4px; background: #424b59; }

.a360-hsb-contact { padding: 60px 24px 84px; border-top: 1px solid #07182712; scroll-margin-top: 32px; }
.a360-hsb-contact-heading { max-width: 720px; margin: 0 auto 34px; text-align: center; }
.a360-hsb-contact-heading h2 { margin: 0; color: var(--a360-navy); font: 500 48px/1.08 var(--a360-serif); letter-spacing: -.025em; }
.a360-hsb-contact-heading p { margin: 12px 0 0; color: #59666e; font: 400 13px/1.8 var(--a360-sans); }
.a360-hsb-contact-content { max-width: 720px; margin-inline: auto; }
.a360-hsb-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 29px 32px; margin: 0; }
.a360-hsb-form > label { position: relative; display: grid; min-width: 0; gap: 7px; margin: 0; color: var(--a360-navy); font: 600 11px/1.6 var(--a360-sans); letter-spacing: .08em; text-transform: uppercase; }
.a360-hsb-form > label::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: #94713a; transform: scaleX(0); transform-origin: left; pointer-events: none; transition: transform .24s ease; }
.a360-hsb-form > label:focus-within::after { transform: scaleX(1); }
.a360-hsb-required { margin-left: 3px; color: #84642e; }
.a360-hsb-form > label input,
.a360-hsb-form > label textarea { appearance: none; width: 100%; min-width: 0; min-height: 49px; margin: 0; padding: 9px 0 13px; border: 0; border-bottom: 1px solid #07182780; border-radius: 0; background: transparent; color: var(--a360-navy); box-shadow: none; font: 400 16px/1.65 var(--a360-sans); letter-spacing: 0; text-transform: none; }
.a360-hsb-form > label textarea { min-height: 122px; resize: vertical; }
.a360-hsb-form input::placeholder,
.a360-hsb-form textarea::placeholder { color: #899196; opacity: 1; }
.a360-hsb-form input:focus::placeholder,
.a360-hsb-form textarea:focus::placeholder { color: transparent; opacity: 0; }
.a360-hsb-form > label input:focus,
.a360-hsb-form > label textarea:focus { outline: none; border-color: #94713a; }
.a360-hsb-field-wide,
.a360-hsb-form .gform-footer { grid-column: 1 / -1; }
.a360-hsb-form .gform-footer { display: flex; flex-direction: column; }
.a360-hsb-page .a360-hsb-submit { appearance: none; width: 100%; min-height: 52px !important; margin: 0; border-radius: 0; cursor: pointer; }
.a360-hsb-page .a360-hsb-submit:hover { background: #19394f !important; }
.a360-hsb-page [hidden] { display: none !important; }
.a360-hsb-page .a360-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

@media (max-width: 960px) {
  html:not(.a360-shell-ready) .a360-hsb-page .a360-header > .a360-nav { background: transparent; }
  .a360-hsb-booking { width: calc(100% - 48px); }
}
@media (max-width: 600px) {
  .a360-hsb-page .a360-header.a360-page-header { min-height: 94px; padding-block: 23px; }
  .a360-hsb-intro { padding-block: 34px 22px; }
  .a360-hsb-page .a360-hsb-partner { max-width: 290px; margin-inline: auto; font-size: 10px; }
  .a360-hsb-intro h1 { margin-bottom: 16px; font-size: clamp(58px, 16vw, 78px); }
  .a360-hsb-page .a360-hsb-note { max-width: 360px; font-size: 13px; line-height: 1.85; }
  .a360-hsb-booking { width: 100%; }
  .a360-hsb-booking iframe { height: 1140px; border-radius: 0; }
  .a360-hsb-contact { padding-block: 44px 64px; }
  .a360-hsb-contact-heading { margin-bottom: 28px; }
  .a360-hsb-contact-heading h2 { font-size: clamp(36px, 10vw, 42px); }
  .a360-hsb-form { grid-template-columns: minmax(0, 1fr); row-gap: 25px; }
  .a360-hsb-form .a360-turnstile-wrap { margin-inline: -24px !important; }
}
@media (forced-colors: active) {
  .a360-hsb-form > label input:focus-visible,
  .a360-hsb-form > label textarea:focus-visible { outline: 2px solid Highlight; outline-offset: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  html.a360-hsb-root { scroll-behavior: auto; }
  .a360-hsb-page *, .a360-hsb-page *::before, .a360-hsb-page *::after { transition: none !important; }
}
