@font-face{font-family:"Prata";font-style:normal;font-weight:400;font-display:swap;src:url("prata-400.woff2") format("woff2");}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url("lato-400.woff2") format("woff2");}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url("lato-700.woff2") format("woff2");}
@font-face{font-family:"Lato";font-style:normal;font-weight:900;font-display:swap;src:url("lato-900.woff2") format("woff2");}

html.wbh { --background:#f2efe6; --surface:#e5dfcd; --card:#f2efe6; --foreground:#1c1a1f; --muted-foreground:#505051; --primary:#0f766e; --primary-foreground:#fff; --accent-surface:#dcebe6; --accent-foreground:#0b5c56; --border:#d9d2bd; --input:#fff; --ring:#0f766e; --navy:#0f766e; --navy-ink:#1c1a1f; --radius:.5rem; --shadow-card:none;
  --hf-cream:#f2efe6; --hf-tile:#e5dfcd; --hf-ink:#1c1a1f; --hf-sub:#505051; --hf-dark:#0f766e; --hf-dark2:#0b5c56; --hf-accent:#0f766e; --hf-accent-deep:#0b5c56; --hf-btn:#0f766e; --hf-btn-hover:#0b5c56; --hf-select:#cfe4de; --hf-orange:#e8860c; --hf-on-dark:#e3f1ee; }

body { font-family:"Lato",system-ui,sans-serif; font-size:1rem; line-height:1.55; color:var(--hf-ink); background:var(--hf-cream); }
h1,h2,.hf-title { font-family:"Prata",Georgia,serif; font-weight:600; letter-spacing:0; color:var(--hf-ink); }
h3,h4,.step-title,.wordmark b { font-family:"Lato",system-ui,sans-serif; font-weight:700; letter-spacing:0; }
a { color:var(--hf-accent-deep); }
html.wbh a.src { color:#0b5c56; text-decoration:underline; text-underline-offset:2px; }


html.wbh .site-header { background:var(--hf-cream); border-bottom:0; }
.brand-full svg { height:46px; width:auto; display:block; }
html.wbh .nav-phone { color:var(--hf-ink); font-weight:700; }
html.wbh .nav-phone svg { color:var(--hf-accent); }
html.wbh .nav-phone b { color:var(--hf-ink); }
html.wbh .site-subnav { background:var(--hf-cream); border-top:0; }
html.wbh .site-subnav a { color:var(--hf-sub); font-size:.9rem; font-weight:400; }
html.wbh .site-subnav a:hover { color:var(--hf-ink); }
html.wbh .site-subnav a[aria-current="page"] { color:var(--hf-ink); border-bottom-color:var(--hf-accent); font-weight:700; }


html.wbh .btn { border-radius:8px; font-family:"Lato",system-ui,sans-serif; font-weight:700; font-size:1.0125rem; }
html.wbh .btn.primary { background:var(--hf-btn); border:0; color:#fff; min-height:56px; padding:15.75px 18px; box-shadow:none; }
html.wbh .btn.primary:hover { background:var(--hf-btn-hover); }
html.wbh .ss-actions .head-cta { min-height:44px; padding:10px 16px; }
html.wbh .btn.ghost { border:2px solid var(--hf-accent); color:var(--hf-accent-deep); background:transparent; }


.hf-w { max-width:1000px; margin:0 auto; padding:0 24px; }
.hf-w-narrow { max-width:800px; }
.hf-w-hero { max-width:860px; }
.hf-sec { padding:72px 0; }
.hf-sec-tint { background:#ebe6d6; }
.hf-h2 { font-size:2.5rem; line-height:1.35; text-align:center; margin:0 0 14px; }
.hf-h2.hf-left { text-align:left; }
.hf-intro { text-align:center; color:var(--hf-sub); max-width:62ch; margin:0 auto 30px; font-size:1.0625rem; }
.hf-after { text-align:center; margin-top:22px; }


.hf-hero { padding:28px 0 44px; text-align:center; }
.hf-title { font-size:2.5rem; line-height:1.35; max-width:780px; margin:0 auto; padding-top:8px; }
.hf-lede { color:var(--hf-sub); font-size:1.0125rem; max-width:52ch; margin:14px auto 0; }
.hf-first { margin:34px auto 0; max-width:800px; }
.hf-first .lead-form-wrap { max-width:none; margin:0; }
.hf-hero .or-call { margin-top:12px; font-size:.9rem; color:var(--hf-sub); }
.hf-hero .or-call a { color:var(--hf-ink); font-weight:700; }
.hf-first .fprogress { justify-content:center; margin:0 auto 26px; max-width:200px; }
.hf-first .fcount { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hf-first .fbar { height:3px; border-radius:5px; background:#eaeaeb; }
.hf-first .fbar i { background:var(--hf-accent); border-radius:5px; }
.hf-first fieldset.fstep { text-align:center; }
.hf-first legend.step-title, .hf-first .step-title { display:block; width:100%; float:none; text-align:center; font-size:1.25rem; line-height:1.35; font-weight:700; color:var(--hf-ink); margin:0 0 20px; padding:0; }
.hf-first .tap { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; max-width:790px; margin:0 auto; }
.hf-first .tap label { display:block; }
.hf-first .tap span { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; min-height:147px; padding:24px 15px 15px; border:2px solid transparent; border-radius:16px; background:var(--hf-tile); color:var(--hf-ink); font-size:.91rem; font-weight:700; line-height:1.2; transition:background .15s, border-color .15s; }
.hf-first .tap label:hover span { background:#ddd6bf; border-color:transparent; }
.hf-first .tap input:checked + span { border-color:var(--hf-accent); background:var(--hf-select); }
.hf-first .tap input:focus-visible + span { outline:2px solid var(--hf-accent); outline-offset:2px; }
.hf-first .tap span::before { content:""; width:56px; height:56px; margin:-4px 0 19px; background:center/contain no-repeat; }
.hf-first .tap span::after { display:block; margin-top:5px; font-size:.775rem; font-weight:400; color:var(--hf-sub); }

.hf-first fieldset.fstep:nth-of-type(1) .tap label:nth-child(1) span::before { background-image:url(img/ic-house.svg); }
.hf-first fieldset.fstep:nth-of-type(1) .tap label:nth-child(2) span::before { background-image:url(img/ic-duplex.svg); }
.hf-first fieldset.fstep:nth-of-type(1) .tap label:nth-child(3) span::before { background-image:url(img/ic-triplex.svg); }
.hf-first fieldset.fstep:nth-of-type(1) .tap label:nth-child(4) span::before { background-image:url(img/ic-apartments.svg); }
.hf-first fieldset.fstep:nth-of-type(1) .tap label:nth-child(1) span::after { content:"One home"; }
.hf-first fieldset.fstep:nth-of-type(1) .tap label:nth-child(2) span::after { content:"Two homes"; }
.hf-first fieldset.fstep:nth-of-type(1) .tap label:nth-child(3) span::after { content:"Small building"; }
.hf-first fieldset.fstep:nth-of-type(1) .tap label:nth-child(4) span::after { content:"Apartment building"; }
.hf-first fieldset.fstep:nth-of-type(n+2) .tap { grid-template-columns:1fr; max-width:800px; }
.hf-first fieldset.fstep:nth-of-type(n+2) .tap span { flex-direction:row; align-items:center; justify-content:center; min-height:56px; padding:12px 16px; font-size:1.0125rem; font-weight:400; text-align:center; }
.hf-first fieldset.fstep:nth-of-type(n+2) .tap span::before, .hf-first fieldset.fstep:nth-of-type(n+2) .tap span::after { display:none; }
.hf-first .step-actions { justify-content:center; flex-direction:column; gap:6px; margin-top:26px; }
.hf-first .step-actions .btn { margin:0 auto; min-width:180px; }
.js .hf-first fieldset.fstep:nth-of-type(1) .tap-next { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.js .hf-first fieldset.fstep:nth-of-type(1) .tap-next::after { content:"\2192"; font-size:1.3rem; line-height:1; }
.hf-first .link-back { color:var(--hf-sub); }

.hf-first .addr-row { max-width:640px; margin:0 auto; }
.hf-first input[type=text], .hf-first input[type=tel], .hf-first textarea, .lead-form-wrap input[type=text], .lead-form-wrap input[type=tel], .lead-form-wrap textarea { background:#fff; border:2px solid transparent; border-radius:12px; font-family:"Lato",system-ui,sans-serif; color:var(--hf-ink); }
.hf-first .addr-row input { background:var(--hf-tile); min-height:56px; border-radius:16px; text-align:left; }
.hf-first .addr-row input::placeholder { color:var(--hf-sub); }
.hf-first .addr-row input:focus, .lead-form-wrap input:focus { border-color:var(--hf-accent); outline:0; }
.hf-first .step-note { text-align:center; }
.hf-first .field label, .lead-form-wrap .field label { font-weight:700; font-size:.92rem; }
.hf-first .field-row, .hf-first .field { text-align:left; }
.hf-first .consent-block { text-align:left; font-size:.82rem; color:var(--hf-sub); }
.hf-first .call-first .step-title { text-align:center; }
.hf-first .call-first .call-cta { max-width:420px; margin:0 auto; min-height:56px; }
.hf-first .call-first .step-note { text-align:center; }


.hf-facts { padding:0 24px; }
.hf-dark { max-width:1220px; margin:0 auto; background:var(--hf-dark); color:#fff; padding:56px 24px 64px; text-align:center; }
.hf-facts-title { font-size:1.0125rem; color:#fff; margin:0 0 30px; }
.hf-facts-list { list-style:none; margin:0 auto; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:26px 30px; max-width:1100px; }
.hf-facts-list li { display:flex; flex-direction:column; gap:3px; min-width:140px; max-width:190px; }
.hf-facts-list b { font-size:1.125rem; font-weight:700; color:#fff; }
.hf-facts-list span { font-size:.8125rem; color:var(--hf-on-dark); line-height:1.35; }


.hf-answer { background:var(--hf-tile); border-radius:16px; padding:34px 36px; text-align:center; }
.hf-label { display:block; font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#0b5c56; margin-bottom:10px; }
.hf-answer p { font-size:1.125rem; line-height:1.6; margin:0; color:var(--hf-ink); }
.hf-table { background:var(--hf-tile); border-radius:16px; overflow:hidden; margin-top:0; }
.hf-table table.plain { background:transparent; border:0; font-size:.96rem; color:var(--hf-ink); }
.hf-table table.plain th, .hf-table table.plain td { padding:20px 22px; border-bottom:1px solid rgba(28,26,31,.12); }
.hf-table table.plain thead th { background:rgba(28,26,31,.06); color:var(--hf-sub); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; padding:14px 22px; }
.hf-table table.plain tbody th { color:var(--hf-ink); font-weight:700; width:20%; }
.hf-table table.plain tr:last-child td, .hf-table table.plain tr:last-child th { border-bottom:0; }
.hf-two { display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:start; }
.hf-two-text p { margin-top:14px; }
.hf-two-text .legal-note { font-size:.86rem; color:var(--hf-sub); }
html.wbh .worksheet { background:var(--hf-tile); border:0; border-radius:16px; padding:26px 28px; margin-top:0; }
.worksheet h3 { font-size:1.05rem; margin:0 0 6px; }
.worksheet h3 + .row, .worksheet .sum + h3 { margin-top:0; }
.worksheet .sum + h3 { margin-top:22px; }
.worksheet .row { border-bottom-color:rgba(28,26,31,.12); }
.worksheet input { border:2px solid transparent; background:#fff; border-radius:8px; }
.worksheet input:focus { border-color:var(--hf-accent); outline:0; }
.worksheet .sum { color:var(--hf-ink); }
.hf-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:30px; }
.hf-card { display:flex; flex-direction:column; background:var(--hf-tile); border-radius:16px; padding:26px 24px 22px; color:var(--hf-ink); text-align:left; }
.hf-card:hover { background:#ddd6bf; text-decoration:none; }
.hf-card h3 { font-size:1.0625rem; margin:0 0 8px; color:var(--hf-ink); }
.hf-card p { font-size:.9rem; color:var(--hf-sub); line-height:1.45; }
.hf-go { margin-top:auto; padding-top:16px; font-weight:700; font-size:.875rem; color:var(--hf-accent-deep); }
.hf-go::after { content:" \2192"; }
.hf-photos { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 auto; }
.hf-photos figure { margin:0; }
.hf-photos img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:16px; display:block; }
.hf-photos figcaption { font-size:.8rem; color:var(--hf-sub); text-align:center; margin-top:8px; }
.hf-towns { list-style:none; padding:0; margin:28px 0 0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.hf-towns a { display:block; background:var(--hf-tile); color:var(--hf-ink); border-radius:16px; padding:14px 22px; font-weight:700; font-size:.95rem; }
.hf-towns a:hover { background:#ddd6bf; text-decoration:none; }
.hf-credits { font-size:.7rem; line-height:1.6; color:var(--hf-sub); opacity:.75; text-align:center; margin-top:30px; }
.hf-sources { padding-bottom:56px; }
.sources { font-size:.9rem; color:var(--hf-sub); }


html.wbh .close-band { background:var(--hf-dark); color:#fff; }
html.wbh .close-band h2 { color:#fff; font-size:2rem; line-height:1.35; }
html.wbh .close-band p { color:var(--hf-on-dark); }
html.wbh .close-band .big-phone { color:#fff; font-family:"Lato",sans-serif; }
html.wbh .close-band .lead-form-wrap { background:var(--hf-cream); color:var(--hf-ink); border-radius:16px; }
html.wbh .close-band .lead-form-wrap h2 { color:var(--hf-ink); font-size:1.4rem; }
html.wbh .close-band .lead-form-wrap p, html.wbh .close-band .lead-form-wrap .muted { color:var(--hf-sub); }
html.wbh .close-band .lead-form-wrap a { color:#0b5c56; }
html.wbh .close-band .btn.primary { background:var(--hf-btn); }
html.wbh .ss-footer { background:var(--hf-dark2); border-top:0; color:#fff; }
html.wbh .ss-footer .foot-brand, html.wbh .ss-footer .foot-brand b { color:#fff; }
html.wbh .ss-footer .foot-plain { color:#d9d6cf; }
html.wbh .ss-footer .foot-plain a, html.wbh .ss-footer .foot-links a { color:#fff; }
html.wbh .ss-footer .tiny, html.wbh .ss-footer .muted { color:var(--hf-on-dark); }
html.wbh .call-bar { background:var(--hf-cream); }
html.wbh .cb-call { background:var(--hf-btn); }
html.wbh .cb-offer { background:var(--hf-tile); color:var(--hf-ink); }
html.wbh .preview-flag { background:#ebe6d6; color:var(--hf-ink); }


html.wbh .opener { background:var(--hf-cream); border-bottom:0; }
html.wbh .opener h1 { font-size:2.5rem; line-height:1.3; }
html.wbh .answer { background:var(--hf-tile); border:0; border-radius:16px; box-shadow:none; }
html.wbh .answer .label { color:#0b5c56; }
html.wbh .sec.tint { background:#ebe6d6; border:0; }
html.wbh .tile { background:var(--hf-tile); border:0; border-radius:16px; box-shadow:none; }
html.wbh .tile .go { color:var(--hf-accent-deep); }

@media (max-width:860px) {
  .hf-two { grid-template-columns:1fr; gap:28px; }
  .hf-cards { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .hf-h2, .hf-title, html.wbh .opener h1 { font-size:1.625rem; line-height:1.35; }
  .hf-hero { padding:22px 0 34px; }
  .hf-title { padding-top:6px; }
  .hf-sec { padding:48px 0; }
  .hf-w { padding:0 20px; }
  .hf-first { margin-top:26px; }
  .hf-first legend.step-title, .hf-first .step-title { font-size:1rem; line-height:1.35; }
  .hf-first .tap { grid-template-columns:1fr 1fr; }
  .hf-first fieldset.fstep:nth-of-type(n+2) .tap { grid-template-columns:1fr; }
  .hf-facts { padding:0 10px; }
  .hf-dark { padding:40px 16px 44px; }
  .hf-facts-list { gap:24px 18px; }
  .hf-facts-list li { min-width:0; flex:1 1 40%; }
  .hf-answer { padding:26px 22px; }
  .hf-table table.plain th, .hf-table table.plain td { padding:0; }
  .hf-table table.plain tr { padding:18px 20px; border-bottom:1px solid rgba(28,26,31,.12); }
  .hf-table table.plain tbody th { width:100%; }
  .hf-cards, .hf-photos { grid-template-columns:1fr; }
  html.wbh .worksheet { padding:20px 18px; }
  html.wbh .close-band h2 { font-size:1.625rem; }
}


.hf-sec-trio { padding:36px 0 56px; }
.hf-sec-pad0 { padding-top:24px; }
.hf-trio { grid-template-columns:repeat(3,1fr); gap:12px; }
.hf-trio img { aspect-ratio:4/3; }
.hf-trio-b { margin-top:30px; }
.hf-split { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }
.hf-split-flip { grid-template-columns:1fr 1.1fr; }
.hf-split-flip .hf-split-text { order:2; }
.hf-split-text p { margin-top:14px; font-size:1.0625rem; }
.hf-split-photo { margin:0; }
.hf-split-photo img { width:100%; height:auto; border-radius:16px; display:block; }
.hf-split-photo figcaption { font-size:.8rem; color:var(--hf-sub); margin-top:8px; text-align:center; }
.hf-portrait img { max-height:520px; object-fit:cover; }
.hf-checks { list-style:none; margin:22px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.hf-checks li { position:relative; padding-left:30px; font-weight:700; line-height:1.3; }
.hf-checks li::before { content:""; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:var(--hf-accent); }
.hf-checks li::after { content:""; position:absolute; left:6px; top:5px; width:6px; height:10px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg) scale(.85); }
.hf-steps { list-style:none; margin:34px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.hf-steps li { background:var(--hf-cream); border-radius:16px; padding:28px 26px 26px; }
.hf-num { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:var(--hf-orange); color:var(--hf-ink); font-weight:700; font-size:1.05rem; margin-bottom:14px; }
.hf-steps h3 { font-size:1.125rem; margin:0 0 8px; color:var(--hf-ink); }
.hf-steps p { font-size:.97rem; color:var(--hf-sub); line-height:1.5; margin:0; }
.hf-towncards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:8px; }
.hf-towncard { position:relative; display:block; border-radius:16px; overflow:hidden; color:#fff; }
.hf-towncard img { width:100%; height:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.hf-towncard-name { position:absolute; left:0; right:0; bottom:0; padding:44px 20px 16px; background:linear-gradient(transparent, rgba(11,54,50,.88)); font-weight:700; font-size:1.2rem; color:#fff; }
.hf-towncard:hover { text-decoration:none; }
.hf-towncard:hover .hf-towncard-name { background:linear-gradient(transparent, rgba(11,92,86,.95)); }
.hf-faq details { background:var(--hf-tile); border-radius:16px; margin-bottom:10px; }
.hf-faq summary { cursor:pointer; list-style:none; padding:20px 56px 20px 24px; font-weight:700; font-size:1.0625rem; position:relative; }
.hf-faq summary::-webkit-details-marker { display:none; }
.hf-faq summary::after { content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:1.5rem; line-height:1; color:var(--hf-accent-deep); }
.hf-faq details[open] summary::after { content:"\2212"; }
.hf-faq summary:focus-visible { outline:2px solid var(--hf-accent); outline-offset:2px; border-radius:16px; }
.hf-faq details p { margin:0; padding:0 24px 22px; color:var(--hf-ink); font-size:1.0125rem; }
.hf-guides { padding:8px 0 24px; border-top:1px solid var(--border); }
.hf-guides-row { margin:22px 0 8px; text-align:center; font-size:.92rem; color:var(--hf-sub); }
.hf-guides-row b { color:var(--hf-ink); margin-right:6px; }
.hf-guides-links { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:6px 18px; font-size:.92rem; }
.hf-guides-links a { text-decoration:underline; text-underline-offset:2px; }
.hf-facts-list li { border-top:3px solid var(--hf-orange); padding-top:12px; }
.hf-facts-list { display:grid; grid-template-columns:repeat(3,1fr); gap:28px 28px; max-width:900px; }
.hf-facts-list li { min-width:0; max-width:none; }
.hf-no-homework { background:var(--hf-select); border-left:4px solid var(--hf-orange); border-radius:8px; padding:14px 18px; margin:0 0 24px; color:var(--hf-ink); }
@media (max-width:860px) {
  .hf-split, .hf-split-flip { grid-template-columns:1fr; gap:26px; }
  .hf-split-flip .hf-split-text { order:0; }
  .hf-steps { grid-template-columns:1fr; }
  .hf-portrait img { max-height:420px; }
}
@media (max-width:620px) {
  .hf-trio { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; padding-bottom:6px; }
  .hf-trio figure { flex:0 0 80%; scroll-snap-align:start; }
  .hf-towncards { grid-template-columns:1fr; }
  .hf-checks { grid-template-columns:1fr; }
  .hf-sec-trio { padding:24px 0 36px; }
  .hf-facts-list { grid-template-columns:1fr 1fr; gap:24px 16px; }
}

.hf-split-text { padding-top:6px; }
.hf-split { margin-top:18px; }
.hf-sec-banner { padding:36px 0 0; }
.hf-banner figure { margin:0; }
.hf-banner img { width:100%; height:auto; aspect-ratio:21/9; object-fit:cover; border-radius:16px; display:block; }
@media (max-width:700px){ .hf-banner img { aspect-ratio:16/10; } .hf-sec-banner { padding-top:24px; } }


.call-first .call-alt > summary { text-align:center; }
