/* ===========================
   Ziller Seguros — One Page
   =========================== */

:root{
  --card:#FFFFFF;
  --text:#0B1220;
  --muted:#5B6B86;
  --line:#E6ECF7;

  --blue-900:#061A44;
  --blue-800:#0B2A6F;
  --blue-700:#0D3AA0;
  --blue-600:#1E56F0;
  --blue-500:#2F6BFF;
  --blue-400:#5C8DFF;
  --blue-200:#CFE0FF;

  --gold:#F5A524;
  --rose:#FF4D88;
  --sky:#3B82F6;

  --radius: 18px;
  --shadow: 0 18px 45px rgba(10, 30, 80, .12);
  --shadow2: 0 10px 25px rgba(10, 30, 80, .10);
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1100px 600px at 70% -10%, rgba(47,107,255,.18), transparent 55%),
              radial-gradient(900px 500px at 0% 20%, rgba(30,86,240,.10), transparent 60%),
              var(--bg);
  color:var(--text);
  line-height:1.5;
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
strong{ font-weight:700; }
.nowrap{ white-space:nowrap; }

.container{
  width:min(1120px, calc(100% - 40px));
  margin-inline:auto;
}

.muted{ color:var(--muted);text-align: center; }
.small{ font-size:.92rem; }
.right{ text-align:right; }

/* Topbar */
.topbar{
  background: rgba(11,42,111,.92);
  color: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  padding:10px 0;
}
.topbar__left{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.pill{
  display:inline-flex; align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.14);
  font-weight:600;
  font-size:.86rem;
}
.topbar__right{ display:flex; gap:14px; }
.topbar__link{
  font-size:.92rem;
  opacity:.95;
}
.topbar__link:hover{ opacity:1; text-decoration:underline; }

/* Header */
.header{
  position:sticky; top:0; z-index:40;
  backdrop-filter: blur(10px);
  background: rgba(246,249,255,.72);
  border-bottom: 1px solid rgba(230,236,247,.9);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:18px;
}

.brand{
  display:flex; align-items:center; gap:12px;
  min-width: 210px;
}
.brand__mark{
  width:44px; height:44px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--blue-500), var(--blue-800));
  color:white;
  font-weight:800;
  letter-spacing:.5px;
  box-shadow: 0 12px 28px rgba(47,107,255,.25);
}
.brand__mark--small{
  width:38px; height:38px;
  border-radius: 12px;
  box-shadow:none;
}
.brand__text{ display:flex; flex-direction:column; line-height:1.1; }
.brand__name{ font-weight:800; letter-spacing:-.2px; }
.brand__tag{ font-size:.86rem; color:var(--muted); }

.nav{
  display:flex;
  gap:18px;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(230,236,247,.9);
}
.nav a{
  font-weight:600;
  font-size:.95rem;
  color:#1d2a44;
  opacity:.86;
}
.nav a:hover{ opacity:1; }

.header__actions{ display:flex; align-items:center; gap:10px; }
.menuBtn{
  display:none;
  width:44px; height:44px;
  border-radius: 14px;
  border:1px solid rgba(230,236,247,.9);
  background: rgba(255,255,255,.8);
  cursor:pointer;
}
.menuBtn span{
  display:block;
  height:2px;
  background:#1d2a44;
  margin:6px 10px;
  border-radius:2px;
}
.mobileNav{
  border-top: 1px solid rgba(230,236,247,.9);
  background: rgba(246,249,255,.92);
}
.mobileNav__inner{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding: 14px 0 18px;
}
.mobileNav__inner a{ font-weight:700; }
.mobileNav__inner .btn{ width:100%; justify-content:center; }

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 11px 14px;
  border-radius: 14px;
  border: 1px solid transparent;
  font-weight: 700;
  font-size: .98rem;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.btn--lg{ padding: 13px 16px; border-radius: 16px; }
.btn--block{ width:100%; }

.btn--primary{
  background: linear-gradient(135deg, var(--blue-500), var(--blue-800));
  color:white;
  box-shadow: 0 16px 35px rgba(30,86,240,.22);
}
.btn--primary:hover{ transform: translateY(-1px); box-shadow: 0 20px 44px rgba(30,86,240,.28); }

.btn--ghost{
  background: rgba(255,255,255,.8);
  border-color: rgba(230,236,247,.9);
  color:#15233b;
}
.btn--ghost:hover{ transform: translateY(-1px); }

