:root{
  --lavender:#F5F3FF;
  --indigo:#312E81;
  --violet:#5B21B6;
  --gold:#D97706;
  --cream:#FFFBEF;
  --text:#1E1B3A;
  --muted:#6B7280;
  --white:#FFFFFF;
  --radius:10px;
  --shadow:0 4px 24px rgba(49,46,129,.12);
  --trans:0.28s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--lavender);color:var(--text);line-height:1.72}
img{max-width:100%;height:auto;display:block}
a{color:var(--violet);text-decoration:none;transition:color var(--trans)}
a:hover{color:var(--gold)}

/* ── NAV ── */
.site-header{background:var(--indigo);position:sticky;top:0;z-index:900;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.nav-wrap{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--cream);font-size:1.25rem;font-weight:700;letter-spacing:.5px}
.brand svg{width:34px;height:34px}
.nav-links{display:flex;align-items:center;gap:6px;list-style:none}
.nav-links a{color:var(--lavender);padding:7px 13px;border-radius:6px;font-size:.9rem;font-weight:500;transition:background var(--trans),color var(--trans)}
.nav-links a:hover,.nav-links a.active{background:var(--violet);color:var(--white)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2px;background:var(--lavender);margin:5px 0;transition:transform var(--trans)}
.mobile-nav{max-height:0;overflow:hidden;background:var(--indigo);transition:max-height .35s ease}
.mobile-nav.open{max-height:520px}
.mobile-nav a{display:block;color:var(--lavender);padding:13px 24px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem;transition:background var(--trans),color var(--trans)}
.mobile-nav a:hover{background:var(--violet);color:var(--white)}

/* ── HERO — split grid ── */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.hero-left{background:var(--indigo);clip-path:polygon(0 0,100% 0,85% 100%,0 100%);padding:80px 70px 80px 50px;display:flex;flex-direction:column;justify-content:center;gap:24px}
.hero-left h1{font-size:clamp(2rem,4vw,3rem);color:var(--cream);line-height:1.2;font-weight:800}
.hero-left p{color:rgba(245,243,255,.8);font-size:1.1rem;max-width:380px}
.hero-left .cta-btn{display:inline-block;background:var(--gold);color:var(--indigo);font-weight:700;padding:14px 32px;border-radius:50px;font-size:1rem;transition:transform var(--trans),box-shadow var(--trans);align-self:flex-start}
.hero-left .cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(217,119,6,.4);color:var(--indigo)}
.hero-right{position:relative;overflow:hidden}
.hero-right img{width:100%;height:100%;object-fit:cover}
.hero-right::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(91,33,182,.25),transparent)}

/* ── SECTIONS ── */
.section{padding:88px 20px}
.section:nth-child(even){background:var(--white)}
.section:nth-child(odd){background:var(--lavender)}
.diagonal-top{clip-path:polygon(0 40px,100% 0,100% 100%,0 100%);margin-top:-40px}
.diagonal-bottom{clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),0 100%);margin-bottom:-40px}
.container{max-width:1160px;margin:0 auto}
.section-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin-bottom:10px}
.section-title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;color:var(--indigo);line-height:1.2;margin-bottom:18px}
.section-body{color:var(--muted);font-size:1.02rem;max-width:680px;line-height:1.8}

/* ── STEPS with giant numbers ── */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin-top:52px}
.step-card{background:var(--white);border-radius:var(--radius);padding:36px 28px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.step-card::before{content:attr(data-n);position:absolute;top:-10px;right:10px;font-size:5rem;font-weight:900;color:var(--violet);opacity:.08;line-height:1;pointer-events:none;user-select:none}
.step-card h3{font-size:1.15rem;font-weight:700;color:var(--indigo);margin-bottom:10px}
.step-card p{color:var(--muted);font-size:.97rem;line-height:1.7}

/* ── CARDS / GRID ── */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;margin-top:48px}
.card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform var(--trans)}
.card:hover{transform:translateY(-4px)}
.card img{width:100%;height:200px;object-fit:cover}
.card-body{padding:24px 22px}
.card-body h3{font-size:1.1rem;font-weight:700;color:var(--indigo);margin-bottom:8px}
.card-body p{color:var(--muted);font-size:.95rem;line-height:1.7}
.card-link{display:inline-block;margin-top:14px;color:var(--violet);font-weight:600;font-size:.9rem}
.card-link:hover{color:var(--gold)}

/* ── ALTERNATING SECTIONS ── */
.alt-section{padding:72px 20px;position:relative}
.alt-section:nth-child(even){background:var(--indigo);clip-path:polygon(0 30px,100% 0,100% calc(100%-30px),0 100%);margin:-30px 0}
.alt-section:nth-child(even) .section-title{color:var(--cream)}
.alt-section:nth-child(even) .section-body{color:rgba(245,243,255,.75)}
.alt-section:nth-child(even) .section-label{color:var(--gold)}
.alt-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.alt-row.rev{direction:rtl}
.alt-row.rev>*{direction:ltr}
.alt-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.alt-img img{width:100%;height:340px;object-fit:cover}

/* ── FEATURES LIST ── */
.features-list{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:14px}
.features-list li{display:flex;align-items:flex-start;gap:14px;color:var(--text)}
.features-list li::before{content:'';width:20px;height:20px;min-width:20px;background:var(--gold);border-radius:50%;margin-top:2px}
.features-list li span{font-size:.98rem;line-height:1.7}

