/* ================= Champions Legacy Life ================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#000;color:#fff;font-family:'Montserrat',sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

:root{
  --gold:#d2b573;
  --bronze:#c7802c;
  --input-bg:#6c6c6c;
  --placeholder:#d2d8da;
}

.container{max-width:1190px;margin:0 auto;padding:0 10px;width:100%}
.row{display:flex;flex-wrap:wrap;align-items:center}
.col{min-width:0}
section{background:#000;position:relative}

.gold{color:var(--gold)}
.h-lg{font-size:32px;line-height:41.6px;font-weight:500;color:#fff;margin:0;text-transform:uppercase}
.eyebrow{color:var(--gold);font-size:20px;line-height:23.4px;font-weight:400;text-transform:uppercase}
.body{font-size:16px;line-height:20.8px;font-weight:400;color:#fff;margin:0}

/* gold hairline divider (10px outer + 5px inner padding + 1px line = 31px) */
.rule{padding:10px 0}
.rule i{display:block;padding:5px 0}
.rule i::before{content:"";display:block;height:0;border-top:1px solid var(--bronze)}
.rule.w115 i::before{width:115px}
.rule.w162 i::before{width:162px}

.divider-heading{display:flex;align-items:center;justify-content:center;height:44px;margin-top:30px}
.divider-heading .line{flex:0 0 105px;width:105px;height:0;border-top:1px solid var(--bronze);margin:0 32px}

.btn-hero{
  display:inline-block;background:var(--gold);border:1px solid #fff;border-radius:5px;
  padding:15px 20px;color:#000;font-size:16px;font-weight:700;text-transform:uppercase;
  text-align:center;cursor:pointer;width:277px;height:52px;line-height:20px;
}
.btn-hero:hover{opacity:.92}

/* ---------- 0. logo ---------- */
.s-logo{padding:10px 0}
.s-logo img{width:150px;height:150px;margin:15px auto;object-fit:contain}

