.lcp-backdrop{
  --navy:#0E1822; --navy-2:#17222E; --ink:#16202B; --ink-2:#2A3A49;
  --blue:#3B7FC9; --blue-d:#2A5E99; --blue-l:#8FBBEA;
  --paper:#FFFFFF; --paper-2:#F4F7FA; --line:#E4EAF0; --muted:#6B7C8F; --muted-2:#8A99A8;
  --wa:#25D366; --wa-d:#1EB457; --wa-ink:#0B3D23;
  --ok:#2E8B57; --danger:#D9787E;
  --rad:20px;
  position:fixed; inset:0; z-index:99999;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  background:radial-gradient(120% 120% at 50% 0%, rgba(43,94,153,.28), rgba(8,14,20,.72) 60%);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .32s ease, visibility 0s linear .32s;
  font-family:'Inter','Segoe UI',system-ui,sans-serif;
}
.lcp-backdrop.is-open{opacity:1; visibility:visible; pointer-events:auto; transition:opacity .32s ease;}

.lcp-modal{
  position:relative; width:100%; max-width:760px;
  display:grid; grid-template-columns:286px 1fr;
  background:var(--paper); border-radius:var(--rad); overflow:hidden;
  box-shadow:0 40px 110px -30px rgba(8,14,20,.75), 0 0 0 1px rgba(143,187,234,.14);
  transform:translateY(14px) scale(.975); opacity:.6;
  transition:transform .4s cubic-bezier(.2,.8,.2,1), opacity .4s ease;
  max-height:calc(100vh - 40px);
}
.lcp-backdrop.is-open .lcp-modal{transform:none; opacity:1;}

.lcp-aside{
  position:relative; min-height:440px; overflow:hidden;
  background:linear-gradient(180deg,#1B2A3A,#0E1822);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:20px;
}
.lcp-photo{position:absolute; inset:0; z-index:0;}
.lcp-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block;
  filter:saturate(1.02) contrast(1.02);}
.lcp-aside::after{content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(14,24,34,.08) 0%, rgba(14,24,34,.18) 42%, rgba(14,24,34,.86) 100%),
    radial-gradient(90% 60% at 20% 8%, rgba(59,127,201,.22), transparent 60%);}
.lcp-aside > *{position:relative; z-index:2;}

.lcp-bubble{
  align-self:flex-start; max-width:220px; margin-bottom:16px;
  background:#fff; color:#17222E; border-radius:14px 14px 14px 4px;
  padding:11px 13px 9px; font-size:12.5px; line-height:1.45;
  box-shadow:0 14px 30px -12px rgba(0,0,0,.55);
  animation:lcpBubble .5s cubic-bezier(.2,.8,.2,1) both;
}
.lcp-bubble p{margin:0; font-weight:500;}
.lcp-bubble-time{display:flex; align-items:center; justify-content:flex-end; gap:3px;
  margin-top:4px; font-size:10px; color:var(--muted-2);}
.lcp-bubble-time svg{width:15px; height:9px; fill:var(--blue);}
@keyframes lcpBubble{from{opacity:0; transform:translateY(8px) scale(.96);}to{opacity:1; transform:none;}}

.lcp-person strong{display:block; font-family:'Space Grotesk','Inter',sans-serif;
  font-size:19px; font-weight:700; letter-spacing:-.01em; color:#fff; line-height:1.1;}
.lcp-person span{display:block; margin-top:5px; font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-l);}

.lcp-main{position:relative; display:flex; flex-direction:column; padding:26px 28px 22px;
  min-width:0; overflow-y:auto;}

.lcp-close{position:absolute; top:14px; right:14px; z-index:5;
  width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:50%; background:var(--paper-2); color:var(--muted);
  cursor:pointer; transition:background .2s, color .2s, transform .2s;}
.lcp-close svg{width:16px; height:16px;}
.lcp-close:hover{background:#EEF2F6; color:var(--ink); transform:rotate(90deg);}

.lcp-kicker{display:inline-flex; align-items:center; gap:8px; margin-bottom:12px;
  font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10.5px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--blue-d);}
.lcp-kicker svg{width:16px; height:16px; fill:var(--wa);}

.lcp-title{font-family:'Space Grotesk','Inter',sans-serif; font-size:25px; font-weight:700;
  letter-spacing:-.02em; line-height:1.14; color:var(--ink); margin:0;}
