/* =====================================================================
   Site stylesheet
   Layout model: rows are 80% wide (max 1080px),
   structure collapses at 980px, type and gutters tighten at 767px.
   ===================================================================== */

/* =========================================================
   FONTS (self-hosted, latin subset, SIL Open Font License)
   ========================================================= */
@font-face { font-family: "Open Sans"; src: url("/fonts/open-sans.woff2") format("woff2"); font-style: normal; font-weight: 300 800; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("/fonts/open-sans-italic.woff2") format("woff2"); font-style: italic; font-weight: 300 800; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/poppins-500.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/poppins-600.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/poppins-700.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Averia Libre"; src: url("/fonts/averia-libre-700.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Averia Libre"; src: url("/fonts/averia-libre-700-italic.woff2") format("woff2"); font-style: italic; font-weight: 700; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url("/fonts/dm-sans-700.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Allura"; src: url("/fonts/allura-400.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }

/* =========================================================
   TOKENS
   ========================================================= */
:root{
  --blue: #007FE0;           /* header band */
  --blue-deep: #0B24C4;      /* nav bar, headings, phone pill */
  --blue-panel: #0C71C3;     /* form panels */
  --blue-tint: rgba(12,113,195,.24);
  --link-light: #2EA3F2;     /* links on dark footer */
  --ink: #000000;
  --ink-2: #333333;
  --body: #666666;
  --footer: #2D2D2D;

  --open: "Open Sans", Arial, sans-serif;
  --poppins: "Poppins", Arial, sans-serif;
  --averia: "Averia Libre", Georgia, serif;
  --dm: "DM Sans", Arial, sans-serif;
  --script: "Allura", "Brush Script MT", cursive;

  --row: min(80%, 1080px);
  --gap: 5.5%;
  --sh-sm: rgba(0,0,0,.4) 1.6px 1.6px 1.2px;
  --sh-md: rgba(0,0,0,.4) 2.5px 2.5px 2.5px;
  --sh-lg: rgba(0,0,0,.4) 3.5px 3.5px 3px;
}

/* =========================================================
   RESET / BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body{
  margin: 0;
  font-family: var(--open);
  font-size: 14px;
  line-height: 1.7;
  color: var(--body);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, picture, svg { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; }
h1, h2, h3, h4, p, ul { margin: 0; }
h1, h2, h3, h4 { font-weight: 700; line-height: 1; }
a { color: var(--link-light); text-decoration: none; }
a:hover { text-decoration: underline; }
.tel { color: inherit; text-decoration: none; white-space: nowrap; }
.tel:hover { text-decoration: underline; }
.script { font-family: var(--script); font-weight: 400; font-size: 32px; letter-spacing: 1px; line-height: 1; }
.visually-hidden{
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link{
  position: absolute; left: 12px; top: -60px; z-index: 1000;
  background: #fff; color: var(--blue-deep); padding: 10px 16px; font-weight: 700; border-radius: 6px;
}
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #FFB400; outline-offset: 2px; }

/* =========================================================
   LAYOUT PRIMITIVES
   ========================================================= */
