*{box-sizing:border-box}html,body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#fff}.hidden{display:none}

/* EXACT DESKTOP VISUAL */
.desktop-site{display:block;position:relative;width:100%;max-width:1536px;margin:0 auto;background:#fff}
.approved-layout{display:block;width:100%;height:auto}
.hotspot{position:absolute;display:block;z-index:5}
.phone-top{left:82.5%;top:2.6%;width:15%;height:4.5%}
.contact-top{left:70%;top:3.2%;width:10%;height:3%}
.service-1{left:3.7%;top:56.8%;width:23%;height:18%}
.service-2{left:27.4%;top:56.8%;width:23%;height:18%}
.service-3{left:51%;top:56.8%;width:23%;height:18%}
.service-4{left:74.5%;top:56.8%;width:22%;height:18%}

/* Overlay live form exactly in the approved card area */
.desktop-form{position:absolute;left:61.1%;top:23.7%;width:33.1%;height:28.5%;z-index:6;padding:10.8% 3.0% 2.1%;color:#fff}
.desktop-form form{height:100%}
.d-step{display:none}.d-step.active{display:block}.d-step small{font-size:clamp(8px,.75vw,12px)}.d-step h3{font-size:clamp(10px,1.15vw,17px);margin:.5em 0 .8em}.d-step>input{width:100%;height:clamp(34px,3.5vw,54px);border:0;border-radius:7px;padding:0 12px;font-size:clamp(10px,1vw,15px);margin-bottom:7px}.d-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}.d-choices button{min-height:clamp(30px,2.7vw,42px);border:1px solid #66778c;background:#fff;color:#0a2341;border-radius:6px;font-weight:800;font-size:clamp(8px,.8vw,12px)}.d-choices button.selected{border:2px solid #ef2029;background:#fff2f3}.d-controls{display:flex;gap:7px;margin-top:12px}.d-controls button,.d-submit{height:clamp(34px,3.3vw,52px);border:0;border-radius:6px;font-weight:900;font-size:clamp(8px,.85vw,12px)}#d-back{width:34%;background:#fff;color:#09213e}#d-next{flex:1;background:#ef2029;color:#fff}.d-submit{width:100%;background:#ef2029;color:#fff}.consent{display:flex;gap:5px;font-size:clamp(7px,.6vw,9px);line-height:1.3;margin:5px 0 8px}

/* MOBILE VERSION */
.mobile-site{display:none}
@media(max-width:700px){
  .desktop-site{display:none}
  .mobile-site{display:block;background:#fff;color:#071d3d}
  .m-header{height:76px;background:#001b3c;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 15px;position:sticky;top:0;z-index:20}
  .m-brand{display:flex;align-items:center;gap:8px}.m-house{font-size:38px}.m-brand>span:last-child{display:flex;flex-direction:column;line-height:.92}.m-brand b{font-size:18px}.m-brand strong{font-size:12px;color:#ef2029;margin-top:4px}.m-phone{font-size:12px}
  .m-hero{position:relative;color:#fff;background:#031b38;overflow:hidden}.m-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,18,39,.56),rgba(2,18,39,.38) 42%,rgba(2,18,39,.74) 100%),url("mobile-hero.jpg") 55% center/cover no-repeat}.m-hero-inner{position:relative;z-index:2;padding:28px 16px 34px}.m-pill{display:inline-block;background:rgba(64,27,44,.72);border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:8px 10px;font-size:9px;font-weight:900}.m-hero h1{font-size:39px;line-height:1.03;margin:20px 0 14px}.m-hero h1 span{color:#ef2029}.m-hero>p,.m-hero-inner>p{font-size:15px;line-height:1.5}.m-benefits{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.m-benefits>div{background:rgba(1,23,48,.58);border-radius:10px;padding:12px;display:flex;gap:8px}.m-benefits i{font-style:normal;width:32px;height:32px;border-radius:50%;background:#ef2029;display:grid;place-items:center;flex:0 0 32px}.m-benefits span{display:flex;flex-direction:column}.m-benefits b{font-size:11px}.m-benefits small{font-size:9px;line-height:1.35;margin-top:3px}
  .m-form-card{background:linear-gradient(180deg,#001f47,#00132e);border:1px solid rgba(255,255,255,.42);border-radius:16px;padding:22px 17px;box-shadow:0 16px 34px rgba(0,0,0,.34)}.m-form-title{text-align:center}.m-form-title small{font-size:12px;font-weight:900}.m-form-title h2{color:#ef2029;margin:5px 0;font-size:25px}.m-form-title p{font-size:10px;margin:0}.m-progress{display:flex;align-items:center;margin:20px 10px}.m-progress span{width:29px;height:29px;border-radius:50%;background:#8993a1;display:grid;place-items:center;font-size:10px}.m-progress span.active{background:#ef2029}.m-progress i{height:3px;flex:1;background:#98a2af}.m-step{display:none}.m-step.active{display:block}.m-step small{font-size:10px}.m-step h3{font-size:16px;margin:9px 0 13px}.m-step>input{width:100%;height:50px;border:0;border-radius:7px;padding:0 13px;margin-bottom:8px;font-size:14px}.m-choices{display:grid;gap:8px}.m-choices button{height:46px;border:1px solid #68788c;background:#fff;color:#0a2341;border-radius:7px;font-weight:800}.m-choices button.selected{border:2px solid #ef2029;background:#fff2f3}.m-controls{display:flex;gap:8px;margin-top:17px}.m-controls button,.m-submit{height:51px;border:0;border-radius:7px;font-weight:900}#m-back{width:34%;background:#fff;color:#0a2341}#m-next{flex:1;background:#ef2029;color:#fff}.m-submit{width:100%;background:#ef2029;color:#fff}.m-secure{text-align:center;font-size:9px;margin-top:14px;color:#d5dee8}
  .m-services{padding:42px 16px}.m-services>small{display:block;text-align:center;color:#ef2029;font-weight:900}.m-services>h2{text-align:center;font-size:26px}.m-services article{display:flex;gap:14px;border:1px solid #e0e6ed;border-radius:12px;padding:16px;margin:12px 0;box-shadow:0 6px 18px rgba(15,40,68,.06)}.m-services article i{font-style:normal;width:52px;height:52px;border-radius:11px;background:#f1f5fa;color:#ef2029;display:grid;place-items:center;font-size:26px;flex:0 0 52px}.m-services h3{margin:2px 0 6px;font-size:16px}.m-services p{margin:0;font-size:12px;line-height:1.45;color:#64768a}
  .m-contact{background:#001b3c;padding:20px 16px;display:grid;gap:10px}.m-contact a{background:#fff;border-radius:8px;padding:14px;color:#071d3d;text-align:center;font-size:13px}
}

/* === Questionnaire cleanup + page color polish === */
body{
  background:
    radial-gradient(circle at 12% 12%, rgba(239,32,41,.08), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(11,121,223,.10), transparent 28%),
    linear-gradient(180deg,#edf4fb 0%,#f8fbff 48%,#eef3f9 100%);
}
.desktop-site{
  box-shadow:0 0 50px rgba(7,34,68,.18);
}
.desktop-site::before,
.desktop-site::after{
  content:"";
  position:fixed;
  top:0;bottom:0;
  width:max(calc((100vw - 1536px)/2),0px);
  pointer-events:none;
  z-index:-1;
}
.desktop-site::before{
  left:0;
  background:linear-gradient(180deg,#eaf2fb,#f8fbff 45%,#f0f5fb);
}
.desktop-site::after{
  right:0;
  background:linear-gradient(180deg,#eaf2fb,#f8fbff 45%,#f0f5fb);
}
.desktop-form{
  padding-top:9.9%;
}
.d-step h3{
  margin-bottom:.35em;
}
.question-help{
  margin:.15em 0 .8em;
  font-size:clamp(7px,.62vw,10px);
  line-height:1.35;
  color:#d3deea;
}
.mini-label{
  display:block;
  font-size:clamp(7px,.62vw,9px);
  font-weight:900;
  color:#d7e2ed;
  margin:7px 0 5px;
}
.homeowner-row{
  grid-template-columns:1fr 1fr!important;
  margin-bottom:3px;
}
.d-step>input{
  box-shadow:0 2px 7px rgba(0,0,0,.07);
}
.d-choices button{
  transition:.15s ease;
}
.d-choices button:hover{
  transform:translateY(-1px);
  border-color:#ef2029;
}
.d-controls{
  margin-top:10px;
}
.d-submit{
  background:linear-gradient(90deg,#f02830,#dd1019)!important;
}
@media(max-width:700px){
  .mobile-site{
    background:
      radial-gradient(circle at 10% 8%,rgba(239,32,41,.08),transparent 25%),
      linear-gradient(180deg,#f5f9fd,#edf4fb);
  }
  .m-question-help{
    margin:-4px 0 12px;
    font-size:10px;
    line-height:1.4;
    color:#cbd8e5;
  }
  .m-form-card{
    box-shadow:0 20px 45px rgba(0,0,0,.32);
    border-color:rgba(255,255,255,.52);
  }
  .m-choices button{
    transition:.15s ease;
  }
  .m-choices button:active{
    transform:scale(.99);
  }
  .m-services{
    background:linear-gradient(180deg,#ffffff,#f6f9fc);
  }
}

/* === Fresh questionnaire rebuild in the exact same desktop location === */
.rebuilt-card{
  position:absolute;
  z-index:10;
  left:61.0%;
  top:22.7%;
  width:33.5%;
  min-height:30.2%;
  padding:24px 30px 20px;
  border-radius:18px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 5%,rgba(18,79,142,.28),transparent 30%),
    linear-gradient(155deg,#062955 0%,#001a3d 48%,#001229 100%);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 22px 48px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.08);
}
.rebuilt-head{text-align:center}
.rebuilt-head small{font-size:clamp(9px,.86vw,13px);font-weight:900;letter-spacing:.2px}
.rebuilt-head h2{font-size:clamp(18px,1.8vw,28px);margin:5px 0;color:#f12730;line-height:1}
.rebuilt-head p{font-size:clamp(8px,.72vw,11px);margin:0;color:#f4f7fa}
.rebuilt-progress{display:flex;align-items:center;margin:18px 15px 17px}
.rebuilt-progress span{width:clamp(25px,2vw,31px);height:clamp(25px,2vw,31px);border-radius:50%;display:grid;place-items:center;background:#8b95a2;font-size:clamp(8px,.72vw,11px);box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.rebuilt-progress span.active{background:#ef2029}
.rebuilt-progress i{height:3px;flex:1;background:#8f9cad}
.rebuilt-card .d-step small{color:#e7edf4}
.rebuilt-card .d-step h3{font-size:clamp(11px,1.08vw,16px);margin:7px 0 5px}
.rebuilt-card .question-help{font-size:clamp(7px,.62vw,10px);line-height:1.35;margin:0 0 10px;color:#cbd8e5}
.rebuilt-card .zip-wrap{position:relative}
.rebuilt-card .zip-wrap input,
.rebuilt-card .d-step>input{
  width:100%;height:clamp(39px,3.45vw,53px);border:1px solid #d9e0e8;border-radius:7px;background:#fff;color:#132943;padding:0 40px 0 14px;font-size:clamp(10px,.92vw,14px);outline:none;box-shadow:0 3px 9px rgba(0,0,0,.12)
}
.rebuilt-card .zip-wrap span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#274b74}
.rebuilt-card .d-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.rebuilt-card .d-choices button{
  min-height:clamp(34px,2.8vw,44px);border-radius:7px;border:1px solid #a8b7c7;background:#f9fbfd;color:#0a2341;font-weight:800;font-size:clamp(8px,.72vw,11px);cursor:pointer
}
.rebuilt-card .d-choices button.selected{background:#fff1f2;border:2px solid #ef2029;color:#a7080f}
.rebuilt-card .mini-label{display:block;margin:6px 0 5px;font-size:clamp(7px,.62vw,9px);font-weight:900;color:#dbe5ee}
.rebuilt-card .d-controls{display:flex;gap:8px;margin-top:14px}
.rebuilt-card .d-controls button,.rebuilt-card .d-submit{height:clamp(39px,3.45vw,53px);border:0;border-radius:7px;font-weight:900;cursor:pointer}
.rebuilt-card #d-back{width:32%;background:#fff;color:#09213e}
.rebuilt-card #d-next,.rebuilt-card .d-submit{background:linear-gradient(90deg,#f1262f,#e11821);color:#fff;box-shadow:0 7px 17px rgba(239,32,41,.22)}
.rebuilt-card #d-next{flex:1}.rebuilt-card .d-submit{width:100%}
.rebuilt-card .consent{font-size:clamp(7px,.57vw,9px);color:#dce5ed;margin:6px 0 8px}
.rebuilt-secure{text-align:center;font-size:clamp(7px,.58vw,9px);color:#d6e0e9;margin-top:12px}

/* cover the old questionnaire visible in the screenshot underneath */
.desktop-site::after{
  content:"";
  position:absolute;
  z-index:8;
  left:60.8%;
  top:22.2%;
  width:34.0%;
  height:31.5%;
  border-radius:20px;
  background:#00152f;
  box-shadow:0 18px 38px rgba(0,0,0,.35);
}
.rebuilt-card{z-index:11}


/* ===== DESKTOP FULL-WIDTH FIX ===== */
html,body{
  width:100%;
  margin:0;
  padding:0;
  overflow-x:hidden;
  background:#fff;
}
.desktop-site{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.approved-layout{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
}
.mobile-site{
  display:none !important;
}
body > .mobile-site{
  display:none !important;
}


/* ===== DESKTOP SHARPNESS + QUESTIONNAIRE PROPORTIONS ===== */
@media (min-width:701px){
  body{
    background:
      radial-gradient(circle at 12% 18%,rgba(239,32,41,.07),transparent 28%),
      radial-gradient(circle at 88% 18%,rgba(31,105,178,.10),transparent 30%),
      linear-gradient(180deg,#eaf2fa 0%,#f8fbfe 55%,#edf3f9 100%) !important;
  }

  /* Do not stretch the 1024px design endlessly on ultra-wide screens.
     This keeps text/images visibly sharper while still using most of a normal desktop. */
  .desktop-site{
    width:min(100%,1440px) !important;
    max-width:1440px !important;
    margin:0 auto !important;
    background:#fff;
    box-shadow:0 0 34px rgba(7,34,68,.16);
  }

  .approved-layout{
    display:block;
    width:100% !important;
    height:auto !important;
    image-rendering:auto;
  }

  /* Fresh card: same general spot, but more vertical and less stretched horizontally. */
  .rebuilt-card{
    left:62.2% !important;
    width:30.8% !important;
    min-height:30.8% !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  /* Fully cover the questionnaire baked into the reference image beneath it. */
  .desktop-site::after{
    left:60.7% !important;
    width:34.4% !important;
    height:32.2% !important;
  }
}

@media (min-width:1600px){
  .desktop-site{
    max-width:1480px !important;
  }
}
