:root{
  --primary:#1d0b55;
  --primary-2:#2d156f;
  --yellow:#ffd200;
  --text:#171b2b;
  --muted:#66708b;
  --bg:#ffffff;
  --soft:#f5f7fc;
  --soft-2:#eef2fa;
  --line:#e7ebf4;
  --shadow:0 18px 50px rgba(18,24,45,.10);
  --radius:28px;
  --blue:#4385f5;
  --gold:#f3a208;
  --purple:#8a55ff;
  --red:#f24c54;
  --wine:#a7242a;
  --pink:#ef4f9c;
  --green:#1fc58d;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Montserrat',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.section{padding:90px 0;position:relative}
.section-light{background:#f8f9fe}
.section-white{background:#fff}
.section-soft{background:linear-gradient(180deg,#ffffff 0%, #f6f8fd 100%)}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.hero{
  position:relative;background:linear-gradient(135deg,var(--primary) 0%,#2a1267 55%, #311a72 100%);color:#fff;overflow:hidden
}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:26px 0;position:relative;z-index:5}
.brand-mark img{height:64px;width:auto;object-fit:contain}
.btn,.pill{
  display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;transition:.25s ease;cursor:pointer
}
.btn-outline{border:1px solid rgba(255,255,255,.26);padding:12px 20px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.btn-outline:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;padding:34px 0 90px;position:relative;z-index:3}
.eyebrow,.section-kicker{letter-spacing:.18em;text-transform:uppercase;font-weight:800;font-size:13px;color:#b9b4df;margin:0 0 12px}
.hook{
  font-size:clamp(1rem,2vw,1.22rem);font-weight:700;max-width:720px;color:#ffffff;margin:0 0 14px
}
.hero h1{font-size:clamp(2.55rem,6.1vw,5.2rem);line-height:.96;margin:0;font-weight:900;letter-spacing:-.04em;text-transform:uppercase}
.hero h1 span{color:var(--yellow)}
.divider{width:82px;height:8px;border-radius:999px;background:var(--yellow);margin:26px 0}
.lead{font-size:1.18rem;color:#efeefe;max-width:640px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.pill{padding:14px 24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);min-width:160px}
.pill:hover{transform:translateY(-3px)}
.pill-gold{box-shadow:inset 0 0 0 1px rgba(255,210,0,.35)}
.pill-blue{box-shadow:inset 0 0 0 1px rgba(67,133,245,.35)}
.pill-green{box-shadow:inset 0 0 0 1px rgba(31,197,141,.35)}
.hero-foot{margin-top:28px;color:#a8a4c8;font-size:.92rem}
.hero-visual{position:relative;min-height:560px}
.hero-image-main,.hero-image-small,.photo-card,.gallery-item{
  overflow:hidden;border-radius:30px;box-shadow:var(--shadow);background:#fff
}
.hero-image-main{position:absolute;right:0;top:0;width:82%;height:420px;border:1px solid rgba(255,255,255,.18)}
.hero-image-small{position:absolute;left:0;bottom:24px;width:48%;height:220px;border:8px solid rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.hero-image-main img,.hero-image-small img,.photo-card img,.gallery-item img{width:100%;height:100%;object-fit:cover}
.hero-bg{position:absolute;border-radius:50%;pointer-events:none}
.shape-a{width:520px;height:520px;right:-110px;top:-110px;background:rgba(116,85,255,.12)}
.shape-b{width:480px;height:480px;left:-170px;bottom:-120px;background:rgba(0,0,0,.25)}
.shape-c{width:220px;height:220px;left:110px;top:120px;background:rgba(255,210,0,.07)}
.music-note{font-size:130px;color:rgba(255,255,255,.08);font-weight:900}
.note-a{right:120px;top:130px}
.note-b{left:70px;bottom:120px}
.section-heading{margin-bottom:34px}
.section-heading.center{text-align:center}
.section-heading.left{text-align:left}
.section-heading h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.05;margin:0 0 10px;font-weight:900;letter-spacing:-.03em;text-transform:uppercase}
.section-heading p{margin:0 auto;color:var(--muted);max-width:780px}
.section-heading.left p{margin:0;color:var(--muted)}
.gold-text{color:#b78d00}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.stat-card,.benefit-card,.step-card,.timeline-card,.comp-card{
  background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);position:relative
}
.stat-card{min-height:240px;border-top:5px solid var(--line);text-align:center;display:flex;flex-direction:column;justify-content:center}
.stat-card:nth-child(4){grid-column:1/3}
.stat-card:nth-child(5){grid-column:3/4}
.blue{border-color:var(--blue)} .gold{border-color:var(--gold)} .purple{border-color:var(--purple)} .red{border-color:var(--red)} .wine{border-color:var(--wine)} .pink{border-color:var(--pink)} .green{border-color:var(--green)}
.stat-icon{font-size:36px;margin-bottom:12px}
.stat-card h3{font-size:3rem;line-height:1;margin:0;font-weight:900}
.stat-card h4{text-transform:uppercase;font-size:1.1rem;margin:8px 0;color:var(--text)}
.stat-card p{margin:0;color:var(--muted)}
.source-note{text-align:right;margin-top:20px;color:#8b8faa;font-size:.95rem}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.feature-list{display:grid;gap:18px}
.feature-item{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.feature-item span{font-size:24px;line-height:1.2}
.feature-item p{margin:0;color:#4f556f;font-size:1.08rem}
.tag-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.tag{padding:12px 18px;border-radius:999px;background:var(--soft);font-weight:700;color:var(--primary-2);border:1px solid #e5e7f2}
.side-visual{display:flex;justify-content:center}
.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end;width:100%}
.photo-card{height:280px;border-radius:28px}
.photo-card.tall{height:420px}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.timeline::before{content:"";position:absolute;top:42px;left:7%;right:7%;height:4px;background:#dce2f2;z-index:0}
.timeline-card{padding-top:30px;z-index:1;text-align:center;min-height:290px}
.timeline-number,.step-number{position:absolute;top:-16px;left:24px;width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:var(--shadow)}
.timeline-icon,.step-icon{width:86px;height:86px;border-radius:28px;display:grid;place-items:center;margin:10px auto 18px;font-size:38px;background:#f4f6fe}
.timeline-card h3,.step-card h3,.benefit-card h3,.comp-card h3{margin:0 0 10px;font-size:1.5rem;line-height:1.15}
.timeline-card p,.step-card p,.benefit-card p,.comp-card p{margin:0;color:var(--muted)}
.banner-note{margin-top:24px;padding:20px 24px;border-radius:18px;background:#eef1f7;color:#5f6479;text-align:center;font-weight:600}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.step-card{text-align:center;min-height:355px;padding-top:48px}
.step-card small{display:inline-block;margin-bottom:8px;padding:6px 10px;background:#fff1c8;border-radius:999px;color:#9c7a00;font-weight:700}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.benefit-card:nth-child(4){grid-column:1/2}
.benefit-card:nth-child(5){grid-column:2/3}
.benefit-card{border-bottom:5px solid var(--line);min-height:215px}
.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:20px;grid-auto-rows:220px}
.gallery-item{height:100%}
.gallery-large{grid-row:span 2}
.summary-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:26px 0 34px}
.summary-box{background:#fff;border-radius:24px;padding:24px 28px;box-shadow:var(--shadow);border-right:6px solid var(--green)}
.summary-box span{display:block;text-transform:uppercase;font-size:.9rem;font-weight:800;color:#8a8fa4;margin-bottom:6px}
.summary-box strong{font-size:clamp(2rem,4vw,3rem);line-height:1;font-weight:900}
.comp-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;align-items:center}
.comp-card{text-align:center;min-height:230px;display:flex;flex-direction:column;justify-content:center}
.comp-card strong{display:inline-block;margin-top:18px;padding:12px 18px;border-radius:999px;background:#fff2c8;color:#b97700;font-size:1.7rem;font-weight:900}
.level{position:absolute;top:-12px;left:24px;background:#f6f6f6;padding:8px 14px;border-radius:999px;font-weight:800;color:#7f8396;text-transform:uppercase;font-size:.85rem;box-shadow:0 8px 20px rgba(21,22,44,.08)}
.lvl1{border-top:5px solid var(--green)} .lvl2{border-top:5px solid var(--blue)} .lvl3{border-top:5px solid var(--purple)} .lvl4{border-top:5px solid #ff7e1d}
.center-user{background:transparent;box-shadow:none;min-height:150px}
.user-circle{width:180px;height:180px;border-radius:50%;border:4px solid #2b3451;background:#fff;display:grid;place-items:center;margin:auto;font-size:2.5rem;font-weight:900;box-shadow:var(--shadow)}
.cta-section{background:linear-gradient(135deg,var(--primary) 0%,#331c78 100%);color:#fff}
.cta-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:36px;padding:44px;text-align:center;box-shadow:var(--shadow)}
.cta-box h2{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.05;margin:0 0 14px;font-weight:900}
.cta-box p{margin:0 auto;max-width:760px;color:#e3e0f4}
.centered{justify-content:center}
.footer{background:#0f0b29;color:#a9acc2;padding:18px 0}
.footer-wrap{display:flex;justify-content:space-between;align-items:center;gap:20px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
@media (max-width: 1050px){
  .hero-grid,.two-col,.timeline,.steps-grid,.benefits-grid,.comp-grid,.stats-grid,.summary-strip{grid-template-columns:1fr 1fr}
  .timeline::before{display:none}
  .center-user{grid-column:1/-1;order:-1}
  .stat-card:nth-child(4),.stat-card:nth-child(5),.benefit-card:nth-child(4),.benefit-card:nth-child(5){grid-column:auto}
  .hero-visual{min-height:460px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .gallery-large{grid-row:span 1;grid-column:1/-1}
}
@media (max-width: 760px){
  .hero-grid,.two-col,.timeline,.steps-grid,.benefits-grid,.comp-grid,.stats-grid,.summary-strip,.gallery-grid,.photo-stack{grid-template-columns:1fr}
  .topbar,.footer-wrap{flex-direction:column;align-items:flex-start}
  .hero-actions{flex-direction:column;align-items:stretch}
  .pill,.btn-outline{width:100%}
  .section{padding:72px 0}
  .stat-card,.timeline-card,.step-card,.benefit-card,.comp-card,.summary-box,.cta-box{padding:22px}
  .hero-visual{min-height:auto;display:grid;gap:16px}
  .hero-image-main,.hero-image-small{position:relative;width:100%;height:260px;left:auto;right:auto;bottom:auto;top:auto}
  .photo-card,.photo-card.tall{height:260px}
  .shape-a{width:330px;height:330px}
  .shape-b{width:300px;height:300px}
  .music-note{font-size:80px}
  .brand-mark img{height:52px}
}