.lcp-micro{margin:9px 0 20px; font-size:12.5px; color:var(--muted);}
.lcp-micro b{color:var(--blue-d); font-weight:600;}

.lcp-body{min-width:0;}
.lcp-form{display:flex; flex-direction:column; gap:14px;}
.lcp-field{min-width:0;}
.lcp-field > label{display:block; margin-bottom:7px; font-size:11px; font-weight:700;
  letter-spacing:.04em; color:var(--ink-2);}
.lcp-field > label .req{color:var(--blue); margin-left:3px;}

.lcp-input-wrap{position:relative; display:flex; align-items:center;}
.lcp-input-wrap input,.lcp-input-wrap select,.lcp-input-wrap textarea{
  width:100%; font:inherit; font-size:14.5px; color:var(--ink);
  background:var(--paper-2); border:1.5px solid var(--line); border-radius:12px;
  padding:13px 42px 13px 14px; outline:none;
  transition:border-color .2s, box-shadow .2s, background .2s;}
.lcp-input-wrap textarea{padding-right:14px; resize:vertical; min-height:84px;}
.lcp-input-wrap input::placeholder,.lcp-input-wrap textarea::placeholder{color:var(--muted-2);}
.lcp-input-wrap input:focus,.lcp-input-wrap select:focus,.lcp-input-wrap textarea:focus{
  border-color:var(--blue); background:#fff;
  box-shadow:0 0 0 3px rgba(59,127,201,.14);}
.lcp-icon{position:absolute; right:13px; display:flex; color:var(--muted-2); pointer-events:none;
  transition:color .2s;}
.lcp-icon svg{width:18px; height:18px;}
.lcp-input-wrap:focus-within .lcp-icon{color:var(--blue);}
.lcp-field.has-error .lcp-input-wrap input,
.lcp-field.has-error .lcp-input-wrap select,
.lcp-field.has-error .lcp-input-wrap textarea{border-color:var(--danger); box-shadow:0 0 0 3px rgba(217,120,126,.14);}
.lcp-field-err{margin-top:6px; font-size:11.5px; color:var(--danger); font-weight:500;}

.lcp-consent-wrap{margin-top:2px;}
.lcp-consent{position:relative; display:flex; align-items:center; gap:11px; cursor:pointer;
  padding:12px 13px; border:1.5px solid var(--line); border-radius:12px; background:var(--paper-2);
  transition:border-color .22s, background .22s; user-select:none;}
