
/* =========================
   LANDING (ADD-ON CSS) v1
   Prefijo: lp-
   ========================= */

.lp-body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:#eaf0ff;
  background:#070b14;
  line-height:1.5;
}

.lp-skip{
  position:absolute;
  left:-9999px;
  top:8px;
  padding:10px 12px;
  background:#fff;
  color:#000;
  border-radius:10px;
  z-index:9999;
}
.lp-skip:focus{ left:12px; }

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

.lp-topbar{
  background: linear-gradient(90deg, #0b1220, #0a1633);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lp-topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
}
.lp-topbar__left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.lp-topbar__text{
  color:rgba(234,240,255,.86);
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lp-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}
.lp-pill--ok{ border-color: rgba(58,231,160,.35); }

.lp-topbar__right{ display:flex; gap:10px; }
.lp-toplink{
  font-size:14px;
  color:#eaf0ff;
  text-decoration:none;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}
.lp-toplink:hover{ background: rgba(255,255,255,.10); }
.lp-toplink--wa{ border-color: rgba(0,255,160,.25); }

.lp-header{
  position:sticky;
  top:0;
  z-index:2000;
  background: rgba(7,11,20,.78);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lp-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
}
.lp-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#eaf0ff;
  min-width:0;
}
.lp-brand__logo{
  width:44px;
  height:44px;
  border-radius:12px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.lp-brand__text{ min-width:0; }
.lp-brand__name{
  display:block;
  font-weight:750;
  letter-spacing:.2px;
  font-size:15px;
}
.lp-brand__tag{
  display:block;
  font-size:12px;
  color:rgba(234,240,255,.72);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.lp-nav{
  display:flex;
  align-items:center;
  gap:14px;
}
.lp-nav__link{
  color:rgba(234,240,255,.86);
  text-decoration:none;
  font-size:14px;
  padding:8px 10px;
  border-radius:10px;
}
.lp-nav__link:hover{ background: rgba(255,255,255,.06); }
.lp-nav__cta{
  color:#071018;
  background: #eaf0ff;
  text-decoration:none;
  font-size:14px;
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.18);
}
.lp-nav__cta:hover{ filter: brightness(.96); }

/* Menú móvil */
.lp-navm{ display:none; }
.lp-navm__btn{
  list-style:none;
  cursor:pointer;
  user-select:none;
  color:#eaf0ff;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
}
.lp-navm__panel{
  margin-top:10px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(11,18,32,.92);
  display:grid;
  gap:10px;
}
.lp-navm__panel a{
  color:rgba(234,240,255,.90);
  text-decoration:none;
  padding:10px 10px;
  border-radius:12px;
  background: rgba(255,255,255,.06);
}
.lp-navm__panel a:hover{ background: rgba(255,255,255,.10); }
.lp-navm__actions{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }

.lp-hero{
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(79,140,255,.22), transparent 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(0,255,160,.12), transparent 60%),
    linear-gradient(180deg, #070b14 0%, #0b1220 100%);
  padding: 28px 0 18px;
}
.lp-hero__grid{
  display:grid;
  grid-template-columns: 1.25fr .85fr;
  gap:22px;
  align-items:start;
}
.lp-h1{
  margin:0 0 10px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height:1.1;
  letter-spacing:-.2px;
}
.lp-accent{ color:#a9c7ff; }
.lp-lead{
  margin:0 0 14px;
  color:rgba(234,240,255,.86);
  font-size:16px;
}
.lp-bullets{
  margin:0 0 16px;
  padding-left:18px;
  color:rgba(234,240,255,.82);
}
.lp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 14px 0 18px;
}
.lp-actions--center{ justify-content:center; }

.lp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  font-weight:750;
  font-size:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:#eaf0ff;
}
.lp-btn:hover{ background: rgba(255,255,255,.10); }
.lp-btn--pri{
  background:#eaf0ff;
  color:#071018;
  border-color: rgba(255,255,255,.18);
}
.lp-btn--pri:hover{ filter: brightness(.96); }
.lp-btn--sec{
  border-color: rgba(0,255,160,.25);
}
.lp-btn--ghost{
  background: transparent;
  border-color: rgba(255,255,255,.18);
}
.lp-btn--full{ width:100%; }

