/* =========================================================
   COVERINSTANTLY — HOMEPAGE
========================================================= */

.coverinstantly-home{background:#fff}

/* Hero */
.home-hero{
  position:relative;
  overflow:hidden;
  background:var(--navy-950);
  color:#fff;
  isolation:isolate;
}
.home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/86px 100%,
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/100% 86px,
    radial-gradient(circle at 76% 30%,rgba(237,61,77,.2),transparent 30%),
    linear-gradient(135deg,#061426 0%,#0b213b 64%,#102d4a 100%);
}
.home-hero::after{
  content:"";
  position:absolute;
  z-index:-2;
  width:720px;
  height:720px;
  right:-260px;
  top:-180px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
  box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018);
}
.hero-grid{
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr);
  gap:64px;
  align-items:center;
  padding:74px 0 88px;
}
.hero-copy-block{position:relative;z-index:2}
.hero-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:20px;
  color:#d9e5f2;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-status::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#41d497;
  box-shadow:0 0 0 6px rgba(65,212,151,.13);
  animation:statusPulse 2.2s infinite;
}
@keyframes statusPulse{50%{box-shadow:0 0 0 10px rgba(65,212,151,0)}}
.home-hero h1{
  max-width:720px;
  margin:0;
  color:#fff;
  font-size:clamp(46px,6vw,78px);
  line-height:.95;
  letter-spacing:-.055em;
}
.home-hero h1 span{display:block;color:#ff7c87}
.hero-intro{
  max-width:640px;
  margin:23px 0 0;
  color:#c8d6e6;
  font-size:19px;
  line-height:1.55;
}
.hero-facts{
  display:flex;
  flex-wrap:wrap;
  gap:16px 27px;
  margin:29px 0 0;
  padding:0;
  list-style:none;
}
.hero-facts li{
  display:flex;
  align-items:center;
  gap:9px;
  color:#f4f8fc;
  font-size:13px;
  font-weight:800;
}
.hero-facts i{color:#ff7c87}

/* Quote console */
.quote-console{
  position:relative;
  z-index:2;
  background:#fff;
  color:var(--ink);
  border:1px solid rgba(255,255,255,.55);
  border-radius:var(--radius-lg);
  box-shadow:0 38px 100px rgba(0,0,0,.34);
  overflow:hidden;
}
.quote-console::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,var(--red-500),#ff7b86,var(--red-500));
  background-size:200% 100%;
  animation:signalBar 3s linear infinite;
}
@keyframes signalBar{to{background-position:-200% 0}}
.console-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:25px 27px 21px;
  border-bottom:1px solid var(--line);
}
.console-head small{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.console-head h2{margin:0;color:var(--navy-950);font-size:25px;letter-spacing:-.03em}
.console-lock{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--success);
  background:#f1fbf7;
}
.console-body{padding:25px 27px 27px}
.quote-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.quote-label-row label{font-size:14px}
.quote-label-row span{color:var(--muted);font-size:11px;font-weight:700}
.registration-shell{
  position:relative;
  display:grid;
  grid-template-columns:56px 1fr;
  min-height:70px;
  overflow:hidden;
  border:3px solid #101820;
  border-radius:8px;
  background:var(--plate);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32),0 10px 26px rgba(6,20,38,.13);
}
.registration-shell::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:70px;
  left:-90px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-17deg);
  animation:plateScan 3.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes plateScan{0%,42%{left:-90px}72%,100%{left:110%}}
.plate-country{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#184e91;
  color:#fff;
  font-size:11px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.06em;
}
.plate-country i{font-size:12px;margin-bottom:3px}
.registration-shell input{
  height:100%;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none!important;
  color:#101820;
  text-align:center;
  text-transform:uppercase;
  font-family:Arial Black,Arial,sans-serif;
  font-size:29px;
  font-weight:900;
  letter-spacing:.07em;
}
.registration-shell input::placeholder{color:rgba(16,24,32,.42)}
.quote-help{
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0 18px;
  color:var(--muted);
  font-size:11px;
}
.quote-help i{color:var(--success)}
.quote-submit{width:100%;min-height:59px;font-size:17px}
.quote-submit i{transition:transform .18s ease}
.quote-submit:hover i{transform:translateX(3px)}
.quote-disclosure{
  margin:14px 0 0;
  color:#758296;
  text-align:center;
  font-size:10px;
  line-height:1.45;
}

