/* ==========================================================================
   Google Ads landing page — focused, conversion-optimized
   ========================================================================== */
.lp {
  background:
    radial-gradient(1100px 600px at 75% 20%, rgba(16,100,108,.28), transparent 60%),
    linear-gradient(180deg, var(--teal-800, #0a3138), var(--teal-900, #06262b));
  color: #fff; padding: 3rem 0 4rem;
}
.lp__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: start; }
@media (max-width: 900px){ .lp__grid { grid-template-columns: 1fr; gap: 2rem; } }

/* Left: pitch */
.lp__eyebrow { font-family: var(--font-display); font-weight: 600; font-size: .8rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--accent); }
.lp__h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08; margin: .8rem 0 1rem; color: #fff; }
.lp__lede { font-size: 1.12rem; line-height: 1.6; color: #cfe6e8; max-width: 52ch; }
.lp__benefits { list-style: none; margin: 1.6rem 0; padding: 0; display: grid; gap: .7rem; }
.lp__benefits li { position: relative; padding-left: 2rem; color: #eaf4f5; font-size: 1.02rem; line-height: 1.4; }
.lp__benefits li::before { content: "✓"; position: absolute; left: 0; top: -1px; width: 1.4rem; height: 1.4rem;
  background: var(--accent); color: var(--teal-900, #06262b); border-radius: 50%; display: grid; place-items: center;
  font-size: .85rem; font-weight: 700; }

.lp__trust { margin-top: 1.8rem; padding-top: 1.6rem; border-top: 1px solid rgba(255,255,255,.14); }
.lp__stars { display: flex; align-items: center; gap: .6rem; font-size: 1rem; color: #eaf4f5; }
.lp__starrow { color: #ffb703; font-size: 1.15rem; letter-spacing: 1px; }
.lp__stars b { color: #fff; }
.lp__badges { display: flex; gap: .6rem; margin-top: 1rem; flex-wrap: wrap; }
.lp__badge { display: grid; place-items: center; background: #fff; border-radius: 8px; padding: .4rem; width: 58px; height: 58px; }
.lp__badge img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.lp__callnow { margin-top: 1.4rem; color: #cfe6e8; }
.lp__callnow a { color: #fff; font-weight: 700; font-family: var(--font-display); text-decoration: none; border-bottom: 2px solid var(--accent); }

/* Right: form card */
.lp__formcard { background: #fff; color: var(--ink); border-radius: var(--radius-lg, 18px); padding: 2rem;
  box-shadow: 0 30px 70px rgba(0,0,0,.35); position: sticky; top: 1.5rem; }
.lp__formtitle { font-size: 1.5rem; margin: 0; color: var(--ink); }
.lp__formsub { color: var(--slate); margin: .3rem 0 1.4rem; font-size: .95rem; }
.lp__field { margin-bottom: 1rem; }
.lp__field label { display: block; font-family: var(--font-display); font-weight: 600; font-size: .88rem; margin-bottom: .35rem; color: var(--ink); }
.lp__field .req { color: #d33; }
.lp__opt { color: var(--slate); font-weight: 400; }
.lp__field input { width: 100%; padding: .8rem .9rem; font-size: 1rem; font-family: var(--font-body);
  border: 1.5px solid var(--line); border-radius: 10px; transition: border-color .15s; }
.lp__field input:focus { outline: none; border-color: var(--teal-500); }
.lp__field input.invalid { border-color: #d33; background: #fff5f5; }
.lp__submit { width: 100%; margin-top: .6rem; }
.lp__fineprint { font-size: .78rem; color: var(--slate); text-align: center; margin-top: .9rem; line-height: 1.4; }
.lp__error { background: #fff5f5; border: 1px solid #f3c2c2; color: #a02020; padding: .8rem 1rem; border-radius: 10px; margin-bottom: 1.2rem; font-size: .9rem; }

@media (max-width: 900px){
  .lp__formcard { position: static; }
}