.lp-badges{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
}
.lp-badge{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  border-radius:16px;
  padding:10px 12px;
}
.lp-badge__k{ display:block; font-weight:800; font-size:14px; }
.lp-badge__t{ display:block; color:rgba(234,240,255,.72); font-size:12px; }

.lp-card{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  border-radius:18px;
  padding:16px;
}
.lp-card--hero{
  position:sticky;
  top: 86px;
}
.lp-h2{ margin:0 0 10px; font-size:20px; letter-spacing:-.1px; }
.lp-h3{ margin:0 0 8px; font-size:16px; }
.lp-small{ margin:0 0 10px; font-size:13px; color:rgba(234,240,255,.78); }
.lp-muted{ color:rgba(234,240,255,.62); }
.lp-note a, .lp-link{ color:#a9c7ff; text-decoration:none; }
.lp-link:hover{ text-decoration:underline; }

.lp-contact{ display:grid; gap:10px; margin:10px 0; }
.lp-divider{
  height:1px;
  background: rgba(255,255,255,.10);
  margin: 14px 0;
}

.lp-form{ display:grid; gap:8px; margin-top:10px; }
.lp-label{ font-size:12px; color:rgba(234,240,255,.72); }
.lp-input, .lp-textarea{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(7,11,20,.55);
  color:#eaf0ff;
  padding:11px 12px;
  outline:none;
}
.lp-input:focus, .lp-textarea:focus{
  border-color: rgba(169,199,255,.55);
  box-shadow: 0 0 0 4px rgba(169,199,255,.10);
}
.lp-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:12px;
  color:rgba(234,240,255,.72);
}
.lp-check input{ margin-top:2px; }

.lp-section{ padding: 36px 0; }
.lp-section--tight{ padding: 18px 0; }
.lp-section--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lp-section__head{ margin-bottom:16px; }
.lp-lead2{ margin:0; color:rgba(234,240,255,.82); max-width:70ch; }

.lp-quick{
  display:grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap:10px;
}
.lp-quick__item{
  text-decoration:none;
  color:#eaf0ff;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  padding:12px 12px;
  border-radius:16px;
  font-weight:700;
  font-size:13px;
  text-align:center;
}
.lp-quick__item:hover{ background: rgba(255,255,255,.09); }

.lp-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
}
.lp-svc{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  border-radius:18px;
  padding:16px;
}
.lp-svc__icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  margin-bottom:10px;
  font-size:18px;
}
.lp-svc p{ margin:0 0 10px; color:rgba(234,240,255,.80); font-size:13px; }

.lp-pricegrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
.lp-price{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(7,11,20,.35);
  border-radius:18px;
  padding:14px;
}
.lp-price__k{ font-size:13px; color:rgba(234,240,255,.72); margin-bottom:6px; }
.lp-price__v{ font-size:15px; }

.lp-center{ text-align:center; }

.lp-zones{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
}

.lp-steps{
  margin:0;
  padding-left: 18px;
  display:grid;
  gap:8px;
  color:rgba(234,240,255,.82);
}

.lp-faq{
  display:grid;
  gap:10px;
}
.lp-faq__item{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  border-radius:18px;
  padding:12px 14px;
}
.lp-faq__item summary{
  cursor:pointer;
  font-weight:800;
  list-style:none;
}
.lp-faq__item p{
  margin:10px 0 0;
  color:rgba(234,240,255,.80);
  font-size:13px;
}

.lp-footer{
  padding: 26px 0 90px;
  border-top:1px solid rgba(255,255,255,.08);
  background: #070b14;
}
.lp-footer__grid{
  display:grid;
  grid-template-columns: 1.4fr .6fr;
  gap:18px;
}
.lp-footer__brand{ font-weight:850; margin-bottom:8px; }
.lp-footer__links{
  display:grid;
  gap:8px;
  align-content:start;
}
.lp-footer__links a{
  color:rgba(234,240,255,.86);
  text-decoration:none;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
}
.lp-footer__links a:hover{ background: rgba(255,255,255,.09); }