/* ---------- 1. hero ---------- */
.s-hero{
  padding:100px 0;
  background-image:url('/img/hero-bg.webp');
  background-size:100% auto;background-position:left top;background-repeat:no-repeat;
}
.s-hero .col-text{flex:0 0 42.56%;max-width:42.56%;padding:10px 20px}
.s-hero .col-img{flex:0 0 57.44%;max-width:57.44%;align-self:stretch}
.hero-line{font-size:32px;line-height:41.6px;font-weight:700;margin:0 0 10px;text-transform:uppercase;height:42px}
.hero-line.l1{color:#fff}
.hero-line.l2{color:var(--gold)}
.hero-sub{font-size:18px;line-height:18.2px;font-weight:400;color:#fff;margin:0 0 25px;max-width:460px}

/* ---------- 2. services ---------- */
.s-services{padding:20px 0}
.s-services h2{text-align:center;margin:20px 0 10px;height:42px}
.s-hidden-note{font-family:'Lato',sans-serif;font-size:14px;line-height:18.2px;color:#000;text-align:center;margin:0;height:18px}
.cards{display:flex;flex-wrap:wrap;margin:27px -15px 13px}
.cards .col{flex:0 0 25%;max-width:25%;padding:0 15px}
.card{
  border:2px solid var(--bronze);border-radius:15px;padding:0 5px;height:337px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.card img{width:120px;height:120px;object-fit:contain;margin:55px 0 25px}
.card h3{color:var(--gold);font-size:18px;line-height:23.4px;font-weight:500;margin:0 0 15px;height:47px;text-transform:uppercase}
.card p{color:#fff;font-size:14px;line-height:18.2px;font-weight:400;margin:0;width:100%}

/* ---------- 3. why choose us ---------- */
.s-why{
  padding:30px 0 20px;
  background-image:url('/img/dots.png');background-position:center bottom;background-repeat:repeat-x;
}
.s-why .col-img{flex:0 0 42.22%;max-width:42.22%;padding:0 20px}
.s-why .col-img img{width:320px;height:320px;object-fit:contain;margin:0 auto}
.s-why .col-text{flex:0 0 57.78%;max-width:57.78%;border-left:3px solid var(--gold);padding:17px 5px 45px 20px}
.kicker{color:var(--gold);font-size:18px;line-height:23.4px;font-weight:500;text-transform:uppercase;margin:0 0 10px;padding:10px 0}
.s-why .body{margin:0 0 10px;padding:1px 0}
.s-why h1{font-size:32px;line-height:41.6px;font-weight:500;color:#fff;margin:0 0 15px;text-transform:uppercase}
.s-why .body.last{margin:0 0 45px}
.check-list{list-style:none;padding:0 0 0 24px;margin:10px 0 0}
.check-list li p{font-family:'Lato',sans-serif;font-size:16px;line-height:32px;font-weight:400;color:#fff;margin:0}

/* ---------- 4. about ---------- */
.s-about{padding:30px 0 5px}
.s-about .col-img{flex:0 0 48.63%;max-width:48.63%;padding:0 20px}
.s-about .col-img img{width:100%;max-width:529px;border-radius:5px}
.s-about .col-text{flex:0 0 51.37%;max-width:51.37%;padding:25px 20px 15px}
.s-about h2{color:var(--gold);font-size:32px;line-height:41.6px;font-weight:500;margin:0;height:42px}
.s-about .sub{color:var(--gold);font-size:20px;line-height:23.4px;font-weight:400;margin:0;padding:10px 0}
.s-about p.body{margin:0 0 23px}
.s-about p.body:last-child{margin:0 0 15px}

/* ---------- 5. how it works ---------- */
.s-steps{padding:20px 0 40px}
.s-steps .eyebrow{display:block;text-align:center;height:44px;line-height:44px;margin-top:58px}
.steps{display:flex;align-items:center;flex-wrap:nowrap;margin-top:58px;margin-bottom:20px}
.step{display:flex;align-items:center;min-width:0}
.step.a{flex:0 0 28.2%;max-width:28.2%}
.step.b{flex:0 0 30.77%;max-width:30.77%}
.step.c{flex:0 0 27.86%;max-width:27.86%}
.step .icon-col{padding:0 5px;flex:0 0 auto}
.step.a .icon-col{flex:0 0 45.45%}
.step.b .icon-col{flex:0 0 40.28%}
.step.c .icon-col{flex:0 0 44.79%}
.step img.icon{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.step-text{padding:0 5px;min-width:0;flex:1 1 auto}
.step-text h3{color:var(--gold);font-size:16px;line-height:23.4px;font-weight:500;margin:0 0 15px;height:49px;text-transform:uppercase}
.step-text p{color:#fff;font-size:14px;line-height:18.2px;font-weight:400;margin:0}
.arrow-col{flex:0 0 6.75%;max-width:6.75%;padding:0 15px}
.arrow-col.narrow{flex:0 0 5.64%;max-width:5.64%}
.arrow-col img{width:100%;height:auto;object-fit:contain}

/* ---------- 6. CTA + form ---------- */
.s-cta{padding:40px 0 10px}
.s-cta .col-left{flex:0 0 58.72%;max-width:58.72%;padding:0 20px}
.s-cta .col-right{flex:0 0 41.28%;max-width:41.28%;padding:2px 15px 0}
.cta-line{font-size:32px;line-height:41.6px;margin:0 0 10px;height:42px;text-transform:uppercase}
.cta-line.l1{font-weight:400;color:#fff}
.cta-line.l2{font-weight:700;color:var(--gold)}
.cta-sub{font-size:18px;line-height:18.2px;font-weight:400;color:#fff;margin:0 0 25px;height:19px}
.badges{display:flex;flex-wrap:wrap;max-width:677px;margin:20px -5px 0}
.badge{flex:0 0 25%;max-width:25%;padding:0 5px;text-align:center}
.badge img{width:100%;aspect-ratio:1/1;object-fit:contain}
.badge span{
  display:block;font-family:'Lato',sans-serif;font-size:14px;line-height:18.2px;font-weight:400;
  color:var(--gold);text-transform:uppercase;height:18px;margin-bottom:25px;
}
.form-card{border:2px solid var(--gold);padding:10px 5px;max-width:453px;margin-left:auto}
.form-card h2{
  color:var(--gold);font-size:32px;line-height:41.6px;font-weight:700;text-align:center;
  margin:20px 0 0;height:42px;text-transform:uppercase;
}
.form-inner{padding:54px 24px 60px;margin-top:5px}
.form-legal{margin-top:17px;height:38px;padding-top:15px;text-align:center;color:var(--gold);font-size:14px;line-height:21px}
.form-legal a:hover{text-decoration:underline}

/* ---------- 7. mission / faq ---------- */
.s-mission{
  padding:20px 0;
  background-image:url('/img/sec7-bg.webp');background-size:cover;background-position:center center;
}
.s-mission .col-a{flex:0 0 47.35%;max-width:47.35%;padding:30px 5px 0}
.s-mission .col-b{flex:0 0 52.65%;max-width:52.65%;padding:0 5px}
.s-mission h2{color:var(--gold);font-size:28px;line-height:41.6px;font-weight:500;margin:0}
.s-mission .col-a h2{height:86px}
.s-mission .col-b h2{height:43px}
.s-mission .col-b p{color:#fff;font-size:16px;line-height:20.8px;font-weight:400;margin:0 0 15px;padding:1px 0}
.s-mission .col-a .check-list{margin:14px 0 0}
.s-mission .check-list li p{font-family:'Montserrat',sans-serif;line-height:32px}
.s-mission .faq-heading{color:var(--gold);font-size:32px;line-height:41.6px;font-weight:500;margin:60px 0 0;height:42px;padding:0 5px}
.faq{margin-top:39px;margin-bottom:20px;padding:0 5px}
.faq-item{border:1.5px solid #000;border-radius:10px;background:#000;margin-bottom:11.4px}
.faq-item:last-child{margin-bottom:0}
.faq-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;
  background:#000;border:0;border-radius:10px;padding:15px;cursor:pointer;text-align:left;
}
.faq-head h4{color:#fff;font-size:16px;line-height:24px;font-weight:500;margin:0}
.chev{
  flex:0 0 16px;width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(45deg);transition:transform .25s ease;margin-right:4px;
}
.faq-item.open .chev{transform:rotate(-135deg)}
.faq-panel{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .3s ease,padding .3s ease;padding:0 15px}
.faq-item.open .faq-panel{max-height:600px;opacity:1;padding:0 15px 15px}
.faq-panel p{color:#fff;font-size:15px;line-height:22.5px;font-weight:400;margin:0}

/* ---------- 8. carriers ---------- */
.s-carriers{background:#fff;padding:5px 0}
.s-carriers h2{color:var(--gold);font-size:32px;line-height:41.6px;font-weight:700;text-align:center;margin:25px 0 5px;height:42px}
.s-carriers img{width:100%;max-width:1110px;height:auto;margin:10px auto 40px}

/* ---------- 9. footer ---------- */
.s-footer{padding:20px 0}
.s-footer .col-a{flex:0 0 46.84%;max-width:46.84%;padding:0 15px}
.s-footer .col-b{flex:0 0 53.16%;max-width:53.16%;padding:0 15px}
.s-footer .col-a img{width:150px;height:150px;object-fit:contain;margin:30px auto}
.s-footer .contact{text-align:center}
.s-footer .contact a{display:block;color:#fff;font-size:15px;line-height:20px;font-weight:700;margin-bottom:10px}
.s-footer .contact a:last-child{margin-bottom:0}
.s-footer .contact a:hover{color:var(--gold)}

/* ================= responsive ================= */
.mobile-spacer{display:none}

@media (max-width:900px){
  .cards .col{flex:0 0 50%;max-width:50%;margin-bottom:24px}
}

@media (max-width:768px){
  .row{display:block}
  .col,
  .s-hero .col-text,.s-hero .col-img,
  .cards .col,
  .s-why .col-img,.s-why .col-text,
  .s-about .col-img,.s-about .col-text,
  .s-cta .col-left,.s-cta .col-right,
  .s-mission .col-a,.s-mission .col-b,
  .s-footer .col-a,.s-footer .col-b,
  .step,.step.a,.step.b,.step.c,
  .step .icon-col,.step.a .icon-col,.step.b .icon-col,.step.c .icon-col,
  .arrow-col,.arrow-col.narrow,
  .badges,.badge,.form-card{max-width:none;flex:none;width:auto}
  .mobile-spacer{display:block;height:150px}

  /* --- hero (617) --- */
  .s-hero .col-text{padding:10px}
  .s-hero .col-img{min-height:119px}
  .hero-line{font-size:28px;line-height:36.4px;height:36px}
  .hero-sub{font-size:18px;line-height:18.2px;padding:2px 0;margin:0 0 25px;max-width:none}
  .btn-hero{width:263px;font-size:15px}

  /* --- shared --- */
  .h-lg{font-size:25px;line-height:32.5px;height:auto}
  .divider-heading{display:flex;flex-direction:column;gap:20px;height:auto;margin-top:30px}
  .divider-heading .line{
    width:auto;height:31px;flex:none;border-top:0;margin:0 10px;
    background:linear-gradient(var(--bronze),var(--bronze)) center/100% 1px no-repeat;
  }
  .divider-heading .eyebrow{height:44px;line-height:44px;margin:0;text-align:center}

  /* --- services (1598) --- */
  .s-services h2{margin:20px 0 0;height:auto}
  .s-hidden-note{margin-top:10px;height:auto}
  .cards{display:block;margin:25px 0 15px}
  .cards .col{max-width:100%;padding:0;margin:0 0 55px}
  .cards .col:last-child{margin-bottom:0}
  .card{height:auto;padding:0}
  .card img{margin:0 auto 25px}
  .card h3{font-size:16px;line-height:20.8px;height:auto;margin:0 0 15px}

  /* --- why choose us (962) --- */
  .s-why .col-img{padding:17px 0 0}
  .s-why .col-img img{width:100%;height:auto;max-width:355px}
  .s-why .col-text{border-left:0;padding:0 0 37px 3px}
  .s-why h1{font-size:25px;line-height:32.5px;margin:0 0 15px}
  .s-why .body{font-size:14px;line-height:18.2px;margin:0 0 10px}
  .s-why .body.last{margin:0 0 45px}
  .s-why .kicker{margin:0 0 10px}

  /* --- about (973) --- */
  .s-about .col-img{padding:25px 0 0}
  .s-about .col-img img{max-width:none}
  .s-about .col-text{padding:20px 0 29px}
  .s-about h2{font-size:28px;line-height:36.4px;height:auto}
  .s-about .sub{font-size:20px;line-height:23.4px}
  .s-about p.body{font-size:15px;line-height:19.5px;margin:0 0 10px}
  .s-about p.body:last-child{margin:0}

  /* --- how it works (2054) --- */
  .s-steps .eyebrow{margin-top:0;height:44px;line-height:44px}
  .steps{display:block;margin:0 0 20px}
  .step,.step.a,.step.b,.step.c{display:block;max-width:100%;flex:none}
  .step .icon-col,.step.a .icon-col,.step.b .icon-col,.step.c .icon-col{flex:none;max-width:none;padding:0;margin:0}
  .step-text{padding:20px 0 0}
  .step-text h3{font-size:16px;line-height:20.8px;height:auto;margin:0 0 15px}
  .arrow-col,.arrow-col.narrow{max-width:none;flex:none;padding:0;margin:20px 0}
  .arrow-col img{width:70px;height:70px;margin:0 auto}
  .step.c ~ .arrow-col{display:none}

  /* --- CTA + form (2495) --- */
  .s-cta .col-left{padding:12px 0 0}
  .s-cta .col-right{padding:0 10px}
  .cta-line{font-size:28px;line-height:36.4px;height:auto}
  .cta-sub{font-size:18px;line-height:18.2px;height:auto;padding:1px 0;margin:0 0 45px}
  .badges{display:block;margin:0;max-width:none}
  .badge{max-width:none;padding:0 10px;margin:0}
  .badge img{width:100%;max-width:335px;height:auto;margin:0 auto}
  .badge span{height:18px;margin:0 0 45px}
  .form-card{margin:55px 0 0;max-width:none;padding:10px 0}
  .form-card h2{font-size:28px;line-height:36.4px;height:36px;margin:20px 0 0}
  .form-inner{padding:16px;margin-top:5px}
      .form-legal{margin:17px 0 16px}

  /* --- mission / faq (1561) --- */
  .s-mission .col-a{padding:30px 0 0}
  .s-mission .col-b{padding:30px 0 0}
  .s-mission .col-a h2,.s-mission .col-b h2{font-size:28px;line-height:36.4px;height:auto}
  .s-mission .col-b p{font-size:16px;line-height:19.5px;margin:0 0 15px}
  .s-mission .col-a .check-list{margin:10px 0 0}
  .s-mission .faq-heading{font-size:28px;line-height:36.4px;height:auto;margin:65px 0 0;padding:0}
  .faq{margin:39px 0 20px;padding:0}
  .faq-head h4{font-size:15px;line-height:22.5px}
  .faq-panel p{font-size:12px;line-height:18px}

  /* --- carriers (327) --- */
  .s-carriers h2{font-size:25px;line-height:32.5px;height:auto;margin:25px 0 0}
  .s-carriers img{max-width:335px;margin:5px auto 44px}

  /* --- footer (359) --- */
  .s-footer .col-a{padding:0}
  .s-footer .col-b{padding:0}
  .s-footer .col-a img{margin:20px auto 40px}
  .s-footer .contact{margin:20px 0 30px}
  .s-footer .contact a{font-size:14px;margin-bottom:9px}
}

/* ================= legal pages (privacy / terms) ================= */
.legal-page{background:#000;min-height:100vh}
.legal-head{padding:24px 0;border-bottom:1px solid rgba(210,181,115,.25)}
.legal-head .container{display:flex;align-items:center;justify-content:space-between;gap:20px}
.legal-head img{width:72px;height:72px;object-fit:contain}
.legal-head .back{
  color:var(--gold);font-size:14px;font-weight:500;letter-spacing:.04em;
  text-transform:uppercase;border:1px solid var(--gold);border-radius:5px;padding:10px 18px;
}
.legal-head .back:hover{background:var(--gold);color:#000}

.legal-body{max-width:860px;margin:0 auto;padding:56px 20px 72px}
.legal-body h1{
  color:var(--gold);font-size:38px;line-height:1.2;font-weight:700;
  margin:0 0 10px;text-transform:uppercase;
}
.legal-meta{color:rgba(255,255,255,.6);font-size:14px;line-height:1.6;margin:0 0 8px}
.legal-body h2{
  color:var(--gold);font-size:21px;line-height:1.35;font-weight:600;
  margin:44px 0 14px;
}
.legal-body h3{color:#fff;font-size:17px;line-height:1.4;font-weight:600;margin:26px 0 10px}
.legal-body p{color:rgba(255,255,255,.88);font-size:16px;line-height:1.75;margin:0 0 16px}
.legal-body ul{margin:0 0 16px;padding-left:22px}
.legal-body li{color:rgba(255,255,255,.88);font-size:16px;line-height:1.75;margin-bottom:9px}
.legal-body a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.legal-body a:hover{opacity:.8}
.legal-body strong{color:#fff;font-weight:600}
.legal-rule{height:0;border-top:1px solid rgba(210,181,115,.3);margin:44px 0}

/* highlighted box for the clauses carriers look for */
.legal-callout{
  border:2px solid var(--gold);border-radius:10px;padding:22px 24px;margin:0 0 22px;
  background:rgba(210,181,115,.05);
}
.legal-callout p:last-child{margin-bottom:0}

/* items the business must fill in before publishing */
.fillin{
  background:#ffd54a;color:#000;font-weight:700;padding:1px 7px;border-radius:3px;
  font-size:.94em;white-space:nowrap;
}

.legal-toc{border:1px solid rgba(210,181,115,.3);border-radius:10px;padding:20px 24px;margin:0 0 8px}
.legal-toc p{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin:0 0 12px;font-weight:600}
.legal-toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px}
.legal-toc li{font-size:15px;margin-bottom:7px}

.legal-foot{border-top:1px solid rgba(210,181,115,.25);padding:34px 0}
.legal-foot .container{text-align:center}
.legal-foot img{width:88px;height:88px;object-fit:contain;margin:0 auto 16px}
.legal-foot a{display:inline-block;color:#fff;font-size:15px;font-weight:700;margin:0 12px 8px}
.legal-foot a:hover{color:var(--gold)}
.legal-foot .legal-links{margin-top:14px}
.legal-foot .legal-links a{color:var(--gold);font-size:14px;font-weight:400}

/* SMS consent checkbox on the quote form */

@media (max-width:768px){
  .legal-body{padding:36px 10px 52px}
  .legal-body h1{font-size:29px}
  .legal-body h2{font-size:19px;margin:34px 0 12px}
  .legal-body p,.legal-body li{font-size:15px;line-height:1.7}
  .legal-toc ol{columns:1}
  .legal-head .container{flex-direction:row}
  .legal-head .back{padding:8px 14px;font-size:12px}
  .legal-callout{padding:18px}
}

/* policy links in the main site footer */
.s-footer .footer-policies{margin-top:14px}
.s-footer .footer-policies a{
  display:inline;color:var(--gold);font-size:14px;line-height:21px;font-weight:400;margin:0 4px;
}
.s-footer .footer-policies a:hover{text-decoration:underline}

.legal-foot .legal-addr{
  color:rgba(255,255,255,.55);font-size:13px;line-height:1.65;margin:14px 0 0;
}

/* ---------- CTA card (replaces the old quote form; collects nothing) ---------- */
.cta-card-copy{
  color:#fff;font-size:15px;line-height:22px;font-weight:400;margin:0 0 22px;text-align:center;
}
.cta-card-btn{
  display:block;width:100%;background:var(--gold);color:#000;border:0;border-radius:8px;
  padding:15px 20px;font-family:'Inter','Montserrat',sans-serif;font-size:15px;line-height:20px;
  font-weight:600;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;
  box-shadow:0 1px 2px 0 rgba(0,0,0,.08);
}
.cta-card-btn:hover{opacity:.92}
.cta-card-alt{
  color:rgba(255,255,255,.75);font-size:13px;line-height:20px;margin:16px 0 0;text-align:center;
}
.cta-card-alt a{color:var(--gold);font-weight:600}
.cta-card-alt a:hover{text-decoration:underline}

@media (max-width:768px){
  .cta-card-copy{font-size:14px;line-height:21px}
}

.cta-card-list{list-style:none;margin:0 0 26px;padding:0}
.cta-card-list li{
  color:#fff;font-size:14px;line-height:20px;font-weight:400;
  padding:0 0 0 26px;margin-bottom:14px;position:relative;
}
.cta-card-list li::before{
  content:"";position:absolute;left:2px;top:5px;width:10px;height:6px;
  border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg);
}
.cta-card-list li:last-child{margin-bottom:0}

/* business verification details in the main site footer */
.s-footer .footer-bizinfo{margin-top:16px}
.s-footer .footer-bizinfo p{
  color:rgba(255,255,255,.65);font-size:13px;line-height:19px;font-weight:400;margin:0 0 2px;
}
.s-footer .footer-bizinfo a{
  display:inline;color:rgba(255,255,255,.65);font-size:13px;line-height:19px;font-weight:400;margin:0;
}
.s-footer .footer-bizinfo a:hover{color:var(--gold)}
