
:root{
  --navy:#082b4a;
  --navy-2:#0e3a5f;
  --green:#7fa94b;
  --green-2:#698f3c;
  --cream:#f6f7f2;
  --mist:#eef2f4;
  --ink:#152433;
  --muted:#61707d;
  --white:#ffffff;
  --line:#dbe1e4;
  --shadow:0 18px 48px rgba(8,43,74,.12);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;background:#fff}
h1,h2,h3,h4{font-family:Arial,Helvetica,sans-serif;color:var(--navy);line-height:1.12;margin:0 0 16px;font-weight:800}
h1{font-size:clamp(2.7rem,6vw,5rem);letter-spacing:-.045em}
h2{font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.035em}
h3{font-size:1.18rem}
p{margin:0 0 16px}
a{color:inherit}
img{max-width:100%}
.container{width:min(1180px,92%);margin:auto}
.topbar{background:var(--navy);color:#fff;font-size:.86rem}
.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:9px 0}
.topbar a{text-decoration:none}
.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #e6eaec;backdrop-filter:blur(10px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px}
.brand img{height:68px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.9rem}
.nav-links a{text-decoration:none}
.nav-links a:hover,.active-link{color:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;font-weight:800;text-decoration:none;border:1px solid transparent;transition:.18s ease;cursor:pointer}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-2);transform:translateY(-1px)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-2)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:#fff}
.btn-light{background:#fff;color:var(--navy)}
.mobile-cta{display:none}
.hero{background:linear-gradient(135deg,#fff 0%,#fff 52%,var(--cream) 100%);padding:72px 0 76px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center}
.eyebrow{color:var(--green-2);text-transform:uppercase;font-size:.77rem;font-weight:900;letter-spacing:.14em;margin-bottom:16px}
.eyebrow:before{content:"";display:inline-block;width:42px;height:2px;background:var(--green);margin-right:10px;vertical-align:middle}
.hero p{font-size:1.16rem;color:#4e5c68;max-width:690px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.trust-strip{display:flex;flex-wrap:wrap;gap:20px;color:#52616d;font-size:.9rem;font-weight:700}
.hero-visual{position:relative}
.hero-visual img{width:100%;display:block;border-radius:28px;box-shadow:var(--shadow)}
.hero-note{position:absolute;left:-22px;bottom:24px;background:var(--navy);color:#fff;padding:20px 22px;border-radius:15px;max-width:290px;box-shadow:var(--shadow)}
.hero-note strong{display:block;font-size:1.02rem;margin-bottom:4px}
.hero-note span{color:#dce7ee;font-size:.9rem}
.section{padding:84px 0}
.section-soft{background:var(--cream)}
.section-navy{background:var(--navy);color:#fff}
.section-navy h2,.section-navy h3{color:#fff}
.section-navy p,.section-navy li{color:#dbe5ec}
.section-head{max-width:790px;margin-bottom:38px}
.section-head p{color:var(--muted);font-size:1.04rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:0 6px 20px rgba(8,43,74,.045)}
.card p,.card li{color:var(--muted)}
.icon{width:50px;height:50px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green-2);font-weight:900;margin-bottom:17px;background:#fff}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.feature-panel{background:var(--navy);color:#fff;border-radius:28px;padding:42px;box-shadow:var(--shadow)}
.feature-panel h2,.feature-panel h3{color:#fff}
.feature-panel p{color:#dce6ec}
.checklist{list-style:none;padding:0;margin:20px 0}
.checklist li{position:relative;padding:8px 0 8px 30px}
.checklist li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.step{border-top:3px solid var(--green);padding:17px 10px 0}
.step .n{font-size:1.35rem;font-weight:900;color:var(--navy)}
.step p{font-size:.88rem;color:var(--muted)}
.package.featured{border:2px solid var(--green);transform:translateY(-7px)}
.tag{display:inline-block;background:var(--green);color:#fff;border-radius:999px;padding:5px 10px;font-size:.69rem;font-weight:900;text-transform:uppercase;margin-bottom:14px}
.prof-card{min-height:250px;display:flex;flex-direction:column}
.prof-card .btn{margin-top:auto;align-self:flex-start}
.referral-box{background:linear-gradient(145deg,#f6f8ef,#fff);border:1px solid #dfe8d2;border-radius:18px;padding:28px}
.referral-box h3{color:var(--green-2)}
.quote{background:#fff;border-left:5px solid var(--green);padding:25px 28px;border-radius:0 16px 16px 0;box-shadow:0 10px 26px rgba(8,43,74,.06)}
.form-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}
label{display:block;font-size:.88rem;font-weight:800;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;padding:12px 13px;border:1px solid #cfd7dc;border-radius:10px;background:#fff;margin-bottom:16px}
textarea{min-height:130px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-message{display:none;margin-top:14px;padding:12px;border-radius:10px;background:#edf5e4;color:#31541f;font-weight:700}
.fine{font-size:.8rem;color:var(--muted)}
.badge-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.badge{border:1px solid #dce4e8;border-radius:999px;padding:8px 12px;font-size:.82rem;color:#53616c;background:#fff}
.faq{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:19px 0}
summary{font-weight:800;color:var(--navy);cursor:pointer}
details p{padding-top:12px;color:var(--muted)}
.cta{background:var(--navy);color:#fff;padding:72px 0}
.cta h2{color:#fff}
.cta p{color:#dce6ec;max-width:760px}
.cta-grid{display:flex;justify-content:space-between;align-items:center;gap:32px}
footer{background:#061d33;color:#dbe5ec;padding:44px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.footer-grid h3{color:#fff}
.footer-logo{width:190px;background:#fff;border-radius:10px;padding:6px;margin-bottom:10px}
footer a{text-decoration:none}
.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:18px;color:#aebbc4;font-size:.8rem}
.subhero{padding:62px 0;background:linear-gradient(135deg,#fff,var(--cream))}
.subhero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.subhero h1{font-size:clamp(2.4rem,5vw,4.3rem)}
.callout{background:var(--navy);color:#fff;border-radius:20px;padding:30px}
.callout h3{color:#fff}
.callout p{color:#dce6ec}
@media(max-width:940px){
  .nav-links{display:none}.mobile-cta{display:inline-flex}
  .hero-grid,.feature,.form-layout,.subhero-grid{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(3,1fr)}
  .hero-note{position:relative;left:auto;bottom:auto;margin-top:14px;max-width:none}
  .cta-grid{display:block}.cta-grid .btn{margin-top:10px}
  .package.featured{transform:none}
}
@media(max-width:580px){
  .topbar .container{justify-content:center;text-align:center}.topbar .container span:last-child{display:none}
  .nav-inner{min-height:72px}.brand img{height:57px}
  .hero{padding:50px 0}.section{padding:62px 0}
  .grid-4,.grid-2{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}


/* Attached-asset refinement */
.hero-visual img,
.hero-img{
  width:100%;
  display:block;
  border-radius:28px;
  box-shadow:var(--shadow);
  aspect-ratio:1.12 / 1;
  object-fit:cover;
  object-position:center;
}
.brand img{height:72px;max-width:330px;object-fit:contain}
.footer-logo{width:230px}
.realtor-sheet-section{background:#fff}
.realtor-sheet-frame{
  width:min(980px,100%);
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
  max-height:980px;
  background:#fff;
}
.realtor-sheet-frame img{
  width:100%;
  display:block;
  transform:translateY(0);
}
@media(max-width:580px){
  .topbar .container{justify-content:center;text-align:center;flex-wrap:wrap;gap:5px 12px}
  .topbar .container span:last-child{display:inline}
  .brand img{height:58px;max-width:270px}
  .realtor-sheet-frame{max-height:720px}
}


/* v5 — page-specific hero photography */
.page-hero-visual{
  position:relative;
  min-width:0;
}
.page-hero-visual img{
  width:100%;
  display:block;
  aspect-ratio:1.18 / 1;
  object-fit:cover;
  object-position:center;
  border-radius:26px;
  box-shadow:var(--shadow);
}
.page-hero-note{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  background:rgba(8,43,74,.94);
  color:#fff;
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 12px 30px rgba(8,43,74,.18);
}
.page-hero-note strong{display:block;color:#fff;margin-bottom:3px}
.page-hero-note span{display:block;color:#dce7ee;font-size:.88rem;line-height:1.45}
.hero-visual img{
  aspect-ratio:1.14 / 1;
  object-fit:cover;
  object-position:center;
}
@media(max-width:940px){
  .page-hero-visual{margin-top:8px}
  .page-hero-note{position:relative;left:auto;right:auto;bottom:auto;margin-top:-48px;margin-left:16px;margin-right:16px}
}
@media(max-width:580px){
  .page-hero-visual img,.hero-visual img{aspect-ratio:1.05 / 1}
  .page-hero-note{margin-top:10px;margin-left:0;margin-right:0}
}


/* v5.3 — stronger benefit-card icon scale */
.grid-4 .card .icon{
  width:66px;
  height:66px;
  font-size:1.55rem;
  line-height:1;
  border-width:2px;
  margin-bottom:20px;
}
@media(max-width:580px){
  .grid-4 .card .icon{
    width:60px;
    height:60px;
    font-size:1.38rem;
    margin-bottom:17px;
  }
}


/* v5.4 — homepage hero + How It Works refinement */
.hero{
  padding:58px 0 64px;
}
.how-section{
  padding-top:68px;
  padding-bottom:68px;
}
.how-section .section-head{
  margin-bottom:30px;
}
.steps{
  gap:14px;
}
.step{
  padding:18px 12px 0;
  min-width:0;
}
.step-icon{
  width:62px;
  height:62px;
  border:2px solid var(--green);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--green-2);
  background:#fff;
  margin-bottom:14px;
}
.step-icon svg{
  width:31px;
  height:31px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.step .n{
  margin-bottom:2px;
}
.step h3{
  margin-bottom:9px;
}
@media(max-width:940px){
  .how-section{
    padding-top:60px;
    padding-bottom:60px;
  }
  .step-icon{
    width:58px;
    height:58px;
  }
  .step-icon svg{
    width:29px;
    height:29px;
  }
}
@media(max-width:580px){
  .hero{
    padding:46px 0 52px;
  }
  .how-section{
    padding-top:52px;
    padding-bottom:52px;
  }
  .steps{
    gap:22px 14px;
  }
  .step-icon{
    width:54px;
    height:54px;
    margin-bottom:11px;
  }
  .step-icon svg{
    width:27px;
    height:27px;
  }
}

/* v6.0 — final production visual system
   Consolidated from the approved v5.9 live design. */

/* HHS circular line icons */
.icon{
  width:64px;
  height:64px;
  border:2px solid var(--green);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--green-2);
  background:#fff;
  margin-bottom:18px;
}
.icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.grid-4 .card .icon{width:66px;height:66px;font-size:inherit}
.grid-3 .card .icon{width:62px;height:62px}
.grid-3 .card .icon svg{width:33px;height:33px}

/* Header logo sizing */
.brand{display:flex;align-items:center;overflow:visible;padding:3px 0}
.brand img{height:72px;width:auto;max-width:330px;object-fit:contain;overflow:visible}
.footer-logo{width:230px}

/* Approved page-specific photography */
.hero-visual,
.page-hero-visual{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.hero-visual img,
.page-hero-visual img,
.hero-img{
  width:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border:0;
  border-radius:24px;
  box-shadow:0 22px 58px rgba(8,43,74,.08);
  filter:saturate(.985) contrast(.985) brightness(1.01);
  -webkit-mask-image:radial-gradient(ellipse 96% 94% at 50% 50%,
    #000 0%,
    #000 67%,
    rgba(0,0,0,.96) 75%,
    rgba(0,0,0,.78) 84%,
    rgba(0,0,0,.36) 93%,
    transparent 100%);
  mask-image:radial-gradient(ellipse 96% 94% at 50% 50%,
    #000 0%,
    #000 67%,
    rgba(0,0,0,.96) 75%,
    rgba(0,0,0,.78) 84%,
    rgba(0,0,0,.36) 93%,
    transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
.page-hero-visual img{aspect-ratio:1.18 / 1}
.hero-visual img{
  aspect-ratio:1.40 / 1;
  object-position:center center;
  -webkit-mask-image:radial-gradient(ellipse 105% 96% at 61% 50%,
    #000 0%,
    #000 67%,
    rgba(0,0,0,.92) 76%,
    rgba(0,0,0,.70) 85%,
    rgba(0,0,0,.30) 94%,
    transparent 100%);
  mask-image:radial-gradient(ellipse 105% 96% at 61% 50%,
    #000 0%,
    #000 67%,
    rgba(0,0,0,.92) 76%,
    rgba(0,0,0,.70) 85%,
    rgba(0,0,0,.30) 94%,
    transparent 100%);
}
.hero-visual::before,
.hero-visual::after,
.page-hero-visual::before,
.page-hero-visual::after{content:none}
.hero-visual{filter:drop-shadow(0 20px 38px rgba(8,43,74,.055))}
.page-hero-visual{filter:drop-shadow(0 18px 34px rgba(8,43,74,.05))}
.hero-note,
.page-hero-note{
  z-index:3;
  backdrop-filter:blur(5px);
}

/* Realtor one-sheet: readable, but without a hard frame */
.realtor-sheet-frame{
  width:min(980px,100%);
  margin:0 auto;
  max-height:980px;
  position:relative;
  padding:0;
  background:transparent;
  border:0;
  border-radius:22px;
  box-shadow:none;
  overflow:visible;
}
.realtor-sheet-frame img{
  width:100%;
  display:block;
  transform:translateY(0);
  border:0;
  border-radius:22px;
  box-shadow:0 16px 42px rgba(8,43,74,.07);
  -webkit-mask-image:radial-gradient(ellipse 98% 97% at center, #000 0%, #000 83%, rgba(0,0,0,.7) 93%, transparent 100%);
  mask-image:radial-gradient(ellipse 98% 97% at center, #000 0%, #000 83%, rgba(0,0,0,.7) 93%, transparent 100%);
}
.realtor-sheet-frame::before,
.realtor-sheet-frame::after{content:none}

@media(max-width:940px){
  .page-hero-visual{margin-top:8px}
  .page-hero-note{position:relative;left:auto;right:auto;bottom:auto;margin-top:-48px;margin-left:16px;margin-right:16px}
  .hero-visual img,
  .page-hero-visual img,
  .hero-img{border-radius:22px}
}

@media(max-width:580px){
  .icon,.grid-4 .card .icon,.grid-3 .card .icon{width:58px;height:58px}
  .icon svg,.grid-3 .card .icon svg{width:31px;height:31px}
  .brand img{height:58px;max-width:270px}
  .page-hero-visual img{aspect-ratio:1.05 / 1}
  .hero-visual img{
    aspect-ratio:1.16 / 1;
    object-position:55% center;
    border-radius:18px;
    -webkit-mask-image:radial-gradient(ellipse 98% 96% at center, #000 0%, #000 72%, rgba(0,0,0,.82) 87%, rgba(0,0,0,.35) 95%, transparent 100%);
    mask-image:radial-gradient(ellipse 98% 96% at center, #000 0%, #000 72%, rgba(0,0,0,.82) 87%, rgba(0,0,0,.35) 95%, transparent 100%);
  }
  .page-hero-visual img,
  .hero-img{border-radius:18px}
  .page-hero-note{margin-top:10px;margin-left:0;margin-right:0}
  .realtor-sheet-frame{max-height:720px}
}
