
:root{--navy:#0a285f;--blue:#0b63f6;--green:#079b73;--ink:#12213f;--muted:#65718a;--line:#e4e9f2;--soft:#f7f9fc;--white:#fff;--shadow:0 18px 48px rgba(19,45,91,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}a{color:inherit}.shell{width:min(1120px,calc(100% - 36px));margin:auto}.site-header{height:74px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;text-decoration:none!important;border:0!important;outline:0!important;box-shadow:none!important}.brand img{width:220px;display:block}.nav{display:flex;gap:24px}.nav a{text-decoration:none;font-size:14px;font-weight:750;color:#41506c}.nav a:hover{color:var(--blue)}
.hero{text-align:center;padding:68px 0 30px}.pill{display:inline-block;padding:8px 12px;border:1px solid #dce6f7;background:#f8fbff;color:#315b9e;border-radius:999px;font-size:12px;font-weight:800}.hero h1{font-size:58px;line-height:1.03;letter-spacing:-3px;color:var(--navy);margin:20px 0 16px}.hero h1 em{font-style:normal;color:var(--green)}.hero p{max-width:760px;margin:auto;color:var(--muted);font-size:17px;line-height:1.65}.trust{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:20px;color:#52617a;font-size:12px}
.card{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);padding:5px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:transparent;border-radius:12px;padding:14px;font-weight:800;color:#68748b;cursor:pointer}.tabs button.active{background:#fff;color:var(--blue);box-shadow:0 1px 5px #ccd6e5}.fields{padding:24px 28px}.field{margin-bottom:17px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:9px}.money{display:flex;align-items:center;border:1px solid #ccd6e5;border-radius:13px;padding:0 16px;height:62px}.money input{flex:1;border:0;outline:0;font-size:28px;font-weight:850;color:var(--navy);min-width:0}.money span{font-weight:800;color:#65718a}.presets,.terms{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:9px}.terms{grid-template-columns:repeat(3,1fr)}.presets button,.terms button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 5px;font-weight:750;cursor:pointer}.presets button.active,.terms button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.primary{width:100%;border:0;border-radius:11px;background:var(--blue);color:#fff;padding:16px;font-size:16px;font-weight:850;cursor:pointer}.hint{font-size:11px;color:var(--muted);margin-top:9px;line-height:1.5}
.ad{height:120px;border:1px dashed #ccd4df;border-radius:14px;background:#fafbfc;display:grid;place-items:center;color:#9aa5b7;margin:34px auto;max-width:1000px;font-size:11px;text-transform:uppercase;letter-spacing:.8px}
.section{padding:55px 0}.soft{background:var(--soft);border-block:1px solid var(--line)}.title{text-align:center;max-width:720px;margin:0 auto 25px}.title span{font-size:11px;font-weight:850;color:var(--blue);text-transform:uppercase;letter-spacing:1px}.title h2{font-size:31px;letter-spacing:-1px;color:var(--navy);margin:7px 0}.title p{font-size:13px;color:var(--muted);line-height:1.6}
.offer-list{display:grid;gap:12px}.offer{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.offer-head{display:flex;align-items:center;gap:13px}.bankmark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:900;flex:0 0 auto}.offer-head .name{flex:1}.offer-head strong{display:block;color:var(--navy)}.offer-head small{color:var(--muted)}.badge{background:#eaf8f3;color:#08775c;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}.metric{background:var(--soft);border-radius:11px;padding:11px}.metric span{display:block;font-size:10px;color:var(--muted)}.metric b{display:block;margin-top:4px;font-size:14px;color:var(--navy)}.offer-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}.offer-foot p{font-size:11px;color:var(--muted);margin:0;line-height:1.5}.cta{background:var(--blue);color:#fff;text-decoration:none;border-radius:9px;padding:11px 14px;font-size:12px;font-weight:800;white-space:nowrap}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.linkcard,.campaign,.guide{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff;text-decoration:none;box-shadow:0 8px 24px rgba(19,45,91,.05)}.linkcard strong,.campaign h3,.guide h3{color:var(--navy)}.linkcard span,.guide p,.campaign p{color:var(--muted);font-size:12px;line-height:1.6}.campaign .big{font-size:28px;color:var(--green);font-weight:900}.campaign .row{display:flex;justify-content:space-between;gap:8px;margin-top:15px}.campaign .row div{background:var(--soft);border-radius:10px;padding:10px;flex:1}.campaign .row span{font-size:9px;color:var(--muted);display:block}.campaign .row b{font-size:12px;color:var(--navy)}
.bankgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.bankitem{border:1px solid var(--line);border-radius:14px;padding:14px 8px;text-align:center;text-decoration:none;background:#fff}.bankitem .bankmark{margin:0 auto 8px}.bankitem b{font-size:11px;color:var(--navy)}
.pagehero{padding:52px 0 24px;text-align:center}.pagehero h1{font-size:44px;letter-spacing:-2px;color:var(--navy);margin:8px 0}.pagehero p{max-width:720px;margin:auto;color:var(--muted);line-height:1.7}.article{max-width:820px;margin:auto;padding:45px 0 70px}.article h1{font-size:44px;letter-spacing:-2px;color:var(--navy)}.article h2{color:var(--navy);margin-top:32px}.article p{color:#536079;line-height:1.85}.article .box{background:#f3f7ff;border:1px solid #dbe5f4;border-radius:14px;padding:18px;margin:25px 0}.footer{border-top:1px solid var(--line);padding:35px 0 45px}.footer img{width:200px}.footer p{font-size:11px;color:var(--muted);max-width:650px;line-height:1.6}.footerlinks{display:flex;gap:15px;flex-wrap:wrap;margin-top:15px}.footerlinks a{font-size:11px;color:#536079}
@media(max-width:800px){.nav{display:none}.hero h1{font-size:42px;letter-spacing:-2px}.grid{grid-template-columns:1fr 1fr}.bankgrid{grid-template-columns:repeat(3,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.presets{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.shell{width:min(100% - 24px,1120px)}.brand img{width:185px}.hero{padding-top:45px}.hero h1{font-size:36px}.grid{grid-template-columns:1fr}.bankgrid{grid-template-columns:repeat(2,1fr)}.fields{padding:20px 16px}.offer-foot{align-items:stretch;flex-direction:column}.cta{text-align:center}.pagehero h1,.article h1{font-size:34px}.metrics{grid-template-columns:1fr 1fr}}

.manual-ad-wrap{margin:34px auto;min-height:90px;display:block;overflow:hidden}.manual-ad-wrap ins.adsbygoogle{min-height:90px}
@media(max-width:520px){.manual-ad-wrap{margin:24px auto;min-height:70px}.manual-ad-wrap ins.adsbygoogle{min-height:70px}}

.bank-logo-box{width:52px;height:52px;border:1px solid var(--line);border-radius:13px;background:#fff;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 4px 14px rgba(22,47,92,.06)}
.bank-logo-box img{width:36px;height:36px;object-fit:contain}
.bankmark-logo{background:#fff!important;border:1px solid var(--line)}
.bankmark-logo img{width:32px;height:32px;object-fit:contain}
.offer-extra{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:4px;font-size:10px;color:var(--muted)}
.offer-extra b{color:#42506b}.data-note{font-size:10px;color:var(--muted);text-align:center;margin-top:12px}
.empty-offer{text-align:center;padding:30px}.empty-offer p{color:var(--muted)}
.promo-insert{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f8fbff 65%,#eef8f4 100%);min-height:275px}
.promo-insert:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-65px;background:rgba(11,99,246,.05)}
.promo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;position:relative;z-index:1}
.promo-bank{display:flex;align-items:center;gap:9px}.promo-bank img{width:34px;height:34px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:3px}.promo-bank b{color:var(--navy);font-size:13px}
.promo-badge{font-size:9px;font-weight:850;border-radius:999px;background:#eaf8f3;color:#08775c;padding:6px 8px}
.promo-rate{font-size:34px;line-height:1;color:var(--green);font-weight:950;letter-spacing:-1px;margin:6px 0 12px}.promo-rate small{font-size:13px;letter-spacing:0}
.promo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0 18px}.promo-stats div{padding:10px;background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:10px}.promo-stats span{display:block;font-size:9px;color:var(--muted)}.promo-stats b{display:block;margin-top:3px;font-size:11px;color:var(--navy)}
@media(max-width:520px){.promo-stats{grid-template-columns:1fr 1fr}.bank-logo-box{width:46px;height:46px}.bank-logo-box img{width:32px;height:32px}}

.bank-logo-wide{width:148px;height:52px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.bank-logo-wide img{width:100%;height:100%;object-fit:contain}
.bankmark-logo{background:#fff!important;border:1px solid var(--line);padding:2px}.bankmark-logo img{width:100%;height:100%;object-fit:contain}
.offer-extra{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:4px;font-size:10px;color:var(--muted)}
.offer-extra b{color:#42506b}.empty-offer{text-align:center;padding:30px}.empty-offer p{color:var(--muted)}
.promo-insert{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f6faff);min-height:270px}
.promo-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.promo-bank{display:flex;align-items:center;gap:8px}.promo-bank img{width:110px;height:34px;object-fit:contain;background:#fff;border-radius:8px}.promo-bank b{display:none}
.promo-badge{font-size:9px;font-weight:850;background:#eaf8f3;color:#08775c;padding:6px 8px;border-radius:999px}.promo-rate{font-size:34px;font-weight:950;color:var(--green);letter-spacing:-1px}.promo-rate small{font-size:12px}
.promo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0 18px}.promo-stats div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px}.promo-stats span{display:block;font-size:9px;color:var(--muted)}.promo-stats b{font-size:10px;color:var(--navy)}
@media(max-width:650px){.bank-logo-wide{width:108px;height:46px}.offer-head{align-items:flex-start}.promo-stats{grid-template-columns:1fr 1fr}}

/* Motion & polish */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes softPop{0%{opacity:0;transform:scale(.985) translateY(8px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}
.offer-list.animate .offer{animation:softPop .45s both}
.offer-list.animate .offer:nth-child(2){animation-delay:.06s}.offer-list.animate .offer:nth-child(3){animation-delay:.12s}.offer-list.animate .offer:nth-child(4){animation-delay:.18s}.offer-list.animate .offer:nth-child(5){animation-delay:.24s}.offer-list.animate .offer:nth-child(6){animation-delay:.30s}
.primary.loading{pointer-events:none;opacity:.9}.primary.loading:before{content:"";display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-right:9px;vertical-align:-2px}
.linkcard,.guide,.campaign,.bankitem,.offer{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.linkcard:hover,.guide:hover,.campaign:hover,.bankitem:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(19,45,91,.10);border-color:#ced9ea}
.offer:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(19,45,91,.08)}
.article{font-size:16px}.article .lead{font-size:18px;color:#42506b;line-height:1.8}.article h2{font-size:27px;letter-spacing:-.5px}.article h3{font-size:20px;color:var(--navy);margin-top:26px}
.article ul,.article ol{color:#536079;line-height:1.8;padding-left:22px}.article li{margin:7px 0}
.article table{width:100%;border-collapse:collapse;margin:22px 0;font-size:13px}.article th,.article td{border:1px solid var(--line);padding:11px;text-align:left}.article th{background:var(--soft);color:var(--navy)}
.sourcebox{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfcfe;margin-top:28px}.sourcebox a{color:var(--blue);font-weight:750}
.related-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.related-links a{border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--navy);font-weight:750;background:#fff}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal,.reveal.in,.offer-list.animate .offer,.primary.loading:before{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}
@media(max-width:650px){.related-links{grid-template-columns:1fr}}

.bank-logo-wide{width:58px!important;height:58px!important;padding:8px!important}
.bank-logo-wide img{width:42px!important;height:42px!important;object-fit:contain!important}
.bankmark-logo img{object-fit:contain!important}
.promo-bank img{width:42px!important;height:42px!important;padding:4px!important;object-fit:contain!important}

.bank-logo-wide{width:168px!important;height:58px!important;padding:6px 10px!important;background:#fff!important}
.bank-logo-wide img{width:100%!important;height:100%!important;object-fit:contain!important}
.bankmark-logo{width:118px!important;height:44px!important;padding:4px 7px!important;background:#fff!important}
.bankmark-logo img{width:100%!important;height:100%!important;object-fit:contain!important}
.promo-bank img{width:145px!important;height:42px!important;padding:2px!important;background:transparent!important;border:0!important;object-fit:contain!important}

/* v3.2.3: only supplied bank-logo presentation changes */
.promo-bank{min-width:185px!important;height:64px!important;display:flex!important;align-items:center!important;background:transparent!important}
.promo-bank img{width:180px!important;height:58px!important;max-width:180px!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.promo-bank b{display:none!important}
.bank-logo-wide{width:178px!important;height:62px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
.bank-logo-wide img{width:172px!important;height:56px!important;max-width:172px!important;max-height:56px!important;object-fit:contain!important;object-position:left center!important}
.bankmark-logo{width:145px!important;height:50px!important;padding:0!important;border:0!important;background:transparent!important}
.bankmark-logo img{width:140px!important;height:46px!important;object-fit:contain!important}
@media(max-width:650px){
 .promo-bank{min-width:145px!important}.promo-bank img{width:145px!important;height:50px!important}
 .bank-logo-wide{width:140px!important;height:54px!important}.bank-logo-wide img{width:136px!important;height:50px!important}
}

/* v3.2.4 — tracked-bank logos larger only */
.bankitem .bankmark-logo{
  width:178px!important;
  height:62px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.bankitem .bankmark-logo img{
  width:172px!important;
  height:58px!important;
  max-width:172px!important;
  max-height:58px!important;
  object-fit:contain!important;
}
.bankitem{min-height:86px!important}
@media(max-width:650px){
  .bankitem .bankmark-logo{width:150px!important;height:56px!important}
  .bankitem .bankmark-logo img{width:146px!important;height:52px!important}
}

/* v3.2.7 mobile menu - desktop must remain untouched */
#mobileMenuButton.mobile-menu-btn-v327{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  position:absolute !important;
}

@media only screen and (max-width:760px){
  .site-header{height:68px!important}
  .site-header .header-inner{
    height:68px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    position:relative!important;
  }
  .site-header .brand{
    margin:0!important;padding:0!important;line-height:0!important;
  }
  .site-header .brand img{
    display:block!important;
    width:auto!important;
    max-width:190px!important;
    height:42px!important;
    object-fit:contain!important;
  }

  #mobileMenuButton.mobile-menu-btn-v327{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:relative !important;
    width:42px!important;height:42px!important;
    flex:0 0 42px!important;
    border:1px solid #dce4ef!important;
    border-radius:11px!important;
    background:#fff!important;
    padding:0!important;margin:0!important;
    align-items:center!important;justify-content:center!important;
    flex-direction:column!important;gap:4px!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    box-shadow:none!important;
  }
  #mobileMenuButton i{
    display:block!important;width:19px!important;height:2px!important;
    background:#102a56!important;border-radius:3px!important;
    padding:0!important;margin:0!important;
    transition:transform .2s ease,opacity .2s ease!important;
  }
  #mobileMenuButton.open i:nth-child(1){transform:translateY(6px) rotate(45deg)!important}
  #mobileMenuButton.open i:nth-child(2){opacity:0!important}
  #mobileMenuButton.open i:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important}

  .site-header .nav{
    display:none!important;
    position:absolute!important;
    top:60px!important;left:0!important;right:0!important;
    z-index:9999!important;
    flex-direction:column!important;
    gap:2px!important;
    padding:8px!important;
    background:#fff!important;
    border:1px solid #e2e8f0!important;
    border-radius:14px!important;
    box-shadow:0 16px 40px rgba(15,35,70,.14)!important;
  }
  .site-header .nav.mobile-open{display:flex!important}
  .site-header .nav a{
    display:block!important;width:100%!important;
    padding:12px 14px!important;border-radius:9px!important;
  }
}

/* v3.2.8 formatted currency inputs + coverage limit note */
.money input{
  font-variant-numeric:tabular-nums;
}
.amount-limit-note{
  margin-top:9px;
  padding:9px 11px;
  border-radius:9px;
  background:#fff7e8;
  border:1px solid #f2d7a5;
  color:#7a5714;
  font-size:11px;
  line-height:1.45;
}
