/* One header and one footer for every public Hubstone page (Sep 26 2026).
   Matches the /start homepage header and footer. Used by /guides, /records-box, /house, /privacy and /terms. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500&family=Lora:wght@400;500&display=swap');
.hs-sc-header, .hs-sc-header *, .hs-sc-footer, .hs-sc-footer * { box-sizing: border-box; }
.hs-sc-header { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 30px; min-height: 72px; padding: 14px 4%; background: rgba(249, 248, 243, 0.98); border-bottom: 1px solid #d9dad2; font-family: 'DM Sans', Arial, sans-serif; color: #4b5148; margin: 0; }
.hs-sc-brand { font-family: Lora, Georgia, serif; font-size: 34px; line-height: 1.2; letter-spacing: -0.065em; color: #233a2b !important; text-decoration: none !important; }
.hs-sc-nav { flex: 1; display: flex; justify-content: center; gap: clamp(24px, 2.6vw, 40px); white-space: nowrap; background: none; padding: 0; margin: 0; }
.hs-sc-nav a, .hs-sc-login { font: 400 14px/1.4 'DM Sans', Arial, sans-serif; color: #4b5148 !important; text-decoration: none !important; padding: 8px 0; }
.hs-sc-nav a:hover, .hs-sc-login:hover { text-decoration: underline !important; text-underline-offset: 6px; }
.hs-sc-actions { display: flex; align-items: center; gap: 20px; white-space: nowrap; }
.hs-sc-login { font-weight: 500; font-size: 13px; color: #555d52 !important; }
.hs-sc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 22px; background: #2d4936; border: 1px solid #2d4936; color: #fff !important; font: 400 14px/1.4 'DM Sans', Arial, sans-serif; text-decoration: none !important; border-radius: 0; }
.hs-sc-button:hover { background: #233a2b; }
.hs-sc-menu { display: none; position: relative; }
.hs-sc-menu > summary { list-style: none; cursor: pointer; min-width: 40px; min-height: 44px; display: flex; align-items: center; justify-content: center; font-size: 22px; color: #233a2b; }
.hs-sc-menu > summary::-webkit-details-marker { display: none; }
.hs-sc-menu[open] > div { position: absolute; right: 0; top: 100%; width: min(280px, 90vw); background: #f9f8f3; border: 1px solid #d9dad2; padding: 10px 22px 18px; display: flex; flex-direction: column; }
.hs-sc-menu[open] > div a { font: 400 15px/1.4 'DM Sans', Arial, sans-serif; color: #4b5148 !important; text-decoration: none !important; padding: 12px 0; border-bottom: 1px solid #e7e9df; }
.hs-sc-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 30px; padding: 35px 6%; border-top: 1px solid #d9dad2; background: #f9f8f3; font-family: 'DM Sans', Arial, sans-serif; color: #4b5148; margin: 0; }
.hs-sc-footer .hs-sc-brand { font-size: 29px; }
.hs-sc-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 23px; background: none; padding: 0; }
.hs-sc-footer nav a { font-size: 12px; color: #4b5148 !important; text-decoration: none !important; }
.hs-sc-footer nav a:hover { text-decoration: underline !important; }
.hs-sc-footer p { font-size: 12px; margin: 0; color: #70736b; }
@media (max-width: 1180px) { .hs-sc-header { gap: 20px; } .hs-sc-nav { gap: 16px; } .hs-sc-nav a { font-size: 12px; } .hs-sc-brand { font-size: 30px; } .hs-sc-button { padding: 11px 16px; font-size: 12px; } }
@media (max-width: 950px) { .hs-sc-nav, .hs-sc-actions .hs-sc-login { display: none; } .hs-sc-actions { margin-left: auto; gap: 8px; } .hs-sc-menu { display: block; } .hs-sc-header { min-height: 65px; padding: 10px 5%; } }
@media (max-width: 420px) { .hs-sc-brand { font-size: 27px; } .hs-sc-actions .hs-sc-button { display: none; } .hs-sc-footer p { width: 100%; } }
@media print { .hs-sc-header, .hs-sc-footer { display: none !important; } }
/* Guard against older page styles that target bare nav, header and footer elements. */
.hs-sc-header .hs-sc-nav, .hs-sc-footer nav, .hs-sc-menu nav { position: static; border: 0; box-shadow: none; z-index: auto; min-height: 0; }
.hs-sc-header { width: auto; max-width: none; }
footer.hs-sc-footer { background: #f9f8f3; color: #4b5148; margin: 0; }
.hs-sc-footer nav a, .hs-sc-footer p, .hs-sc-nav a, .hs-sc-menu a { font-weight: 400 !important; letter-spacing: normal; text-transform: none; }
.hs-sc-brand { font-weight: 400 !important; }
.hs-sc-footer .hs-sc-legal { width: 100%; border-top: 1px solid #d9dad2; padding-top: 16px; margin-top: 4px; font-size: 11px; color: #70736b; }
.hs-sc-footer nav { flex: 1 1 auto; justify-content: center; }
