:root{
  --purple:#5B2C6F; --purple-dark:#3B1B4A; --purple-mid:#7A3F95;
  --pink:#E91E8F; --pink-text:#B8106F; --pink-soft:#FDE8F5; --purple-soft:#F4EBFB;
  --ink:#241B2E; --gray:#685F73; --gray-light:#9089A0; --line:#E9E1F2; --white:#fff;
  --success:#1C9A6C;
  --radius-sm:10px; --radius-md:16px; --radius-lg:24px;
  --shadow-sm:0 2px 10px rgba(91,44,111,0.08);
  --shadow-md:0 12px 32px rgba(91,44,111,0.14);
  --shadow-lg:0 24px 60px rgba(91,44,111,0.20);
  --grad-primary:linear-gradient(135deg,#5B2C6F 0%,#7A3F95 55%,#E91E8F 100%);
  --grad-soft:linear-gradient(180deg,#F9F5FC 0%,#FDF1F9 100%);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms !important;transition-duration:.001ms !important;} }
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3{font-family:'Poppins',sans-serif;color:var(--purple-dark);line-height:1.2;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;}
.container{max-width:1080px;margin:0 auto;padding:0 20px;}
.skip-link{position:absolute;top:-100px;left:12px;background:var(--purple-dark);color:#fff;padding:10px 16px;border-radius:8px;z-index:9999;transition:top .2s;}
.skip-link:focus{top:12px;}
:focus-visible{outline:3px solid var(--purple-mid);outline-offset:2px;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 30px;border-radius:100px;font-weight:700;font-size:16px;transition:transform .18s,box-shadow .18s;white-space:nowrap;}
.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-md);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.btn-outline{background:#fff;color:var(--purple-dark);border:2px solid var(--purple);}
.btn-outline:hover{background:var(--purple-soft);}
.btn-block{width:100%;}
.btn svg{width:18px;height:18px;flex-shrink:0;}

/* Minimal header - logo + call only, no nav to reduce distraction */
header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
.logo img{height:38px;width:auto;}
@media (max-width:480px){ .logo img{height:32px;} *{margin-top:3px}}
.header-inner .btn{padding:11px 16px;font-size:14px;}

/* Offer strip */
.offer-strip{background:var(--purple-dark);color:#fff;text-align:center;padding:9px 14px;font-size:13px;font-weight:600;letter-spacing:.01em;}
.offer-strip span{color:#FFD9F0;}

/* Hero */
.hero{background:var(--grad-soft);padding:44px 0 30px;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-160px;right:-140px;width:460px;height:460px;background:radial-gradient(circle,rgba(233,30,143,0.14),transparent 70%);}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:start;position:relative;z-index:1;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;gap:28px;} }
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-text);background:var(--pink-soft);padding:6px 14px;border-radius:100px;margin-bottom:16px;}
.hero h1{font-size:clamp(30px,4.6vw,46px);font-weight:800;margin-bottom:14px;}
.hero h1 .accent{color:var(--pink);}
.hero p.sub{font-size:16.5px;color:var(--gray);max-width:480px;margin-bottom:22px;}
.bullet-list{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
.bullet-list li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--purple-dark);}
.bullet-list svg{width:20px;height:20px;color:var(--success);flex-shrink:0;}
.hero-callrow{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gray);}
.hero-callrow a{font-weight:700;color:var(--pink-text);}

