:root{
  --p:#523493;--p-dk:#3b2470;--p-lt:#6b45c0;
  --p-xs:#f0ebfa;--p-sm:#e0d5f5;
  --ink:#1a1035;--ink2:#2d2150;--slate:#5b5478;--muted:#9490a8;
  --border:#e8e0f5;--light:#f7f5fd;--white:#fff;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* ══ HERO ══ */
.hero{background: var(--color-grad);padding:68px 60px 0;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-100px;right:-100px;width:580px;height:580px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.07) 0%,transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:200px;background:radial-gradient(ellipse 70% 60% at 60% 100%,rgba(196,181,253,.1) 0%,transparent 70%);pointer-events:none}
.g{position:absolute;pointer-events:none}
.g1{top:28px;left:6%;width:18px;height:18px;border:2px solid rgba(255,255,255,.18);border-radius:4px;transform:rotate(20deg)}
.g2{top:72px;left:20%;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.15)}
.g3{top:44px;right:36%;width:14px;height:14px;border:2px solid rgba(255,255,255,.13);transform:rotate(45deg)}
.g4{top:136px;left:4%;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.1)}
.g5{top:54px;right:15%;width:12px;height:12px;border:2px solid rgba(255,255,255,.15);transform:rotate(15deg)}
.g6{bottom:130px;right:7%;width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-radius:4px;transform:rotate(30deg)}
.g7{bottom:170px;left:30%;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.1)}
.g8{top:100px;right:26%;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.12)}

