/* Home Insurance Assist — site styles */
:root{
  --navy:#0e1f33; --navy-2:#1c3350; --navy-deep:#0a1726;
  --gold:#e0a73e; --gold-hover:#d49a30; --gold-light:#e9b654; --gold-text:#8a6418; --gold-soft:#f6edda;
  --bg:#fbfaf7; --white:#fff; --tint:#f4f1ea; --line:#ece8df; --line-2:#d9d4c9;
  --text:#0e1f33; --text-2:#39434f; --muted:#55606e; --error:#b3261e;
  --serif:'Source Serif 4',Georgia,serif; --sans:'Public Sans',system-ui,-apple-system,sans-serif;
  --shadow:0 1px 2px rgba(14,31,51,.06),0 8px 24px rgba(14,31,51,.06);
  --shadow-hover:0 2px 4px rgba(14,31,51,.06),0 18px 40px rgba(14,31,51,.12);
  --edge:clamp(20px,5vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;text-wrap:pretty;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:#1c4f8a}
a:hover{color:var(--navy)}
h1,h2,h3,p{margin:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
[id]{scroll-margin-top:88px}
.container{max-width:1200px;margin:0 auto;padding:0 var(--edge)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:10px;border:0;font:inherit;font-weight:700;font-size:15.5px;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s}
.btn-lg{height:56px;padding:0 28px;font-size:17px}
.btn-sm{height:40px;padding:0 18px;font-size:14px;font-weight:600}
.btn-block{width:100%}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-hover);color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2);color:#fff}
.btn-outline{background:#fff;color:var(--navy);border:1px solid var(--line-2);font-weight:600}
.btn-outline:hover{background:var(--bg);color:var(--navy)}
.btn-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);font-weight:600}
.btn-outline-light:hover{background:rgba(255,255,255,.08);color:#fff}
.btn:disabled{opacity:.6;cursor:wait}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-row.center{justify-content:center}
.gold-ic{display:flex;color:var(--gold-light)}

/* Header */
.site-header{position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 var(--edge);height:72px;display:flex;align-items:center;gap:clamp(16px,2.5vw,36px)}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none;color:var(--navy)}
.brand-mark{display:flex;width:40px;height:40px;border-radius:10px;align-items:center;justify-content:center;background:var(--navy);color:var(--gold-light);flex-shrink:0}
.brand-mark.gold{background:var(--gold);color:var(--navy);width:38px;height:38px}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:var(--serif);font-weight:700;font-size:20px;white-space:nowrap}
.brand-name.light{color:#fff}
.brand-sub{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);margin-top:3px}
.main-nav{display:flex;gap:28px}
.main-nav a{font-size:15px;font-weight:500;color:var(--navy);text-decoration:none;white-space:nowrap}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--gold-text)}
.header-call{height:46px;padding:0 20px;font-size:15px}
.menu-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;border-radius:10px;border:1px solid #e2ddd2;background:#fff;color:var(--navy);cursor:pointer}
.menu-toggle .i-close{display:none}
.menu-open .menu-toggle .i-open{display:none}
.menu-open .menu-toggle .i-close{display:flex}
.i-open,.i-close{display:flex}
.mobile-menu{display:none;flex-direction:column;padding:8px var(--edge) 24px;background:#fff;border-top:1px solid var(--line);box-shadow:0 20px 40px rgba(14,31,51,.12)}
.mobile-menu a:not(.btn){padding:15px 0;border-bottom:1px solid #f0ece4;font-size:17px;font-weight:600;color:var(--navy);text-decoration:none}
.mobile-menu .btn{margin-top:20px}
.fab-call{display:none;position:fixed;right:18px;bottom:18px;z-index:950;align-items:center;gap:10px;height:54px;padding:0 22px;border-radius:999px;background:var(--navy);color:#fff;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 12px 30px rgba(14,31,51,.35)}
.fab-call svg{color:var(--gold-light)}
.fab-call:hover{color:#fff}
@media (max-width:1040px){
  .main-nav,.header-call{display:none}
  .menu-toggle{display:flex}
  .menu-open .mobile-menu{display:flex}
  .fab-call{display:flex}
}
@media (max-width:420px){.brand-name{font-size:17px}.brand-sub{display:none}}

/* Hero */
.hero{background:var(--navy);color:#fff;padding:clamp(48px,7vw,96px) 0}
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(40px,6vw,80px);align-items:center}
.hero-grid.top{align-items:start}
.hero-copy{display:flex;flex-direction:column;gap:26px}
.pill{align-self:flex-start;display:flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);font-size:13px;font-weight:600;letter-spacing:.04em;color:#f0dcb4}
.dot{width:8px;height:8px;border-radius:50%;background:#4cc38a}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(40px,5.6vw,68px);line-height:1.06;letter-spacing:-.015em}
.gold{color:var(--gold-light)}
.lead{font-size:clamp(16px,1.5vw,19px);line-height:1.65;max-width:50ch;color:rgba(255,255,255,.8)}
.hero-phone,.contact-item{display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff}
.hero-phone:hover,.contact-item:hover{color:#fff}
.hero-phone > span:last-child,.contact-item > span:last-child{display:flex;flex-direction:column;gap:2px}
.circle-ic{display:flex;width:56px;height:56px;flex-shrink:0;border-radius:50%;align-items:center;justify-content:center;background:rgba(233,182,84,.14);color:var(--gold-light)}
.kicker{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.big-num{font-family:var(--serif);font-weight:700;font-size:clamp(30px,3.4vw,40px);line-height:1.1}
.mid-num{font-family:var(--serif);font-weight:700;font-size:28px}
.val{font-size:17px}
.muted-light{font-size:13.5px;color:rgba(255,255,255,.65)}
.hero-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.trust{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:rgba(255,255,255,.82)}
.trust li{display:flex;align-items:center;gap:7px}
.trust svg{color:var(--gold-light)}
.contact-list{display:flex;flex-direction:column;gap:20px;margin-top:8px}

/* Agree checkbox */
.agree-wrap{display:flex;flex-direction:column;gap:6px}
.agree{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.5;color:var(--text-2);max-width:56ch}
.agree input{flex-shrink:0;width:19px;height:19px;margin:1px 0 0;accent-color:var(--navy);cursor:pointer}
.agree a{color:var(--navy);font-weight:600}
.agree.on-dark{color:rgba(255,255,255,.85)}
.agree.on-dark input{accent-color:var(--gold)}
.agree.on-dark a{color:#f0c878}
.agree-wrap .field-error{padding-left:29px}
.call-agree.has-error .field-error{display:block;color:#ffb4a8;font-weight:600}

/* Form */
.form-card{background:#fff;border-radius:18px;box-shadow:0 30px 70px rgba(6,15,28,.28);overflow:hidden;color:var(--text)}
.form-card-bar{height:5px;background:var(--gold)}
.lead-form{padding:clamp(24px,3.4vw,36px);display:flex;flex-direction:column;gap:18px}
.form-head{display:flex;flex-direction:column;gap:6px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text)}
.eyebrow.gold{color:var(--gold-light)}
.form-head h2{font-family:var(--serif);font-weight:700;font-size:clamp(26px,2.6vw,30px);line-height:1.15}
.form-head p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.form-alert{padding:12px 14px;border-radius:9px;background:#fdecea;color:#8c1d18;font-size:14px;font-weight:600}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field > span:first-child{font-size:13px;font-weight:600}
.field em{font-style:normal;font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;height:48px;padding:0 14px;border:1px solid var(--line-2);border-radius:9px;background:var(--bg);font:inherit;font-size:16px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.field textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(224,167,62,.3)}
.field input::placeholder,.field textarea::placeholder{color:#9aa3ae}
.select-wrap{position:relative;display:block}
.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer}
.select-wrap svg{position:absolute;right:14px;top:16px;pointer-events:none;color:var(--muted)}
.field-error{display:none;font-size:12.5px;color:var(--error)}
.has-error > .field-error,.has-error .field-error{display:block}
.field.has-error input,.field.has-error select{border-color:var(--error)}
.form-note{display:flex;gap:8px;align-items:center;justify-content:center;font-size:12.5px;color:var(--muted)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Stats */
.stats{background:#fff;border-bottom:1px solid var(--line);padding:clamp(28px,4vw,40px) 0}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:24px}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.stat-num{font-family:var(--serif);font-weight:700;font-size:clamp(30px,3.2vw,40px);line-height:1}
.stat-label{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* Sections */
.section{padding:clamp(64px,8vw,104px) 0}
.bg-white{background:#fff}
.bg-tint{background:var(--tint)}
.section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:56px}
.section-head.center{align-items:center;text-align:center;max-width:680px;margin-left:auto;margin-right:auto}
.section h2,.cta-box h2{font-family:var(--serif);font-weight:700;font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.01em}
.section-head p,.why-intro > p{font-size:17px;line-height:1.65;color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
.card{display:flex;flex-direction:column;gap:14px;padding:30px;border-radius:16px;background:#fff;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.card:not(.review):hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.card-ic{display:flex;width:52px;height:52px;border-radius:12px;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-text)}
.card h3{margin-top:6px;font-family:var(--serif);font-weight:700;font-size:22px;line-height:1.2}
.card p{font-size:15.5px;line-height:1.65;color:var(--muted)}

.why-wrap{display:flex;flex-wrap:wrap;gap:48px clamp(40px,6vw,80px);align-items:flex-start}
.why-intro{flex:1 1 320px;display:flex;flex-direction:column;gap:16px}
.call-panel{margin-top:16px;padding:26px;border-radius:16px;background:var(--navy);color:#fff;display:flex;flex-direction:column;gap:10px}
.call-panel span{font-size:14px;color:rgba(255,255,255,.75)}
.call-panel .small{font-size:13.5px;color:rgba(255,255,255,.65)}
.call-panel a{font-family:var(--serif);font-weight:700;font-size:32px;color:var(--gold-light);text-decoration:none}
.why-grid{flex:2 1 520px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:36px 40px}
.why-item{display:flex;gap:16px}
.why-ic{flex-shrink:0;display:flex;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;background:var(--navy);color:var(--gold-light)}
.why-item h3{font-size:17px;font-weight:700;line-height:1.3;margin-bottom:6px}
.why-item p{font-size:15px;line-height:1.65;color:var(--muted)}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:40px}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.step-num{display:flex;width:68px;height:68px;border-radius:50%;align-items:center;justify-content:center;background:var(--navy);color:var(--gold-light);font-family:var(--serif);font-weight:700;font-size:26px;box-shadow:0 0 0 8px rgba(14,31,51,.07)}
.step h3{margin-top:10px;font-family:var(--serif);font-weight:700;font-size:23px}
.step p{font-size:15.5px;line-height:1.65;color:var(--muted);max-width:34ch}

.review{gap:18px;margin:0}
.stars{color:var(--gold);letter-spacing:3px;font-size:17px}
.review blockquote{margin:0;flex:1;font-family:var(--serif);font-size:18.5px;line-height:1.55;color:#1c2a3c}
.review figcaption{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #f0ece4}
.review figcaption > span:last-child{display:flex;flex-direction:column;font-size:15px}
.review small{font-size:13.5px;color:var(--muted)}
.avatar{display:flex;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;background:var(--navy);color:var(--gold-light);font-weight:700;font-size:14px;flex-shrink:0}

.section-cta{padding:0 0 clamp(64px,8vw,104px)}
.cta-box{border-radius:24px;background:var(--navy);color:#fff;padding:clamp(36px,6vw,72px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:32px 56px;align-items:center}
.cta-box p{margin-top:14px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.8)}
.cta-actions{display:flex;flex-direction:column;gap:14px}
.cta-actions .btn{flex:1 1 200px}

/* Thank you */
.thanks-page{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:clamp(48px,8vw,96px) var(--edge);background:var(--tint)}
.thanks-card{width:100%;max-width:540px;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 30px 70px rgba(14,31,51,.14)}
.thanks-body{padding:clamp(36px,6vw,56px) clamp(24px,5vw,48px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.thanks-ic{display:flex;width:80px;height:80px;border-radius:50%;align-items:center;justify-content:center;background:var(--navy);color:var(--gold-light);box-shadow:0 0 0 10px rgba(14,31,51,.07)}
.thanks-body h1{margin-top:12px;font-family:var(--serif);font-weight:700;font-size:clamp(36px,5vw,46px);line-height:1.1}
.thanks-body p{font-size:17px;line-height:1.65;max-width:38ch;color:var(--muted)}
.redirect-note{font-size:14px;color:var(--muted)}
.redirect-note strong{color:var(--navy)}
.progress{width:100%;height:6px;border-radius:6px;background:#f0ece4;overflow:hidden}
.progress-bar{height:100%;width:0;background:var(--gold);border-radius:6px;transition:width 1s linear}

/* Legal */
.legal-hero{background:var(--navy);color:#fff;padding:clamp(48px,7vw,88px) 0 clamp(40px,5vw,64px)}
.legal-hero .container{display:flex;flex-direction:column;gap:18px}
.legal-hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(40px,5.6vw,64px);line-height:1.08;letter-spacing:-.015em}
.legal-hero p{font-size:18px;line-height:1.65;max-width:60ch;color:rgba(255,255,255,.8)}
.legal-meta{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:14px;color:rgba(255,255,255,.7)}
.legal-wrap{display:flex;flex-wrap:wrap;gap:48px clamp(40px,6vw,80px);align-items:flex-start;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(64px,9vw,104px)}
.toc{flex:1 1 240px;position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;padding:20px;border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.toc-title{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);padding:0 10px 10px}
.toc a{display:flex;gap:10px;padding:8px 10px;border-radius:8px;font-size:14.5px;color:var(--navy);text-decoration:none}
.toc a:hover{background:var(--tint)}
.toc a span{color:var(--gold-text);font-weight:700;min-width:20px}
.legal-body{flex:999 1 520px;min-width:0;max-width:760px;display:flex;flex-direction:column;gap:44px}
.legal-body section{display:flex;flex-direction:column;gap:14px}
.legal-body h2{display:flex;gap:14px;align-items:baseline;font-family:var(--serif);font-weight:700;font-size:clamp(24px,2.6vw,30px);line-height:1.2}
.legal-body h2 span{color:#c8902e;font-size:.8em}
.legal-body p{font-size:16.5px;line-height:1.75;color:var(--text-2)}
.legal-body ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.legal-body li{position:relative;padding-left:20px;font-size:16px;line-height:1.65;color:var(--text-2)}
.legal-body li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.legal-body li strong{color:var(--navy)}
.legal-contact{padding:30px;border-radius:16px;background:var(--tint);display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.legal-contact > div:first-child{display:flex;flex-direction:column;gap:6px}
.legal-contact strong{font-family:var(--serif);font-size:23px}
.legal-contact span{font-size:15px;color:var(--muted)}
@media (max-width:820px){.toc{position:static}}

/* Footer */
.site-footer{background:var(--navy-deep);color:#fff;padding:clamp(56px,7vw,80px) 0 28px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:40px 32px}
.footer-brand{display:flex;flex-direction:column;gap:16px}
.footer-brand .brand{margin:0}
.footer-brand p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.72);max-width:34ch}
.footer-phone{font-family:var(--serif);font-weight:600;font-size:26px;color:var(--gold-light);text-decoration:none}
.footer-phone:hover{color:#fff}
.footer-hours{font-size:13px;color:rgba(255,255,255,.65)}
.footer-col{display:flex;flex-direction:column;gap:12px}
.footer-col h4{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light)}
.footer-col a{color:rgba(255,255,255,.82);text-decoration:none;font-size:14.5px}
.footer-col a:hover{color:#fff}
.footer-bottom{margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:13px;color:rgba(255,255,255,.6)}

@media print{.site-header,.site-footer,.fab-call,.toc,.legal-meta .btn,.legal-contact{display:none!important}.legal-hero{background:#fff;color:#000}.legal-hero p{color:#333}}
