/* Benefit Experts — site.css (generated) */
:root{
  --red:#C8102E;
  --red-deep:#8E0B20;
  --red-tint:#FCEDEF;
  --ink:#2B333A;
  --ink-soft:#3D474F;
  --slate:#5A666F;
  --paper:#FFFFFF;
  --paper-2:#F2F4F6;
  --paper-3:#E9EDF0;
  --line:#DBE1E6;
  --line-soft:#EAEEF1;
  --band:#2B333A;
  --band-ink:#FFFFFF;
  --band-soft:#AAB4BC;
  --focus:#C8102E;
  --shadow:0 1px 2px rgba(43,51,58,.05),0 8px 24px rgba(43,51,58,.06);
  --logo-dark:block;
  --logo-light:none;
  --plate:#FFFFFF;   /* carrier-logo backing; stays white in both themes, by design */

  --f-display:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --f-body:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --f-mono:"Cascadia Mono",Consolas,ui-monospace,"SF Mono",Menlo,"Roboto Mono",monospace;

  --wrap:1180px;
  --gut:clamp(20px,5vw,48px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --red:#E8354F; --red-deep:#F25E73; --red-tint:#2A1519;
    --ink:#E9EEF2; --ink-soft:#CBD4DB; --slate:#9AA6AF;
    --paper:#161B20; --paper-2:#1D242A; --paper-3:#252D34;
    --line:#333C44; --line-soft:#2A323A;
    --band:#0F1418; --band-ink:#F2F5F7; --band-soft:#8B979F;
    --focus:#E8354F;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
    --logo-dark:none; --logo-light:block;
  }
}
:root[data-theme="dark"]{
  --red:#E8354F; --red-deep:#F25E73; --red-tint:#2A1519;
  --ink:#E9EEF2; --ink-soft:#CBD4DB; --slate:#9AA6AF;
  --paper:#161B20; --paper-2:#1D242A; --paper-3:#252D34;
  --line:#333C44; --line-soft:#2A323A;
  --band:#0F1418; --band-ink:#F2F5F7; --band-soft:#8B979F;
  --focus:#E8354F;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  --logo-dark:none; --logo-light:block;
}

*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink-soft);
  font-family:var(--f-body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;background:var(--red);color:#fff;
  padding:12px 18px;font-family:var(--f-display);font-weight:700;
}
.skip:focus{left:0}

h1,h2,h3{
  font-family:var(--f-display);color:var(--ink);font-weight:900;
  letter-spacing:-.025em;line-height:1.09;text-wrap:balance;margin:0;
}
h1{font-size:clamp(34px,4.9vw,56px)}
h2{font-size:clamp(27px,3.4vw,40px)}
h3{font-size:clamp(19px,2vw,23px);letter-spacing:-.015em;line-height:1.25}
p{margin:0}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.prose{max-width:66ch;display:grid;gap:16px}
.prose p{color:var(--slate)}

.eyebrow{
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);font-weight:600;display:block;
}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--f-display);font-weight:700;font-size:15px;
  padding:15px 26px;border-radius:2px;border:1.5px solid transparent;
  cursor:pointer;transition:background .15s,color .15s,border-color .15s;
}
.btn:hover{text-decoration:none}
.btn-sm{padding:11px 18px;font-size:14px}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-primary:hover{background:var(--red-deep);border-color:var(--red-deep);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper-2)}
.btn-onband{background:transparent;color:var(--band-ink);border-color:rgba(255,255,255,.32)}
.btn-onband:hover{background:rgba(255,255,255,.1);border-color:var(--band-ink);color:var(--band-ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---------------- header ---------------- */
.site-head{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line)}
.head-in{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);position:relative;
  display:flex;align-items:center;gap:20px;min-height:102px;
}
.brand{flex-shrink:0;display:block}
/* full lockup incl. rule + tagline — sized as large as the header allows */
.brand img{height:72px;width:auto}
.brand .logo-dark{display:var(--logo-dark)}
.brand .logo-light{display:var(--logo-light)}
@media (max-width:1080px){.head-in{min-height:92px}.brand img{height:62px}}
@media (max-width:520px){.head-in{min-height:78px}.brand img{height:50px}}