/* ── PRICING ── */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-top:52px}
.price-card{background:var(--white);border-radius:var(--radius);padding:36px 28px;box-shadow:var(--shadow);text-align:center;position:relative}
.price-card.featured{background:var(--indigo);color:var(--cream)}
.price-card.featured .price-title{color:var(--gold)}
.price-card.featured .price-note{color:rgba(245,243,255,.7)}
.price-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--indigo);font-size:.75rem;font-weight:700;padding:4px 14px;border-radius:20px;white-space:nowrap}
.price-title{font-size:1.1rem;font-weight:700;color:var(--indigo);margin-bottom:10px}
.price-amount{font-size:2.6rem;font-weight:900;color:var(--violet);line-height:1}
.price-card.featured .price-amount{color:var(--gold)}
.price-period{font-size:.85rem;color:var(--muted);margin-bottom:18px}
.price-card.featured .price-period{color:rgba(245,243,255,.6)}
.price-features{list-style:none;text-align:left;margin:16px 0 24px}
.price-features li{padding:7px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.93rem;color:var(--text)}
.price-card.featured .price-features li{color:var(--lavender);border-color:rgba(255,255,255,.12)}
.price-note{font-size:.8rem;color:var(--muted);margin-top:8px}
.price-cta{display:inline-block;background:var(--violet);color:var(--white);padding:12px 28px;border-radius:50px;font-weight:700;font-size:.95rem;transition:background var(--trans)}
.price-cta:hover{background:var(--gold);color:var(--indigo)}
.price-card.featured .price-cta{background:var(--gold);color:var(--indigo)}
.price-card.featured .price-cta:hover{background:var(--white);color:var(--indigo)}

/* ── FAQ ── */
.faq-list{margin-top:40px;display:flex;flex-direction:column;gap:16px}
.faq-item{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.faq-item summary{padding:20px 24px;font-weight:600;color:var(--indigo);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::after{content:'+';font-size:1.4rem;color:var(--violet);transition:transform var(--trans)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 24px 20px;color:var(--muted);line-height:1.75}

/* ── FORM ── */
.form-section{background:var(--indigo);padding:80px 20px}
.form-section .section-title{color:var(--cream)}
.form-wrap{max-width:600px;margin:0 auto}
.form-title{font-size:1.9rem;font-weight:800;color:var(--cream);margin-bottom:10px}
.form-sub{color:rgba(245,243,255,.75);margin-bottom:32px}
form.contact-form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:rgba(245,243,255,.85)}
input,textarea{padding:12px 16px;border:1.5px solid rgba(255,255,255,.2);border-radius:var(--radius);background:rgba(255,255,255,.08);color:var(--cream);font-size:1rem;font-family:inherit;transition:border-color var(--trans)}
input:focus,textarea:focus{outline:none;border-color:var(--gold)}
input::placeholder,textarea::placeholder{color:rgba(245,243,255,.4)}
textarea{resize:vertical;min-height:130px}
.submit-btn{background:var(--gold);color:var(--indigo);border:none;padding:14px 40px;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;align-self:flex-start;transition:transform var(--trans),box-shadow var(--trans)}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(217,119,6,.4)}
.form-note{font-size:.8rem;color:rgba(245,243,255,.5);margin-top:6px}

/* ── FOOTER ── */
.site-footer{background:var(--text);color:rgba(245,243,255,.65);padding:64px 20px 28px}
.footer-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-brand{font-size:1.2rem;font-weight:700;color:var(--cream);margin-bottom:12px}
.footer-desc{font-size:.9rem;line-height:1.7;color:rgba(245,243,255,.55)}
.footer-col h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-col ul li a{color:rgba(245,243,255,.55);font-size:.9rem;transition:color var(--trans)}
.footer-col ul li a:hover{color:var(--gold)}
.footer-contact p{font-size:.9rem;line-height:1.7;color:rgba(245,243,255,.55)}
.footer-contact a{color:rgba(245,243,255,.55)}
.footer-contact a:hover{color:var(--gold)}
.footer-bottom{max-width:1160px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;font-size:.82rem;flex-wrap:wrap;gap:10px}
.footer-bottom a{color:rgba(245,243,255,.55)}
.footer-bottom a:hover{color:var(--gold)}

/* ── REVEAL ANIMATION ── */
.reveal{transform:translateX(-20px);transition:transform .55s ease,filter .55s ease;filter:blur(2px)}
.reveal.visible{transform:translateX(0);filter:blur(0)}

/* ── COOKIE BANNER ── */
#cookie-banner{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--indigo);color:var(--lavender);padding:18px 28px;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);z-index:9999;display:flex;align-items:center;gap:20px;max-width:560px;width:calc(100% - 48px);font-size:.88rem}
#cookie-banner a{color:var(--gold)}
#cookie-banner button{background:var(--gold);color:var(--indigo);border:none;padding:9px 22px;border-radius:50px;font-weight:700;cursor:pointer;white-space:nowrap;font-size:.9rem}
.hidden{display:none}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr}
  .hero-left{clip-path:none;padding:60px 30px}
  .hero-right{height:300px}
  .alt-row{grid-template-columns:1fr}
  .alt-row.rev{direction:ltr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none}
  .burger{display:block}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
}