.sec { position: relative; padding: 54px 0; background: #fff; }
.row { width: var(--row); margin: 0 auto; padding: 27px 0; position: relative; }
.row--flush { padding-top: 0; padding-bottom: 0; }
.center { text-align: center; }

/* Photo backgrounds rendered as <picture> for responsive loading */
.sec--photo { overflow: hidden; background: #333; }
.sec--photo > .bg{
  position: absolute; inset: 0; z-index: 0;
}
.sec--photo > .bg picture { height: 100%; }
.sec--photo > .bg img{
  width: 100%; height: 100%; object-fit: cover; object-position: var(--bg-pos, 50% 50%);
}
.sec--photo::before{
  content: ""; position: absolute; inset: 0; z-index: 1; background: var(--overlay, rgba(0,0,0,.3));
}
.sec--photo > .row { z-index: 2; }

/* =========================================================
   HEADER (desktop 981+)
   ========================================================= */
.hdr-top { background: var(--blue); color: #fff; }
.hdr-inner{
  width: var(--row); margin: 0 auto; padding: 27px 0 0;
  display: grid; grid-template-columns: 20.875% 47.25% 20.875%; column-gap: var(--gap);
  align-items: start;
}
.hdr-person { text-align: center; padding-top: 28px; }
.headshot{
  display: inline-block; border: 4px solid #000; border-radius: 54px; overflow: hidden;
  box-shadow: rgba(0,0,0,.3) 0 6px 20px 10px; line-height: 0;
}
.headshot img { width: 113px; height: 157px; object-fit: cover; }
.hdr-name{
  font-size: 23px; line-height: 23px; font-weight: 700; color: #fff; margin-top: 16px;
  text-shadow: rgba(0,0,0,.4) 3.45px 2.53px 1.61px;
}
.hdr-brand { text-align: center; padding-top: 10px; }
.hdr-tagline{
  font-size: 26px; line-height: 26px; font-weight: 700; font-style: italic; color: #fff;
  text-shadow: rgba(0,0,0,.4) 2.08px 2.08px 2.08px;
}
.hdr-tagline span { display: block; padding-bottom: 10px; }
.hdr-logo { display: block; width: 457px; max-width: 100%; margin: -7px auto -2px; }
.hdr-logo img { width: 457px; height: 254px; }
.hdr-call { text-align: center; padding-top: 10px; }
.hdr-help{
  font-size: 32px; line-height: 54.4px; font-weight: 700; color: #fff;
  text-shadow: rgba(0,0,0,.4) 2.56px 2.56px 2.56px;
}
.hdr-give{
  font-size: 34px; line-height: 34px; font-weight: 700; color: #fff; padding: 10px 0;
  text-shadow: rgba(0,0,0,.4) 2.72px 2.72px 0;
}
.hdr-phone{
  display: block; margin-top: 47px; background: #fff; color: var(--blue-deep);
  border: 5px solid var(--blue-deep); border-radius: 20px;
  font-size: 28px; line-height: 28px; font-weight: 700; padding: 8px 0 9px; text-decoration: none;
}
.hdr-phone:hover { text-decoration: none; background: #F2F5FF; }

/* Nav bar */
.nav-bar { background: var(--blue-deep); position: relative; z-index: 50; }
.site-nav { width: var(--row); margin: 0 auto; position: relative; }
.menu-btn, .nav-call, .sub-toggle { display: none; }
.nav-list{
  list-style: none; margin: 0; padding: 8px 0 0; min-height: 50px;
  display: flex; justify-content: center; flex-wrap: wrap;
}
.nav-list > li { position: relative; padding: 0 11px; display: flex; align-items: flex-start; }
.nav-list a{
  display: block; font-family: var(--poppins); font-weight: 700; font-size: 14px; line-height: 23.8px;
  color: #fff; text-decoration: none; transition: opacity .3s ease-in-out;
}
.nav-list > li > a { padding: 0 0 8px; }
.nav-list a:hover { opacity: .7; }
/* Current page, and the top-level parent of a current dropdown page */
.nav-list > li > a[aria-current="page"], .nav-list > li.is-current-parent > a{
  text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 7px;
}
.sub a[aria-current="page"] { background: rgba(255,255,255,.14); box-shadow: inset 3px 0 0 #fff; }
.nav-list > li.has-sub > a { padding-right: 20px; }
.nav-list > li.has-sub > a::after{
  content: ""; position: absolute; right: 11px; top: 8px; width: 9px; height: 9px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: scale(.7) rotate(45deg);
  pointer-events: none;
}
.sub{
  list-style: none; margin: 0; padding: 20px 0;
  position: absolute; top: 31px; left: 0; width: 240px;
  background: var(--blue-deep); border-top: 3px solid var(--link-light);
  box-shadow: rgba(0,0,0,.1) 0 2px 5px 0;
  visibility: hidden; opacity: 0; transition: opacity .2s ease-in-out, visibility .2s;
  text-align: left;
}
.has-sub:hover > .sub, .has-sub:focus-within > .sub, .has-sub.is-open > .sub { visibility: visible; opacity: 1; }
.sub li { padding: 0 20px; }
.sub a { padding: 6px 20px; }
.sub a:hover { background: rgba(255,255,255,.06); }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer { background: var(--footer); color: rgba(255,255,255,.77); }
.ft-main { padding: 54px 0 27px; }
.ft-grid{
  width: var(--row); margin: 0 auto; padding: 27px 0;
  display: grid; grid-template-columns: 47.25% 47.25%; column-gap: var(--gap);
}
.ft-brand { display: flex; align-items: center; gap: 20px; margin-bottom: 26px; }
.ft-badge { border: 1px solid #A5A5A5; border-radius: 9px; overflow: hidden; flex: none; line-height: 0; }
.ft-badge img { width: 128px; height: 71px; }
.ft-contact p { font-size: 14px; line-height: 23.8px; color: rgba(255,255,255,.77); }
.ft-contact a { color: #fff; font-weight: 700; font-size: 17px; }
.ft-links { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 24px; }
.ft-h{
  font-size: 14px; line-height: 14px; font-weight: 400; color: rgba(255,255,255,.77);
  padding-bottom: 10px; margin-bottom: 4px;
}
.ft-links ul { list-style: none; padding: 0; }
.ft-links li { font-size: 12px; line-height: 23.8px; padding-bottom: 6px; }
.ft-links a { color: var(--link-light); }
.ft-cta-h { font-size: 17px; line-height: 17px; font-weight: 400; color: #fff; padding-bottom: 10px; margin-bottom: 10px; }
.ft-cta p { font-size: 14px; line-height: 23.8px; margin-bottom: 20px; }
.ft-cta-btn{
  display: inline-block; color: #fff; border: 3px solid #fff; border-radius: 3px;
  font-size: 20px; line-height: 34px; padding: 6px 20px; text-decoration: none; transition: background .2s;
}
.ft-cta-btn:hover { background: rgba(255,255,255,.1); text-decoration: none; }
.ft-note{
  width: var(--row); margin: 0 auto; padding: 27px 0; text-align: center;
  font-size: 14px; line-height: 23.8px; color: #A8A8A8;
}
.ft-note a { color: #D6D6D6; text-decoration: underline; }
.ft-bottom { background: #000; padding: 40px 0; }
.ft-bottom-inner{
  width: var(--row); margin: 0 auto; display: flex; flex-wrap: wrap; gap: 8px 24px;
  justify-content: space-between; font-size: 14px; line-height: 23.8px; color: rgba(255,255,255,.63);
}
.ft-bottom a { color: rgba(255,255,255,.8); }

/* =========================================================
   FORM PANELS (embedded forms)
   ========================================================= */
.qf { width: 57.8%; margin: 0 auto; }
.qf--home { width: 47.25%; }
.qf-title{
  background: var(--blue-panel); border: 4px solid var(--ink-2); border-radius: 13px;
  padding: 10px; margin-bottom: 8px; text-align: center;
  font-size: 18px; line-height: 18px; font-weight: 700; color: #fff;
}
.qf--spaced .qf-title { margin-bottom: 30px; }
.qf--home .qf-title { background: #fff; color: #000; margin-bottom: 30px; }
.qf-embed { background: var(--blue-panel); padding: 11px 10px 10px; }
.qf--home .qf-embed { background: transparent; }
/* Embedded form iframe: pre-load height floor only; the embed script sets the real height. */
.qf-embed iframe { display: block; width: 100%; min-height: 320px; border: 0; background: transparent; }

/* =========================================================
   SHARED CONTENT PATTERNS
   ========================================================= */

/* Blue italic page title (About, Contact, FAQs, How We Help You, Keep Your House) */
.page-title { padding: 68px 0 32px; }
.page-title h1{
  font-family: var(--averia); font-style: italic; font-weight: 700; font-size: 45px; line-height: 76.5px;
  letter-spacing: 1px; color: var(--blue-deep); text-align: center; padding-bottom: 10px;
  text-shadow: rgba(0,0,0,.4) 3.6px 3.6px 8.1px;
}

/* Photo hero with outlined title box (Situations family, Sell Us Your House) */
.hero-box { padding: var(--pt, 171px) 0 var(--pb, 221px); }
.hero-box > .row { padding: 0; }
.title-box{
  border: 11px solid #fff; border-radius: 20px; padding: 17px 10px 44px; text-align: center;
}
.title-box h1{
  font-size: 64px; line-height: 108.8px; font-weight: 700; color: #fff; padding-bottom: 10px;
  text-shadow: rgba(0,0,0,.4) 5.12px 5.12px 7.04px;
}
.title-box--tight { border-width: 8px; padding: 0; }
.title-box--tight h1 { letter-spacing: 1px; text-shadow: rgba(0,0,0,.4) 5.12px 5.12px 2.56px; }

/* Palm-tree neighborhood band with white statement text */
.band h2, .band p.band-text{
  font-family: var(--dm); font-weight: 700; font-size: 35px; line-height: 59.5px; color: #fff; text-align: center;
  text-shadow: rgba(0,0,0,.4) 0 3.5px 3.5px; padding-bottom: 10px;
}

/* Blue CTA lines ("Give us a call ... Or complete the form below.") */
.cta-lines { text-align: center; }
.cta-lines p{
  font-size: 36px; line-height: 61.2px; font-weight: 700; letter-spacing: 1px; color: var(--blue-deep);
  padding-bottom: 10px;
}
.cta-lines .tel { color: inherit; }
.quote { text-align: center; margin-bottom: 30px; }
.quote p{
  font-size: 36px; line-height: 61.2px; font-weight: 700; font-style: italic; letter-spacing: 1px;
  color: var(--blue-deep); padding-bottom: 10px;
}
.quote .sig{
  font-family: var(--script); font-style: normal; font-weight: 700; font-size: 33px; line-height: 56.1px;
  padding-top: 20px; padding-bottom: 10px;
}

/* Intro statement blocks (situation pages) */
.intro { text-align: center; }
.intro .intro-h{
  font-size: var(--h-size, 36px); line-height: var(--h-lh, 1.8); font-weight: 700; letter-spacing: 1px;
  color: var(--h-color, #000); padding-bottom: 10px; text-shadow: rgba(0,0,0,.4) 2.8px 2.8px 2px;
}
.intro p{
  font-size: var(--p-size, 20px); line-height: var(--p-lh, 36px); font-weight: 700; letter-spacing: 1px;
  color: #000; padding-bottom: var(--p-gap, 20px); text-shadow: var(--sh-sm);
}
.intro .blue { color: var(--blue-deep); }
.intro p:last-child { padding-bottom: 0; }

/* Section pulled up behind the CTA lines */
.sec--cta { padding-top: 54px; padding-bottom: 0; }
.sec--cta > .row { padding-top: 0; padding-bottom: 0; }
.sec--form { padding-top: 27px; padding-bottom: 104px; }
.sec--form > .row { padding: 0; }

/* =========================================================
   HOME
   ========================================================= */
.home-hero { --overlay: rgba(0,0,0,.27); padding: 167px 0 222px; }
.home-hero > .row { padding: 0; }
.hero-card{
  background: rgba(0,127,224,.41); border: 11px solid #fff; border-radius: 20px;
  padding: 10px 10px 44px; text-align: center; color: #fff;
}
.hero-card h1{
  font-size: 31px; line-height: 52.7px; font-weight: 700; text-shadow: rgba(0,0,0,.4) 2.48px 2.48px 3.41px;
}
.hero-card h1 span { display: block; }
.hero-card h1 span + span { padding-top: 20px; }
.hero-card p{
  font-size: 25px; line-height: 25px; font-weight: 700; padding-top: 10px;
  text-shadow: rgba(0,0,0,.4) 2px 2px 2.75px;
}
.hero-card p.first { padding-top: 20px; }
.hero-card p.gap { padding-top: 30px; }
.hero-card .tel { color: #fff; }

.home-about { min-height: 661px; }
.home-about .row { padding-top: 28px; }
.lede p{
  font-size: 21px; line-height: 37.8px; letter-spacing: 1px; color: #000; padding: 0 10px 21px;
}
.lede p.spaced { padding-bottom: 80px; }

.home-offer { --overlay: rgba(18,135,111,.23); }
.home-offer > .row:first-of-type { padding-top: 200px; padding-bottom: 24px; }
.home-offer h2{
  font-size: 40px; line-height: 68px; letter-spacing: 1px; color: #fff; text-align: center; padding-bottom: 10px;
  text-shadow: rgba(0,0,0,.4) 4.4px 3.2px 0;
}
.home-offer .offer-text{
  font-size: 26px; line-height: 46.8px; font-weight: 700; letter-spacing: 1px; color: #fff;
  text-shadow: rgba(0,0,0,.4) 2.86px 2.08px 0;
}

.privacy-row { display: grid; grid-template-columns: 20.875% 73.625%; column-gap: var(--gap); align-items: start; }
.privacy-row img { width: 100%; height: auto; }
.privacy-row h2{
  font-size: 40px; line-height: 68px; letter-spacing: 1px; color: #000; text-align: center; padding-bottom: 10px;
}
.privacy-row p { font-size: 21px; line-height: 37.8px; letter-spacing: 1px; color: #000; text-align: center; }

/* =========================================================
   ABOUT / CONTACT
   ========================================================= */
.about-intro { padding: 54px 0; }
.split-2-1 { display: grid; grid-template-columns: 64.833% 29.666%; column-gap: var(--gap); align-items: start; }
.call-side { text-align: center; padding-top: 100px; }
.call-side p{
  font-family: var(--averia); font-size: 40px; line-height: 68px; font-weight: 700; letter-spacing: 1px;
  color: var(--blue-deep); padding-bottom: 10px;
}
.banner-logo { display: flex; justify-content: center; margin-bottom: 30px; }
.banner-logo img { width: 385px; height: 150px; }
.about-copy { padding: 10px; }
.about-copy .about-lead{
  font-family: var(--poppins); font-weight: 500; font-size: 22px; line-height: 37.4px; letter-spacing: 1px;
  color: var(--blue-deep); text-align: center; padding-bottom: 60px; text-shadow: rgba(0,0,0,.4) 1.76px 1.76px 2.2px;
}
.about-copy .about-lead .script { font-weight: 700; font-size: 32px; }
.about-copy p{
  font-family: var(--poppins); font-weight: 500; font-size: 19px; line-height: 34.2px; letter-spacing: 1px;
  color: #000; padding-bottom: 19px;
}
.offer-lines p{
  font-family: var(--averia); font-weight: 700; font-size: 45px; line-height: 76.5px; letter-spacing: 1px;
  color: var(--blue-deep); text-align: center; padding-bottom: 10px;
}
.offer-lines { margin-bottom: 30px; }

/* =========================================================
   FAQ
   ========================================================= */
.faq-hero { --overlay: rgba(0,0,0,.47); }
.faq-hero p{
  font-family: "Times New Roman", Times, serif; font-size: 45px; line-height: 76.5px; font-weight: 700;
  letter-spacing: 1px; color: #fff; text-align: center; padding-bottom: 34px;
  text-shadow: rgba(0,0,0,.4) 2.08px 2.08px 0;
}
.faq-list { padding: 10px; }
.faq-item { padding-bottom: 57px; }
.faq-item h2{
  font-family: var(--poppins); font-weight: 700; font-size: 19px; line-height: 34.2px; letter-spacing: 1px;
  color: var(--blue-deep); padding-bottom: 19px;
}
.faq-item p{
  font-family: var(--poppins); font-weight: 500; font-size: 19px; line-height: 34.2px; letter-spacing: 1px;
  color: #000; padding-bottom: 19px;
}
.faq-item p:last-child { padding-bottom: 0; }

/* =========================================================
   HOW WE HELP YOU
   ========================================================= */
.help-hero { --overlay: rgba(0,0,0,.36); }
.help-hero .help-h{
  font-family: var(--averia); font-style: italic; font-weight: 700; font-size: 51px; line-height: 86.7px;
  letter-spacing: 1px; color: #fff; text-align: center; padding-bottom: 10px; text-shadow: #000 2.64px 2.64px 0;
}
.help-hero p{
  font-size: 33px; line-height: 59.4px; font-weight: 700; letter-spacing: 1px; color: #fff; text-align: center;
  padding: 0 10px 33px; text-shadow: #000 2.64px 2.64px 0;
}
.steps-h{
  font-family: var(--averia); font-style: italic; font-weight: 700; font-size: 45px; line-height: 76.5px;
  letter-spacing: 1px; color: var(--blue-deep); text-align: center;
}
.step{
  display: grid; grid-template-columns: 12% 12% 12% 1fr; column-gap: 5.5%; align-items: start;
  margin: 4px 0 40px; min-height: 159px;
}
.step-num{
  font-family: var(--averia); font-weight: 700; font-size: 45px; line-height: 76.5px; letter-spacing: 1px;
  color: var(--blue-deep); text-align: center; padding-top: 12px;
}
.step-img img { width: 100%; height: auto; }
.step-title{
  font-family: var(--averia); font-weight: 700; font-style: italic; font-size: 25px; line-height: 42.5px;
  letter-spacing: 1px; color: var(--blue-deep); text-align: center;
}
.step ul { padding: 0 0 0 1em; list-style: disc; }
.step li{
  font-family: var(--averia); font-weight: 700; font-size: 20px; line-height: 36px; letter-spacing: 1px; color: #000;
  padding-left: 4px;
}
.help-cta p{
  font-family: var(--averia); font-weight: 700; font-size: 34px; line-height: 57.8px; letter-spacing: 1px;
  color: var(--blue-deep); text-align: center; padding-bottom: 10px;
}

/* =========================================================
   KEEP YOUR HOUSE
   ========================================================= */
.keep-hero { --overlay: rgba(0,0,0,.36); padding: 54px 0; }
.keep-hero p{
  font-family: var(--averia); font-style: italic; font-weight: 700; font-size: 55px; line-height: 93.5px;
  letter-spacing: 1px; color: #fff; text-align: center; padding-bottom: 10px; text-shadow: #000 2.24px 2.24px 0;
}
.keep-hero .row { padding-top: 88px; padding-bottom: 56px; }
.keep-copy h2{
  font-family: var(--averia); font-style: italic; font-weight: 700; font-size: 43px; line-height: 73.1px;
  letter-spacing: 1px; color: #000; text-align: center; padding-bottom: 48px; text-shadow: #000 1.68px 1.68px 1.05px;
}
.keep-copy p{
  font-size: 21px; line-height: 37.8px; letter-spacing: 1px; color: #000; padding-bottom: 21px;
  text-shadow: rgba(0,0,0,.35) .6px .6px .6px;
}
.keep-copy p.gap { padding-bottom: 42px; }
.plain-lines p{
  font-size: 34px; line-height: 57.8px; font-weight: 700; letter-spacing: 1px; color: #000; text-align: center;
  padding-bottom: 10px;
}

/* =========================================================
   SELL US YOUR HOUSE
   ========================================================= */
.reason{
  display: grid; grid-template-columns: 36.666% 57.833%; column-gap: var(--gap); align-items: start;
  padding: 27px 0;
}
.reason--flip { grid-template-columns: 57.833% 36.666%; }
.reason-img{
  border: 4px solid #CFCFCF; border-radius: 12px; overflow: hidden; line-height: 0;
  box-shadow: rgba(0,0,0,.3) 0 4px 14px 4px;
}
.reason-img img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 396 / 259; }
.reason-img--tall img { aspect-ratio: 388 / 352; }
.reason p{
  font-family: var(--dm); font-weight: 700; font-size: 31px; line-height: 55.8px; letter-spacing: 1px; color: #000;
  padding-top: 39px; text-shadow: rgba(0,0,0,.4) 2.48px 2.48px 2.17px;
}

/* =========================================================
   SITUATIONS HUB
   ========================================================= */
.sit-grid-sec { background: var(--blue-tint); padding: 54px 0 54px; }
.sit-grid-sec h2{
  font-family: var(--dm); font-weight: 700; font-size: 39px; line-height: 70.2px; letter-spacing: 1px; color: #000;
  text-align: center; text-shadow: rgba(0,0,0,.4) 3.12px 3.12px 2.73px; padding-bottom: 27px;
}
.sit-grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 5.5%; row-gap: 54px; }
.sit-btn{
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 197px; padding: 10px 24px;
  background: #000; color: #fff; border: 2px solid #fff; border-radius: 3px;
  font-size: 36px; line-height: 50px; font-weight: 400; text-decoration: none; transition: background .2s, color .2s;
}
.sit-btn:hover { text-decoration: none; background: #111; color: #DCE6FF; }
.sit-btn--lead { grid-column: 2; min-height: 126px; }

/* =========================================================
   USE US OR USE A REALTOR
   ========================================================= */
.why-sec { padding: 54px 0 54px; }
.why-card{
  background: #fff; border: 4px solid var(--ink-2); border-radius: 11px; padding: 18px 30px 30px;
  box-shadow: rgba(0,0,0,.3) 0 6px 10px 10px; margin-bottom: 27px;
}
.why-card h1{
  font-size: 40px; line-height: 80px; letter-spacing: 1px; color: #000; text-align: center;
  text-shadow: rgba(0,0,0,.4) 0 1.8px 1.8px;
}
.why-card .why-sub, .why-card .why-compare{
  font-family: var(--poppins); font-weight: 600; font-size: 24px; line-height: 36px; letter-spacing: 3px;
  color: #000; text-align: center; padding-bottom: 20px; text-shadow: rgba(0,0,0,.4) 0 1.8px 1.8px;
}
.why-card .why-compare { font-weight: 700; padding: 30px 0 0; }
.why-card p{
  font-size: 18px; line-height: 23.8px; letter-spacing: 1px; color: #000; padding-bottom: 14px;
  text-shadow: rgba(0,0,0,.4) 0 1.8px 1.8px;
}
.why-card .heart { color: #FF0000; font-weight: 700; }
.why-card .money { color: #008000; font-weight: 700; }

.compare-wrap{
  background: #fff; border: 4px solid #239319; border-radius: 20px; padding: 24px;
  box-shadow: rgba(0,0,0,.3) 0 6px 4px 14px; margin-bottom: 27px; overflow-x: auto;
}
.compare{
  width: 100%; border-collapse: collapse; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 17px; line-height: 1.3; color: #000; min-width: 560px;
}
.compare caption { caption-side: top; }
.compare th, .compare td { border: 3px solid #4E8A4E; padding: 8px 10px; text-align: left; vertical-align: middle; }
.compare thead th{
  border: 5px solid #1B2F8A; text-align: center; font-weight: 700; padding: 22px 10px; width: 33.33%;
}
.compare tbody th { font-weight: 700; }

.why-body{
  background: #fff; border: 4px solid #239319; border-radius: 20px; padding: 21px 34px 20px 38px;
  box-shadow: rgba(0,0,0,.3) 0 6px 4px 14px;
}
.why-body h2{
  font-size: 32px; line-height: 48px; letter-spacing: 1px; color: var(--ink-2); padding-bottom: 10px;
  text-shadow: rgba(0,0,0,.4) 2.56px 2.56px 2.56px;
}
.why-body h2.center { text-align: center; }
.why-body h2.blue { color: #0E21F4; }
.why-body h2 + p, .why-body p + p { }
.why-body p{
  font-size: 18px; line-height: 23.8px; letter-spacing: 1px; color: #000; padding-bottom: 18px;
  text-shadow: rgba(0,0,0,.4) 1.44px 1.44px 1.44px;
}
.why-body p .script { font-size: 32px; }
.why-body .why-big{
  font-size: 26px; line-height: 41.6px; letter-spacing: 2px; padding: 20px 0 30px;
  text-shadow: rgba(0,0,0,.4) 2.08px 2.08px 2.08px;
}
.why-body .why-big strong { font-weight: 700; }
.why-form { background: rgba(11,96,193,.32); }

/* =========================================================
   LEGAL / UTILITY PAGES
   ========================================================= */
.legal { color: #000; }
.legal h1{
  font-size: 30px; line-height: 1.3; color: var(--ink-2); padding-bottom: 20px;
}
.legal h2{
  font-size: 22px; line-height: 1.3; color: var(--ink-2); padding: 14px 0 10px;
}
.legal p, .legal li { font-size: 14px; line-height: 23.8px; color: #000; }
.legal p { padding-bottom: 14px; }
.legal ul { padding: 0 0 14px 1.4em; }
.legal li { line-height: 26px; }
.legal a { color: #0B63B6; text-decoration: underline; }
.legal .updated { color: #555; font-size: 13px; }

.credits-title{
  font-family: var(--poppins); font-weight: 500; font-size: 63px; line-height: 107.1px; color: #000;
  text-align: center; padding-bottom: 34px; text-shadow: rgba(0,0,0,.4) 3.78px 3.78px 5.04px;
}
.credits-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 11.6%; row-gap: 54px; }
.credit figure { margin: 0; }
.credit img { width: 100%; height: auto; }
.credit figcaption { font-size: 14px; line-height: 23.8px; color: #595959; text-align: center; padding-top: 30px; }
.credit a { color: #0B63B6; }

/* 404 */
.notfound { padding: 90px 0 110px; text-align: center; }
.notfound h1{
  font-family: var(--averia); font-style: italic; font-size: 45px; line-height: 1.5; color: var(--blue-deep);
  text-shadow: rgba(0,0,0,.4) 3.6px 3.6px 8.1px; padding-bottom: 16px;
}
.notfound p { font-size: 20px; line-height: 1.7; color: #000; padding-bottom: 20px; }
.notfound a { color: var(--blue-deep); font-weight: 700; text-decoration: underline; }

/* =========================================================
   TABLET / MOBILE (<= 980): structure collapses, compact header
   ========================================================= */
@media (max-width: 980px){
  .sec { padding: 50px 0; }
  .row { padding: 30px 0; }

  /* Compact header: headshot + logo, tagline beneath */
  .hdr-inner{
    grid-template-columns: auto auto; justify-content: center; align-items: center;
    column-gap: 18px; row-gap: 6px; padding: 14px 0 12px;
  }
  .hdr-person { padding-top: 0; grid-row: 1; grid-column: 1; }
  .headshot { border-width: 3px; border-radius: 30px; box-shadow: rgba(0,0,0,.3) 0 4px 10px 2px; }
  .headshot img { width: 54px; height: 75px; }
  .hdr-name { font-size: 12px; line-height: 14px; margin-top: 6px; text-shadow: rgba(0,0,0,.4) 1px 1px 1px; }
  .hdr-brand { display: contents; }
  .hdr-logo { grid-row: 1; grid-column: 2; margin: 0; width: 170px; }
  .hdr-logo img { width: 170px; height: auto; }
  .hdr-tagline{
    grid-row: 2; grid-column: 1 / -1; font-size: 16px; line-height: 22px; text-align: center;
    text-shadow: rgba(0,0,0,.4) 1.5px 1.5px 1.5px;
  }
  .hdr-tagline span { display: inline; padding: 0; }
  .hdr-call { display: none; }

  /* Sticky slim nav bar with menu + call buttons */
  .nav-bar { position: sticky; top: 0; box-shadow: rgba(0,0,0,.25) 0 2px 8px; }
  .site-nav{
    width: 100%; padding: 8px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  }
  .menu-btn{
    display: inline-flex; align-items: center; gap: 10px; background: transparent; border: 0; color: #fff;
    font-family: var(--poppins); font-weight: 700; font-size: 15px; padding: 8px 6px;
  }
  .menu-icon { position: relative; width: 22px; height: 16px; }
  .menu-icon span{
    position: absolute; left: 0; width: 22px; height: 2px; background: #fff; border-radius: 2px;
    transition: transform .25s ease, opacity .2s ease, top .25s ease;
  }
  .menu-icon span:nth-child(1) { top: 0; }
  .menu-icon span:nth-child(2) { top: 7px; }
  .menu-icon span:nth-child(3) { top: 14px; }
  .site-nav[data-open="true"] .menu-icon span:nth-child(1) { top: 7px; transform: rotate(45deg); }
  .site-nav[data-open="true"] .menu-icon span:nth-child(2) { opacity: 0; }
  .site-nav[data-open="true"] .menu-icon span:nth-child(3) { top: 7px; transform: rotate(-45deg); }
  .nav-call{
    display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--blue-deep);
    border-radius: 20px; padding: 7px 14px; font-weight: 700; font-size: 15px; line-height: 20px; text-decoration: none;
  }
  .nav-call svg { width: 16px; height: 16px; fill: currentColor; }
  .nav-call:hover { text-decoration: none; background: #F2F5FF; }

  /* Dropdown panel */
  .nav-list{
    position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column;
    padding: 6px 0 10px; min-height: 0; background: var(--blue-deep); border-top: 3px solid var(--blue);
    max-height: calc(100vh - 60px); max-height: calc(100dvh - 60px); overflow-y: auto; overscroll-behavior: contain;
    box-shadow: rgba(0,0,0,.3) 0 12px 24px;
  }
  .site-nav[data-open="true"] .nav-list { display: flex; }
  .nav-list > li{
    padding: 0; display: flex; flex-wrap: wrap; align-items: stretch; border-bottom: 1px solid rgba(255,255,255,.12);
  }
  .nav-list > li:last-child { border-bottom: 0; }
  .nav-list > li > a { flex: 1; padding: 12px 20px; font-size: 15px; font-weight: 600; }
  .nav-list > li.has-sub > a { padding-right: 20px; }
  .nav-list > li.has-sub > a::after { display: none; }
  .nav-list a:hover { opacity: 1; background: rgba(255,255,255,.08); }
  .nav-list a[aria-current="page"] { opacity: 1; background: rgba(255,255,255,.14); box-shadow: inset 4px 0 0 #fff; text-decoration: none; }
  .nav-list > li.is-current-parent > a { text-decoration: none; box-shadow: inset 4px 0 0 rgba(255,255,255,.5); }
  .sub-toggle{
    display: flex; align-items: center; justify-content: center; width: 52px; flex: none;
    background: transparent; border: 0; border-left: 1px solid rgba(255,255,255,.12); color: #fff;
  }
  .sub-toggle svg { width: 14px; height: 14px; transition: transform .2s ease; }
  .sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  .sub{
    position: static; width: 100%; padding: 0 0 6px; border-top: 0; box-shadow: none;
    background: rgba(0,0,0,.18); visibility: visible; opacity: 1; display: none; transition: none;
  }
  .has-sub:hover > .sub, .has-sub:focus-within > .sub { display: none; }
  .has-sub.is-open > .sub { display: block; }
  .sub li { padding: 0; }
  .sub a { padding: 10px 20px 10px 36px; font-weight: 500; font-size: 14.5px; }

  /* Footer stacks */
  .ft-grid { grid-template-columns: 1fr; row-gap: 40px; }
  .ft-main { padding: 40px 0 10px; }

  /* Content patterns */
  .qf, .qf--home { width: 100%; max-width: 624px; }
  .split-2-1, .privacy-row { grid-template-columns: 1fr; row-gap: 30px; }
  .privacy-row img { max-width: 420px; margin: 0 auto; }
  .call-side { padding-top: 0; }
  .reason, .reason--flip { grid-template-columns: 1fr; row-gap: 20px; }
  .reason--flip .reason-img { order: -1; }
  .reason p { padding-top: 0; }
  .step { grid-template-columns: 60px 110px 1fr; row-gap: 10px; min-height: 0; margin: 0 0 34px; }
  .step-title { text-align: left; }
  .step ul { grid-column: 1 / -1; }
  .sit-grid { grid-template-columns: 1fr 1fr; row-gap: 24px; column-gap: 24px; }
  .sit-btn--lead { grid-column: 1 / -1; }
  .credits-grid { column-gap: 30px; }
  .home-about { min-height: 0; }
  .home-hero { padding: 90px 0 110px; }
  .hero-box { padding: 110px 0 130px; }
}

/* =========================================================
   PHONE (<= 767): wider rows and smaller display type
   ========================================================= */
@media (max-width: 767px){
  :root { --row: calc(100% - 40px); }
  .hdr-inner { width: calc(100% - 24px); }
  .site-nav { padding: 8px 12px; }
  .nav-call { font-size: 14px; padding: 7px 12px; }

  .page-title { padding: 40px 0 10px; }
  .page-title h1 { font-size: 36px; line-height: 1.4; }
  .title-box { border-width: 7px; padding: 12px 10px 20px; }
  .title-box h1 { font-size: 40px; line-height: 1.35; }
  .hero-box { padding: 80px 0 96px; }
  .hero-card { border-width: 8px; padding: 10px 10px 30px; }
  .hero-card h1 { font-size: 27px; line-height: 1.45; }
  .hero-card p { font-size: 22px; line-height: 1.3; }
  .home-hero { padding: 60px 0 80px; }

  .lede p, .privacy-row p, .keep-copy p { font-size: 18px; line-height: 32px; letter-spacing: .5px; padding-left: 0; padding-right: 0; }
  .lede p.spaced { padding-bottom: 40px; }
  .home-offer > .row:first-of-type { padding-top: 90px; }
  .home-offer h2, .privacy-row h2 { font-size: 30px; line-height: 1.4; }
  .home-offer .offer-text { font-size: 20px; line-height: 34px; }

  .band h2, .band p.band-text { font-size: 26px; line-height: 1.55; }
  .cta-lines p, .quote p { font-size: 26px; line-height: 1.55; }
  .quote .sig { font-size: 30px; }
  .intro .intro-h { font-size: min(var(--h-size, 36px), 28px); line-height: 1.5; }
  .intro p { font-size: min(var(--p-size, 20px), 18px); line-height: 1.75; }

  .call-side p { font-size: 32px; line-height: 1.6; }
  .banner-logo img { width: 300px; height: auto; }
  .about-copy .about-lead { font-size: 19px; line-height: 32px; padding-bottom: 30px; }
  .about-copy p, .faq-item p, .faq-item h2 { font-size: 17px; line-height: 30px; letter-spacing: .5px; }
  .offer-lines p { font-size: 30px; line-height: 1.5; }
  .faq-hero p { font-size: 28px; line-height: 1.5; padding-bottom: 0; }
  .faq-item { padding-bottom: 36px; }

  .help-hero .help-h { font-size: 36px; line-height: 1.5; }
  .help-hero p { font-size: 22px; line-height: 1.6; padding-bottom: 22px; }
  .steps-h { font-size: 32px; line-height: 1.4; }
  .step { grid-template-columns: 48px 96px 1fr; column-gap: 14px; }
  .step-num { font-size: 40px; line-height: 1.2; padding-top: 6px; }
  .step-title { font-size: 21px; line-height: 1.4; }
  .step li { font-size: 18px; line-height: 30px; }
  .help-cta p, .plain-lines p { font-size: 26px; line-height: 1.5; }

  .keep-hero p { font-size: 36px; line-height: 1.5; }
  .keep-hero .row { padding-top: 40px; padding-bottom: 30px; }
  .keep-copy h2 { font-size: 30px; line-height: 1.5; padding-bottom: 24px; }

  .reason p { font-size: 23px; line-height: 1.7; }
  .sit-grid-sec h2 { font-size: 28px; line-height: 1.5; }
  .sit-grid { grid-template-columns: 1fr; row-gap: 16px; }
  .sit-btn { min-height: 96px; font-size: 28px; line-height: 1.3; }
  .sit-btn--lead { min-height: 96px; }

  .why-card { padding: 16px 18px 22px; }
  .why-card h1 { font-size: 30px; line-height: 1.5; }
  .why-card .why-sub, .why-card .why-compare { font-size: 19px; line-height: 1.5; letter-spacing: 1.5px; }
  .why-card p, .why-body p { font-size: 16px; line-height: 26px; }
  .compare-wrap { padding: 12px; }
  .compare { font-size: 15px; }
  .why-body { padding: 18px 18px; }
  .why-body h2 { font-size: 24px; line-height: 1.5; }
  .why-body .why-big { font-size: 20px; line-height: 1.6; letter-spacing: 1px; }

  .credits-title { font-size: 42px; line-height: 1.5; padding-bottom: 10px; }
  .credits-grid { grid-template-columns: 1fr; row-gap: 36px; }
  .credit figcaption { padding-top: 10px; }

  .ft-links { grid-template-columns: 1fr 1fr; row-gap: 20px; }
  .ft-links .ft-col--legal { grid-column: 1 / -1; }
  .ft-bottom-inner { justify-content: center; text-align: center; }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after { transition: none !important; }
}

/* =========================================================
   ADDITIONAL PAGE PARTS
   ========================================================= */
.title-box--xl h1 { font-size: 83px; line-height: 141.1px; text-shadow: rgba(0,0,0,.4) 6.64px 6.64px 9.13px; }
.title-box--inherited { border-width: 10px; }
.title-box--inherited h1 { font-size: 65px; line-height: 110.5px; text-shadow: rgba(0,0,0,.4) 5.2px 5.2px 3.25px; }
.contact-sec .row:first-child { padding-bottom: 0; }
.contact-call{
  text-align: center; font-size: 22px; line-height: 1.6; font-weight: 700; color: var(--blue-deep); letter-spacing: .5px;
}
.qf--contact .qf-embed { padding: 11px 10px 10px; }
.mistakes { list-style: none; padding: 34px 0 0; text-align: center; }
.mistakes li{
  font-size: 27px; line-height: 23.8px; font-weight: 700; letter-spacing: 1px; color: #fff; padding-bottom: 20px;
  text-shadow: rgba(0,0,0,.4) 2.16px 2.16px 3.78px;
}
.sit-reasons { list-style: none; padding: 0; text-align: center; }
.sit-reasons li{
  font-size: 19px; line-height: 23.8px; font-weight: 700; letter-spacing: 1px; color: #000; padding-bottom: 18px;
  text-shadow: rgba(0,0,0,.4) 1.52px 1.52px 1.52px;
}
.why-body .why-h3{
  font-size: 32px; line-height: 48px; font-weight: 700; letter-spacing: 1px; color: var(--ink-2); padding: 10px 0 4px;
  text-shadow: rgba(0,0,0,.4) 2.56px 2.56px 2.56px;
}
.why-body .why-blue, .why-body .why-close{
  font-size: 32px; line-height: 48px; font-weight: 700; letter-spacing: 1px; color: #0E21F4; text-align: center;
  padding: 20px 0 10px; text-shadow: rgba(0,0,0,.4) 2.56px 2.56px 2.56px;
}
.why-body .why-close { color: var(--ink-2); padding-bottom: 30px; }

@media (max-width: 767px){
  .title-box--xl h1, .title-box--inherited h1 { font-size: 40px; line-height: 1.35; }
  .mistakes li { font-size: 19px; line-height: 1.5; padding-bottom: 12px; }
  .sit-reasons li { font-size: 17px; }
  .why-body .why-h3, .why-body .why-blue, .why-body .why-close { font-size: 22px; line-height: 1.5; }
  .contact-call { font-size: 19px; }
}

/* Spacing refinements */
.page-title--tight { padding: 4px 0 2px; }
.why-sec { padding-top: 6px; }
.why-sec > .row { width: min(69%, 994px); }
.reason-img { border: 5px solid #BDBDBD; border-radius: 10px; box-shadow: rgba(0,0,0,.35) 0 6px 12px 3px; }
.step ul { padding-left: 14px; }
@media (max-width: 980px){
  .why-sec > .row { width: var(--row); }
  .page-title--tight { padding: 30px 0 10px; }
}
.intro { margin-bottom: 30px; }
.mistakes { padding-top: 50px; }
.mistakes li { padding-bottom: 27px; }
.title-box--xl { padding-bottom: 37px; }
.sit-btn--lead { grid-column: 1 / -1; justify-self: center; width: calc((100% - 11%) / 3); }
@media (max-width: 767px){
  .intro { margin-bottom: 0; }
  .mistakes { padding-top: 20px; }
  .sit-btn--lead { width: 100%; }
}
@media (max-width: 980px) and (min-width: 768px){
  .sit-btn--lead { width: calc(50% - 12px); }
}
.hero-multiply::before { mix-blend-mode: multiply; }
.cta-lines--italic p { font-style: italic; font-size: 42px; line-height: 71.4px; }
.credits-grid { column-gap: 5.5%; row-gap: 40px; }
.credits-title { padding-bottom: 60px; }
@media (max-width: 767px){
  .cta-lines--italic p { font-size: 28px; line-height: 1.55; }
  .credits-title { padding-bottom: 10px; }
}
.hero-multiply::before { mix-blend-mode: multiply; }
.cta-lines--italic p { font-style: italic; font-size: 42px; line-height: 71.4px; }
.credits-grid { column-gap: 5.5%; row-gap: 40px; }
.credits-title { padding-bottom: 60px; }
@media (max-width: 767px){
  .cta-lines--italic p { font-size: 28px; line-height: 1.55; }
  .credits-title { padding-bottom: 10px; }
}

/* Narrow desktop (981-1199): scale header type so columns never collide or overflow */
.hdr-logo img { width: 100%; height: auto; }
@media (min-width: 981px) and (max-width: 1199px){
  .hdr-name { font-size: 18px; line-height: 20px; }
  .hdr-tagline { font-size: 21px; line-height: 22px; }
  .hdr-help { font-size: 23px; line-height: 40px; }
  .hdr-give { font-size: 22px; line-height: 26px; }
  .hdr-phone { font-size: 19px; line-height: 22px; margin-top: 30px; border-width: 4px; border-radius: 16px; }
  .nav-list > li { padding: 0 7px; }
  .nav-list a { font-size: 13px; }
  .nav-list > li.has-sub > a::after { right: 7px; }
}
@media (min-width: 981px){
  .nav-list > li:last-child > .sub { left: auto; right: 0; }
  .hdr-top { height: 354px; }
}
@media (max-width: 767px){
  .compare-wrap { overflow: visible; }
  .compare { min-width: 0; font-size: 15px; }
  .compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .compare, .compare tbody, .compare tr, .compare th, .compare td { display: block; width: 100%; }
  .compare tr { border: 3px solid #4E8A4E; border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
  .compare tbody th { background: #1B2F8A; color: #fff; border: 0; padding: 10px 12px; }
  .compare td { border: 0; border-top: 1px solid #C9DCC9; padding: 8px 12px; }
  .compare td::before { content: attr(data-label); display: block; font-weight: 700; font-size: 13px; color: #1B2F8A; }
}
@media (max-width: 767px){
  .title-box--xl { padding-bottom: 20px; }
}
@media (max-width: 980px) and (min-width: 768px){
  .reason-img { max-width: 520px; margin: 0 auto; width: 100%; }
  .reason p { max-width: 640px; margin: 0 auto; text-align: center; }
}
