/* BEGIN LPWMS NEW CSS */
:root{
  --lpwms-brand:#6f3cf6; /* adjust to brand */
  --lpwms-brand-ink:#fff;
  --lpwms-text:#0f172a;
  --lpwms-muted:#475569;
  --lpwms-surface:#f8fafc;
  --lpwms-radius:14px;
  --lpwms-shadow:0 12px 30px rgba(2,6,23,.08);
}

/* ---- Hero ---- */
.lpwms-hero{
  background: linear-gradient(180deg,#fff 0%, var(--lpwms-surface) 100%);
  color: var(--lpwms-text);
  padding: clamp(48px, 6vw, 96px) 16px;
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.lpwms-hero__inner{
  max-width: 1200px; margin: 0 auto;
  display: grid; gap: 32px; grid-template-columns: 1.1fr .9fr;
}
@media (max-width: 960px){ .lpwms-hero__inner{ grid-template-columns: 1fr; } }
.lpwms-hero__content{ align-self:center; }
.lpwms-hero h1{ font-size: clamp(32px, 5vw, 54px); line-height: 1.05; margin: 0 0 12px; }
.lpwms-hero__subhead{ font-size: clamp(16px, 2.2vw, 20px); color: var(--lpwms-muted); margin: 0 0 20px; }
.lpwms-hero__ctas{ display:flex; flex-wrap:wrap; gap:12px; margin: 0 0 8px; }
.lpwms-btn{
  --btn-pad: 14px 18px;
  display:inline-flex; align-items:center; justify-content:center;
  padding: var(--btn-pad); border-radius: 12px; text-decoration:none;
  font-weight: 600; border: 1px solid transparent; transition: .18s ease-in-out;
}
.lpwms-btn:focus-visible{ outline: 3px solid #a78bfa; outline-offset: 2px; }
.lpwms-btn--primary{ background: var(--lpwms-brand); color: var(--lpwms-brand-ink); box-shadow: var(--lpwms-shadow); }
.lpwms-btn--primary:hover{ filter: brightness(1.05); transform: translateY(-1px); }
.lpwms-btn--secondary{ background: #fff; color: var(--lpwms-text); border-color: rgba(2,6,23,.1); }
.lpwms-btn--secondary:hover{ background: #fafafa; }
.lpwms-link{ display:inline-flex; align-items:center; gap:8px; font-weight:600; }
.lpwms-link:hover{ text-decoration: underline; }
.lpwms-hero__reassure{ margin: 6px 0 14px; color: var(--lpwms-muted); font-size: 14px; }
.lpwms-hero__chips{ display:flex; gap:10px; flex-wrap:wrap; padding:0; margin:0; }
.lpwms-hero__chips li{
  list-style:none; background:#fff; border:1px solid rgba(2,6,23,.08);
  border-radius: 999px; padding:8px 12px; font-size: 13px; color: var(--lpwms-muted);
}
.lpwms-hero__media{
  background:#fff; border: 1px solid rgba(2,6,23,.06);
  border-radius: var(--lpwms-radius); padding: 8px; box-shadow: var(--lpwms-shadow);
}
.lpwms-hero__media img{ display:block; width:100%; height:auto; border-radius: 10px; }
.visually-hidden{
  position:absolute!important; height:1px; width:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0; padding:0; margin:-1px;
}

/* Stacked CTA keeps brand flavor + clarifies action */
.lpwms-btn--stacked{
  flex-direction: column; align-items: flex-start; line-height: 1.15;
  padding-block: 16px; padding-inline: 18px; gap: 2px;
}
.lpwms-btn--stacked .l1{ font-size: 16px; font-weight: 800; }
.lpwms-btn--stacked .l2{ font-size: 12px; opacity: .95; font-weight: 600; }
@media (max-width:480px){ .lpwms-btn--stacked .l2{ display:none; } }

/* ---- Pricing ---- */
.lpwms-pricing{ padding: clamp(40px, 6vw, 80px) 16px; background:#fff; }
.lpwms-pricing__container{ max-width: 1100px; margin: 0 auto; }
.lpwms-pricing h2{ font-size: clamp(26px, 3.6vw, 38px); margin:0 0 8px; }
.lpwms-pricing__tagline{ color: var(--lpwms-muted); margin:0 0 16px; }
.lpwms-compare{
  width:100%; border-collapse: separate; border-spacing:0; overflow:hidden;
  border:1px solid rgba(2,6,23,.08); border-radius: 14px;
}
.lpwms-compare thead th{ background: var(--lpwms-surface); }
.lpwms-compare th, .lpwms-compare td{
  text-align:left; padding:14px 16px; border-bottom:1px solid rgba(2,6,23,.06);
  vertical-align: middle;
}
.lpwms-compare thead th:first-child{ width: 24%; }
.lpwms-compare thead th:not(:first-child){ width: 25.333%; }
.lpwms-planhead{ display:flex; flex-direction:column; gap:10px; min-height: 100%; }
.lpwms-planhead--popular{ position:relative; }
.lpwms-badge{
  position:absolute; top:10px; right:10px; padding:6px 8px; font-size:12px; font-weight:700;
  background: #fde68a; border:1px solid #f59e0b; border-radius: 999px; color:#78350f;
}
.lpwms-planname{ font-weight:700; font-size:16px; }
.lpwms-price{ font-weight:800; font-size: 22px; }
.lpwms-currency{ opacity:.8; margin-right:2px; }
.lpwms-cycle{ font-weight:600; font-size:14px; opacity:.7; margin-left:2px; }
.lpwms-pricing .lpwms-btn{ align-self:start; }
.lpwms-pricing__footnote{ color: var(--lpwms-muted); font-size: 13px; margin-top:10px; }
@media (max-width: 900px){
  .lpwms-compare{ display:block; overflow-x:auto; }
  .lpwms-compare table{ min-width: 760px; }
}
/* END LPWMS NEW CSS */
/* BEGIN LPWMS CAROUSEL + LIGHTBOX (FULL) v2 */
.lpwms-hero{
  background:
    radial-gradient(1000px 600px at 85% -10%, rgba(111,60,246,.14), transparent 60%),
    linear-gradient(180deg,#fff 0%, var(--lpwms-surface) 100%);
}

/* Media card container */
.lpwms-hero__carouselwrap{
  background:#fff; border-radius: var(--lpwms-radius);
  padding: 8px; border: 1px solid rgba(2,6,23,.06);
  box-shadow: 0 10px 20px rgba(2,6,23,.06), 0 20px 40px rgba(2,6,23,.04);
  position:relative; isolation:isolate;
  overflow:hidden;
}
.lpwms-hero__carouselwrap::before{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background: linear-gradient(180deg, rgba(111,60,246,.35), rgba(111,60,246,0));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events:none;
}

/* Core carousel */
.lpwms-carousel{
  position:relative;
  overflow:hidden;
}
.lpwms-carousel__track{
  display:flex; gap:0; border-radius:10px;
  will-change: transform;
  transition: transform .45s cubic-bezier(.22,.61,.36,1);
  transform: translateX(0);
}
.lpwms-slide{ flex:0 0 100%; margin:0; transition: transform .35s ease; }
.lpwms-slide picture{ display:block; width:100%; }
.lpwms-slide img{ display:block; width:100%; height:auto; }
.lpwms-slide.is-active{ transform: scale(1.008); }

.lpwms-carousel__controls{
  display:flex; align-items:center; justify-content:center; gap:12px; margin-top:10px;
}
.lpwms-carousel__btn{
  background:#fff; border:1px solid rgba(2,6,23,.1); border-radius:10px;
  padding:6px 10px; font-weight:700; cursor:pointer;
}
.lpwms-carousel__btn:focus-visible{ outline: 3px solid #a78bfa; outline-offset:2px; }

/* Dots as circles; hide numbers visually but keep a11y with aria */
.lpwms-carousel__dots{ display:flex; gap:6px; }
.lpwms-carousel__dots button{
  width:10px; height:10px; border-radius:50%;
  border:1px solid rgba(2,6,23,.25); background:#fff; cursor:pointer;
  padding:0; line-height:0; font-size:0;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.lpwms-carousel__dots button[aria-selected="true"]{
  background: var(--lpwms-brand); border-color: var(--lpwms-brand); transform: scale(1.2);
}

/* Lightbox — make sure it overlays the whole viewport */
.lpwms-lightbox{
  position:fixed !important; inset:0 !important;
  background: rgba(15,23,42,.75);
  display:none; align-items:center; justify-content:center;
  z-index: 9999; padding:24px;
}
.lpwms-lightbox.is-open{ display:flex !important; }
.lpwms-lightbox img{
  max-width: min(1100px, 92vw);
  max-height: 86vh;
  border-radius:12px; box-shadow: 0 24px 64px rgba(0,0,0,.5);
}
.lpwms-lightbox__close{
  position:absolute; top:16px; right:16px; font-size:28px; line-height:1;
  background:#fff; border:1px solid rgba(2,6,23,.2);
  width:40px; height:40px; border-radius:10px; cursor:pointer;
}

/* CTA shimmer (kept minimal) */
.lpwms-btn--primary{ position:relative; overflow:hidden; }
.lpwms-btn--primary::after{
  content:""; position:absolute; inset:-150% -50% auto auto;
  width:40%; height:300%; transform:rotate(20deg);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);
  opacity:0; transition:opacity .2s ease, transform .6s ease;
}
.lpwms-btn--primary:hover::after{ opacity:1; transform:rotate(20deg) translateX(-60%); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .lpwms-carousel__track{ transition: none; }
  .lpwms-slide{ transition: none; }
  .lpwms-btn--primary::after{ display:none; }
}
/* END LPWMS CAROUSEL + LIGHTBOX (FULL) v2 */

/* BEGIN LPWMS DEMO SECTION */
.lpwms-demo{
  background: var(--lpwms-surface);
  padding: clamp(48px, 6vw, 96px) 16px;
  border-top: 1px solid rgba(15,23,42,.08);
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.lpwms-demo__inner{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(32px, 6vw, 56px);
}
.lpwms-demo__content{ display:flex; flex-direction:column; gap:18px; }
.lpwms-demo__eyebrow{
  font-size: 13px; font-weight:700; letter-spacing:.08em;
  text-transform: uppercase; color: var(--lpwms-muted);
}
.lpwms-demo__lead{ font-size: clamp(18px, 2.2vw, 20px); color: var(--lpwms-muted); margin:0; }
.lpwms-demo__list{
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px;
  color: var(--lpwms-text);
}
.lpwms-demo__list li{ display:flex; align-items:flex-start; gap:10px; }
.lpwms-demo__list i{ color: var(--lpwms-brand); margin-top:4px; }
.lpwms-demo__ctas{ display:flex; flex-wrap:wrap; gap:12px; }
.lpwms-demo__footnote{ font-size:14px; color: var(--lpwms-muted); margin:0; }
.lpwms-demo__footnote a{ color: var(--lpwms-brand); text-decoration:none; }
.lpwms-demo__footnote a:hover{ text-decoration:underline; }

.lpwms-demo__panel{ display:flex; }
.lpwms-demo__card{
  background:#fff;
  border-radius: var(--lpwms-radius);
  border:1px solid rgba(15,23,42,.08);
  box-shadow: var(--lpwms-shadow);
  padding: clamp(24px, 4vw, 36px);
  display:flex; flex-direction:column; gap:20px;
}
.lpwms-demo__card h3{ margin:0; font-size:20px; font-weight:700; }
.lpwms-demo__steps{ margin:0; padding-left:18px; display:flex; flex-direction:column; gap:10px; }
.lpwms-demo__steps li{ font-size:15px; color: var(--lpwms-muted); }
.lpwms-demo__steps strong{ color: var(--lpwms-text); }

.lpwms-demo__stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:16px; }
.lpwms-demo__stat-value{
  display:block; font-size:28px; font-weight:800; color: var(--lpwms-brand);
}
.lpwms-demo__stat-label{ display:block; font-size:13px; color: var(--lpwms-muted); }

.lpwms-demo__quote{
  font-style:italic; margin:0; color: var(--lpwms-muted);
  border-left:4px solid rgba(111,60,246,.2);
  padding-left:16px;
}
.lpwms-demo__quote cite{ display:block; margin-top:8px; font-style:normal; font-weight:600; color: var(--lpwms-text); }

@media (max-width: 960px){
  .lpwms-demo__inner{ grid-template-columns:1fr; }
  .lpwms-demo__panel{ order:-1; }
}
/* END LPWMS DEMO SECTION */