.nav{margin-left:auto}
.nav > ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.nav a{
  font-family:var(--f-display);font-weight:600;font-size:14.5px;color:var(--ink-soft);
  padding:10px 11px;border-radius:2px;white-space:nowrap;display:flex;align-items:center;gap:5px;
}
.nav a:hover{color:var(--ink);background:var(--paper-2);text-decoration:none}
.nav a.on{color:var(--red)}
.caret{width:9px;height:6px;opacity:.55;flex:none}
.has-sub{position:relative}
.sub{
  list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:246px;
  background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--red);
  box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .14s,transform .14s,visibility .14s;
}
.has-sub:hover > .sub,.has-sub:focus-within > .sub,.has-sub.open > .sub{
  opacity:1;visibility:visible;transform:none;
}
.sub a{padding:9px 12px;font-weight:500;font-size:14.5px}
.sub li:first-child a{font-weight:700;border-bottom:1px solid var(--line-soft);margin-bottom:4px}

.head-cta{display:flex;align-items:center;gap:14px;flex-shrink:0}
.head-phone{
  font-family:var(--f-mono);font-size:14.5px;font-weight:600;color:var(--ink);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.head-phone:hover{color:var(--red);text-decoration:none}

.burger{display:none;margin-left:auto;background:transparent;border:1px solid var(--line);
  border-radius:2px;padding:11px 10px;cursor:pointer;width:44px;height:42px}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .18s,opacity .18s}
.burger span+span{margin-top:5px}
.burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1180px){
  .head-cta .head-phone{display:none}
}
@media (max-width:1080px){
  .burger{display:block}
  .head-cta{display:none}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);
    border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:78vh;overflow-y:auto}
  .nav.open{display:block}
  .nav > ul{flex-direction:column;align-items:stretch;gap:0;padding:6px var(--gut) 22px}
  .nav > ul > li{border-bottom:1px solid var(--line-soft)}
  .nav a{padding:14px 0;font-size:16.5px;justify-content:space-between}
  .sub{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;
    padding:0 0 10px 14px;display:none;min-width:0}
  .has-sub.open > .sub{display:block}
  .sub a{padding:9px 0;font-size:15.5px;color:var(--slate)}
  .sub li:first-child a{border:0;margin:0}
}

/* ---------------- homepage brand band ----------------
   Large enough that the tagline in the logo is actually readable, which it is
   not at header size. Homepage only. */
.hero-brand{padding:clamp(20px,3vw,34px) 0 0;text-align:center}
.hero-brand img{width:min(430px,84%);height:auto;margin:0 auto}
.hero-brand .logo-dark{display:var(--logo-dark)}
.hero-brand .logo-light{display:var(--logo-light)}
/* keep the primary CTA above the fold on a ~860px-tall viewport */
.hero-brand + .hero{padding-top:clamp(16px,2.2vw,28px)}

/* Short laptop screens: compact the brand band so "Request a quote" still lands
   above the fold. Tall screens keep the full-size logo. */
@media (min-width:900px) and (max-height:800px){
  .hero-brand{padding-top:14px}
  .hero-brand img{width:min(330px,70%)}
  .hero-brand + .hero{padding-top:10px}
}

/* ---------------- hero ---------------- */
.hero{padding:clamp(44px,6.5vw,80px) 0 0;position:relative}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,64px);align-items:start}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}}
.hero h1{margin:12px 0 0;font-size:clamp(32px,4.3vw,50px)}
.hero-sub{font-size:clamp(16.5px,1.6vw,18.5px);color:var(--slate);max-width:54ch;margin-top:18px}
.hero .btn-row{margin-top:26px}
.hero-note{margin-top:18px;font-family:var(--f-mono);font-size:12px;color:var(--slate);letter-spacing:.02em}

.summary{border:1px solid var(--line);border-radius:2px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}
.summary-head{background:var(--band);color:var(--band-ink);padding:18px 22px;
  display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.summary-head b{font-family:var(--f-display);font-weight:800;font-size:15px}
.summary-head span{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--band-soft);text-transform:uppercase}
.summary-row{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line-soft)}
.summary-row:last-of-type{border-bottom:0}
.summary-row .mark{flex:0 0 20px;height:20px;border-radius:2px;background:var(--red);display:grid;place-items:center}
.summary-row .mark::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(43deg) translateY(-1px)}
.summary-row .label{font-weight:600;color:var(--ink);font-size:15.5px;flex:1}
.summary-foot{background:var(--paper-2);padding:16px 22px;font-size:13.5px;color:var(--slate);border-top:1px solid var(--line)}

.slice{height:64px;margin-top:clamp(48px,6vw,80px);
  background:linear-gradient(102deg,var(--red) 0 42%,var(--band) 42% 100%);
  clip-path:polygon(0 38%,100% 0,100% 100%,0 100%)}
