:root{
  --blue:#287EB7;--navy:#052C74;--red:#A51010;--red-dark:#6F1413;
  --olive:#646B4B;--cream:#F0E5DD;--offblack:#1C1C1C;--grey:#F6F6F6;--white:#fff;
  --head:'Poppins',sans-serif;--body:'Varela',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--offblack);background:var(--white);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--head);line-height:1.14;letter-spacing:-0.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:880px;margin:0 auto;padding:0 24px}
section{padding:84px 0}
.center{text-align:center}
.eyebrow{font-family:var(--head);font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--red);display:inline-block}
.eyebrow.center{justify-content:center}
h2.big{font-size:2.5rem;font-weight:700;color:var(--navy);margin-bottom:18px}
.lead{font-size:1.12rem;color:#4b4b4b;max-width:680px}
.center .lead{margin-left:auto;margin-right:auto}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-weight:600;cursor:pointer;border:none;border-radius:48px;transition:.2s;text-align:center}
.btn-red{background:var(--red);color:#fff;padding:17px 34px;font-size:1.05rem;box-shadow:0 8px 24px rgba(165,16,16,.32)}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 12px 30px rgba(165,16,16,.4)}
.btn-red:disabled{opacity:.65;cursor:not-allowed;transform:none}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.55);padding:16px 30px;font-size:1rem;backdrop-filter:blur(4px)}
.btn-ghost:hover{background:rgba(255,255,255,.22)}
.topbar{background:var(--navy);color:#dbe6f3;font-size:.82rem;font-family:var(--head);font-weight:500}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:42px;flex-wrap:wrap;gap:6px}
.topbar .badges{display:flex;align-items:center;gap:16px;letter-spacing:.02em}
.topbar .badges span{display:flex;align-items:center;gap:7px}
.topbar .star{color:#F0E5DD}.topbar .dot{width:6px;height:6px;border-radius:50%;background:var(--olive)}
.topbar .phone{color:#fff;font-weight:700;font-size:.92rem}.topbar .phone:hover{color:#bcd6ec}
nav{background:#fff;border-bottom:1px solid #ececec;position:relative;z-index:10}
nav .wrap{display:flex;justify-content:space-between;align-items:center;height:80px}
.logo img{height:52px;width:auto}
.navlinks{display:flex;align-items:center;gap:30px;font-family:var(--head);font-weight:500;font-size:.92rem}
.navlinks a{color:#33373b;transition:.15s}.navlinks a:hover{color:var(--blue)}
.nav-cta{background:var(--red);color:#fff!important;padding:11px 22px;border-radius:44px;font-weight:600;box-shadow:0 5px 16px rgba(165,16,16,.26);transition:.18s}
.nav-cta:hover{background:var(--red-dark)}
.trust{display:flex;gap:14px;flex-wrap:wrap}
.trust .pill{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:10px 18px;border-radius:40px;font-family:var(--head);font-weight:600;font-size:.86rem;color:#fff}
.trust .pill svg{flex:none}
.breadcrumb{background:#fff;padding:16px 0 0;font-size:.82rem;color:#8a8a8a;font-family:var(--head)}
.breadcrumb a{color:var(--blue)}
.heroA{position:relative;color:#fff;overflow:hidden;padding:0}
.heroA .bg{position:absolute;inset:0;background:radial-gradient(120% 120% at 80% 8%,rgba(40,126,183,.32),transparent 55%),linear-gradient(180deg,rgba(5,44,116,.80),rgba(5,44,116,.88)),repeating-linear-gradient(46deg,#5f6b46 0 40px,#566040 40px 80px)}
.heroA .parcels{position:absolute;inset:0;opacity:.5;background:linear-gradient(transparent calc(33% - 1px),rgba(240,229,221,.9) 33%,transparent calc(33% + 1px)),linear-gradient(transparent calc(66% - 1px),rgba(240,229,221,.9) 66%,transparent calc(66% + 1px)),linear-gradient(90deg,transparent calc(25% - 1px),rgba(240,229,221,.9) 25%,transparent calc(25% + 1px)),linear-gradient(90deg,transparent calc(58% - 1px),rgba(240,229,221,.9) 58%,transparent calc(58% + 1px)),linear-gradient(90deg,transparent calc(80% - 1px),rgba(240,229,221,.9) 80%,transparent calc(80% + 1px))}
.heroA .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,44,116,.55),transparent 72%)}
.heroA .inner{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;min-height:580px;padding:66px 0}
.heroA.solo .inner{grid-template-columns:1fr;min-height:auto;padding:74px 0;max-width:780px}
.heroA .countytag{display:inline-flex;align-items:center;gap:9px;background:var(--red);padding:8px 16px;border-radius:40px;font-family:var(--head);font-weight:600;font-size:.8rem;letter-spacing:.05em;margin-bottom:22px}
.heroA h1{font-size:3.3rem;font-weight:800;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.heroA h1 .hl{color:#F0E5DD}
.heroA .sub{font-size:1.18rem;margin:22px 0 30px;max-width:560px;color:#e8eef6}
.heroA .ctas{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:30px}
.mapcard{position:relative;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:26px;backdrop-filter:blur(6px)}
.mapcard .label{font-family:var(--head);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#bcd6ec;margin-bottom:6px;text-align:center}
.mapcard .sub{font-size:.78rem;color:#9fb9cf;text-align:center;margin-bottom:14px;font-family:var(--body)}
.mapcard svg.outline{width:84%;max-height:200px;height:auto;display:block;margin:4px auto 2px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.32))}
.factrow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.factrow .f{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:11px 13px}
.factrow .f b{font-family:var(--head);font-weight:700;font-size:1.15rem;color:#fff;display:block;line-height:1.1}
.factrow .f span{font-size:.72rem;color:#bcd6ec;font-family:var(--head);font-weight:500}
.localintro{background:#fff}
.localintro .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}
.localintro h2{font-size:2.3rem;color:var(--navy);margin-bottom:20px}
.localintro p{margin-bottom:16px;color:#3f3f3f;font-size:1.04rem}
.localintro .photo{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 24px 50px rgba(5,44,116,.16);aspect-ratio:3/4;max-height:620px;margin:0 auto}
.localintro .photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.localintro .photo .cap{position:absolute;left:0;right:0;bottom:0;padding:20px;background:linear-gradient(transparent,rgba(5,44,116,.85));color:#fff;font-family:var(--head);font-weight:600;font-size:.92rem}
.localintro .photo .cap small{display:block;font-weight:400;font-size:.78rem;color:#cfdcec;font-family:var(--body)}
.townchips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.townchips span{background:var(--cream);color:var(--red-dark);font-family:var(--head);font-weight:600;font-size:.82rem;padding:7px 14px;border-radius:30px;border:1px solid #e6d7cd}
.buy{background:var(--cream)}
.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.lcard{background:#fff;border-radius:17px;padding:30px 26px;border:1px solid #ece0d7;transition:.2s}
.lcard:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(5,44,116,.12)}
.lcard .ico{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--blue),var(--navy));margin-bottom:18px}
.lcard:nth-child(2) .ico,.lcard:nth-child(5) .ico{background:linear-gradient(145deg,var(--olive),#4c5238)}
.lcard:nth-child(3) .ico,.lcard:nth-child(6) .ico{background:linear-gradient(145deg,var(--red),var(--red-dark))}
.lcard h3{font-size:1.16rem;color:var(--navy);margin-bottom:9px}.lcard p{font-size:.95rem;color:#555}
.compare{background:#fff}
.ctable{margin-top:46px;border-radius:18px;overflow:hidden;border:1px solid #e7e7e7;box-shadow:0 14px 40px rgba(5,44,116,.07)}
.ctable .row{display:grid;grid-template-columns:1.3fr 1fr 1fr}
.ctable .row>div{padding:20px 24px;display:flex;align-items:center;gap:11px;font-size:.97rem}
.ctable .head>div{font-family:var(--head);font-weight:700;font-size:1.02rem}
.ctable .row.head .c1{background:var(--navy);color:#fff}
.ctable .row.head .c2{background:var(--red);color:#fff;justify-content:center}
.ctable .row.head .c3{background:#eceae6;color:#6f6f6f;justify-content:center}
.ctable .row:not(.head):nth-child(even){background:var(--grey)}
.ctable .row .c1{font-family:var(--head);font-weight:600;color:var(--navy)}
.ctable .row .c2,.ctable .row .c3{font-size:.92rem}
.ctable .row .c2{color:#3f5135}.ctable .row .c3{color:#9a9a9a}
.ctable .row .c2 svg,.ctable .row .c3 svg{flex:none}
.how{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.how::before{content:"";position:absolute;top:-60px;right:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(40,126,183,.4),transparent 70%)}
.how .eyebrow{color:#7fb4dc}.how h2.big{color:#fff}.how .lead{color:#cdd9ea}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px;position:relative;z-index:2}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:34px 28px}
.step .num{font-family:var(--head);font-weight:800;font-size:1.7rem;color:#fff;line-height:1;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.step .num .badge{width:44px;height:44px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex:none}
.step h3{font-size:1.28rem;margin-bottom:11px}.step p{color:#cdd9ea;font-size:.98rem}
.reviews{background:var(--grey)}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:46px}
.review{background:#fff;border-radius:18px;padding:34px;border:1px solid #ededed;position:relative}
.review .stars{color:#A51010;font-size:1.05rem;letter-spacing:3px;margin-bottom:16px}
.review p{font-size:1rem;color:#3f3f3f;margin-bottom:20px}
.review .who{display:flex;align-items:center;gap:13px}
.review .av{width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,var(--olive),var(--navy));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:1.02rem;flex:none}
.review .who b{font-family:var(--head);font-weight:600;color:var(--navy);display:block;font-size:.96rem}
.review .who small{color:#8a8a8a;font-size:.82rem}
.faq{background:#fff}
.faqlist{margin-top:42px;max-width:860px;margin-left:auto;margin-right:auto}
.qa{border:1px solid #e7e7e7;border-radius:14px;margin-bottom:14px;overflow:hidden;transition:.2s}
.qa[open]{border-color:var(--blue);box-shadow:0 10px 28px rgba(40,126,183,.10)}
.qa summary{list-style:none;cursor:pointer;padding:22px 26px;font-family:var(--head);font-weight:600;font-size:1.04rem;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:16px}
.qa summary::-webkit-details-marker{display:none}
.qa summary .plus{flex:none;width:26px;height:26px;border-radius:50%;background:var(--cream);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:.25s;font-family:var(--head)}
.qa[open] summary .plus{transform:rotate(45deg);background:var(--red);color:#fff}
.qa .ans{padding:0 26px 24px;color:#4a4a4a;font-size:1rem}
.finalcta{background:linear-gradient(160deg,var(--navy),#03205a);color:#fff;position:relative;overflow:hidden}
.finalcta::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(46deg,rgba(255,255,255,.02) 0 30px,transparent 30px 60px)}
.finalcta .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;position:relative;z-index:2}
.finalcta h2{font-size:2.4rem;margin-bottom:18px}.finalcta h2 .hl{color:#F0E5DD}
.finalcta p{color:#cdd9ea;font-size:1.08rem;margin-bottom:24px}
.finalcta ul{list-style:none;display:grid;gap:12px}
.finalcta ul li{display:flex;align-items:center;gap:12px;font-family:var(--head);font-weight:500}
.finalcta ul li svg{flex:none}
.formcard{background:#fff;border-radius:22px;padding:34px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.formcard h3{color:var(--navy);font-size:1.4rem;margin-bottom:6px}
.formcard .fsub{color:#8a8a8a;font-size:.92rem;margin-bottom:22px;font-family:var(--body)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{margin-bottom:13px}
.field label{display:block;font-family:var(--head);font-weight:600;font-size:.8rem;color:var(--navy);margin-bottom:6px}
.field input,.field select{width:100%;padding:13px 15px;border:1.5px solid #dcdcdc;border-radius:11px;font-family:var(--body);font-size:.98rem;color:var(--offblack);transition:.15s;background:#fff}
.field input:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,126,183,.14)}
.field .locked{background:var(--grey);color:var(--olive);font-weight:600;font-family:var(--head)}
.formcard .btn-red{width:100%;justify-content:center;margin-top:8px}
.formcard .fineprint{text-align:center;font-size:.72rem;color:#9a9a9a;margin-top:14px;line-height:1.5}
.formcard .msg{font-size:.9rem;margin-top:10px;text-align:center}.formcard .msg.err{color:var(--red)}
.formcard .success{text-align:center;padding:16px 6px}
.formcard .success .check{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:#e9f5ee;color:#2f9e63;display:flex;align-items:center;justify-content:center;font-size:1.7rem}
.formcard .success h3{margin-bottom:8px}.formcard .success p{color:#5b6678;font-size:.96rem}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px;margin-top:42px}
.statecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:42px}
.statecard{background:#fff;border:1px solid #e6d7cd;border-radius:15px;padding:24px 26px;transition:.18s}
.statecard:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 16px 34px rgba(5,44,116,.10)}
.statecard .nm{font-family:var(--head);font-weight:700;font-size:1.22rem;color:var(--navy)}
.statecard .ct{color:#8a8a8a;font-size:.9rem;margin-top:4px;font-family:var(--head);font-weight:500}
.internal{background:var(--cream)}
.internal h2{font-size:1.9rem;color:var(--navy);margin-bottom:8px}.internal .lead{margin-bottom:34px}
.linkgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.clink{background:#fff;border:1px solid #e6d7cd;border-radius:13px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-family:var(--head);font-weight:600;color:var(--navy);transition:.18s}
.clink:hover{border-color:var(--blue);transform:translateX(3px);color:var(--blue)}
.clink span{font-size:.95rem}.clink small{color:#a99;font-weight:400;font-size:.78rem;font-family:var(--body)}
.hublink{margin-top:24px;display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-weight:600;color:var(--red);font-size:1.02rem}.hublink:hover{gap:14px}
footer.sf2{background:var(--offblack);color:#b4b4b4;padding:60px 0 30px;font-size:.92rem}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
footer.sf2 .flogo img{height:60px;width:auto;margin-bottom:4px}
footer.sf2 p{margin-top:8px;max-width:320px;color:#9a9a9a;font-size:.9rem}
footer.sf2 h5{font-family:var(--head);font-weight:600;color:#fff;font-size:.96rem;margin-bottom:16px}
footer.sf2 ul{list-style:none;display:grid;gap:10px}
footer.sf2 ul a{color:#b4b4b4;font-size:.9rem;transition:.15s}footer.sf2 ul a:hover{color:var(--blue)}
.fbadge{display:inline-flex;align-items:center;gap:8px;background:rgba(100,107,75,.22);border:1px solid rgba(100,107,75,.5);color:#c3cbab;padding:8px 14px;border-radius:30px;font-family:var(--head);font-weight:600;font-size:.78rem;margin-top:18px}
.fbottom{border-top:1px solid #2c2c2c;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;color:#7a7a7a}
@media(max-width:920px){
  .navlinks{display:none}
  .heroA .inner,.localintro .grid,.finalcta .grid,.rgrid{grid-template-columns:1fr;gap:34px}
  .heroA h1{font-size:2.4rem}
  .cardgrid,.steps{grid-template-columns:1fr}
  .linkgrid{grid-template-columns:1fr 1fr}
  .ctable .row{grid-template-columns:1.2fr .9fr .9fr}.ctable .row>div{padding:14px;font-size:.84rem}
  .fgrid{grid-template-columns:1fr 1fr}
  h2.big{font-size:1.9rem}section{padding:56px 0}.frow{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}