/*
Theme Name: HH Mortgages 1.0.25
Theme URI: https://hhmortgages.com
Author: HH Mortgages
Description: A lightweight native WordPress block theme for Hanif Hosseini and HH Mortgages.
Version: 1.0.25
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: hh-mortgages
*/

:root {
  --hh-cream: #f3efe5;
  --hh-paper: #faf8f2;
  --hh-forest: #173e35;
  --hh-forest-deep: #0e2c26;
  --hh-clay: #c86f4a;
  --hh-clay-light: #e6a98c;
  --hh-ink: #1e2b27;
  --hh-muted: #5d6864;
  --hh-line: rgba(30, 43, 39, .16);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { transition: color .2s ease, background .2s ease, transform .2s ease; }
.wp-site-blocks { overflow: hidden; }
.hh-serif { font-family: Georgia, "Times New Roman", serif; }
.hh-kicker { color: var(--hh-forest); font-size: .68rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.hh-light { color: var(--hh-clay-light); }
.hh-accent { color: var(--hh-clay); font-style: italic; font-weight: 400; }
.hh-button .wp-block-button__link { border-radius: 0; font-size: .76rem; font-weight: 800; padding: 1rem 1.25rem; }
.hh-button .wp-block-button__link:hover { transform: translateY(-2px); }
.hh-text-link { font-size: .78rem; font-weight: 800; text-decoration: underline; text-underline-offset: .4rem; }

.hh-brokerage-bar { background: var(--hh-forest-deep); color: #c7d2cd; min-height: 62px; padding: .3rem 5vw; }
.hh-brokerage-bar .wp-block-image { margin: 0; }
.hh-brokerage-bar img { display: block; height: auto; width: 56px; }
.hh-brokerage-copy { font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hh-main-header { background: rgba(243,239,229,.97); border-bottom: 1px solid var(--hh-line); min-height: 88px; padding: 0 5vw; }
.hh-wordmark { color: var(--hh-forest); font-size: 1rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.hh-wordmark small { color: var(--hh-clay); display: block; font-size: .5rem; letter-spacing: .22em; margin-top: .15rem; }
.hh-main-header .wp-block-navigation { font-size: .75rem; font-weight: 700; }
.hh-main-header .wp-block-navigation-item__content:hover { color: var(--hh-clay); }
.hh-mobile-menu-book { display: none; }
.hh-language-switcher { display: flex; align-items: center; gap: .35rem; font-size: .72rem; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.hh-language-switcher a { color: var(--hh-ink); padding: .35rem .45rem; text-decoration: none; }
.hh-language-switcher a:hover,
.hh-language-switcher a[aria-current="page"] { color: var(--hh-clay); }
.hh-language-switcher .hh-language-divider { color: var(--hh-line); }

.hh-hero { background: var(--hh-cream); padding: clamp(2rem, 4vw, 4rem) max(6vw, calc((100vw - 1320px) / 2)); }
.hh-hero > .wp-block-columns { align-items: center; gap: clamp(2rem, 5vw, 5rem) !important; margin: 0; }
.hh-hero > .wp-block-columns > .wp-block-column { min-width: 0; }
.hh-hero-copy { padding: 1.5rem 0; }
.hh-hero h1 { font-size: clamp(3.25rem, 5.8vw, 5.75rem); letter-spacing: -.045em; line-height: 1.04; margin: 1.5rem 0; }
.hh-hero-lede { color: #53605c; font-size: 1.05rem; line-height: 1.75; max-width: 570px; }
.hh-hero-actions { margin-top: 2rem; }
.hh-trust-row { border-top: 1px solid var(--hh-line); color: var(--hh-muted); font-size: .68rem; font-weight: 700; letter-spacing: .05em; line-height: 1.9; margin-top: 2.25rem; padding-top: 1.1rem; }
.hh-hero-visual { align-self: center; background: transparent; min-height: 0; padding: 0; position: relative; }
.hh-portrait { aspect-ratio: 4 / 5; height: auto; margin: 0; max-width: none; overflow: hidden; border-radius: 42% 42% 8px 8px; background: var(--hh-forest); }
.hh-portrait img { display: block; height: 100%; object-fit: cover; object-position: 50% 27%; width: 100%; }
.hh-advisor-card { background: var(--hh-paper); border: 1px solid var(--hh-line); border-top: 0; box-sizing: border-box; margin: 0 !important; padding: 1.25rem 1.5rem; position: relative; width: 100%; }
.hh-advisor-card p { margin: .2rem 0; }
.hh-advisor-label { color: var(--hh-clay); font-size: .56rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.hh-advisor-name { font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; }
.hh-advisor-licence { color: #66716e; font-size: .65rem; }

.hh-section { padding: 7rem 7vw; }
.hh-section-heading { font-size: clamp(3rem, 5.2vw, 5rem); letter-spacing: -.045em; line-height: 1.02; margin: 1rem 0 2rem; }
.hh-calculator { background: var(--hh-cream); scroll-margin-top: 128px; }
.hh-calculator > .hh-muted-copy { max-width: 780px; }
.hh-calculator .bendigi-calculators { background: white; border: 1px solid var(--hh-line); box-shadow: 0 24px 60px rgba(14, 44, 38, .12); box-sizing: border-box; direction: ltr; display: block; margin: 3.25rem auto 0; max-width: 1280px !important; overflow: hidden; text-align: left; width: calc(100% - 2rem) !important; }
.hh-calculator .hh-lender-note { margin-top: 1.5rem; }
.hh-pathways { background: var(--hh-paper); }
.hh-path-intro { margin-bottom: 3.5rem; }
.hh-path-intro > .wp-block-column:last-child { color: var(--hh-muted); line-height: 1.75; }
.hh-path-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.hh-path-card { background: var(--hh-cream); border: 1px solid var(--hh-line); display: flex; flex-direction: column; margin-right: -1px; min-height: 320px; padding: 2rem 1.5rem; }
.hh-path-card:hover { background: #ece4d5; }
.hh-path-number { color: var(--hh-clay); font-size: .6rem; font-weight: 800; letter-spacing: .15em; }
.hh-path-card h3 { color: var(--hh-forest); font-size: 1.65rem; line-height: 1.15; margin: 3rem 0 1rem; }
.hh-path-card p { color: #66716d; font-size: .78rem; line-height: 1.7; }
.hh-path-card .hh-text-link { margin-top: auto; }
.hh-path-support { border-top: 1px solid var(--hh-line); margin-top: 1.5rem; padding-top: 1.5rem; }

.hh-statement { background: var(--hh-paper); padding-left: 10vw; padding-right: 10vw; }
.hh-statement-grid { margin-left: 18%; margin-top: 3.5rem; }
.hh-statement-lead { color: var(--hh-forest); font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; line-height: 1.5; }
.hh-muted-copy { color: var(--hh-muted); line-height: 1.8; }

.hh-solutions { background: var(--hh-forest); color: white; }
.hh-solutions .hh-section-heading { color: white; }
.hh-service { border-top: 1px solid rgba(255,255,255,.18); display: grid; gap: 2rem; grid-template-columns: 60px 1fr 1.2fr auto; padding: 2rem 0; }
.hh-service:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.hh-service-number { color: var(--hh-clay-light); font-size: .68rem; font-weight: 800; }
.hh-service h3 { font-size: 1.7rem; margin: 0; }
.hh-service p { color: #b8c4bf; font-size: .85rem; line-height: 1.7; margin: 0; }
.hh-service a { color: white; }
.hh-tags { margin-top: 2rem; }
.hh-tags p { border: 1px solid rgba(255,255,255,.22); color: #cad3cf; font-size: .6rem; font-weight: 800; letter-spacing: .1em; padding: .7rem .9rem; text-transform: uppercase; }

.hh-process { background: var(--hh-cream); }
.hh-step { border-top: 1px solid var(--hh-line); padding: 1.5rem 0; }
.hh-step:last-child { border-bottom: 1px solid var(--hh-line); }
.hh-step-number { color: var(--hh-clay); font-size: .65rem; font-weight: 800; letter-spacing: .14em; }
.hh-step h3 { font-size: 1.5rem; margin: 0 0 .45rem; }
.hh-step p { color: #66716d; font-size: .83rem; line-height: 1.65; margin: 0; }

.hh-story { background: var(--hh-cream); }
.hh-story .hh-section-heading { max-width: 920px; font-size: clamp(2.5rem, 4.3vw, 4.4rem); line-height: 1.12; }
.hh-story-body { align-items: flex-start; border-top: 1px solid var(--hh-line); gap: clamp(2rem, 4vw, 4rem); margin-top: 2.5rem; padding-top: 2.5rem; }
.hh-story-body > .wp-block-column { min-width: 0; }
.hh-story-body > .wp-block-column:first-child { flex-basis: 52% !important; }
.hh-story-body > .wp-block-column:last-child { flex-basis: 48% !important; }
.hh-family-photo { margin: 0 0 1.5rem; }
.hh-family-photo img { display: block; height: auto; width: 100%; border-radius: 8px; }
.hh-family-photo figcaption { color: var(--hh-muted); font-size: .78rem; line-height: 1.6; margin-top: .75rem; text-align: start; }
.hh-story-body .hh-muted-copy { font-size: .96rem; line-height: 1.9; }
.hh-story-body .hh-muted-copy:first-child { margin-top: 0; }
.hh-pullquote { border-inline-start: 2px solid var(--hh-clay); color: var(--hh-forest); font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; line-height: 1.5; padding-inline-start: 1.1rem; margin-block: 1.75rem; }
.hh-facts { gap: .5rem; }
.hh-facts p { border: 1px solid var(--hh-line); border-radius: 3px; color: var(--hh-forest); font-size: .62rem; font-weight: 700; letter-spacing: .06em; margin: 0; padding: .55rem .7rem; text-transform: uppercase; }
.hh-hero-actions .wp-block-button__link, .hh-story .wp-block-button__link { min-height: 48px; box-sizing: border-box; }
.hh-hero-actions .has-clay-background-color { background-color: var(--hh-forest) !important; }
.hh-hero a:focus-visible, .hh-story a:focus-visible { outline: 3px solid var(--hh-clay); outline-offset: 5px; }
html[dir="rtl"] .hh-hero h1 { font-size: clamp(2.5rem, 4.4vw, 4.4rem); letter-spacing: 0; line-height: 1.45; }
html[dir="rtl"] .hh-story .hh-section-heading { letter-spacing: 0; line-height: 1.5; }
html[dir="rtl"] .hh-hero .hh-accent, html[dir="rtl"] .hh-story .hh-accent { font-style: normal; }

.hh-lenders { background: var(--hh-paper); }
.hh-lender-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 3.5rem; }
.hh-lender-slot { align-items: center; background: rgba(243,239,229,.45); border: 1px solid var(--hh-line); display: flex; justify-content: center; margin: 0 -1px -1px 0; min-height: 118px; padding: 1.1rem; text-align: center; }
.hh-lender-slot img { display: block; filter: grayscale(1) saturate(.2); height: auto; margin: auto; max-height: 54px; max-width: 140px; object-fit: contain; opacity: .72; transition: filter .2s ease, opacity .2s ease, transform .2s ease; width: 92%; }
.hh-lender-slot:hover img { filter: grayscale(.2) saturate(.7); opacity: .95; transform: translateY(-2px); }
.hh-lender-note { color: #7b8580; font-size: .65rem; margin-top: 1.25rem; }

.hh-planner { background: var(--hh-clay); color: white; }
.hh-planner .hh-section-heading { color: white; }
.hh-planner .hh-accent { color: var(--hh-forest); }
.hh-planner-copy > p { color: #fff3ec; line-height: 1.75; }
.hh-app-card { background: var(--hh-forest); box-shadow: 18px 18px 0 rgba(14,44,38,.3); padding: 2rem; }
.hh-app-card .wp-block-image { margin: 0 0 2rem; }
.hh-app-card img { width: 280px; }
.hh-phone { background: var(--hh-paper); border-radius: 26px 26px 0 0; color: var(--hh-ink); margin: 0 auto; max-width: 360px; padding: 2rem; }
.hh-phone h3 { color: var(--hh-forest); font-size: 2rem; line-height: 1.08; }
.hh-phone li { border-bottom: 1px solid var(--hh-line); color: var(--hh-muted); font-size: .78rem; padding: .55rem 0; }
.hh-privacy { color: #ffe9de; font-size: .65rem; line-height: 1.65; margin-top: 1.5rem; }

.hh-insights { background: var(--hh-cream); }
.hh-query-grid .wp-block-post-template { display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); }
.hh-query-grid .wp-block-post { background: var(--hh-paper); border: 1px solid var(--hh-line); min-height: 260px; padding: 2rem; }
.hh-query-grid .wp-block-post-title { font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; line-height: 1.25; }
.hh-query-grid .wp-block-post-excerpt { color: #69736f; font-size: .8rem; line-height: 1.7; }
.hh-no-posts { border: 1px solid var(--hh-line); color: var(--hh-muted); margin-top: 2.5rem; padding: 2rem; }

.hh-faq { background: var(--hh-forest); color: white; }
.hh-faq .hh-section-heading { color: white; }
.hh-faq-item { border-top: 1px solid rgba(255,255,255,.18); padding: 1.35rem 0; }
.hh-faq-item:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.hh-faq-item summary { cursor: pointer; font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; }
.hh-faq-item p { color: #b8c4bf; font-size: .82rem; line-height: 1.75; padding-left: 1rem; }

.hh-contact { background: var(--hh-paper); }
.hh-contact-card { background: var(--hh-cream); padding: 2rem; }
.hh-contact-card a { color: var(--hh-forest); }
.hh-contact-detail { border-bottom: 1px solid var(--hh-line); padding: 1rem 0; }
.hh-contact-detail strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; margin-top: .3rem; }

.hh-footer { background: var(--hh-forest-deep); color: white; padding: 4rem 7vw 2rem; }
.hh-footer .hh-footer-ma-logo img { width: min(150px,100%); }
.hh-footer-copy { color: #9eaea7; font-size: .68rem; line-height: 1.75; }
.hh-footer-social { border-top: 1px solid rgba(255,255,255,.15); margin-top: 2rem; padding-top: 1.2rem; }
.hh-footer-social a { color: #c2cec9; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.hh-footer-legal { border-top: 1px solid rgba(255,255,255,.15); color: #7f938a; font-size: .6rem; margin-top: 1.5rem; padding-top: 1.25rem; text-transform: uppercase; }

.hh-blog-hero { background: var(--hh-cream); padding: 7rem 10vw; }
.hh-content-wrap { background: var(--hh-paper); padding: 6rem 10vw; }
.hh-content-wrap .wp-block-post-title { font-size: clamp(2.8rem,5vw,5rem); }
.hh-content-wrap .wp-block-post-content { line-height: 1.8; }

@media (max-width: 1000px) {
  .hh-main-header { gap: 1rem; position: relative; z-index: 100; }
  .hh-main-header .wp-block-navigation { display: flex; margin-inline-start: auto; }
  .hh-main-header .wp-block-navigation__responsive-container-open { align-items: center; border: 1px solid var(--hh-line); border-radius: 50%; color: var(--hh-forest); display: flex !important; height: 44px; justify-content: center; padding: 0; width: 44px; }
  .hh-main-header .wp-block-navigation__responsive-container-open:hover { background: rgba(23,62,53,.08); }
  .hh-main-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .hh-main-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--hh-paper); color: var(--hh-ink); display: flex !important; padding: clamp(1.25rem,4vw,2rem) clamp(1.25rem,6vw,4rem) 2rem; z-index: 100000; }
  .hh-main-header .wp-block-navigation__responsive-container-close { align-items: center; border: 1px solid var(--hh-line); border-radius: 50%; color: var(--hh-forest); display: flex; height: 44px; justify-content: center; padding: 0; width: 44px; }
  .hh-main-header .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 4.5rem; }
  .hh-main-header .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
  .hh-main-header .wp-block-navigation-item { border-bottom: 1px solid var(--hh-line); width: 100%; }
  .hh-main-header .wp-block-navigation-item__content { color: var(--hh-forest); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem,5vw,2.5rem); line-height: 1.1; padding: .9rem 0; width: 100%; }
  .hh-main-header .hh-mobile-menu-book { border-bottom: 0; display: flex; margin-top: 1.5rem; }
  .hh-main-header .hh-mobile-menu-book .wp-block-navigation-item__content { align-items: center; background: var(--hh-clay); box-sizing: border-box; color: white; display: flex !important; font-family: "Inter", sans-serif; font-size: .78rem; font-weight: 800; justify-content: center; letter-spacing: .04em; min-height: 52px; padding: 1rem 1.25rem !important; text-transform: uppercase; }
  .hh-planner > .wp-block-columns { flex-wrap: wrap !important; }
  .hh-planner > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .hh-path-grid { grid-template-columns: repeat(2,1fr); }
  .hh-lender-grid { grid-template-columns: repeat(2,1fr); }
  .hh-service { grid-template-columns: 45px 1fr; }
  .hh-service p, .hh-service .hh-text-link { grid-column: 2; }
  .hh-statement-grid { margin-left: 0; }
}

@media (max-width: 900px) {
  .hh-hero > .wp-block-columns { flex-wrap: wrap !important; gap: 2rem !important; }
  .hh-hero > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .hh-hero-copy { padding: .5rem 0 0; }
  .hh-hero h1 { max-width: 650px; }
  .hh-hero-visual { max-width: 480px; margin-inline: auto; width: 100%; }
  .hh-portrait { aspect-ratio: 5 / 6; }
  .hh-story-body { flex-wrap: wrap !important; }
  .hh-story-body > .wp-block-column:first-child, .hh-story-body > .wp-block-column:last-child { flex-basis: 100% !important; }
}

@media (max-width: 650px) {
  .hh-brokerage-copy:last-child { display: none; }
  .hh-brokerage-bar img { width: 50px; }
  .hh-brokerage-copy { font-size: .48rem; text-align: right; }
  .hh-main-header { gap: .55rem; min-height: 74px; padding: 0 5vw; }
  .hh-main-header .wp-block-navigation { margin-inline-start: 0; order: 3; }
  .hh-main-header > .wp-block-buttons { display: none; }
  .hh-language-switcher { margin-inline-start: auto; order: 2; }
  .hh-wordmark { order: 1; }
  .hh-hero { padding: 2.5rem 6vw 3rem; }
  .hh-hero-copy { padding: 0; }
  .hh-hero h1 { font-size: clamp(2.8rem, 10.7vw, 4rem); }
  .hh-hero-lede { font-size: 1rem; }
  .hh-hero-visual { min-height: 0; padding: 0; }
  .hh-hero-actions { gap: .75rem; }
  .hh-hero-actions > .wp-block-button { width: 100%; }
  .hh-hero-actions .wp-block-button__link { display: block; width: 100%; text-align: center; }
  .hh-portrait { height: auto; }
  .hh-advisor-card { padding: 1rem 1.25rem; }
  .hh-story-body { gap: 2rem; margin-top: 2rem; padding-top: 2rem; }
  .hh-section { padding: 5rem 6vw; }
  .hh-section-heading { font-size: 2.8rem; }
  .hh-path-grid { grid-template-columns: 1fr; }
  .hh-path-card { min-height: 255px; }
  .hh-lender-grid { grid-template-columns: repeat(2,1fr); }
  .hh-service { gap: .55rem 1rem; grid-template-columns: 30px minmax(0,1fr); }
  .hh-service .hh-service-number { grid-column: 1; grid-row: 1 / span 3; padding-top: .2rem; }
  .hh-service h3 { font-size: 1.4rem; grid-column: 2; grid-row: 1; }
  .hh-service p { grid-column: 2; grid-row: 2; margin: 0; }
  .hh-service .hh-text-link { grid-column: 2; grid-row: 3; margin-top: .25rem; }
  .hh-calculator { scroll-margin-top: 92px; }
  .hh-calculator .bendigi-calculators { box-shadow: 0 16px 36px rgba(14, 44, 38, .1); margin: 2rem auto 0; max-width: 100% !important; width: 100% !important; }
  .hh-query-grid .wp-block-post-template { grid-template-columns: 1fr; }
  .hh-app-card { padding: 1.2rem; }
  .hh-phone { padding: 1.4rem; }
  .hh-footer { padding: 3.5rem 6vw 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* Newsletter landing pages */
.page-id-114 .hh-content-wrap,
.page-id-116 .hh-content-wrap {
	max-width: none;
	padding: 0;
}

.page-id-114 .hh-content-wrap > .wp-block-post-title,
.page-id-116 .hh-content-wrap > .wp-block-post-title {
	display: none;
}

.hh-subscribe-page .mailpoet_form {
	padding: 0 !important;
}

.hh-subscribe-page .mailpoet_form_columns {
	gap: 1rem;
}

.hh-subscribe-page .mailpoet_paragraph,
.hh-subscribe-page .mailpoet_form_column {
	margin: 0 0 1rem;
}

.hh-subscribe-page .mailpoet_text {
	box-sizing: border-box;
	width: 100%;
	min-height: 3.25rem;
	padding: 0.8rem 1rem;
	border: 1px solid rgba(23, 62, 53, 0.28);
	border-radius: 0.25rem;
	background: #fff;
	color: #1e2b27;
	font: inherit;
}

.hh-subscribe-page .mailpoet_text:focus {
	border-color: #c86f4a;
	outline: 3px solid rgba(200, 111, 74, 0.18);
	outline-offset: 1px;
}

.hh-subscribe-page .mailpoet_checkbox_label {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	font-size: 0.9rem;
	line-height: 1.55;
}

.hh-subscribe-page .mailpoet_checkbox {
	flex: 0 0 auto;
	width: 1.1rem;
	height: 1.1rem;
	margin-top: 0.2rem;
	accent-color: #173e35;
}

.hh-subscribe-page .mailpoet_submit {
	width: 100%;
	min-height: 3.25rem;
	padding: 0.8rem 1.25rem;
	border: 1px solid #173e35;
	border-radius: 0.25rem;
	background: #173e35;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.hh-subscribe-page .mailpoet_submit:hover,
.hh-subscribe-page .mailpoet_submit:focus-visible {
	border-color: #0e2c26;
	background: #0e2c26;
}

.hh-subscribe-page .mailpoet_validate_success {
	color: #173e35;
	font-weight: 600;
}

.hh-subscribe-page .mailpoet_validate_error {
	color: #8b2f24;
}

html[dir="rtl"] .hh-subscribe-page .mailpoet_form,
html[dir="rtl"] .hh-subscribe-page .mailpoet_checkbox_label {
	text-align: right;
}

@media (max-width: 781px) {
	.hh-subscribe-page > .wp-block-group__inner-container,
	.hh-subscribe-page > .wp-block-columns {
		padding-right: 1rem;
		padding-left: 1rem;
	}
}

/* Insights newsletter invitation */
.hh-blog-signup {
	padding: 5rem 10vw;
	background: #173e35;
	color: #faf8f2;
	text-align: center;
}

.hh-blog-signup .hh-kicker {
	color: #e6a98c;
}

.hh-blog-signup .hh-section-heading,
.hh-blog-signup .hh-muted-copy {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
	color: #faf8f2;
}

.hh-blog-signup .wp-block-buttons {
	justify-content: center;
	margin-top: 1.75rem;
}

.hh-blog-signup .wp-block-button__link {
	background: #c86f4a;
	color: #fff;
}

.hh-blog-signup .wp-block-button__link:hover,
.hh-blog-signup .wp-block-button__link:focus-visible {
	background: #a95335;
}

/* Focused homepage and shareable destination pages */
.hh-main-header .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
	background: var(--hh-paper);
	border: 1px solid var(--hh-line);
	box-shadow: 0 16px 40px rgba(14, 44, 38, .12);
	min-width: 210px;
}

.hh-main-header .wp-block-navigation-submenu .wp-block-navigation-item__content {
	box-sizing: border-box;
	padding: .75rem 1rem;
	width: 100%;
}

.hh-story-teaser {
	background: var(--hh-cream);
}

.hh-story-teaser-grid {
	gap: clamp(2.5rem, 6vw, 5.5rem);
}

.hh-story-teaser .hh-section-heading {
	font-size: clamp(2.7rem, 4.5vw, 4.6rem);
}

.hh-story-summary {
	font-size: 1rem;
	max-width: 590px;
}

.hh-teaser-actions {
	margin-top: 1.75rem;
}

.hh-tools-teaser {
	background: var(--hh-forest);
	color: #fff;
}

.hh-tools-teaser .hh-kicker {
	color: var(--hh-clay-light);
}

.hh-tools-teaser .hh-section-heading {
	color: #fff;
	font-size: clamp(2.8rem, 4.8vw, 4.8rem);
}

.hh-tools-grid,
.hh-value-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 3rem;
}

.hh-tool-card {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .17);
	display: flex;
	flex-direction: column;
	margin-inline-end: -1px;
	min-height: 280px;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.hh-tool-icon {
	align-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	color: var(--hh-clay-light);
	display: flex;
	font-size: 1.1rem;
	font-weight: 800;
	height: 44px;
	justify-content: center;
	margin: 0;
	width: 44px;
}

.hh-tool-card h3 {
	color: #fff;
	font-size: 1.8rem;
	margin: 2rem 0 .75rem;
}

.hh-tool-card > p:not(.hh-tool-icon) {
	color: #c4cfca;
	font-size: .85rem;
	line-height: 1.7;
}

.hh-tool-card .hh-text-link {
	margin-top: auto;
}

.hh-tool-card a {
	color: #fff;
}

.hh-lenders-compact {
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.hh-lender-intro {
	align-items: end;
	gap: 2rem;
}

.hh-lender-intro > div {
	max-width: 600px;
}

.hh-lender-intro h2 {
	font-size: clamp(2rem, 3.5vw, 3.5rem);
	line-height: 1.08;
	margin: .75rem 0 0;
}

.hh-lender-intro > .hh-muted-copy {
	font-size: .88rem;
	max-width: 420px;
}

.hh-lender-grid-compact {
	grid-template-columns: repeat(8, minmax(0, 1fr));
	margin-top: 2.5rem;
}

.hh-lender-grid-compact .hh-lender-slot {
	min-height: 92px;
	padding: .8rem;
}

.hh-lender-grid-compact .hh-lender-slot img {
	max-height: 38px;
	max-width: 105px;
}

body.hh-landing-template .hh-content-wrap {
	max-width: none;
	padding: 0;
}

body.hh-landing-template .hh-content-wrap > .wp-block-post-title {
	display: none;
}

.hh-landing-page {
	margin-top: 0;
}

.hh-page-hero {
	background: var(--hh-cream);
	padding: clamp(4rem, 8vw, 7.5rem) 7vw;
}

.hh-page-hero h1 {
	font-size: clamp(3.2rem, 6.1vw, 6.2rem);
	letter-spacing: -.05em;
	line-height: 1.02;
	margin: 1.2rem 0 1.5rem;
}

.hh-page-lede {
	color: var(--hh-muted);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.75;
	max-width: 700px;
}

.hh-page-hero .wp-block-buttons {
	margin-top: 2rem;
}

.hh-about-hero > .wp-block-columns,
.hh-about-story-grid,
.hh-app-hero > .wp-block-columns {
	gap: clamp(2.5rem, 6vw, 6rem);
}

.hh-about-portrait {
	aspect-ratio: 4 / 5;
	border-radius: 42% 42% 8px 8px;
	margin: 0;
	overflow: hidden;
}

.hh-about-portrait img {
	height: 100%;
	object-fit: cover;
	object-position: 50% 25%;
	width: 100%;
}

.hh-about-story {
	background: var(--hh-paper);
}

.hh-about-story h2 {
	font-size: clamp(2.5rem, 4vw, 4rem);
	line-height: 1.08;
	margin: 1rem 0 2rem;
}

.hh-about-values {
	background: var(--hh-forest);
	color: #fff;
}

.hh-about-values .hh-section-heading {
	color: #fff;
}

.hh-value-card {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .17);
	margin-inline-end: -1px;
	min-height: 220px;
	padding: 2rem;
}

.hh-value-card h3 {
	color: inherit;
	font-size: 1.55rem;
}

.hh-value-card p:last-child {
	color: inherit;
	font-size: .86rem;
	line-height: 1.7;
	opacity: .78;
}

.hh-page-cta {
	background: var(--hh-paper);
	text-align: center;
}

.hh-page-cta h2 {
	font-size: clamp(2.5rem, 4.7vw, 4.8rem);
	line-height: 1.08;
	margin: 1rem auto 1.5rem;
}

.hh-page-cta > p:not(.hh-kicker) {
	color: var(--hh-muted);
	margin-inline: auto;
	max-width: 680px;
}

.hh-page-cta .wp-block-buttons {
	justify-content: center;
	margin-top: 2rem;
}

.hh-tool-page-hero {
	padding-bottom: 5rem;
}

.hh-quick-links,
.hh-book-badges {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	margin-top: 1.75rem;
}

.hh-quick-links p,
.hh-book-badges p {
	border: 1px solid var(--hh-line);
	color: var(--hh-forest);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .05em;
	margin: 0;
	padding: .65rem .85rem;
	text-transform: uppercase;
}

.hh-calculator-page-embed {
	background: var(--hh-paper);
	box-sizing: border-box;
	padding: clamp(2rem, 4vw, 4rem) max(1rem, 3vw) 5rem;
}

.hh-calculator-page-embed .bendigi-calculators {
	margin-top: 0;
	max-width: 1440px !important;
	width: 100% !important;
}

.hh-app-hero {
	background: var(--hh-clay);
	color: #fff;
}

.hh-app-hero h1,
.hh-app-hero .hh-page-lede {
	color: #fff;
}

.hh-app-hero .wp-block-button__link {
	background: var(--hh-forest);
	color: #fff;
}

.hh-app-device {
	background: var(--hh-forest-deep);
	box-shadow: 18px 18px 0 rgba(14, 44, 38, .25);
	padding: 2rem;
}

.hh-app-device > figure {
	margin: 0 0 1.5rem;
}

.hh-app-device > figure img {
	height: auto;
	width: min(260px, 80%);
}

.hh-app-screen {
	background: var(--hh-paper);
	border-radius: 28px 28px 4px 4px;
	color: var(--hh-ink);
	margin-inline: auto;
	max-width: 380px;
	padding: 2rem;
}

.hh-app-screen h2 {
	color: var(--hh-forest);
	font-size: 2rem;
	line-height: 1.12;
}

.hh-app-screen li {
	border-bottom: 1px solid var(--hh-line);
	color: var(--hh-muted);
	font-size: .8rem;
	padding: .65rem 0;
}

.hh-app-benefits {
	background: var(--hh-cream);
}

.hh-app-benefits .hh-value-card {
	background: var(--hh-paper);
	border-color: var(--hh-line);
	color: var(--hh-ink);
}

.hh-privacy-dark {
	color: var(--hh-muted);
	margin-top: 1.5rem;
}

.hh-book-intro {
	padding-bottom: 3.25rem;
	text-align: center;
}

.hh-book-intro .hh-page-lede {
	margin-inline: auto;
}

.hh-book-intro .hh-book-badges {
	justify-content: center;
}

.hh-booking-shell {
	background: var(--hh-paper);
	padding: 2.5rem max(1rem, 4vw) 5rem;
}

.hh-koalendar-frame {
	background: #fff;
	border: 1px solid var(--hh-line);
	box-shadow: 0 20px 54px rgba(14, 44, 38, .1);
	display: block;
	min-height: 820px;
	width: 100%;
}

.hh-book-fallback {
	background: var(--hh-cream);
	border: 1px solid var(--hh-line);
	margin-top: 1rem;
	padding: 1rem 1.25rem;
	text-align: center;
}

.hh-book-fallback p {
	font-size: .78rem;
	margin: .2rem 0;
}

@media (max-width: 1000px) {
	.hh-lender-grid-compact {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.hh-main-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0 0 .75rem 1rem;
		position: static;
	}

	.hh-main-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu .wp-block-navigation-item__content {
		font-family: Arial, Helvetica, sans-serif;
		font-size: 1rem;
		padding: .65rem 0;
	}
}

@media (max-width: 781px) {
	.hh-story-teaser-grid,
	.hh-about-hero > .wp-block-columns,
	.hh-about-story-grid,
	.hh-app-hero > .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.hh-story-teaser-grid > .wp-block-column,
	.hh-about-hero > .wp-block-columns > .wp-block-column,
	.hh-about-story-grid > .wp-block-column,
	.hh-app-hero > .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}

	.hh-tools-grid,
	.hh-value-grid {
		grid-template-columns: 1fr;
	}

	.hh-tool-card,
	.hh-value-card {
		min-height: 0;
	}

	.hh-page-hero {
		padding: 4rem 6vw;
	}

	.hh-page-hero h1 {
		font-size: clamp(2.8rem, 12vw, 4.2rem);
	}

	.hh-about-portrait {
		max-height: 640px;
	}

	.hh-app-device {
		box-shadow: 10px 10px 0 rgba(14, 44, 38, .25);
		padding: 1.2rem;
	}

	.hh-koalendar-frame {
		height: 900px;
		min-height: 900px;
	}
}

@media (max-width: 540px) {
	.hh-lender-grid-compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hh-booking-shell {
		padding-inline: .75rem;
	}

	.hh-koalendar-frame {
		box-shadow: none;
	}

	.hh-quick-links p,
	.hh-book-badges p {
		font-size: .62rem;
	}
}

@media (max-width: 781px) {
	.hh-blog-signup {
		padding: 4rem 6vw;
	}
}

.hh-article-lead {
	box-sizing: border-box;
	margin-block: clamp(3rem, 7vw, 5rem) 1rem;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--hh-line);
	border-top: 4px solid var(--hh-clay);
	background: var(--hh-paper);
	box-shadow: 0 22px 55px rgba(14, 44, 38, 0.08);
}

.hh-article-lead__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

.hh-article-lead__title {
	margin: 0.75rem 0 1rem;
	color: var(--hh-forest);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3.35rem);
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.hh-article-lead__copy,
.hh-article-lead__privacy {
	color: var(--hh-muted);
	line-height: 1.7;
}

.hh-article-lead__privacy {
	margin-top: 1rem;
	font-size: 0.72rem;
}

.hh-article-lead__alternatives {
	margin-top: clamp(1.75rem, 4vw, 3rem);
	padding-top: clamp(1.25rem, 3vw, 2rem);
	border-top: 1px solid var(--hh-line);
}

.hh-article-lead__alternatives-title {
	margin: 0 0 0.75rem;
	color: var(--hh-muted);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.hh-article-lead__alternative-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.hh-article-lead__alternative {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-height: 5.5rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--hh-line);
	background: var(--hh-cream);
	color: var(--hh-forest);
	text-decoration: none;
}

.hh-article-lead__alternative:hover,
.hh-article-lead__alternative:focus-visible {
	border-color: var(--hh-clay);
	background: #fff;
}

.hh-article-lead__alternative:focus-visible {
	outline: 3px solid rgba(200, 111, 74, 0.18);
	outline-offset: 2px;
}

.hh-article-lead__alternative-label {
	color: var(--hh-muted);
	font-size: 0.75rem;
}

.hh-article-lead__alternative strong {
	font-size: 0.9rem;
}

.hh-article-lead__alternative small {
	margin-top: auto;
	color: var(--hh-muted);
	font-size: 0.68rem;
	line-height: 1.45;
}

.hh-article-lead .ff-el-group {
	margin-bottom: 1rem;
}

.hh-article-lead .ff-el-input--label label {
	color: var(--hh-ink);
	font-size: 0.78rem;
	font-weight: 800;
}

.hh-article-lead .ff-el-form-control {
	box-sizing: border-box;
	width: 100%;
	min-height: 3.1rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid rgba(23, 62, 53, 0.28);
	border-radius: 0.2rem;
	background: #fff;
	color: var(--hh-ink);
	font: inherit;
}

.hh-article-lead textarea.ff-el-form-control {
	min-height: 7rem;
	resize: vertical;
}

.hh-article-lead .ff-el-form-control:focus {
	border-color: var(--hh-clay);
	outline: 3px solid rgba(200, 111, 74, 0.18);
	outline-offset: 1px;
}

.hh-article-lead .ff-btn-submit {
	min-height: 3.15rem;
	padding: 0.8rem 1.3rem;
	border: 1px solid var(--hh-forest) !important;
	border-radius: 0;
	background: var(--hh-forest) !important;
	color: #fff !important;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 800;
	cursor: pointer;
}

.hh-article-lead .ff-btn-submit:hover,
.hh-article-lead .ff-btn-submit:focus-visible {
	border-color: var(--hh-forest-deep) !important;
	background: var(--hh-forest-deep) !important;
}

.hh-article-lead .ff-message-success {
	border-color: rgba(23, 62, 53, 0.25);
	background: rgba(23, 62, 53, 0.06);
	color: var(--hh-forest);
}

html[dir="rtl"] .hh-article-lead,
html[dir="rtl"] .hh-article-lead .ff-el-input--label,
html[dir="rtl"] .hh-article-lead .ff-el-form-control {
	text-align: right;
}

html[dir="rtl"] .hh-article-lead__title {
	letter-spacing: 0;
	line-height: 1.55;
}

@media (max-width: 781px) {
	.hh-article-lead__inner {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.hh-article-lead .ff-btn-submit {
		width: 100%;
	}

	.hh-article-lead__alternative-grid {
		grid-template-columns: 1fr;
	}
}