.factbar{background:var(--band);color:var(--band-ink);padding:0 0 34px;margin-top:-1px}
.factbar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12)}
@media (max-width:820px){.factbar-grid{grid-template-columns:repeat(2,1fr)}}
.fact{background:var(--band);padding:24px 20px}
.fact b{display:block;font-family:var(--f-display);font-weight:900;
  font-size:clamp(20px,2.4vw,27px);letter-spacing:-.025em;color:var(--band-ink)}
.fact span{display:block;margin-top:7px;font-family:var(--f-mono);font-size:11.5px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--band-soft);line-height:1.5}

/* ---------------- banner + crumbs ---------------- */
.banner{background:var(--band);color:var(--band-ink);padding:clamp(44px,5.6vw,72px) 0}
.banner .eyebrow{color:#F27186}
.banner h1{color:var(--band-ink);margin-top:14px;max-width:21ch}
.banner p{margin-top:20px;color:var(--band-soft);max-width:62ch;font-size:18px}
.crumbs{background:var(--paper-2);border-bottom:1px solid var(--line)}
.crumbs .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-block:12px;
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.crumbs a{color:var(--slate)}
.crumbs a:hover{color:var(--red)}
.crumbs i{color:var(--line);font-style:normal}
.crumbs span{color:var(--ink)}

/* ---------------- sections ---------------- */
.sec{padding:clamp(52px,6.5vw,88px) 0;border-bottom:1px solid var(--line-soft)}
.sec.tint{background:var(--paper-2)}
.sec:last-of-type{border-bottom:0}
.sec-head{max-width:64ch;margin-bottom:clamp(30px,4vw,46px)}
.sec-head h2{margin:14px 0 0}
.sec-head p{margin-top:16px;color:var(--slate);font-size:17.5px}

/* ---------------- cards ---------------- */
.cards{display:grid;gap:20px}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.cards.c5{grid-template-columns:repeat(3,1fr)}
.cards.c6{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.cards.c3,.cards.c4,.cards.c5,.cards.c6{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.cards{grid-template-columns:1fr!important}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:2px;
  padding:26px 24px 28px;display:flex;flex-direction:column;gap:12px;
  transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--red);transform:translateY(-2px);text-decoration:none}
.card .idx{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.14em;color:var(--red);font-weight:600}
.card p{color:var(--slate);font-size:15.5px;line-height:1.6}
.card .more{margin-top:auto;padding-top:8px;font-family:var(--f-display);font-weight:700;font-size:14px;color:var(--red)}

/* ---------------- checklist ---------------- */
.check{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.sec > .wrap > .check{margin-top:24px;max-width:66ch}
.check li{position:relative;padding-left:30px;font-size:16px;color:var(--ink-soft);line-height:1.55}
.check li::before{content:"";position:absolute;left:0;top:.42em;width:17px;height:17px;background:var(--red);border-radius:2px}
.check li::after{content:"";position:absolute;left:5.5px;top:.72em;width:4px;height:8px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(43deg)}

/* ---------------- steps ---------------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink)}
@media (max-width:960px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.steps{grid-template-columns:1fr}}
.step{padding:26px 24px 30px;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
@media (max-width:960px){.step{border-bottom:1px solid var(--line)}}
.step .n{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;color:var(--red);
  font-weight:700;display:block;margin-bottom:14px}
.step h3{font-size:19px;margin-bottom:10px}
.step p{color:var(--slate);font-size:15px;line-height:1.6}

/* ---------------- split / panel ---------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:28px}}
.panel{border:1px solid var(--line);border-left:4px solid var(--red);border-radius:2px;
  padding:30px 28px;background:var(--paper)}
.panel h3{margin-bottom:12px}
.panel p{color:var(--slate);font-size:15.5px}

/* ---------------- detail ---------------- */
.detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(22px,4vw,56px);
  padding:clamp(32px,4vw,46px) 0;border-bottom:1px solid var(--line)}
.detail:last-child{border-bottom:0}
.detail:first-child{padding-top:0}
@media (max-width:860px){.detail{grid-template-columns:1fr;gap:16px}}
.detail h3{font-size:clamp(22px,2.5vw,27px)}
.detail .lede{color:var(--slate);margin-top:14px;font-size:16px}
.detail-body p{color:var(--ink-soft);font-size:16.5px}
.detail-body p+p{margin-top:14px}
.detail-body .check{margin-top:20px}

/* ---------------- tile grid ---------------- */
.tilegrid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:2px;overflow:hidden}
@media (max-width:900px){.tilegrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.tilegrid{grid-template-columns:repeat(2,1fr)}}
.tile{background:var(--paper);padding:22px 12px;text-align:center;
  font-family:var(--f-display);font-weight:700;font-size:14px;color:var(--ink-soft);
  display:grid;place-items:center;min-height:78px}