.btn--soft{
  background: rgba(47,107,255,.10);
  border-color: rgba(47,107,255,.18);
  color: var(--blue-800);
}
.btn--soft:hover{ transform: translateY(-1px); }

/* Hero */
.hero{
  position:relative;
  padding: 56px 0 26px;
  overflow:hidden;
}

.detalhe-hero {
 position: absolute;
  top: -570px;
  width: 640px;
  height: auto;
  right: 0;
}

.hero__grid{
  display:grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 28px;
  align-items:start;
}
.hero__bg{
  position:absolute;
  inset:-40% -20% auto auto;
  width:680px; height:680px;
  filter: blur(6px);
  z-index:-1;
}
.kicker{
  display:inline-block;
  font-weight:800;
  letter-spacing:.18em;
  font-size:.78rem;
  color: var(--blue-700);
  margin-bottom:12px;
}
.hero h1{
  font-size: clamp(2.1rem, 2.9vw, 3.25rem);
  letter-spacing:-.03em;
  line-height: 1.06;
  margin: 0 0 14px;
}
.grad{
  background: linear-gradient(135deg, var(--blue-500), var(--blue-800));
  -webkit-background-clip: text;
  background-clip:text;
  color: transparent;
}
.lead{
  font-size: 1.08rem;
  color: #2a3a58;
  margin: 0 0 18px;
  max-width: 52ch;
}
.hero__cta{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px; }

.trust{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
.trust__item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(230,236,247,.9);
}
.trust__icon{
  width:26px; height:26px;
  border-radius: 10px;
  background: rgba(47,107,255,.14);
  color: var(--blue-800);
  display:grid; place-items:center;
  font-weight:900;
  flex: 0 0 auto;
}
.trust__item strong{ display:block; font-size:.95rem; }
.trust__item span{ display:block; color: var(--muted); font-size:.88rem; }

/* Hero card */
.hero__card{ position:relative; }
.heroCard{
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(230,236,247,.95);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 18px;
}
.heroCard__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 10px;
}
.heroCard__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(47,107,255,.10);
  border: 1px solid rgba(47,107,255,.20);
  color: var(--blue-800);
  font-weight:800;
  font-size:.86rem;
}
.dot{
  width:10px; height:10px;
  border-radius:999px;
  background: #22c55e;
  box-shadow: 0 0 0 5px rgba(34,197,94,.14);
}
.iconBtn{
  width:38px; height:38px;
  border-radius: 14px;
  border: 1px solid rgba(230,236,247,.9);
  background: rgba(255,255,255,.85);
  cursor:pointer;
  font-weight:900;
  color:#162645;
  transition: transform .15s ease;
}
.iconBtn:hover{ transform: translateY(-1px); }

.heroCard__title h2{ margin: 8px 0 2px; letter-spacing:-.02em; }
.heroCard__title p{ margin: 0 0 10px; }

.heroCard__rows{ display:flex; flex-direction:column; gap:10px; padding: 6px 0 14px; }
.row{
  display:grid;
  grid-template-columns: 40px 1fr auto;
  gap: 12px;
  align-items:center;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(246,249,255,.75);
  border: 1px solid rgba(230,236,247,.95);
}
.row__icon{
  width:40px; height:40px;
  border-radius: 16px;
  display:grid; place-items:center;
  background: rgba(47,107,255,.12);
  color: var(--blue-800);
}
.row__icon svg{ width:20px; height:20px; }
.row__text strong{ display:block; font-size:.98rem; }
.row__text span{ display:block; font-size:.88rem; color:var(--muted); }
.row__value{
  font-weight:900;
  color: var(--blue-800);
  font-size:.92rem;
  padding-left: 10px;
}

.heroCard__bottom{ display:flex; flex-direction:column; gap:10px; }
.miniNote{
  display:flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(230,236,247,.95);
  color: var(--muted);
  font-weight:600;
}
.miniNote__icon{ color: var(--blue-700); font-weight:900; }

/* Sections */
.section{ padding: 68px 0; }
.section--alt{
  background:
    radial-gradient(900px 460px at 20% -10%, rgba(47,107,255,.18), transparent 60%),
    var(--bg2);
  border-top: 1px solid rgba(230,236,247,.9);
  border-bottom: 1px solid rgba(230,236,247,.9);
}
.section--contact{
  background: linear-gradient(135deg, var(--blue-900), var(--blue-800));
  color: rgba(255,255,255,.96);
}