/* Lead form card */
.lead-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--line);padding:28px;position:sticky;top:88px;}
@media (max-width:900px){ .lead-card{position:static;} }
.lead-card h2{font-size:21px;margin-bottom:4px;}
.lead-card .price-tag{display:inline-block;background:var(--pink-soft);color:var(--pink-text);font-weight:700;font-size:13px;padding:5px 12px;border-radius:100px;margin-bottom:16px;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
label{font-size:12.5px;font-weight:600;color:var(--purple-dark);}
input,select{padding:13px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--line);font-size:14.5px;font-family:inherit;background:#FBF9FD;width:100%;}
input:focus,select:focus{outline:none;border-color:var(--pink);background:#fff;box-shadow:0 0 0 4px var(--pink-soft);}
.form-note{font-size:11.5px;color:var(--gray-light);text-align:center;margin-top:10px;}
.form-success{display:none;text-align:center;padding:20px 6px;}
.form-success.show{display:block;}
.form-success svg{width:50px;height:50px;color:var(--success);margin:0 auto 12px;}
.form-success h3{margin-bottom:6px;font-size:18px;}
.form-success p{color:var(--gray);font-size:14px;}
.trust-mini{display:flex;justify-content:center;gap:16px;margin-top:16px;flex-wrap:wrap;}
.trust-mini span{font-size:11.5px;font-weight:600;color:var(--gray);display:flex;align-items:center;gap:5px;}
.trust-mini svg{width:14px;height:14px;color:var(--pink);}

/* Trust band */
.trust-band{background:var(--purple-dark);color:#fff;padding:26px 0;}
.trust-band .container{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center;}
@media (max-width:700px){ .trust-band .container{grid-template-columns:1fr 1fr;} }
.trust-band strong{display:block;font-size:20px;font-family:'Poppins',sans-serif;}
.trust-band span{font-size:12px;color:#D9C7E6;}

section{padding:56px 0;}
@media (max-width:700px){ section{padding:40px 0;} }
.section-title{font-size:clamp(24px,3.6vw,32px);font-weight:700;margin-bottom:10px;text-align:center;}
.section-sub{color:var(--gray);font-size:15px;max-width:560px;margin:0 auto 36px;text-align:center;}

/* Why LASIK grid */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:760px){ .why-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .why-grid{grid-template-columns:1fr;} }
.why-card{background:var(--grad-soft);border-radius:var(--radius-md);padding:22px;border-left:4px solid var(--pink);}
.why-card svg{width:28px;height:28px;color:var(--purple);margin-bottom:10px;}
.why-card h3{font-size:16px;margin-bottom:6px;}
.why-card p{font-size:13.5px;color:var(--gray);}

/* Process */
.process{background:var(--purple-soft);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media (max-width:760px){ .steps{grid-template-columns:1fr 1fr;} }
.step{text-align:center;}
.step .num{width:44px;height:44px;border-radius:50%;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 10px;box-shadow:var(--shadow-sm);}
.step h3{font-size:14.5px;margin-bottom:4px;}
.step p{font-size:12.5px;color:var(--gray);}

/* Testimonials */
.testi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:760px){ .testi-row{grid-template-columns:1fr;} }
.testi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-sm);}
.stars{color:#F5A623;display:flex;gap:2px;margin-bottom:10px;}
.stars svg{width:16px;height:16px;}
.testi-card p.quote{font-size:14px;margin-bottom:14px;}
.testi-who{display:flex;align-items:center;gap:9px;}
.testi-avatar{width:34px;height:34px;border-radius:50%;background:var(--purple-soft);color:var(--purple);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;}
.testi-who strong{font-size:13px;display:block;}
.testi-who span{font-size:11.5px;color:var(--gray-light);}

/* FAQ */
.faq-list{max-width:680px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;background:none;text-align:left;font-weight:600;font-size:15.5px;color:var(--purple-dark);}
.faq-q svg{width:18px;height:18px;flex-shrink:0;transition:transform .2s;color:var(--pink);}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{padding:0 4px 18px;color:var(--gray);font-size:14px;}

/* Final CTA */
.final-cta{background:var(--grad-primary);border-radius:var(--radius-lg);padding:44px 30px;text-align:center;color:#fff;}
.final-cta h2{color:#fff;font-size:clamp(22px,3.6vw,30px);margin-bottom:8px;}
.final-cta p{color:#F0DCEC;margin-bottom:22px;font-size:15px;}
.final-cta .ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.final-cta .btn-outline{background:transparent;color:#fff;border-color:#fff;}
.final-cta .btn-outline:hover{background:rgba(255,255,255,0.12);}

/* Footer - minimal */
footer{background:#241531;color:#C6AED8;padding:32px 0;text-align:center;font-size:12.5px;}
footer a{color:#fff;font-weight:600;}
footer .footer-logo{height:26px;margin:0 auto 12px;}

/* Sticky mobile CTA bar */
.sticky-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:150;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,0.08);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));gap:10px;}
@media (max-width:900px){ .sticky-bar{display:flex;} body{padding-bottom:70px;} }
.sticky-bar .btn{flex:1;padding:13px 8px;font-size:14px;}

/* Urgency / flash elements */
@keyframes pulseDot{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.35);opacity:.6;}}
.live-dot{width:8px;height:8px;border-radius:50%;background:#FF4D4D;display:inline-block;animation:pulseDot 1.4s ease-in-out infinite;}
.offer-strip{background:var(--purple-dark);color:#fff;text-align:center;padding:10px 14px;font-size:13px;font-weight:600;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.offer-strip span.hl{color:#FFD9F0;}
.countdown{display:inline-flex;gap:5px;font-family:'Poppins',sans-serif;font-weight:700;}
.countdown .box{background:rgba(255,255,255,0.15);border-radius:6px;padding:3px 7px;min-width:30px;text-align:center;font-size:13px;}
.slots-badge{display:flex;align-items:center;gap:8px;background:#FFF3E0;border:1px solid #FFD9A0;color:#B45F06;font-weight:700;font-size:12.5px;padding:8px 14px;border-radius:10px;margin-bottom:16px;}
.slots-badge svg{width:16px;height:16px;flex-shrink:0;}
.price-flash{display:flex;align-items:baseline;gap:8px;margin-bottom:14px;}
.price-flash .old{font-size:14px;color:var(--gray-light);text-decoration:line-through;}
.price-flash .new{font-size:20px;font-weight:800;color:var(--success);font-family:'Poppins',sans-serif;}
@keyframes ctaGlow{0%,100%{box-shadow:0 0 0 0 rgba(233,30,143,0.45);}50%{box-shadow:0 0 0 10px rgba(233,30,143,0);}}
.btn-flash{animation:ctaGlow 1.8s ease-out infinite;}
@media (prefers-reduced-motion: reduce){ .btn-flash{animation:none;} .live-dot{animation:none;} }

/* Toast notification (social proof) */
.toast{
  position:fixed;left:16px;bottom:16px;z-index:160;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow-lg);padding:12px 16px;display:flex;align-items:center;gap:10px;
  max-width:280px;transform:translateY(120%);opacity:0;transition:transform .4s ease, opacity .4s ease;
}
.toast.show{transform:translateY(0);opacity:1;}
.toast-avatar{width:36px;height:36px;border-radius:50%;background:var(--purple-soft);color:var(--purple);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;}
.toast p{font-size:12.5px;color:var(--ink);line-height:1.4;}
.toast strong{color:var(--purple-dark);}
.toast .time{font-size:11px;color:var(--gray-light);}
@media (max-width:900px){ .toast{bottom:82px;} }
@media (max-width:400px){ .toast{max-width:calc(100vw - 32px);} }

/* Floating WhatsApp + Call buttons */
.float-stack{position:fixed;right:18px;bottom:88px;z-index:150;display:flex;flex-direction:column;gap:12px;}
.float-btn{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);color:#fff;transition:transform .18s;}
.float-btn:hover{transform:scale(1.08);}
.float-btn.whatsapp{background:#25D366;}
.float-btn.call{background:var(--pink);}
.float-btn svg{width:25px;height:25px;}
@media (max-width:900px){ .float-stack{bottom:80px;right:14px;} .float-btn{width:48px;height:48px;} .float-btn svg{width:22px;height:22px;} }

/* Mid-page CTA banners */
.mid-cta{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:#fff;border:1.5px solid var(--pink-soft);border-radius:var(--radius-lg);
  padding:22px 28px;margin-top:44px;box-shadow:var(--shadow-sm);
}
.mid-cta div h3{font-size:17px;margin-bottom:3px;}
.mid-cta div p{font-size:13.5px;color:var(--gray);}
.mid-cta .btn{flex-shrink:0;}
@media (max-width:600px){
  .mid-cta{flex-direction:column;align-items:stretch;text-align:center;padding:20px;}
  .mid-cta .btn{width:100%;}
}
/* Insurance accepted strip */
.insure-section{background:#fff;padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.insure-head{text-align:center;font-size:13px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}
.insure-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}

/* Ribbon badge on lead card */
.lead-card{position:relative;overflow:visible;}
.ribbon{position:absolute;top:-14px;right:20px;background:linear-gradient(135deg,#FF6B35,#E91E8F);color:#fff;font-weight:800;font-size:12.5px;padding:8px 16px;border-radius:10px;box-shadow:0 8px 18px rgba(233,30,143,0.35);transform:rotate(3deg);letter-spacing:.02em;}

/* Shimmer text effect */
@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
.shimmer-text{
  background:linear-gradient(90deg,var(--success) 0%,#4CD787 25%,var(--success) 50%,#4CD787 75%,var(--success) 100%);
  background-size:200% auto;color:transparent;-webkit-background-clip:text;background-clip:text;
  animation:shimmer 2.5s linear infinite;
}
@media (prefers-reduced-motion: reduce){ .shimmer-text{animation:none;color:var(--success);} }

/* Scrolling trust ticker */
.ticker-wrap{background:var(--purple-dark);overflow:hidden;padding:10px 0;white-space:nowrap;}
.ticker-track{display:inline-flex;gap:40px;animation:tickerScroll 22s linear infinite;}
.ticker-track span{color:#fff;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px;}
.ticker-track span svg{width:15px;height:15px;color:var(--pink);}
@keyframes tickerScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ .ticker-track{animation:none;} }

.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media (max-width:700px){ .ba-grid{grid-template-columns:1fr;} }
.ba-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm);}
.ba-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.ba-label{position:absolute;top:8px;left:8px;background:rgba(36,21,49,0.8);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:4px 10px;border-radius:100px;}
.ba-card h3{font-size:16.5px;margin-bottom:4px;}
.ba-card .meta{font-size:12.5px;color:var(--pink-text);font-weight:600;margin-bottom:10px;}
.ba-card p.quote{font-size:13.5px;color:var(--gray);}

.insure-slider{
    overflow: hidden;
    width: 100%;
    position: relative;
}

.insure-track{
    display: flex;
    width: max-content;
    animation: scrollLogo 20s linear infinite;
}

.insure-badge{
    flex: 0 0 auto;
    width: 180px;
    height: 80px;
    margin: 0 12px;
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

.insure-badge img{
    max-width: 170px;
    max-height: 70px;
    object-fit: contain;
}

@keyframes scrollLogo{
    from{
        transform: translateX(0);
    }
    to{
        transform: translateX(-50%);
    }
}

/* Pause on hover */
.insure-track:hover{
    animation-play-state: paused;
}