.lp-sticky{
  position:fixed;
  left:0; right:0; bottom:0;
  display:none;
  gap:10px;
  padding:12px 16px;
  background: rgba(7,11,20,.88);
  backdrop-filter: blur(10px);
  border-top:1px solid rgba(255,255,255,.10);
  z-index:2500;
}
.lp-sticky__btn{
  flex:1;
  text-align:center;
  text-decoration:none;
  font-weight:850;
  border-radius:14px;
  padding:12px 12px;
  border:1px solid rgba(255,255,255,.14);
  background: #eaf0ff;
  color:#071018;
}
.lp-sticky__btn--wa{
  background: rgba(255,255,255,.06);
  color:#eaf0ff;
  border-color: rgba(0,255,160,.25);
}

/* Responsive */
@media (max-width: 980px){
  .lp-hero__grid{ grid-template-columns: 1fr; }
  .lp-card--hero{ position:relative; top:auto; }
  .lp-badges{ grid-template-columns: 1fr; }
  .lp-grid{ grid-template-columns: 1fr 1fr; }
  .lp-pricegrid{ grid-template-columns: 1fr 1fr; }
  .lp-zones{ grid-template-columns: 1fr; }
  .lp-quick{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px){
  .lp-nav{ display:none; }
  .lp-navm{ display:block; }
  .lp-topbar__text{ display:none; }
  .lp-grid{ grid-template-columns: 1fr; }
  .lp-footer__grid{ grid-template-columns: 1fr; }
  .lp-sticky{ display:flex; }
  .lp-header__inner{ padding:10px 0; }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* ==========================================
   THEME OVERRIDE (fondo claro relajante)
   Pegar AL FINAL del CSS actual
   ========================================== */

/* Fondo y colores base (claro + relajante) */
.lp-body{
  color: #0f172a; /* texto principal */
  background:
    radial-gradient(900px 520px at 12% 0%, rgba(34,197,94,.12), transparent 55%),
    radial-gradient(900px 520px at 92% 10%, rgba(20,184,166,.10), transparent 60%),
    linear-gradient(180deg, #f7f6f1 0%, #eef2f0 55%, #f7f6f1 100%);
}

/* Topbar/header claros, con buen contraste */
.lp-topbar{
  background: rgba(247,246,241,.72);
  border-bottom: 1px solid rgba(15,23,42,.10);
  backdrop-filter: blur(10px);
}
.lp-header{
  background: rgba(247,246,241,.80);
  border-bottom: 1px solid rgba(15,23,42,.10);
  backdrop-filter: blur(10px);
}

/* Textos */
.lp-topbar__text{ color: rgba(15,23,42,.78); }
.lp-pill{
  border-color: rgba(15,23,42,.12);
  background: rgba(255,255,255,.65);
  color: rgba(15,23,42,.78);
}
.lp-pill--ok{ border-color: rgba(34,197,94,.35); }

/* Links top */
.lp-toplink{
  color: rgba(15,23,42,.85);
  border-color: rgba(15,23,42,.14);
  background: rgba(255,255,255,.72);
}
.lp-toplink:hover{ background: rgba(255,255,255,.92); }
.lp-toplink--wa{ border-color: rgba(20,184,166,.35); }

/* Brand */
.lp-brand{ color:#0f172a; }
.lp-brand__tag{ color: rgba(15,23,42,.62); }
.lp-brand__logo{
  border-color: rgba(15,23,42,.10);
  background: rgba(255,255,255,.85);
  box-shadow: 0 10px 24px rgba(2,6,23,.10);
}

/* Nav */
.lp-nav__link{ color: rgba(15,23,42,.78); }
.lp-nav__link:hover{ background: rgba(15,23,42,.06); }
.lp-nav__cta{
  background: linear-gradient(135deg, #0f766e, #22c55e);
  color: #ffffff;
  border-color: rgba(2,6,23,.08);
}
.lp-nav__cta:hover{ filter: brightness(.98); }

/* HERO: pasamos a claro, suave */
.lp-hero{
  background:
    radial-gradient(1200px 650px at 10% 0%, rgba(34,197,94,.12), transparent 60%),
    radial-gradient(900px 520px at 90% 10%, rgba(20,184,166,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.60) 0%, rgba(247,246,241,0) 70%);
}

/* Títulos y textos */
.lp-h1{ color:#0f172a; }
.lp-lead{ color: rgba(15,23,42,.76); }
.lp-lead2{ color: rgba(15,23,42,.72); }
.lp-muted{ color: rgba(15,23,42,.62); }
.lp-small{ color: rgba(15,23,42,.62); }
.lp-accent{ color:#0f766e; } /* acento en título */

/* Cards claras */
.lp-card,
.lp-svc,
.lp-faq__item,
.lp-price,
.lp-badge,
.lp-quick__item{
  background: rgba(255,255,255,.78);
  border-color: rgba(15,23,42,.10);
  box-shadow: 0 18px 48px rgba(2,6,23,.10);
}

/* Icon box */
.lp-svc__icon{
  background: rgba(15,118,110,.10);
  border-color: rgba(15,118,110,.18);
}

/* Botones: primario verde petróleo + secundario turquesa */
.lp-btn{
  border-color: rgba(15,23,42,.14);
  background: rgba(255,255,255,.70);
  color:#0f172a;
}
.lp-btn:hover{ background: rgba(255,255,255,.92); }

.lp-btn--pri{
  background: linear-gradient(135deg, #0f766e, #22c55e);
  color:#ffffff;
  border-color: rgba(2,6,23,.08);
}
.lp-btn--pri:hover{ filter: brightness(.98); }

.lp-btn--sec{
  background: rgba(20,184,166,.10);
  border-color: rgba(20,184,166,.35);
  color:#0f172a;
}
.lp-btn--sec:hover{ background: rgba(20,184,166,.16); }

.lp-btn--ghost{
  background: transparent;
  border-color: rgba(15,23,42,.18);
}

/* Inputs */
.lp-input, .lp-textarea{
  background: rgba(255,255,255,.92);
  border-color: rgba(15,23,42,.14);
  color:#0f172a;
}
.lp-input:focus, .lp-textarea:focus{
  border-color: rgba(15,118,110,.55);
  box-shadow: 0 0 0 4px rgba(15,118,110,.14);
}

/* Quick tiles */
.lp-quick__item{
  color:#0f172a;
}
.lp-quick__item:hover{
  background: rgba(255,255,255,.95);
}

/* Precios / secciones alternas */
.lp-section--alt{
  background: rgba(15,23,42,.03);
  border-top: 1px solid rgba(15,23,42,.08);
  border-bottom: 1px solid rgba(15,23,42,.08);
}

/* Footer claro */
.lp-footer{
  background: rgba(255,255,255,.65);
  border-top: 1px solid rgba(15,23,42,.10);
}
.lp-footer__links a{
  color: rgba(15,23,42,.80);
  background: rgba(255,255,255,.78);
  border-color: rgba(15,23,42,.10);
}
.lp-footer__links a:hover{ background: rgba(255,255,255,.95); }

/* Barra fija móvil */
.lp-sticky{
  background: rgba(247,246,241,.92);
  border-top: 1px solid rgba(15,23,42,.10);
}
.lp-sticky__btn{
  background: linear-gradient(135deg, #0f766e, #22c55e);
  color:#fff;
  border-color: rgba(2,6,23,.08);
}
.lp-sticky__btn--wa{
  background: rgba(20,184,166,.10);
  color:#0f172a;
  border-color: rgba(20,184,166,.35);
}

/* =========================
   PATCH: overflow topbar + contraste textos/links
   Pegar AL FINAL del CSS
   ========================= */

/* Evita desbordes por padding/bordes */
.lp-body, .lp-body * { box-sizing: border-box; }

/* TOPBAR: que nunca se salga */
.lp-topbar__inner{
  flex-wrap: wrap;            /* permite salto de línea si falta espacio */
  row-gap: 8px;
}

.lp-topbar__right{
  margin-left: auto;          /* empuja a la derecha */
  display: flex;
  gap: 10px;
  flex-wrap: wrap;            /* si no cabe, baja */
  justify-content: flex-end;
}

.lp-toplink{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  max-width: 100%;
}

/* LINKS AZULES: más oscuros para leerse */
.lp-link,
.lp-note a,
.lp-footer a,
.lp-faq__item a{
  color: #0f766e;            /* verde petróleo legible */
  font-weight: 700;
}
.lp-link:hover,
.lp-note a:hover,
.lp-footer a:hover,
.lp-faq__item a:hover{
  color: #115e59;
  text-decoration: underline;
}

/* Texto de listas y tarjetas (antes heredaba “blanco” del tema oscuro) */
.lp-bullets,
.lp-bullets li{
  color: rgba(15, 23, 42, .78);
}

.lp-svc p{
  color: rgba(15, 23, 42, .72);
}

.lp-faq__item p,
.lp-price__k,
.lp-price__v,
.lp-small,
.lp-muted{
  color: rgba(15, 23, 42, .68);
}

/* Si algún enlace dentro de cards queda aún pálido */
.lp-svc .lp-link,
.lp-card .lp-link{
  color: #0f766e;
}

/* Botón WhatsApp secundario: asegura contraste */
.lp-btn--sec{
  color: #0f172a;
  border-color: rgba(20,184,166,.40);
  background: rgba(20,184,166,.12);
}
.lp-btn--sec:hover{
  background: rgba(20,184,166,.18);
}

/* =========================
   PATCH FINAL: sección "Cómo solicitar asistencia"
   (lista numerada demasiado clara)
   Pegar AL FINAL del CSS
   ========================= */

/* La lista numerada del proceso */
.lp-steps,
.lp-steps li{
  color: rgba(15, 23, 42, .78) !important;   /* texto legible */
}

/* Números/markers visibles y consistentes */
.lp-steps{
  padding-left: 22px;                         /* un poco más de aire */
}
.lp-steps li::marker{
  color: rgba(15, 23, 42, .55) !important;    /* el número en gris medio */
  font-weight: 800;
}

/* Si esa sección está dentro de .lp-section--alt, refuerza el contraste */
.lp-section--alt .lp-steps,
.lp-section--alt .lp-steps li{
  color: rgba(15, 23, 42, .80) !important;
}

/* Por si hay algún párrafo dentro de esa sección con el mismo problema */
.lp-section--alt p{
  color: rgba(15, 23, 42, .72);
}

/* =========================
   PATCH CONTRASTE FINAL
   (formulario + links sin clase + badges)
   Pegar AL FINAL del CSS
   ========================= */

/* 1) Etiquetas del formulario (Nombre/Teléfono/Mensaje) */
.lp-form .lp-label{
  color: rgba(15,23,42,.78) !important;
  font-weight: 700 !important;
}

/* 2) Texto del checkbox */
.lp-form .lp-check,
.lp-form .lp-check span{
  color: rgba(15,23,42,.72) !important;
}

/* 3) Enlaces DENTRO de cards y formularios aunque NO tengan clase lp-link */
.lp-card a,
.lp-form a,
.lp-check a,
.lp-note a{
  color: #0f766e !important;           /* verde petróleo legible */
  font-weight: 700 !important;
  text-decoration: none !important;
}
.lp-card a:hover,
.lp-form a:hover,
.lp-check a:hover,
.lp-note a:hover{
  color: #115e59 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* 4) Badges pequeños (24/7, <30 min, Transparente) */
.lp-badge__t{
  color: rgba(15,23,42,.60) !important;
}

/* 5) Textos secundarios dentro de tarjetas (por si alguno quedó pálido) */
.lp-card p,
.lp-svc p,
.lp-faq__item p{
  color: rgba(15,23,42,.72) !important;
}

/* 6) Inputs y placeholders (para asegurar legibilidad total) */
.lp-input,
.lp-textarea{
  color: #0f172a !important;
}
.lp-input::placeholder,
.lp-textarea::placeholder{
  color: rgba(15,23,42,.45) !important;
}

/* 7) Si algún link “azul claro” queda fuera de lo anterior */
a:link, a:visited{
  text-decoration-color: rgba(15,118,110,.35);
}

html { scroll-behavior: smooth; }
body { margin: 0; }

.lp-body { min-height: 100vh; overflow-x: hidden; }

.lp-eyebrow {
  margin: 0 0 10px;
  color: #0f766e;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lp-lead--large { max-width: 62ch; font-size: clamp(17px, 1.5vw, 20px); }
.lp-btn--large { min-height: 50px; padding-inline: 18px; font-size: 15px; }

.lp-hero__grid--conversion {
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  align-items: center;
}

.lp-hero-photo {
  position: relative;
  min-height: 430px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(2, 6, 23, .16);
}

.lp-hero-photo img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  display: block;
  object-fit: cover;
  object-position: center 45%;
}

.lp-hero-photo figcaption {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  display: grid;
  gap: 2px;
  padding: 13px 15px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 16px;
  color: #0f172a;
  background: rgba(255, 255, 255, .90);
  backdrop-filter: blur(12px);
}

.lp-hero-photo figcaption span { color: rgba(15, 23, 42, .68); font-size: 13px; }

.lp-response-note {
  margin: -5px 0 18px;
  color: rgba(15, 23, 42, .64);
  font-size: 13px;
}

.lp-proofbar {
  border-top: 1px solid rgba(15, 23, 42, .08);
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  background: rgba(255, 255, 255, .72);
}

.lp-proofbar__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lp-proof,
.lp-google-rating {
  display: flex;
  min-height: 92px;
  align-items: center;
  gap: 11px;
  padding: 14px 18px;
  border-right: 1px solid rgba(15, 23, 42, .08);
  color: #0f172a !important;
  text-decoration: none !important;
}

.lp-proof:last-child { border-right: 0; }
.lp-proof strong,
.lp-proof small,
.lp-google-rating strong,
.lp-google-rating small { display: block; }
.lp-proof small,
.lp-google-rating small { color: rgba(15, 23, 42, .58); font-size: 12px; }
.lp-proof__icon {
  display: grid;
  flex: 0 0 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  color: #0f766e;
  background: rgba(15, 118, 110, .10);
  font-weight: 900;
}
.lp-stars { color: #e29d14; font-size: 15px; letter-spacing: 1px; }
.lp-google-rating .lp-stars { flex: 0 0 auto; }

.lp-section--notice { padding-block: 24px; }
.lp-scope {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: center;
  gap: 20px;
}
.lp-scope p { margin: 0; color: rgba(15, 23, 42, .72); }
.lp-no-copies {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(180, 83, 9, .20);
  border-radius: 18px;
  background: rgba(255, 247, 237, .82);
}
.lp-no-copies > span {
  display: grid;
  flex: 0 0 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  color: #9a3412;
  background: rgba(234, 88, 12, .12);
  font-size: 24px;
}
.lp-no-copies p { color: rgba(67, 20, 7, .78); font-size: 13px; }

.lp-section__head--split {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: end;
  gap: 24px;
}
.lp-h2--large { max-width: 780px; font-size: clamp(24px, 3vw, 36px); line-height: 1.15; }
.lp-grid--services { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lp-svc--conversion { min-height: 255px; }
.lp-svc--conversion .lp-svc__icon {
  color: #0f766e;
  font-size: 20px;
  font-weight: 900;
}
.lp-svc--conversion p { font-size: 14px; }

.lp-specialty {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(260px, .72fr);
  align-items: center;
  gap: 34px;
}
.lp-brands {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 22px 0;
}
.lp-brands span {
  padding: 9px 13px;
  border: 1px solid rgba(15, 118, 110, .20);
  border-radius: 999px;
  color: #115e59;
  background: rgba(255, 255, 255, .72);
  font-size: 13px;
  font-weight: 800;
}
.lp-checklist { display: grid; gap: 10px; }
.lp-checklist li {
  position: relative;
  padding-left: 25px;
  color: rgba(15, 23, 42, .76);
}
.lp-checklist li::before {
  position: absolute;
  left: 0;
  color: #0f766e;
  content: '✓';
  font-weight: 900;
}
.lp-specialty__photo {
  position: relative;
  height: 500px;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 22px 60px rgba(2, 6, 23, .14);
}
.lp-specialty__photo img { width: 100%; height: 100%; object-fit: cover; }
.lp-specialty__photo figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  color: #0f172a;
  background: rgba(255, 255, 255, .90);
  font-size: 12px;
  font-weight: 750;
}

.lp-pricebox {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  align-items: center;
  gap: 26px;
  padding: 32px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 26px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 22px 60px rgba(2, 6, 23, .10);
}
.lp-pricebox__main p { color: rgba(15, 23, 42, .70); }
.lp-pricebox__main .lp-h2 span { color: #0f766e; white-space: nowrap; }
.lp-pricebox__promise {
  padding: 20px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: 20px;
  background: rgba(15, 118, 110, .06);
}
.lp-pricebox__promise strong { font-size: 18px; }
.lp-pricebox__promise p { margin-block: 7px 16px; color: rgba(15, 23, 42, .70); font-size: 14px; }

.lp-reviews {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 28px;
}
.lp-reviews__score {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 28px;
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(145deg, #0f766e, #14532d);
  box-shadow: 0 22px 60px rgba(15, 118, 110, .18);
}
.lp-reviews__score p { color: rgba(255, 255, 255, .78); }
.lp-reviews__score .lp-btn { margin-top: auto; }
.lp-score { font-size: 68px; font-weight: 900; line-height: .95; }
.lp-stars--large { margin: 12px 0 8px; font-size: 22px; }
.lp-review-themes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.lp-review-themes article {
  padding: 22px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 20px;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 16px 44px rgba(2, 6, 23, .08);
}
.lp-review-themes span { color: #0f766e; font-weight: 850; }
.lp-review-themes p { color: rgba(15, 23, 42, .68); font-size: 14px; }

.lp-gallery {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr 1.2fr;
  gap: 12px;
}
.lp-gallery figure {
  position: relative;
  height: 390px;
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #e7ebe8;
}
.lp-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.lp-gallery figure:hover img { transform: scale(1.025); }
.lp-gallery figcaption {
  position: absolute;
  right: 10px;
  bottom: 10px;
  left: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #0f172a;
  background: rgba(255, 255, 255, .90);
  font-size: 12px;
  font-weight: 800;
}

.lp-location {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: 24px;
}
.lp-location__details {
  padding: 28px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 24px;
  background: rgba(255, 255, 255, .76);
}
.lp-location address { margin-block: 18px; color: #0f172a; font-size: 19px; font-style: normal; font-weight: 800; }
.lp-location__details > p { color: rgba(15, 23, 42, .68); }
.lp-location__image {
  min-height: 420px;
  overflow: hidden;
  border-radius: 24px;
}
.lp-location__image img { width: 100%; height: 100%; object-fit: cover; }
.lp-faq-wrap { max-width: 900px; }

.lp-final-cta {
  padding: 36px 0;
  color: #fff;
  background: linear-gradient(135deg, #0f766e, #14532d);
}
.lp-final-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.lp-final-cta .lp-eyebrow { color: rgba(255, 255, 255, .72); }
.lp-final-cta h2 { max-width: 680px; margin: 0; font-size: clamp(24px, 3vw, 36px); }
.lp-final-cta .lp-actions { flex: 0 0 auto; margin: 0; }

.lp-sticky--controlled { display: none; transform: translateY(110%); transition: transform .25s ease; }
.lp-sticky--controlled.is-visible { transform: translateY(0); }

.lp-navm__btn {
  color: #0f172a;
  border-color: rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .84);
}
.lp-navm__panel {
  position: absolute;
  right: 16px;
  width: min(280px, calc(100vw - 32px));
  border-color: rgba(15, 23, 42, .12);
  background: rgba(247, 246, 241, .98);
  box-shadow: 0 20px 50px rgba(2, 6, 23, .16);
}
.lp-navm__panel a { color: #0f172a; background: rgba(255, 255, 255, .90); }

.lp-consent {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 4000;
  width: min(440px, calc(100vw - 36px));
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 20px;
  color: #0f172a;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 22px 70px rgba(2, 6, 23, .22);
}
.lp-consent p { margin: 0 0 13px; color: rgba(15, 23, 42, .74); font-size: 13px; }
.lp-consent div { display: flex; gap: 8px; }
.lp-consent button {
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 11px;
  color: #0f172a;
  background: #fff;
  cursor: pointer;
  font-weight: 750;
}
.lp-consent .lp-consent__accept { color: #fff; background: #0f766e; }
.lp-consent > a { display: inline-block; margin-top: 10px; color: #0f766e; font-size: 12px; }

.lp-legal { padding: 56px 0 90px; }
.lp-legal > .lp-container { max-width: 850px; }
.lp-legal h1 { margin-bottom: 34px; font-size: clamp(32px, 5vw, 52px); line-height: 1.08; }
.lp-legal section {
  margin-bottom: 16px;
  padding: 22px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 18px;
  background: rgba(255, 255, 255, .76);
}
.lp-legal h2 { margin-bottom: 10px; font-size: 20px; }
.lp-legal p { color: rgba(15, 23, 42, .72); }

@media (max-width: 980px) {
  .lp-hero__grid--conversion { grid-template-columns: 1fr; }
  .lp-hero-photo { min-height: 330px; }
  .lp-hero-photo img { min-height: 330px; }
  .lp-proofbar__grid { grid-template-columns: 1fr 1fr; }
  .lp-proof:nth-child(2) { border-right: 0; }
  .lp-scope,
  .lp-section__head--split,
  .lp-specialty,
  .lp-pricebox,
  .lp-reviews,
  .lp-location { grid-template-columns: 1fr; }
  .lp-grid--services,
  .lp-review-themes { grid-template-columns: 1fr 1fr; }
  .lp-gallery { grid-template-columns: 1fr 1fr; }
  .lp-specialty__photo { height: 400px; }
}

@media (max-width: 720px) {
  .lp-hero { padding-top: 22px; }
  .lp-hero-photo { min-height: 270px; }
  .lp-hero-photo img { min-height: 270px; }
  .lp-actions .lp-btn { width: 100%; }
  .lp-topbar__inner { flex-wrap: nowrap; }
  .lp-topbar__right { flex-wrap: nowrap; }
  .lp-toplink { padding-inline: 8px; font-size: 13px; }
  .lp-proofbar__grid,
  .lp-grid--services,
  .lp-review-themes,
  .lp-gallery { grid-template-columns: 1fr; }
  .lp-proof,
  .lp-google-rating { min-height: 72px; border-right: 0; border-bottom: 1px solid rgba(15, 23, 42, .08); }
  .lp-scope { gap: 14px; }
  .lp-svc--conversion { min-height: 0; }
  .lp-specialty__photo,
  .lp-gallery figure,
  .lp-location__image { height: 320px; min-height: 320px; }
  .lp-pricebox { width: calc(100% - 32px); padding: 22px; }
  .lp-pricebox__main .lp-h2 span { white-space: normal; }
  .lp-final-cta__inner { align-items: stretch; flex-direction: column; }
  .lp-final-cta .lp-actions { width: 100%; }
  .lp-sticky--controlled.is-visible { display: flex; }
  .lp-footer { padding-bottom: 105px; }
  .lp-consent { right: 12px; bottom: 88px; width: calc(100vw - 24px); }
  .lp-consent div { flex-direction: column; }
}