.section__head{ margin-bottom: 22px; }
.section__eyebrow{
  font-weight:900;
  letter-spacing:.22em;
  font-size:.78rem;
  color: var(--blue-700);
}
.section--contact .section__eyebrow{ color: rgba(255,255,255,.8); }
.section__title{
  margin: 10px 0 8px;
  font-size: clamp(1.7rem, 2.1vw, 2.25rem);
  letter-spacing:-.03em;
}
.section__subtitle{
  margin:0;
  color: var(--muted);
  max-width: 70ch;
}
.section--contact .section__subtitle{ color: rgba(255,255,255,.84); }

/* Cards */
.cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.card{
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(230,236,247,.95);
  border-radius: var(--radius);
  padding: 18px 18px 18px;
  box-shadow: var(--shadow2);
  position:relative;
  overflow:hidden;
}
.card::after{
  content:"";
  position:absolute;
  inset:auto -60px -80px auto;
  width:220px; height:220px;
  border-radius: 999px;
  opacity:.18;
  background: radial-gradient(circle at 30% 30%, currentColor, transparent 60%);
}
.card__icon{
  width:44px; height:44px;
  border-radius: 16px;
  display:grid; place-items:center;
  border: 1px solid rgba(230,236,247,.95);
  background: rgba(255,255,255,.85);
  color: var(--blue-800);
  margin-bottom: 10px;
}
.card__icon svg{ width:20px; height:20px; }
.card h3{ margin:0 0 6px; letter-spacing:-.01em; }
.card__value{
  margin: 0 0 10px;
  font-weight: 900;
  font-size: 1.6rem;
  letter-spacing:-.02em;
}
.card__text{ margin:0; color: var(--muted); }

.card--gold{ color: var(--gold); }
.card--rose{ color: var(--rose); }
.card--sky{ color: var(--sky); }
.card--gold .card__icon,
.card--rose .card__icon,
.card--sky .card__icon{
  background: rgba(255,255,255,.9);
}

/* Simulator */
.sim{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items:start;
}
.simForm .field{ margin-top: 14px; }
.field label{ display:block; font-weight:800; margin-bottom:8px; }
.inputWrap{
  display:flex; gap:10px; align-items:center;
  padding: 10px;
  border-radius: 18px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(230,236,247,.95);
}
input, textarea{
  width:100%;
  font: inherit;
  border: 1px solid rgba(230,236,247,.95);
  background: rgba(255,255,255,.92);
  color: var(--text);
  border-radius: 14px;
  padding: 12px 12px;
  outline:none;
}
.inputWrap input{
  border:none;
  background: transparent;
  padding: 12px 8px;
}
textarea{ resize: vertical; min-height: 110px; }
input:focus, textarea:focus{
  box-shadow: 0 0 0 4px rgba(47,107,255,.16);
  border-color: rgba(47,107,255,.35);
}
.hint{ margin-top: 8px; color: var(--muted); font-size:.92rem; }
.error{ margin-top: 8px; color: #b42318; font-weight:700; }

.simResult{ margin-top: 16px; }
.simResult__box{
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(230,236,247,.95);
  border-radius: var(--radius);
  padding: 16px;
  box-shadow: var(--shadow2);
}
.simResult__label{ color: var(--muted); font-weight:700; }
.simResult__value{
  font-size: 2rem;
  font-weight: 900;
  letter-spacing:-.03em;
  color: var(--blue-800);
  margin-top: 4px;
}
.simResult__meta{ color: var(--muted); margin-top: 2px; }
.simResult__actions{ display:flex; gap:10px; margin-top: 10px; flex-wrap:wrap; }

/* Panels + table */
.panel{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(230,236,247,.95);
  border-radius: 22px;
  box-shadow: var(--shadow2);
  overflow:hidden;
}
.panel__head{
  padding: 16px 16px 12px;
  border-bottom: 1px solid rgba(230,236,247,.95);
}
.panel__head h3{ margin:0 0 2px; letter-spacing:-.01em; }
.panel__head p{ margin:0; }
.panel__foot{ padding: 14px 16px 16px; }

.panel--dark{
  background: linear-gradient(180deg, rgba(6,26,68,.98), rgba(11,42,111,.98));
  border-color: rgba(255,255,255,.08);
  color: rgba(255,255,255,.94);
}
.panel--dark .muted{ color: rgba(255,255,255,.70); }
.table{ display:flex; flex-direction:column; }
.table__row{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items:center;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(230,236,247,.95);
}
.table__row--head{
  font-weight:900;
  color: #1d2a44;
  background: rgba(246,249,255,.75);
}
.table--dark .table__row{ border-bottom: 1px solid rgba(255,255,255,.10); }
.table--dark .table__row--head{
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.86);
}
.table__row:last-child{ border-bottom:none; }