.hero-inner{max-width:920px;margin:0 auto;text-align:center;position:relative;z-index:1;padding-bottom:64px}
.h-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:100px;padding:5px 16px 5px 10px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:22px}
.h-badge-dot{width:6px;height:6px;border-radius:50%;background:#c4b5fd;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.6)}}
.hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(38px,5.5vw,64px);font-weight:800;color:#fff;letter-spacing:-2.5px;line-height:1.0;margin-bottom:18px}
.hero h1 em{font-style:normal;color:#c4b5fd}
.hero-sub{font-size:16px;color:rgba(255,255,255,.58);line-height:1.8;max-width:580px;margin:0 auto 44px}

/* hero pills row */
.hero-pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.hp{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:8px 20px}
.hp-icon svg{width:14px;height:14px;fill:none;stroke:#c4b5fd;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hp-text{font-size:13px;font-weight:600;color:rgba(255,255,255,.8)}
.hp-text strong{font-family:'Space Grotesk',sans-serif;font-weight:800;color:#fff}

/* wave */
.hero-wave{line-height:0;margin-top:-1px}
.hero-wave svg{display:block;width:100%}

/* ══ HOW IT WORKS ══ */
.how-sec{padding: 70px 0;padding-top: 0px;/* background:var(--light); */}
.how-inner{max-width: 80vw;margin:0 auto}
.sec-ey{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--p);margin-bottom:8px}
.sec-title{font-family:'Space Grotesk',sans-serif;font-weight:800;color:var(--ink);letter-spacing:-1.2px;line-height:1.1;margin-bottom:10px}
.sec-sub{font-size:15px;color:var(--slate);line-height:1.8;max-width:520px;margin-bottom:56px}

/* horizontal timeline */
.htl{position:relative;display:flex;flex-direction:column;gap:0;background: var(--color-bg);border: 1.5px solid var(--color-bg-border);border-radius:22px;padding:36px 40px;margin-bottom:32px}
.htl::before{content:'';position:absolute;left:59px;top:52px;bottom:52px;width:2px;background:linear-gradient(180deg,var(--p) 0%,var(--p-sm) 60%,var(--border) 100%);border-radius:2px}
.htl-item{display:flex;gap:24px;align-items:flex-start;padding:20px 0;position:relative}
.htl-item:first-child{padding-top:0}
.htl-item:last-child{padding-bottom:0}
.htl-item+.htl-item{border-top: 1px solid #e2e9ef;}
.htl-dot{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;z-index:1;position:relative;border:2px solid var(--p-sm);background:var(--white);transition:all .25s}
.htl-dot.done{background: var(--color-primary);border-color: var(--color-primary);}
.htl-dot svg{width:16px;height:16px;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.htl-dot:not(.done) svg{stroke:var(--p)}
.htl-dot.done svg{stroke:#fff}
.htl-body{flex:1;padding-top:8px}
.htl-meta{font-size: 12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.htl-title{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.3px;margin-bottom:5px}
.htl-desc{/* font-size: 14px; */color:var(--slate);line-height:1.65;max-width:680px}

.occ-sec{/* background:var(--light); */padding: 70px 0 !important;padding-top: 0px;}
.occ-inner{max-width: 80vw;margin:0 auto}
.occ-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}
.occ-card{border: 1.5px solid var(--color-bg-border);border-radius:16px;padding:18px 16px;display:flex;align-items:center;gap:12px;transition:all .25s;background: var(--color-bg);}
.occ-card:hover{border-color: var(--color-bg);background: var(--color-bg);transform:translateY(-2px)}
.occ-icon{width:38px;height:38px;border-radius:11px;background:var(--white);border: 1.5px solid var(--color-bg-border);display:grid;place-items:center;flex-shrink:0;transition:all .25s}
.occ-icon svg{width:18px;height:18px;fill:none;stroke: #212529;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.occ-card:hover .occ-icon{background: var(--color-bg-border);border-color: var(--color-bg-border);}
.occ-card:hover .occ-icon svg{stroke:#fff}
.occ-name{font-size: 15px;font-weight:700;color:var(--ink);line-height:1.3}

/* right: timeline visual */
.occ-right{}
.timeline{display:flex;flex-direction:column;gap:0;position:relative}
.timeline::before{content:'';position:absolute;left:19px;top:12px;bottom:12px;width:2px;background:linear-gradient(180deg,var(--p-sm) 0%,var(--border) 100%);border-radius:2px}
.tl-item{display:flex;gap:16px;padding:14px 0;align-items:flex-start;position:relative}
.tl-dot{width:40px;height:40px;border-radius:50%;border:2px solid var(--p-sm);background:var(--white);display:grid;place-items:center;flex-shrink:0;z-index:1;transition:all .25s}
.tl-dot.active{background:var(--p);border-color:var(--p)}
.tl-dot svg{width:16px;height:16px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tl-dot:not(.active) svg{stroke:var(--p)}
.tl-dot.active svg{stroke:#fff}
.tl-content{padding-top:8px}
.tl-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.tl-title{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:800;color:var(--ink);margin-bottom:3px;letter-spacing:-.2px}
.tl-desc{font-size:12.5px;color:var(--slate);line-height:1.55}

/* ══ CTA BAND ══ */
.cta-band{background: var(--color-grad);padding: 72px 0;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;right:-100px;top:-100px;width:480px;height:480px;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none}
.cta-band::after{content:'';position:absolute;left:-60px;bottom:-80px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}
.cg{position:absolute;pointer-events:none}
.cg1{top:24px;left:32%;width:16px;height:16px;border:2px solid rgba(255,255,255,.1);transform:rotate(25deg)}
.cg2{bottom:28px;right:24%;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.08)}
.cg3{top:48px;right:30%;width:13px;height:13px;border:2px solid rgba(255,255,255,.1);transform:rotate(45deg)}
.cta-inner{max-width: 90vw;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
.cta-ey{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:10px}
.cta-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,4vw,46px);font-weight:800;color:#fff;letter-spacing:-1.5px;line-height:1.05;margin-bottom:12px}
.cta-title em{font-style:normal;color:#c4b5fd}
.cta-desc{font-size:15px;color:rgba(255,255,255,.55);line-height:1.75;max-width:500px}
.cta-btns{display:flex;flex-direction:column;gap:12px;min-width:210px}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--p);font-size:14px;font-weight:700;padding:14px 28px;border-radius:10px;text-decoration:none;transition:all .2s;box-shadow:0 6px 20px rgba(0,0,0,.12)}
.btn-primary:hover{background:var(--p-xs);transform:translateY(-2px)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.25);color:#fff;font-size:14px;font-weight:600;padding:12px 24px;border-radius:10px;text-decoration:none;transition:all .2s}
.btn-ghost:hover{background:rgba(255,255,255,.18)}

/* ══════════════════════════════════
   RESPONSIVE — LAPTOP (≤ 1100px)
══════════════════════════════════ */
@media(max-width:1100px){
  .hero{padding:56px 40px 0}
  .how-sec{/* padding:64px 40px; */padding-top: 0px;}
  .occ-sec{/* padding:64px 40px; *//* padding-top: 0px; */}
  .cta-band{padding:60px 40px}
  .htl{padding:28px 32px}
  .htl::before{left:51px}
}

/* ══════════════════════════════════
   RESPONSIVE — TABLET (≤ 820px)
══════════════════════════════════ */
@media(max-width:820px){
  .hero{padding:48px 28px 0}
  .hero h1{letter-spacing:-1.5px}
  .hero-sub{font-size:15px;margin-bottom:32px}
  .hero-pills{gap:8px}
  .hp{padding:7px 16px;gap:7px}
  .hp-text{font-size:12px}

  .occ-sec{/* padding:56px 28px; */}
  .occ-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:28px}
  .sec-sub{margin-bottom:40px;/* font-size:14.5px; */}

  .how-sec{/* padding:56px 28px; */}
  .htl{padding:24px 24px;border-radius:18px}
  .htl::before{left:43px;top:44px;bottom:44px}
  .htl-item{gap:18px;padding:16px 0}
  .htl-dot{width:36px;height:36px}
  .htl-dot svg{width:14px;height:14px}
  .htl-title{/* font-size:15px; */}
  .htl-desc{/* font-size:13px; */}

  .cta-band{padding:56px 28px}
  .cta-inner{grid-template-columns:1fr;gap:32px;text-align:center}
  .cta-desc{max-width:100%}
  .cta-btns{flex-direction:row;flex-wrap:wrap;justify-content:center;min-width:unset;gap:10px}
  .btn-primary,.btn-ghost{flex:1;min-width:180px}
}

/* ══════════════════════════════════
   RESPONSIVE — MOBILE (≤ 540px)
══════════════════════════════════ */
@media(max-width:540px){
  .hero{padding:36px 16px 0}
  .h-badge{font-size:10px;padding:4px 13px 4px 9px;letter-spacing:1px}
  .hero h1{letter-spacing:-1px;margin-bottom:14px}
  .hero-sub{font-size:14px;margin-bottom:28px}
  .hero-pills{flex-direction:column;align-items:center;gap:8px}
  .hp{width:100%;max-width:280px;justify-content:center}

  .occ-sec{/* padding:44px 16px; */}
  .occ-grid{grid-template-columns:repeat(2,1fr);gap:9px}
  .occ-card{padding:14px 12px;gap:10px;border-radius:13px}
  .occ-icon{width:34px;height:34px;border-radius:9px}
  .occ-icon svg{width:16px;height:16px}
  .occ-name{/* font-size:12px; */}
  .sec-title{letter-spacing:-.8px}
  .sec-sub{/* font-size:14px; */margin-bottom:28px}

  .how-sec{/* padding:44px 16px; */}
  .htl{padding:20px 18px;border-radius:16px;margin-bottom:20px}
  .htl::before{left:37px;top:40px;bottom:40px}
  .htl-item{gap:14px;padding:14px 0}
  .htl-dot{width:32px;height:32px}
  .htl-dot svg{width:13px;height:13px}
  .htl-body{padding-top:5px}
  .htl-meta{/* font-size:9px; */letter-spacing:1px}
  .htl-title{/* font-size:14px; */margin-bottom:3px}
  .htl-desc{/* font-size:12.5px; */}

  .cta-band{padding:44px 16px}
  .cta-title{letter-spacing:-1px}
  .cta-desc{font-size:14px}
  .cta-btns{flex-direction:column;gap:10px}
  .btn-primary,.btn-ghost{width:100%;min-width:unset}

  .note-cta-strip{flex-direction:column;text-align:center;padding:16px !important;border-radius:12px !important}
}
@media(max-width: 576px){
  .main,.faq-section,.sec {
        padding:70px 0;
    }
  .page,.faq-inner,.sec-inner,.brand-inner,.how-inner,.occ-innera,.occ-inner{
    padding: 0;
    max-width: 90vw;
  }
}