:root{--navy:#101f35;--navy2:#172b47;--gold:#c9a96e;--ink:#1c2938;--muted:#667386;--paper:#f7f8fa;--line:#e8ebef}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);line-height:1.65}a{text-decoration:none}.topbar{background:#0b1728;color:#dce3ec;font-size:.86rem}.topbar a{color:#fff}.navbar{background:#fff;box-shadow:0 5px 24px #14243a0c}.navbar-brand{font-weight:800;letter-spacing:.08em;color:var(--navy)!important;font-size:.95rem}.brand-mark{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--navy);color:var(--gold);margin-right:9px}.nav-link{font-weight:600;color:#3c4858!important;font-size:.93rem}.btn-gold{background:var(--gold);border-color:var(--gold);color:#101f35;font-weight:800}.btn-gold:hover{background:#b99558;border-color:#b99558;color:#101f35}.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}.btn-navy:hover{background:#203958;color:#fff}.btn-outline-navy{border:1px solid #cbd3de;color:var(--navy);font-weight:700}.hero{position:relative;min-height:680px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(9,22,39,.92) 0%,rgba(9,22,39,.78) 44%,rgba(9,22,39,.14) 100%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2000&q=82') center/cover;color:#fff}.hero-content{padding:100px 0 125px}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.19em;color:var(--gold);font-weight:800}.hero h1{font-size:clamp(2.65rem,5.2vw,4.8rem);line-height:1.06;letter-spacing:-.045em;font-weight:750;max-width:730px}.hero p{color:#e0e6ed;max-width:570px;font-size:1.1rem}.hero-card{background:#fff;color:var(--ink);border-radius:18px;padding:25px;box-shadow:0 18px 60px #07142635}.hero-card h3{font-size:1.15rem;font-weight:800}.trust-strip{position:relative;margin-top:-42px;z-index:2}.trust-inner{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 12px 45px #14243a0c}.trust-item{padding:23px 18px;text-align:center}.trust-item strong{display:block;color:var(--navy);font-size:1.02rem}.trust-item span{font-size:.83rem;color:var(--muted)}.section{padding:94px 0}.section-soft{background:var(--paper)}.section-heading{max-width:700px;margin:0 auto 48px;text-align:center}.section-heading h2{font-weight:800;letter-spacing:-.035em;color:var(--navy);font-size:clamp(2rem,3.4vw,3rem);line-height:1.15}.section-heading p{color:var(--muted);font-size:1.04rem}.coverage-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;transition:.25s}.coverage-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #15263b12}.icon-box{width:52px;height:52px;display:grid;place-items:center;background:#f3eee4;color:#9c7944;border-radius:14px;font-size:1.35rem;margin-bottom:19px}.coverage-card h3{font-size:1.15rem;font-weight:800;color:var(--navy)}.coverage-card p{font-size:.93rem;color:var(--muted);margin:0}.plan-card{height:100%;border:1px solid var(--line);border-radius:18px;background:#fff;padding:32px;position:relative}.plan-card.featured{border:2px solid var(--gold);box-shadow:0 18px 45px #182a4012}.plan-label{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#9b7a47}.plan-card h3{font-size:1.55rem;color:var(--navy);font-weight:800}.plan-card ul{list-style:none;padding:0;margin:25px 0}.plan-card li{padding:8px 0;color:#536173;font-size:.93rem}.plan-card li:before{content:"✓";color:#9b7a47;font-weight:900;margin-right:10px}.plan-note{font-size:.82rem;color:#7b8795}.step-number{font-size:2.5rem;color:#d6c29f;font-weight:800;line-height:1}.photo-panel{min-height:480px;border-radius:20px;background:url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1200&q=80') center/cover}.feature-list{list-style:none;padding:0}.feature-list li{display:flex;gap:14px;margin:18px 0;color:#536173}.feature-list i{color:#a78550;font-style:normal;font-weight:900}.quote-band{background:linear-gradient(115deg,#101f35,#203a5b);color:#fff;border-radius:22px;padding:55px}.quote-band h2{font-weight:800;letter-spacing:-.03em}.quote-band p{color:#d6dfeb}.faq .accordion-item{border:0;border-bottom:1px solid var(--line);border-radius:0!important}.faq .accordion-button{font-weight:750;color:var(--navy);padding:22px 4px;box-shadow:none;background:#fff}.faq .accordion-body{color:var(--muted);padding:0 4px 22px}.contact-panel{background:var(--navy);color:#fff;border-radius:20px;padding:35px;height:100%}.contact-panel a{color:#fff}.form-control,.form-select{padding:13px 14px;border-color:#dce1e7;border-radius:9px}.form-control:focus,.form-select:focus{border-color:#b99a65;box-shadow:0 0 0 .2rem #c9a96e22}.form-label{font-size:.9rem;font-weight:700;color:#334155}.page-hero{padding:90px 0;background:linear-gradient(110deg,#101f35,#213a59);color:#fff}.page-hero h1{font-weight:800;font-size:clamp(2.4rem,4vw,3.7rem)}.legal-content{max-width:900px}.legal-content h2{font-size:1.35rem;font-weight:800;color:var(--navy);margin-top:35px}.legal-content p,.legal-content li{color:#596779}.footer{background:#0b1728;color:#b8c3d1;padding:65px 0 25px}.footer h5{color:#fff;font-size:1rem;font-weight:800}.footer a{color:#c5cfdb}.footer a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #ffffff20;margin-top:42px;padding-top:20px;font-size:.83rem}.floating-call{position:fixed;right:22px;bottom:22px;z-index:1000;box-shadow:0 8px 25px #07142645;border-radius:50px;padding:14px 20px}.small-muted{font-size:.82rem;color:#8390a0}.form-status{font-size:.9rem}.mobile-cta{display:none}
@media(max-width:767.98px){.hero{min-height:unset;background-position:62% center}.hero-content{padding:75px 0 95px}.hero h1{font-size:2.7rem}.trust-strip{margin-top:-30px}.trust-item{padding:15px 8px}.section{padding:70px 0}.quote-band{padding:32px 25px}.photo-panel{min-height:330px}.floating-call{display:none}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1001;padding:10px;background:#fff;box-shadow:0 -5px 20px #14243a18}.mobile-cta .btn{flex:1}.footer{padding-bottom:90px}}


/* Responsive refinements: tablet, mobile and small-screen layouts */
html { scroll-padding-top: 88px; }
img, svg, video { max-width: 100%; height: auto; }
.container { --bs-gutter-x: 1.5rem; }
.navbar { z-index: 1030; }
.navbar-toggler { border: 1px solid #d9dfe7; padding: .45rem .65rem; }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(201,169,110,.25); }
.navbar-collapse { transition: height .25s ease; }
.btn { white-space: normal; }
.hero { background-attachment: scroll; }
.trust-item { min-width: 0; }
.coverage-card, .plan-card { overflow-wrap: anywhere; }
.contact-panel, .quote-band { min-width: 0; }
.form-control, .form-select { width: 100%; min-height: 48px; }
textarea.form-control { min-height: 130px; }
.footer a, .nav-link { overflow-wrap: anywhere; }

@media (min-width: 768px) and (max-width: 1199.98px) {
  .topbar { font-size: .78rem; }
  .navbar-brand { font-size: .86rem; }
  .navbar .container { max-width: 100%; }
  .navbar-nav { gap: .15rem !important; }
  .nav-link { font-size: .86rem; padding-left: .55rem !important; padding-right: .55rem !important; }
  .navbar .btn-gold { padding: .55rem .9rem !important; }
  .hero { min-height: 570px; background-position: 58% center; }
  .hero-content { padding: 85px 0 110px; }
  .hero h1 { max-width: 650px; font-size: clamp(2.7rem, 5.4vw, 4rem); }
  .section { padding: 76px 0; }
  .coverage-card { padding: 24px; }
  .plan-card { padding: 26px 22px; }
  .quote-band { padding: 40px; }
  .photo-panel { min-height: 390px; }
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    background: #fff;
    padding: .65rem 0 1rem;
    border-top: 1px solid var(--line);
    margin-top: .65rem;
  }
  .navbar-nav { align-items: stretch !important; gap: .15rem !important; }
  .navbar-nav .nav-link { padding: .7rem .35rem; }
  .navbar-nav .nav-item:last-child { margin: .55rem 0 0 !important; }
  .navbar-nav .btn { display: block; width: 100%; text-align: center; padding: .8rem 1rem !important; }
  .hero { min-height: 550px; }
  .hero-content { max-width: 760px; }
  .section-heading { margin-bottom: 38px; }
  .plan-card { padding: 28px; }
  .contact-panel { padding: 28px; }
}

@media (max-width: 767.98px) {
  html { scroll-padding-top: 76px; }
  body { font-size: 15px; padding-bottom: 68px; }
  .container { --bs-gutter-x: 1.25rem; }
  .navbar { padding: .65rem 0; }
  .navbar-brand { font-size: .84rem; letter-spacing: .06em; }
  .brand-mark { width: 33px; height: 33px; margin-right: 8px; }
  .navbar-toggler { flex: 0 0 auto; }
  .hero {
    min-height: 0;
    background-image: linear-gradient(90deg,rgba(9,22,39,.92),rgba(9,22,39,.68)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=75');
    background-position: 58% center;
  }
  .hero-content { padding: 68px 0 78px; }
  .hero .eyebrow { font-size: .68rem; letter-spacing: .14em; }
  .hero h1 { font-size: clamp(2.25rem, 8vw, 3.2rem); line-height: 1.08; max-width: 620px; }
  .hero p { font-size: 1rem; line-height: 1.6; }
  .hero .btn { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; }
  .hero .d-flex { gap: .65rem !important; }
  .trust-strip { margin-top: -22px; }
  .trust-inner { border-radius: 12px; }
  .trust-item { padding: 13px 8px; }
  .trust-item strong { font-size: .88rem; line-height: 1.25; }
  .trust-item span { display: block; font-size: .74rem; line-height: 1.35; margin-top: 4px; }
  .section { padding: 58px 0; }
  .section-heading { margin-bottom: 30px; }
  .section-heading h2 { font-size: clamp(1.8rem, 7vw, 2.45rem); }
  .section-heading p { font-size: .96rem; }
  .coverage-card { padding: 23px; border-radius: 14px; }
  .coverage-card:hover { transform: none; }
  .plan-card { padding: 25px 22px; border-radius: 15px; }
  .plan-card.featured { transform: none; }
  .plan-card ul { margin: 18px 0 22px; }
  .plan-card .btn { min-height: 48px; display: flex; align-items: center; justify-content: center; }
  .photo-panel { min-height: 280px; border-radius: 15px; }
  .step-number { font-size: 2rem; flex: 0 0 48px; }
  .quote-band { padding: 30px 23px; border-radius: 16px; }
  .quote-band h2 { font-size: 1.75rem; }
  .faq .accordion-button { padding: 18px 2px; font-size: .98rem; }
  .page-hero { padding: 62px 0; }
  .page-hero h1 { font-size: clamp(2.1rem, 8vw, 3rem); }
  .legal-content h2 { font-size: 1.2rem; margin-top: 28px; }
  .contact-panel { padding: 25px 22px; border-radius: 16px; }
  .footer { padding: 48px 0 28px; }
  .footer-bottom { margin-top: 28px; }
  .floating-call { display: none !important; }
  .mobile-cta {
    display: flex !important;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 1040;
    gap: 9px;
    padding: 9px max(12px, env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));
    background: rgba(255,255,255,.97);
    border-top: 1px solid #e8ebef;
    box-shadow: 0 -6px 24px rgba(16,31,53,.10);
    backdrop-filter: blur(12px);
  }
  .mobile-cta .btn { flex: 1 1 0; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: .65rem .8rem; font-size: .92rem; }
  .mobile-cta .btn + .btn { margin-left: 0; }
  .footer { padding-bottom: 100px; }
}

@media (max-width: 575.98px) {
  .topbar { display: none !important; }
  .container { --bs-gutter-x: 1.1rem; }
  .hero-content { padding: 58px 0 70px; }
  .hero h1 { font-size: clamp(2.05rem, 9vw, 2.65rem); }
  .hero .btn-lg { font-size: .95rem; padding: .75rem 1rem !important; }
  .hero .small { font-size: .76rem; }
  .trust-item { padding: 12px 5px; }
  .trust-item strong { font-size: .81rem; }
  .trust-item span { font-size: .69rem; }
  .section { padding: 50px 0; }
  .section-heading h2 { font-size: 1.85rem; }
  .coverage-card { padding: 20px; }
  .icon-box { width: 46px; height: 46px; margin-bottom: 15px; }
  .plan-card { padding: 23px 19px; }
  .photo-panel { min-height: 235px; }
  .quote-band { padding: 26px 20px; }
  .contact-panel { padding: 23px 19px; }
  .form-control, .form-select { font-size: 16px; } /* Prevent iOS form zoom */
  .mobile-cta .btn { font-size: .86rem; padding-left: .5rem; padding-right: .5rem; }
}

@media (max-width: 360px) {
  .brand-mark { width: 29px; height: 29px; }
  .navbar-brand { font-size: .75rem; }
  .hero .d-flex { flex-direction: column; align-items: stretch; }
  .hero .d-flex .btn { width: 100%; }
  .trust-item strong { font-size: .75rem; }
  .mobile-cta { gap: 6px; padding-left: 8px; padding-right: 8px; }
  .mobile-cta .btn { font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}



/* Editorial visual direction: warmer materials, real-home photography and more breathing room */
:root {
  --navy: #17283a;
  --navy2: #263b50;
  --gold: #b99a69;
  --ink: #263342;
  --muted: #707b86;
  --paper: #f5f3ef;
  --line: #e7e2da;
}
body { font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; letter-spacing: .002em; }
h1, h2, .editorial-title { font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif; font-weight: 500 !important; letter-spacing: -.035em !important; }
.hero {
  min-height: 720px;
  background-image: linear-gradient(90deg,rgba(15,29,43,.88) 0%,rgba(15,29,43,.68) 46%,rgba(15,29,43,.08) 100%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=86');
}
.hero h1 { font-size: clamp(3rem,5.4vw,5.1rem); max-width: 760px; line-height: 1.02; }
.hero .eyebrow, .eyebrow { letter-spacing: .16em; }
.navbar { border-bottom: 1px solid rgba(23,40,58,.06); }
.navbar-brand { letter-spacing: .1em; }
.btn-gold { background: #c5a779; border-color: #c5a779; }
.btn-gold:hover { background: #ad8c5c; border-color: #ad8c5c; }
.section { padding: 104px 0; }
.section-soft { background: #f5f3ef; }
.section-heading h2 { font-size: clamp(2.35rem,3.8vw,3.35rem); }
.home-life-section { padding-top: 76px; padding-bottom: 100px; background: #fbfaf8; }
.editorial-title { color: var(--navy); font-size: clamp(2.45rem,4vw,3.8rem); line-height: 1.08; max-width: 700px; }
.life-gallery {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  grid-template-rows: 260px 220px;
  gap: 18px;
}
.life-photo { margin: 0; position: relative; overflow: hidden; border-radius: 4px; min-height: 0; background: #d8d4ce; }
.life-photo::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent,rgba(10,22,34,.66)); }
.life-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.life-photo:hover img { transform: scale(1.035); }
.life-photo-large { grid-row: 1 / 3; }
.life-photo-tall { grid-column: 2; }
.life-photo-wide { grid-column: 2; }
.life-photo figcaption { position: absolute; z-index: 1; left: 25px; bottom: 23px; color: #fff; display: flex; flex-direction: column; gap: 8px; }
.life-photo figcaption span { font-size: .66rem; letter-spacing: .17em; font-weight: 700; }
.life-photo figcaption strong { font-family: Georgia,serif; font-size: clamp(1.25rem,2vw,1.8rem); font-weight: 500; line-height: 1.12; }
.coverage-card { padding: 0 0 25px; overflow: hidden; border-radius: 4px; border-color: #e7e2da; box-shadow: 0 7px 25px rgba(23,40,58,.035); }
.coverage-card .coverage-photo { display: block; width: 100%; height: 185px; object-fit: cover; margin-bottom: 22px; }
.coverage-card .icon-box { margin-left: 24px; margin-bottom: 14px; width: 43px; height: 43px; border-radius: 50%; background: #f1ece3; }
.coverage-card h3, .coverage-card p { margin-left: 24px; margin-right: 24px; }
.coverage-card h3 { font-size: 1.2rem; }
.coverage-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(23,40,58,.09); }
.plan-card { border-radius: 5px; border-color: #e4ded4; box-shadow: 0 8px 28px rgba(23,40,58,.035); }
.plan-card.featured { border-width: 1px; box-shadow: 0 18px 45px rgba(23,40,58,.10); position: relative; }
.plan-card.featured::before { content: "A LITTLE MORE COVERAGE"; display: inline-block; background: #f1ece3; color: #856d49; padding: 6px 10px; font-size: .62rem; letter-spacing: .13em; font-weight: 800; margin-bottom: 13px; }
.photo-panel { min-height: 520px; border-radius: 4px; position: relative; overflow: hidden; }
.photo-panel::after { content: "A home is more than the things inside it."; position: absolute; left: 24px; bottom: 24px; max-width: 250px; color: #fff; font: 500 1.55rem/1.12 Georgia,serif; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.quote-band { border-radius: 4px; background: linear-gradient(125deg,#17283a,#30465b); }
.contact-hero-photo {
  height: 180px;
  max-width: 640px;
  border-radius: 4px;
  background: linear-gradient(90deg,rgba(23,40,58,.1),rgba(23,40,58,.02)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1300&q=80') center 54%/cover;
}
.contact-panel { border-radius: 4px; background: linear-gradient(145deg,#17283a,#30465b); }
.contact-panel::after { content: ""; display: block; height: 155px; margin: 28px -35px -35px; background: url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=900&q=75') center/cover; opacity: .88; }
.footer { background: #101d2b; }
.footer .brand-mark { border-radius: 3px; }
@media (max-width: 991.98px) {
  .hero { min-height: 600px; }
  .section { padding: 78px 0; }
  .life-gallery { grid-template-rows: 220px 185px; }
  .photo-panel { min-height: 390px; }
}
@media (max-width: 767.98px) {
  .hero { min-height: 0; }
  .hero h1 { font-size: clamp(2.55rem,9vw,3.6rem); }
  .section { padding: 62px 0; }
  .home-life-section { padding-top: 52px; padding-bottom: 65px; }
  .editorial-title { font-size: 2.55rem; }
  .life-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 270px 180px; gap: 10px; }
  .life-photo-large { grid-column: 1 / 3; grid-row: 1; }
  .life-photo-tall { grid-column: 1; grid-row: 2; }
  .life-photo-wide { grid-column: 2; grid-row: 2; }
  .life-photo figcaption { left: 13px; bottom: 13px; gap: 5px; }
  .life-photo figcaption span { font-size: .55rem; }
  .life-photo figcaption strong { font-size: 1.15rem; }
  .coverage-card .coverage-photo { height: 165px; }
  .photo-panel { min-height: 300px; }
  .contact-hero-photo { height: 135px; }
  .contact-panel::after { margin: 24px -22px -25px; height: 125px; }
}
@media (max-width: 400px) {
  .life-gallery { grid-template-rows: 230px 155px; }
  .life-photo figcaption strong { font-size: 1rem; }
}

.home-audience-section { background:#fbfaf8; }
.audience-card { height:100%; padding:28px; border:1px solid var(--line); background:#fff; border-radius:4px; }
.audience-card > span { display:inline-block; color:#a88b60; font-size:.7rem; letter-spacing:.16em; font-weight:800; margin-bottom:26px; }
.audience-card h3 { color:var(--navy); font:500 1.55rem/1.15 Georgia,serif; margin-bottom:12px; }
.audience-card p { color:var(--muted); font-size:.93rem; margin:0; }
@media(max-width:767.98px){ .audience-card{padding:22px;} .audience-card > span{margin-bottom:15px;} }


/* Premium Trust brand palette */
:root {
  --navy: #102B46;
  --navy2: #263746;
  --gold: #D5B77A;
  --ink: #263746;
  --muted: #5f6f7d;
  --paper: #F6F7F8;
  --line: #dfe6e9;
  --teal: #159B91;
  --aqua: #E9F3F2;
  --cloud: #F6F7F8;
}
body { color: var(--ink); background: #fff; }
.topbar { background: var(--navy); }
.navbar { background: #fff; border-bottom-color: rgba(16,43,70,.10); }
.navbar-brand { color: var(--navy) !important; gap: 10px; }
.brand-logo { display: block; width: 46px; height: 42px; object-fit: contain; flex: 0 0 auto; }
.nav-link { color: var(--navy) !important; }
.nav-link:hover, .nav-link:focus { color: var(--teal) !important; }
.eyebrow, .hero .eyebrow { color: var(--gold); }
.btn-gold, .btn-gold:focus { background: var(--teal); border-color: var(--teal); color: #fff; font-weight: 750; }
.btn-gold:hover { background: #107f78; border-color: #107f78; color: #fff; }
.btn-navy { background: var(--navy); border-color: var(--navy); color: #fff; }
.btn-navy:hover { background: #1b4263; border-color: #1b4263; color: #fff; }
.btn-outline-navy { color: var(--navy); border-color: rgba(16,43,70,.35); }
.btn-outline-navy:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
.hero { background-image: linear-gradient(90deg,rgba(16,43,70,.92) 0%,rgba(16,43,70,.76) 46%,rgba(16,43,70,.12) 100%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=86'); }
.trust-inner { border-color: var(--line); }
.trust-item strong, .section-heading h2, .editorial-title, .coverage-card h3, .plan-card h3, .faq .accordion-button, .legal-content h2 { color: var(--navy); }
.section-soft, .home-audience-section { background: var(--cloud); }
.home-life-section { background: var(--aqua); }
.coverage-card .icon-box { background: var(--aqua); color: var(--teal); }
.plan-card.featured { border-color: var(--teal); }
.plan-card.featured::before { background: var(--aqua); color: var(--navy); }
.plan-label, .audience-card > span { color: var(--teal); }
.plan-card li:before, .feature-list i { color: var(--teal); }
.quote-band { background: linear-gradient(125deg,var(--navy),#1c4963); }
.contact-panel { background: linear-gradient(145deg,var(--navy),#1c4963); }
.form-control:focus, .form-select:focus { border-color: var(--teal); box-shadow: 0 0 0 .2rem rgba(21,155,145,.16); }
.footer { background: var(--navy); color: #d2dce4; }
.footer a { color: #e4ecef; }
.footer a:hover { color: var(--gold); }
.footer-bottom { border-top-color: rgba(255,255,255,.18); }
.floating-call { background: var(--teal); border-color: var(--teal); color: #fff; }
.floating-call:hover { background: #107f78; color: #fff; }
.step-number { color: var(--gold); }
@media (max-width: 767.98px) { .brand-logo { width: 38px; height: 36px; } }


/* ==========================================================
   National Home Warranty — responsive refinement
   ========================================================== */
html { scroll-padding-top: 88px; }
body { overflow-x: clip; }
img, svg, video, iframe { max-width: 100%; }
.container { --bs-gutter-x: 1.5rem; }
.navbar { z-index: 1030; }
.navbar .container { min-height: 76px; }
.navbar-brand { min-width: 0; line-height: 1.12; font-size: .82rem; white-space: nowrap; }
.navbar-brand span { display: inline-block; }
.navbar-toggler { border: 1px solid rgba(16,43,70,.2); padding: .45rem .6rem; box-shadow: none !important; }
.navbar-toggler:focus-visible, a:focus-visible, button:focus-visible {
  outline: 3px solid rgba(21,155,145,.42); outline-offset: 3px;
}
.navbar-collapse { transition: height .25s ease; }
.hero { background-position: center; }
.hero-content { width: 100%; }
.hero h1 { text-wrap: balance; }
.hero p, .section-heading p { text-wrap: pretty; }
.coverage-card, .plan-card, .audience-card, .contact-panel { min-width: 0; }
.coverage-card, .plan-card { overflow-wrap: anywhere; }
.footer .row > * { min-width: 0; }
.footer a, .legal-content a { overflow-wrap: anywhere; }
.form-control, .form-select, textarea { width: 100%; min-width: 0; }
.mobile-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1025;
  display: none; gap: 10px; padding: 10px max(14px, env(safe-area-inset-right))
    calc(10px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  background: rgba(255,255,255,.96); border-top: 1px solid var(--line);
  box-shadow: 0 -8px 28px rgba(16,43,70,.10); backdrop-filter: blur(12px);
}
.mobile-cta .btn { flex: 1 1 50%; margin: 0 !important; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; }
@media (min-width: 768px) and (max-width: 1199.98px) {
  .navbar .container { max-width: 100%; padding-left: 22px; padding-right: 22px; }
  .navbar-brand { font-size: .76rem; gap: 7px; }
  .brand-logo { width: 39px; height: 38px; }
  .navbar-nav { gap: .15rem !important; }
  .nav-link { font-size: .84rem; padding-left: .45rem !important; padding-right: .45rem !important; }
  .navbar .btn-gold { padding: .55rem .85rem !important; font-size: .86rem; }
  .hero { min-height: 590px; }
  .hero-content { padding: 82px 0 105px; }
  .hero h1 { max-width: 620px; font-size: clamp(2.8rem, 5vw, 4rem); }
  .section { padding: 78px 0; }
  .coverage-card, .plan-card { padding: 24px; }
  .photo-panel { min-height: 390px; }
}
@media (max-width: 991.98px) {
  .navbar .container { min-height: 70px; }
  .navbar-collapse {
    position: absolute; top: 100%; left: 0; right: 0;
    padding: 10px 22px 20px; background: #fff;
    border-top: 1px solid var(--line); box-shadow: 0 18px 28px rgba(16,43,70,.12);
  }
  .navbar-nav { align-items: stretch !important; gap: 2px !important; }
  .navbar-nav .nav-link { padding: 11px 8px; }
  .navbar-nav .btn { display: block; text-align: center; margin: 8px 0 0 !important; }
}
@media (max-width: 767.98px) {
  html { scroll-padding-top: 74px; }
  body { padding-bottom: 76px; }
  .navbar .container { min-height: 66px; }
  .navbar-brand { font-size: .72rem; letter-spacing: .055em; }
  .brand-logo { width: 37px !important; height: 36px !important; }
  .navbar-collapse { padding-left: 18px; padding-right: 18px; }
  .hero { min-height: 0; background-position: 62% center; }
  .hero-content { padding: 64px 0 82px; }
  .hero h1 { font-size: clamp(2.25rem, 9vw, 3.1rem); line-height: 1.08; max-width: 100%; }
  .hero p { font-size: 1rem; }
  .hero-card { padding: 22px; border-radius: 15px; }
  .trust-strip { margin-top: -25px; }
  .trust-inner { overflow: hidden; }
  .trust-item { padding: 13px 7px; }
  .trust-item strong { font-size: .88rem; }
  .trust-item span { font-size: .73rem; line-height: 1.35; display: block; }
  .section { padding: 58px 0; }
  .section-heading { margin-bottom: 32px; }
  .section-heading h2 { font-size: clamp(1.8rem, 7vw, 2.35rem); }
  .coverage-card, .plan-card { padding: 22px; }
  .quote-band { padding: 28px 22px; border-radius: 16px; }
  .photo-panel { min-height: 270px; border-radius: 15px; }
  .page-hero { padding: 62px 0; }
  .page-hero h1 { font-size: clamp(2rem, 8vw, 2.8rem); }
  .legal-content h2 { font-size: 1.18rem; }
  .contact-panel { padding: 25px; }
  .footer { padding: 48px 0 22px; }
  .footer-bottom { margin-top: 28px; }
  .floating-call { display: none !important; }
  .mobile-cta { display: flex; }
  .mobile-cta .btn { font-size: .9rem; padding: .7rem .55rem; }
}
@media (max-width: 575.98px) {
  .container { --bs-gutter-x: 1.25rem; }
  .topbar { display: none !important; }
  .hero-content { padding-top: 55px; padding-bottom: 75px; }
  .hero h1 { font-size: clamp(2.1rem, 9.5vw, 2.7rem); }
  .trust-item strong { font-size: .8rem; }
  .trust-item span { font-size: .68rem; }
  .section { padding: 50px 0; }
  .section-heading h2 { font-size: 1.85rem; }
  .section-heading p { font-size: .95rem; }
  .row.g-4 { --bs-gutter-y: 1.1rem; }
  .quote-band h2 { font-size: 1.6rem; }
  .form-control, .form-select { font-size: 16px; } /* prevents iOS focus zoom */
  .footer .col-6 { width: 50%; }
  .footer .col-lg-5, .footer .col-lg-3 { width: 100%; }
}
@media (max-width: 380px) {
  .navbar-brand { font-size: .65rem; }
  .brand-logo { width: 32px !important; height: 32px !important; }
  .mobile-cta { padding-left: 10px; padding-right: 10px; }
  .mobile-cta .btn { font-size: .82rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
