.parisienne-regular {
  font-family: "Parisienne", cursive;
  font-weight: 400;
  font-style: normal;
}

    :root{
      --lp-red:#009fd9;
      --ink:#1F2A30;
      --muted:#6A6F73;
      --border:#333;
      --focus:#0b62ff;
      --radius:12px;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--ink);background:#fff}

    /* Top brand bar */
    .top{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #f2f3f4}
    .brand-wrap{max-width:960px;margin:0 auto;padding:18px 20px;display:flex;justify-content:center;align-items:center}
    .lp-logo{font-weight:900;font-size:28px;color:var(--lp-red);text-decoration:none;letter-spacing:.3px}
    /* thin progress accent under header (left aligned to window) */
    .progress{height:4px;background:linear-gradient(90deg,var(--lp-red) 24%, rgba(252,86,71,.2) 24%);}

    /* Center stage */
    .stage{max-width:720px;margin:64px auto 0;padding:0 20px;text-align:center}
    h1{margin:0 0 14px;font-size:36px;line-height:1.2;font-weight:800;letter-spacing:.2px}
    .sub{color:var(--muted);font-size:16px;margin-bottom:28px}

    .zip-row{width:450px;display:inline-grid;grid-template-columns: minmax(260px,520px) 48px;gap:8px;align-items:stretch}
    input[type="text"]{border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-size:16px;outline:none}
    input[type="text"]:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(11,98,255,.12)}

    .geo-btn{border:1px solid var(--border);background:#fff;border-radius:10px;display:grid;place-items:center;cursor:pointer}
    .geo-btn:focus{outline:3px solid rgba(11,98,255,.18)}
    .geo{width:20px;height:20px;position:relative}
    .geo::before,.geo::after{content:"";position:absolute;border:2px solid var(--ink);border-radius:50%}
    .geo::before{inset:2px}
    .geo::after{inset:-1px}

    .cta{margin:28px auto 0;display:block;max-width:520px}
    .btn{width:450px;appearance:none;border:none;border-radius:4px;background:var(--lp-red);color:#fff;font-weight:800;padding:14px 18px;font-size:16px;cursor:pointer}
    .btn:focus{outline:3px solid rgba(252,86,71,.35)}

    /* extra white space to emulate screenshot layout */
    .spacer{height:28vh}
	
/* Mobile */
    /* Styles for screens up to 768px wide (typical for tablets and phones) */
    @media screen and (max-width: 768px) {
        .submit {
            width: 100%;
        }
        .zip-row {
            width:100%;
        }
    }


/* modal styles */
  .modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
  }

  .modal-content {
    background-color: #fefefe;
    margin: 0;
    border: 1px solid #888;
	width: 100%;
    height: 100%;
    /* 
	width: 90%;
    height: 90%;
	margin-left:auto;
	margin-right:auto;
	margin-top:2.5%;
	*/
  }

  .modal-content iframe {
    width: 100%;
    height: 100%;
    border: none;
  }

.frameloader {
  width: 15px;
  aspect-ratio: 1;
  border-radius: 50%;
  animation: l5 1s infinite linear alternate;
  background:blue;
  margin-left:auto;
  margin-right:auto;
  position: absolute;
  top: 47%;
  left:47%;
  -ms-transform: translateY(-47%);
  transform: translateY(-47%);
}
@keyframes l5 {
    0%  {box-shadow: 20px 0 #1E90FF, -20px 0 #1E90FF33; background: #1E90FF}
    33% {box-shadow: 20px 0 #1E90FF, -20px 0 #1E90FF33; background: #1E90FF33}
    66% {box-shadow: 20px 0 #1E90FF33, -20px 0 #1E90FF; background: #1E90FF33}
    100%{box-shadow: 20px 0 #1E90FF33, -20px 0 #1E90FF; background: #1E90FF}
}
#modalIframe { display:none; }

/* Header with Phone */
.lp-header{
    /* background:#eee; */
    padding:12px 0;
}

.header-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.phone-cta{
    display:flex;
    align-items:center;
    gap:10px;
}

.phone-icon{
    width:38px;
}

.phone-label{
    font-size:13px;
    color:#555;
}

.phone-number{
    font-size:22px;
    font-weight:700;
    color:#1d5bd8;
    text-decoration:none;
}