.lcp-consent:hover{border-color:#CBD7E2;}
.lcp-consent input{position:absolute; opacity:0; width:1px; height:1px;}
.lcp-cbox{flex:none; width:22px; height:22px; border-radius:7px; border:1.5px solid #C2D0DD;
  background:#fff; display:flex; align-items:center; justify-content:center;
  transition:background .22s, border-color .22s;}
.lcp-cbox svg{width:14px; height:14px; fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round;
  stroke-linejoin:round; stroke-dasharray:24; stroke-dashoffset:24; transition:stroke-dashoffset .3s ease;}
.lcp-consent.is-checked{border-color:var(--wa); background:rgba(37,211,102,.08);}
.lcp-consent.is-checked .lcp-cbox{background:var(--wa); border-color:var(--wa);}
.lcp-consent.is-checked .lcp-cbox svg{stroke-dashoffset:0;}
.lcp-consent-text{flex:1; font-size:12.5px; line-height:1.4; color:var(--ink-2);}
.lcp-consent-text span{color:var(--ok);}
.lcp-consent.needs-attention{animation:lcpShakeSoft .4s ease; border-color:var(--danger);}
@keyframes lcpShakeSoft{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}

.lcp-footer{margin-top:18px;}
.lcp-submit{position:relative; width:100%; overflow:hidden; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:15px; border:none; border-radius:13px;
  font:inherit; font-size:14.5px; font-weight:700; letter-spacing:.01em; color:#fff;
  background:linear-gradient(120deg,var(--wa-d),var(--wa));
  box-shadow:0 14px 34px -10px rgba(37,211,102,.55), inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .2s, box-shadow .2s, filter .2s;}
.lcp-submit svg{width:19px; height:19px;}
.lcp-lock-icon{display:none;}
.lcp-wa-icon{display:flex;}
.lcp-btn-shine{position:absolute; top:0; left:-120%; width:55%; height:100%;
  background:linear-gradient(to right,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg); pointer-events:none;}
.lcp-submit:not(.is-locked):hover{transform:translateY(-2px);
  box-shadow:0 20px 46px -10px rgba(37,211,102,.66), inset 0 1px 0 rgba(255,255,255,.4);}
.lcp-submit:not(.is-locked):hover .lcp-btn-shine{animation:lcpShine .75s ease forwards;}
.lcp-submit:active{transform:translateY(0);}
@keyframes lcpShine{to{left:130%;}}
.lcp-submit.is-locked{background:linear-gradient(120deg,#AEB9C4,#C2CCD6); color:#fff;
  box-shadow:0 10px 24px -12px rgba(14,24,34,.4); cursor:not-allowed;}
.lcp-submit.is-locked .lcp-lock-icon{display:flex;}
.lcp-submit.is-locked .lcp-wa-icon{display:none;}
.lcp-submit.is-shaking{animation:lcpShakeSoft .4s ease;}

.lcp-secure{display:flex; align-items:center; justify-content:center; gap:7px; margin-top:13px;
  font-size:11px; color:var(--muted);}
.lcp-secure svg{width:13px; height:13px; fill:var(--ok);}

.lcp-phone{margin-top:14px; padding-top:14px; border-top:1px solid var(--line);
  text-align:center; font-size:12.5px; color:var(--muted);}
.lcp-phone a{color:var(--blue-d); font-weight:700; text-decoration:none;}
.lcp-phone a:hover{text-decoration:underline;}

.lcp-success{position:absolute; inset:0; z-index:8; background:var(--paper);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  padding:30px; text-align:center;
  opacity:0; visibility:hidden; transform:scale(.96);
  transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;}
.lcp-modal.is-success .lcp-success{opacity:1; visibility:visible; transform:none; transition:opacity .3s ease, transform .3s ease;}
.lcp-success-ring{width:74px; height:74px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(37,211,102,.12); border:2px solid rgba(37,211,102,.4);}
.lcp-check{width:40px; height:40px;}
.lcp-check-path{fill:none; stroke:var(--wa); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:30; stroke-dashoffset:30;}
.lcp-modal.is-success .lcp-check-path{animation:lcpCheck .5s ease .15s forwards;}
@keyframes lcpCheck{to{stroke-dashoffset:0;}}
.lcp-success h3{font-family:'Space Grotesk','Inter',sans-serif; font-size:22px; color:var(--ink); margin:0;}
.lcp-success p{font-size:13.5px; color:var(--muted); max-width:300px; margin:0; line-height:1.5;}
.lcp-success-bar{width:180px; height:4px; border-radius:99px; background:var(--line); overflow:hidden; margin-top:4px;}
.lcp-success-bar span{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--wa-d),var(--wa));}

.lcp-burst-particle{position:absolute; width:6px; height:6px; border-radius:50%; background:var(--wa);
  pointer-events:none; z-index:3;}

body.lcp-open{overflow:hidden;}

@media (max-width:700px){
  .lcp-backdrop{padding:0; align-items:stretch;}
  .lcp-modal{grid-template-columns:1fr; max-width:none; max-height:100vh; border-radius:0;
    grid-template-rows:auto 1fr;}
  .lcp-aside{min-height:0; height:auto; padding:16px 18px; flex-direction:row; align-items:center; gap:14px;
    background:linear-gradient(120deg,#1B2A3A,#0E1822);}
  .lcp-aside::after{display:none;}
  .lcp-photo{position:static; width:58px; height:58px; border-radius:50%; overflow:hidden; flex:none;
    border:2px solid rgba(143,187,234,.42); box-shadow:0 8px 20px -8px rgba(0,0,0,.6);}
  .lcp-photo img{object-position:50% 14%;}
  .lcp-bubble{display:none;}
  .lcp-person{flex:1; min-width:0;}
  .lcp-person strong{font-size:17px;}
  .lcp-main{padding:22px 20px; overflow-y:auto;}
  .lcp-title{font-size:22px;}
}
@media (max-width:360px){
  .lcp-main{padding:20px 16px;}
}
@media (prefers-reduced-motion:reduce){
  .lcp-modal,.lcp-bubble,.lcp-cbox svg,.lcp-check-path,.lcp-btn-shine{transition:none; animation:none;}
  .lcp-check-path{stroke-dashoffset:0;}
}