a.tile:hover{background:var(--red);color:#fff;text-decoration:none}

/* ---------------- carrier logo wall ----------------
   --plate is defined once and deliberately NOT redefined for dark mode: carrier
   brand guidelines call for a light background, and most of these marks contain
   dark text that would vanish on a dark ground. */
.logogrid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:2px;overflow:hidden;
}
@media (max-width:1000px){.logogrid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:700px){.logogrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:440px){.logogrid{grid-template-columns:repeat(2,1fr)}}
.logotile{
  background:var(--plate);display:grid;place-items:center;
  padding:22px 18px;min-height:104px;
}
.logotile img{
  max-width:100%;width:auto;height:auto;object-fit:contain;
  transition:transform .18s ease;
}
.logotile:hover img{transform:scale(1.05)}
.logonote{
  margin-top:16px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.04em;
  color:var(--slate);line-height:1.6;max-width:80ch;
}
@media (prefers-reduced-motion:reduce){.logotile:hover img{transform:none}}

/* ---------------- faq ---------------- */
.faq{border-top:1px solid var(--line);max-width:82ch}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:var(--f-display);font-weight:800;font-size:18px;color:var(--ink);line-height:1.4;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:absolute;right:6px;top:26px;width:13px;height:13px}
.faq summary i::before,.faq summary i::after{
  content:"";position:absolute;background:var(--red);transition:transform .18s;
}
.faq summary i::before{left:0;top:5.5px;width:13px;height:2px}
.faq summary i::after{left:5.5px;top:0;width:2px;height:13px}
.faq details[open] summary i::after{transform:scaleY(0)}
.faq-a{padding:0 44px 24px 0;display:grid;gap:14px}
.faq-a p{color:var(--slate);font-size:16px}

/* ---------------- CTA band ---------------- */
.cta{background:var(--band);color:var(--band-ink);padding:clamp(48px,5.6vw,72px) 0;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0 auto 0 0;width:46%;background:var(--red);
  clip-path:polygon(0 0,100% 0,58% 100%,0 100%);opacity:.14}
.cta-in{position:relative;display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.cta h2{color:var(--band-ink);max-width:20ch}
.cta p{color:var(--band-soft);margin-top:14px;max-width:52ch}

/* ---------------- contact ---------------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,60px)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.cinfo{display:grid;gap:26px;align-content:start}
.cinfo-item .eyebrow{margin-bottom:8px}
.cinfo-item p{font-size:17px;color:var(--ink)}
.cinfo-item .big{font-family:var(--f-mono);font-size:24px;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;display:block}
.cinfo-item .big:hover{color:var(--red);text-decoration:none}
form{border:1px solid var(--line);border-radius:2px;padding:clamp(24px,3vw,34px);background:var(--paper)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.fields{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-family:var(--f-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--slate);font-weight:600}
input,select,textarea{font-family:var(--f-body);font-size:16px;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:2px;padding:12px 13px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px var(--red-tint)}
textarea{resize:vertical;min-height:110px}
.form-note{margin-top:16px;font-size:13px;color:var(--slate)}

/* ---------------- footer ---------------- */
.site-foot{background:var(--band);color:var(--band-soft);padding:clamp(44px,5vw,62px) 0 0}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:30px}
@media (max-width:1080px){.foot-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:700px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{grid-column:span 1}
@media (max-width:1080px){.foot-brand{grid-column:1/-1}}
/* footer runs the logo large enough that the tagline actually reads */
.foot-brand img{width:min(330px,100%);height:auto;margin-bottom:18px}
.foot-brand p{font-size:14.5px;color:var(--band-soft);max-width:38ch}
.foot-col h2{color:var(--band-ink);font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;margin-bottom:14px}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot-col a{color:var(--band-soft);font-size:14.5px}
.foot-col a:hover{color:var(--band-ink)}
.foot-bar{margin-top:42px;border-top:1px solid rgba(255,255,255,.14);padding:20px 0 26px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;color:var(--band-soft)}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .card:hover{transform:none}
}