/* Animated journey */
.quote-route{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  position:relative;
  margin:23px 0 0;
  padding-top:17px;
  border-top:1px solid var(--line);
}
.quote-route::before{
  content:"";
  position:absolute;
  top:30px;
  left:10%;
  right:10%;
  height:2px;
  background:var(--surface-3);
}
.route-progress{
  position:absolute;
  top:30px;
  left:10%;
  width:0;
  height:2px;
  background:var(--red-500);
  animation:routeProgress 8s ease-in-out infinite;
}
@keyframes routeProgress{
  0%,8%{width:0}
  25%{width:26%}
  48%{width:52%}
  72%,100%{width:80%}
}
.route-step{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  gap:8px;
  color:#8491a2;
  font-size:10px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.route-step b{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:2px solid var(--surface-3);
  border-radius:50%;
  background:#fff;
  color:#8491a2;
  font-size:10px;
  transition:.25s ease;
}
.route-step:nth-of-type(1) b{animation:stepOne 8s infinite}
.route-step:nth-of-type(2) b{animation:stepTwo 8s infinite}
.route-step:nth-of-type(3) b{animation:stepThree 8s infinite}
.route-step:nth-of-type(4) b{animation:stepFour 8s infinite}
@keyframes stepOne{0%,100%{border-color:var(--red-500);background:var(--red-500);color:#fff}}
@keyframes stepTwo{0%,20%{}28%,100%{border-color:var(--red-500);background:var(--red-500);color:#fff}}
@keyframes stepThree{0%,44%{}52%,100%{border-color:var(--red-500);background:var(--red-500);color:#fff}}
@keyframes stepFour{0%,68%{}76%,100%{border-color:var(--red-500);background:var(--red-500);color:#fff}}

/* Assurance strip */
.assurance-strip{position:relative;z-index:5;margin-top:-35px}
.assurance-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-md);
}
.assurance-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  align-items:center;
  min-height:96px;
  padding:17px 21px;
  border-right:1px solid var(--line);
}
.assurance-item:last-child{border-right:0}
.assurance-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--blue-100);
  color:var(--navy-700);
}
.assurance-item strong{display:block;color:var(--navy-950);font-size:14px}
.assurance-item span{display:block;margin-top:2px;color:var(--muted);font-size:11px}

/* Intro / situations */
.home-section{padding:102px 0}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:42px;
}
.section-head .section-lead{max-width:450px;margin:0}
.situation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.situation-card{
  position:relative;
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border-radius:var(--radius);
  background:var(--navy-900);
  color:#fff;
  box-shadow:var(--shadow-sm);
}
.situation-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.68;
  transition:transform .5s ease,opacity .3s ease;
}
.situation-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 18%,rgba(6,20,38,.16) 43%,rgba(6,20,38,.96) 100%);
}
.situation-card:hover img{transform:scale(1.045);opacity:.8}
.situation-copy{position:relative;z-index:1;padding:24px}
.situation-number{color:#ff919a;font-size:11px;font-weight:900;letter-spacing:.12em}
.situation-card h3{margin:8px 0 7px;font-size:22px;line-height:1.05;letter-spacing:-.03em}
.situation-card p{margin:0;color:#d6e0ec;font-size:13px}

/* Cover breakdown */
.cover-breakdown{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cover-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:center}
.cover-visual{
  position:relative;
  min-height:550px;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--navy-900);
  box-shadow:var(--shadow-md);
}
.cover-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.cover-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,38,.04),rgba(6,20,38,.86))}
.policy-chip{
  position:absolute;
  z-index:2;
  left:23px;
  right:23px;
  bottom:23px;
  padding:22px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius);
  background:rgba(6,20,38,.82);
  backdrop-filter:blur(12px);
  color:#fff;
}
.policy-chip small{color:#ff919a;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.policy-chip strong{display:block;margin-top:6px;font-size:23px}
.policy-chip span{display:block;margin-top:5px;color:#c7d4e2;font-size:12px}
.cover-copy .section-title{font-size:clamp(34px,4vw,52px)}
.cover-copy>p{margin:19px 0 28px;color:var(--muted);font-size:17px}
.cover-list{display:grid;gap:0;border-top:1px solid var(--line)}
.cover-list-item{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:16px;
  align-items:center;
  padding:19px 0;
  border-bottom:1px solid var(--line);
}
.cover-list-item i{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--line);
  color:var(--navy-700);
}
.cover-list-item strong{display:block;color:var(--navy-950);font-size:15px}
.cover-list-item span{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.cover-list-item b{color:var(--success);font-size:11px;text-transform:uppercase;letter-spacing:.06em}

/* How it works */
.process-section{background:#fff}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.process-grid::before{
  content:"";
  position:absolute;
  top:35px;
  left:8%;
  right:8%;
  border-top:1px dashed var(--line-dark);
}
.process-card{position:relative;z-index:1;padding-right:28px}
.process-number{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border:1px solid var(--line-dark);
  border-radius:50%;
  background:#fff;
  color:var(--red-500);
  font-size:19px;
  font-weight:900;
  box-shadow:0 0 0 8px #fff;
}
.process-card h3{margin:22px 0 8px;color:var(--navy-950);font-size:20px}
.process-card p{margin:0;color:var(--muted);font-size:13px}

/* Eligibility panel */
.eligibility-section{padding:0 0 102px}
.eligibility-panel{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--navy-950);
  color:#fff;
  box-shadow:var(--shadow-md);
}
.eligibility-copy{padding:54px}
.eligibility-copy .eyebrow{color:#ff8b95}
.eligibility-copy h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.03;letter-spacing:-.04em}
.eligibility-copy p{margin:18px 0 0;color:#c6d3e1}
.eligibility-points{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  align-content:center;
  gap:1px;
  background:rgba(255,255,255,.11);
}
.eligibility-points div{min-height:130px;padding:26px;background:var(--navy-900)}
.eligibility-points i{color:#ff8b95;font-size:20px}
.eligibility-points strong{display:block;margin:11px 0 5px;font-size:15px}
.eligibility-points span{display:block;color:#aebdd0;font-size:12px}

/* Reviews */
.reviews-section{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.review-card{
  min-height:245px;
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.review-card::before{content:"“";display:block;height:37px;color:#e5e9ee;font-family:Georgia,serif;font-size:64px;line-height:.8}
.review-stars{margin:12px 0 8px;color:#ef9f18;letter-spacing:2px}
.review-card p{margin:0;color:#425166;font-size:14px}
.review-card strong{display:block;margin-top:20px;color:var(--navy-950)}
.review-meta,.review-price,.verified{margin-top:4px;color:var(--muted);font-size:11px;font-weight:700}
.verified{color:var(--success)}

/* FAQ */
.home-faq{background:#fff}
.faq-grid{display:grid;grid-template-columns:.62fr 1fr;gap:70px;align-items:start}
.faq-side{position:sticky;top:150px}
.faq-side p{margin:17px 0 23px;color:var(--muted)}

/* Final CTA */
.final-quote-band{
  position:relative;
  overflow:hidden;
  padding:72px 0;
  background:var(--red-500);
  color:#fff;
}
.final-quote-band::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px) 0 0/70px 100%,linear-gradient(135deg,transparent 57%,rgba(6,20,38,.18) 57%);
}
.final-quote-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:35px}
.final-quote-inner small{display:block;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.final-quote-inner h2{margin:7px 0 0;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.04em}
.final-quote-inner p{margin:10px 0 0;color:#ffe7e9}
.final-quote-inner button{
  min-width:220px;
  min-height:58px;
  border:1px solid var(--navy-950);
  border-radius:var(--radius-sm);
  background:var(--navy-950);
  color:#fff;
  font-weight:900;
}
.final-quote-inner button:hover{background:#0d2542}

@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr 440px;gap:38px}
  .situation-grid{grid-template-columns:repeat(2,1fr)}
  .cover-grid{gap:42px}
  .assurance-grid{grid-template-columns:repeat(2,1fr)}
  .assurance-item:nth-child(2){border-right:0}
  .assurance-item:nth-child(-n/**/+2){border-bottom:1px solid var(--line)}
}

@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;min-height:auto;padding:62px 0 100px}
  .hero-copy-block{max-width:700px}
  .quote-console{max-width:620px}
  .cover-grid,.faq-grid{grid-template-columns:1fr}
  .cover-visual{min-height:460px}
  .process-grid{grid-template-columns:repeat(2,1fr);gap:40px 10px}
  .process-grid::before{display:none}
  .eligibility-panel{grid-template-columns:1fr}
  .review-grid{grid-template-columns:1fr}
  .faq-side{position:static}
}

@media(max-width:640px){
  .home-hero h1{font-size:clamp(43px,13.4vw,62px)}
  .hero-intro{font-size:16px}
  .hero-grid{padding:45px 0 82px;gap:34px}
  .console-head,.console-body{padding-left:18px;padding-right:18px}
  .console-head h2{font-size:21px}
  .registration-shell{grid-template-columns:50px 1fr;min-height:62px}
  .registration-shell input{font-size:23px;padding:0 6px}
  .quote-route{display:none}
  .assurance-strip{margin-top:-27px}
  .assurance-grid{grid-template-columns:1fr}
  .assurance-item{min-height:78px;border-right:0!important;border-bottom:1px solid var(--line)!important}
  .assurance-item:last-child{border-bottom:0!important}
  .home-section{padding:78px 0}
  .section-head{align-items:flex-start;flex-direction:column;margin-bottom:30px}
  .situation-grid{grid-template-columns:1fr}
  .situation-card{min-height:270px}
  .cover-visual{min-height:390px}
  .cover-list-item{grid-template-columns:42px 1fr}
  .cover-list-item b{grid-column:2}
  .process-grid{grid-template-columns:1fr;gap:30px}
  .process-card{display:grid;grid-template-columns:60px 1fr;padding:0;column-gap:17px}
  .process-number{width:58px;height:58px;grid-row:1/3}
  .process-card h3{margin:4px 0 5px}
  .eligibility-copy{padding:36px 25px}
  .eligibility-points{grid-template-columns:1fr}
  .eligibility-points div{min-height:auto}
  .final-quote-inner{align-items:flex-start;flex-direction:column}
  .final-quote-inner button{width:100%}
}

/* Brand new asset set */
.home-hero{
  background:#061426;
}
.home-hero::before{
  background:
    linear-gradient(90deg,rgba(6,20,38,.92) 0%,rgba(6,20,38,.82) 30%,rgba(6,20,38,.54) 54%,rgba(6,20,38,.78) 100%),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/100% 86px,
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/86px 100%,
    url("images/hero-night-drive.png") center/cover no-repeat;
}
.home-hero::after{
  width:680px;
  height:680px;
  right:-220px;
  top:-170px;
  border-color:rgba(255,255,255,.06);
}
.situation-card img,.cover-visual img{opacity:.78}
@media(max-width:860px){
  .home-hero::before{
    background:
      linear-gradient(180deg,rgba(6,20,38,.72) 0%,rgba(6,20,38,.56) 35%,rgba(6,20,38,.92) 100%),
      linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/68px 100%,
      url("images/hero-night-drive.png") 66% center/cover no-repeat;
  }
}


/* =========================================================
   COVERINSTANTLY — ASSURANCE ICON FIX
   Inline SVGs guarantee that the four circles never render empty.
========================================================= */
.coverinstantly-home .assurance-item{
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
}
.coverinstantly-home .assurance-item > .assurance-icon{
  width:46px;
  height:46px;
  min-width:46px;
  display:grid;
  place-items:center;
  margin:0;
  border:1px solid #f2c7cc;
  border-radius:50%;
  background:linear-gradient(145deg,#fff4f5,#ffe7ea);
  color:var(--red-500);
  box-shadow:inset 0 0 0 5px #fff,0 7px 18px rgba(6,20,38,.08);
  font-size:inherit;
}
.coverinstantly-home .assurance-icon svg{
  display:block;
  width:23px;
  height:23px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.coverinstantly-home .assurance-icon .fa{
  display:none!important;
}
.coverinstantly-home .assurance-item > div{
  min-width:0;
}
.coverinstantly-home .assurance-item > div > strong{
  font-size:14px;
  line-height:1.3;
}
.coverinstantly-home .assurance-item > div > span{
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
}
@media(max-width:640px){
  .coverinstantly-home .assurance-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .coverinstantly-home .assurance-item{
    min-height:116px;
    grid-template-columns:1fr;
    align-content:start;
    justify-items:start;
    gap:10px;
    padding:17px;
    border-right:1px solid var(--line)!important;
    border-bottom:1px solid var(--line)!important;
  }
  .coverinstantly-home .assurance-item:nth-child(2n){border-right:0!important}
  .coverinstantly-home .assurance-item:nth-last-child(-n/**/+2){border-bottom:0!important}
  .coverinstantly-home .assurance-item > .assurance-icon{
    width:42px;
    height:42px;
    min-width:42px;
  }
  .coverinstantly-home .assurance-icon svg{
    width:21px;
    height:21px;
  }
}
@media(max-width:380px){
  .coverinstantly-home .assurance-grid{grid-template-columns:1fr}
  .coverinstantly-home .assurance-item{
    min-height:0;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    padding:15px 16px;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .coverinstantly-home .assurance-item:last-child{border-bottom:0!important}
}