/* Checklist */
.checkList{ display:grid; gap:10px; margin-top: 10px; }
.check{
  display:flex; align-items:flex-start; gap:10px;
  color: var(--muted);
  font-weight:600;
}
.check span{
  width:22px; height:22px;
  border-radius: 10px;
  background: rgba(34,197,94,.16);
  color:#16a34a;
  display:grid; place-items:center;
  font-weight:900;
  flex: 0 0 auto;
}

/* Split */
.split{
  display:grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 18px;
  align-items:start;
}
.highlights{ display:flex; flex-direction:column; gap:14px; }
.miniCard{
  display:flex;
  gap: 12px;
  align-items:center;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(230,236,247,.95);
  box-shadow: var(--shadow2);
}
.miniCard__icon{
  width:44px; height:44px;
  border-radius: 18px;
  display:grid; place-items:center;
  background: rgba(47,107,255,.12);
  color: var(--blue-800);
}
.miniCard__icon svg{ width:20px; height:20px; }
.miniCard h4{ margin:0; letter-spacing:-.01em; }
.miniCard p{ margin:2px 0 0; }

.bullet{
list-style: none;
  margin: 0;
  padding: 14px 16px;
  display: grid;
  gap: 12px;
  margin-left: -17px;
  font-size: 14px;
}
.bullet li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: #2a3a58;
  font-weight: 600;
}
.ok{
  width:22px; height:22px;
  border-radius: 10px;
  background: rgba(34,197,94,.16);
  color:#16a34a;
  display:grid; place-items:center;
  font-weight:900;
  flex: 0 0 auto;
}

.ctaBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 16px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(47,107,255,.14), rgba(11,42,111,.10));
  border: 1px solid rgba(47,107,255,.18);
}
.ctaBar__text strong{ display:block; letter-spacing:-.01em; }
.ctaBar__text span{ display:block; }

/* Steps */
.steps{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.step{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(230,236,247,.95);
  border-radius: 22px;
  padding: 16px;
  box-shadow: var(--shadow2);
}
.step__icon{
  position:relative;
  width:54px; height:54px;
  border-radius: 22px;
  background: rgba(47,107,255,.12);
  color: var(--blue-800);
  display:grid;
  place-items:center;
  margin-bottom: 12px;
}
.step__icon svg{ width:22px; height:22px; }
.step__num{
  position:absolute;
  top: -10px;
  right: -10px;
  width:26px; height:26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--blue-500), var(--blue-800));
  color:white;
  font-weight:900;
  display:grid; place-items:center;
  font-size:.85rem;
  box-shadow: 0 10px 20px rgba(30,86,240,.24);
}
.step h3{ margin:0 0 6px; letter-spacing:-.01em; }

/* FAQ */
.faq{
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(230,236,247,.95);
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow2);
}
.faqItem + .faqItem{ border-top: 1px solid rgba(230,236,247,.95); }
.faqQ{
  width:100%;
  background: transparent;
  border:none;
  padding: 18px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  font: inherit;
  cursor:pointer;
  font-weight: 800;
  color: #11213d;
}
.faqQ:focus-visible{
  outline:none;
  box-shadow: inset 0 0 0 4px rgba(47,107,255,.14);
}
.chev{
  width: 34px; height: 34px;
  border-radius: 14px;
  border: 1px solid rgba(230,236,247,.95);
  background: rgba(246,249,255,.8);
  position:relative;
}
.chev::before, .chev::after{
  content:"";
  position:absolute;
  inset: 0;
  margin:auto;
  width: 12px;
  height:2px;
  background: #1d2a44;
  border-radius: 2px;
}
.chev::after{
  transform: rotate(90deg);
  transition: transform .18s ease;
}
.faqItem.open .chev::after{ transform: rotate(0deg); }

.faqA{
  padding: 0 18px 18px;
  color: var(--muted);
  display:none;
}
.faqItem.open .faqA{ display:block; }

