/* Huntington Beach: a local postcard within the shared service-page shell. */
.hb-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; color: var(--text2); font-size: 11px; line-height: 1.7; margin-bottom: 22px; }
.hb-breadcrumb a { color: var(--text2); text-underline-offset: 4px; }
.hb-page .landing-hero { grid-template-columns: 1fr 1.1fr; gap: 36px; }
.hb-page h1 { font-size: clamp(34px,4vw,53px); }
.hb-hero-tagline { font-size: 18px; line-height: 1.5; font-weight: 700; color: var(--fw-rust); margin: 0 0 20px; }
.hb-page .landing-facts dd { font-size: clamp(24px,2.4vw,31px); }
.hb-art { transform: rotate(1deg); }
.hb-art svg { margin-block: 10px; }
.hb-letter { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; border-bottom: 2px solid var(--fw-ink); padding-bottom: 52px; }
.hb-letter-copy > p { margin-bottom: 22px; font-size: 16px; }
.hb-letter-copy .hb-signature { color: var(--fw-ink); margin-bottom: 0; }
.hb-signature strong { display: block; font-size: 24px; }
.hb-signature span { display: block; font-size: 11px; color: var(--text2); }
.hb-place-icon { display: grid; place-items: center; width: 56px; height: 56px; border: 2px solid var(--fw-ink); background: var(--fw-gold); font-size: 38px; line-height: 1; margin-bottom: 24px; }
.hb-places .benefit-card:nth-child(2) .hb-place-icon { background: var(--fw-panel-strong); }
.hb-places .benefit-card:nth-child(3) .hb-place-icon { background: var(--fw-paper); }
.hb-place-label { display: block; font-size: 9px; color: var(--fw-rust); line-height: 1.7; font-weight: 700; margin-top: 24px; letter-spacing: .04em; }
.hb-services { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.hb-services article { padding: 24px; background: var(--fw-paper); border: 2px solid var(--fw-ink); }
.hb-services a { display: inline-block; font-size: 12px; margin-top: 24px; color: var(--fw-ink); line-height: 1.8; text-underline-offset: 4px; }
.hb-faq details { border-top: 2px solid var(--fw-ink); padding: 20px 0; }
.hb-faq details:last-child { border-bottom: 2px solid var(--fw-ink); }
.hb-faq summary { font-weight: 700; cursor: pointer; line-height: 1.6; }
.hb-faq summary:focus-visible { outline: 3px solid var(--fw-rust); outline-offset: 6px; }
.hb-faq details p { margin-top: 16px; max-width: 850px; }
.hb-page .landing-close .hb-contact { font-size: 12px; margin: 24px 0 0; overflow-wrap: anywhere; }
.hb-contact a { color: var(--fw-ink); text-underline-offset: 4px; }
@media(max-width:760px) { .hb-page .landing-hero,.hb-letter,.hb-services { grid-template-columns: 1fr; } .hb-page .landing-hero { gap: 32px; } .hb-art { transform: none; } .hb-letter { gap: 32px; padding-bottom: 32px; } .hb-page .landing-facts dd { font-size: 29px; } .hb-breadcrumb { font-size: 10px; } }
.hb-art { position: relative; }
.hb-art-badge { position: absolute; width: 88px; height: 88px; object-fit: contain; bottom: 61px; right: 12px; border: 2px solid var(--fw-ink); border-radius: 3px; box-shadow: var(--fw-shadow-sm); transform: rotate(-7deg); }
.hb-hometown-mark { margin-top: 24px; display: inline-grid; gap: 12px; }
.hb-hometown-mark img { width: 150px; height: 150px; border: 2px solid var(--fw-ink); border-radius: 3px; box-shadow: var(--fw-shadow-sm); }
.hb-hometown-mark span { font-size: 9px; color: var(--text2); letter-spacing: .04em; }
@media(max-width:400px) { .hb-art-badge { width: 68px; height: 68px; bottom: 51px; right: 6px; } }