/* Contact */
.contact{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items:start;
}
.contact__chips{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 14px; }
.chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  font-weight: 700;
  font-size: 14px;
}
.contactForm{
  background: rgba(255,255,255,.96);
  color: var(--text);
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 22px 50px rgba(2, 10, 30, .30);
  padding: 16px;
}
.grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.formActions{ margin-top: 12px; display:grid; gap: 10px; }
.fineprint{ margin: 0; font-size:.88rem; color: rgba(11,18,32,.68); }

.formToast{
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(47,107,255,.18);
  background: rgba(47,107,255,.10);
  color: var(--blue-800);
  font-weight: 800;
}

/* Footer */
.footer{
  padding: 26px 0;
  background: rgba(6,26,68,.98);
  color: rgba(255,255,255,.88);
  border-top: 1px solid rgba(255,255,255,.10);
}
.footer__inner{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items:center;
}
.footer__brand{
  display:flex;
  align-items:center;
  gap: 12px;
}
.footer__links{
  display:flex;
  gap: 14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.footer__links a{ opacity:.9; font-weight:700; font-size:.95rem; }
.footer__links a:hover{ opacity:1; text-decoration:underline; }
.footer__copy{ grid-column: 1 / -1; }

/* Modal */
.modal{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  padding: 20px;
  z-index:60;
}
.modal[hidden]{ display:none; }
.modal__overlay{
  position:absolute;
  inset:0;
  background: rgba(5, 12, 26, .58);
  backdrop-filter: blur(6px);
}
.modal__card{
  position:relative;
  width: min(720px, 100%);
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(230,236,247,.95);
  box-shadow: 0 40px 80px rgba(0,0,0,.32);
  overflow:hidden;
}
.modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 16px;
  border-bottom: 1px solid rgba(230,236,247,.95);
}
.modal__head h3{ margin:0; letter-spacing:-.01em; }
.modal__body{ padding: 16px; color: #2a3a58; }
.modal__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 14px 0 10px;
}
.miniInfo{
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(230,236,247,.95);
  background: rgba(246,249,255,.75);
}
.miniInfo strong{ display:block; }
.miniInfo span{ display:block; margin-top: 2px; }
.modal__foot{
  display:flex;
  gap: 10px;
  justify-content:flex-end;
  padding: 16px;
  border-top: 1px solid rgba(230,236,247,.95);
}

/* Reveal animations */
.reveal{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s ease, transform .5s ease;
}
.reveal.is-in{
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 980px){
  .hero__grid{ grid-template-columns: 1fr; }
  .trust{ grid-template-columns: 1fr; }
  .cards{ grid-template-columns: 1fr; }
  .sim{ grid-template-columns: 1fr; }
  .split{ grid-template-columns: 1fr; }
  .steps{ grid-template-columns: 1fr 1fr; }
  .contact{ grid-template-columns: 1fr; }
  .footer__inner{ grid-template-columns: 1fr; }
  .footer__links{ justify-content:flex-start; }
  .nav{ display:none; }
  .menuBtn{ display:inline-flex; flex-direction:column; justify-content:center; }
  .muted { font-size: 7px !important; }
}

@media (max-width: 520px){
  .grid2{ grid-template-columns: 1fr; }
  .steps{ grid-template-columns: 1fr; }
  .topbar__right{ display:none; }
}


/* Simulator: highlight selected range */
.table__row.isActive{
  outline: 2px solid rgba(11,42,111,.35);
  background: rgba(11,42,111,.06);
}

/* Floating CTA */
.floatBtn{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 70;
  border: 0;
  border-radius: 999px;
  padding: 14px 16px;
  font-weight: 800;
  letter-spacing: -.01em;
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
  cursor: pointer;
  background: linear-gradient(135deg, #2b66ff, #0b2a6f);
  color: #fff;
    font-size: 16px;
}
.floatBtn:focus{ outline: 3px solid rgba(43,102,255,.45); outline-offset: 3px; }
@media (max-width: 520px){
  .floatBtn{
    left: 14px;
    right: 14px;
    bottom: 14px;
    width: calc(100% - 28px);
    text-align: center;
  }
}

/* Modal contact form spacing */
.contactForm--modal .formActions{ margin-top: 10px; }
.sep{
  border: 0;
  border-top: 1px solid rgba(230,236,247,.95);
  margin: 16px 0;
}
