:root{
  --bg:#fbf9ff;
  --surface:#ffffff;
  --ink:#1f1a33;
  --muted:#675f7d;
  --line:#e8e1f4;
  --violet:#6f45d8;
  --violet-2:#8c61ef;
  --indigo:#24165f;
  --lilac:#eee8ff;
  --gold:#f3bd4b;
  --shadow:0 22px 60px rgba(48,31,94,.12);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#fbf9ff 0%,#fff 70%);color:var(--ink);line-height:1.55}
a{color:inherit}
.wrap{width:min(1120px,calc(100% - 36px));margin:auto}
.nav{position:sticky;top:0;z-index:20;background:rgba(251,249,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(111,69,216,.08)}
.nav-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-weight:800;letter-spacing:.16em;font-size:.92rem;text-decoration:none;color:var(--indigo)}
.nav-links{display:flex;align-items:center;gap:22px;font-size:.94rem}
.nav-links a{text-decoration:none;color:var(--muted)}
.nav-links a:hover{color:var(--violet)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border-radius:999px;background:var(--indigo);color:#fff!important;text-decoration:none!important;font-weight:700;box-shadow:0 10px 24px rgba(36,22,95,.18)}
.btn.ghost{background:#fff;color:var(--indigo)!important;border:1px solid var(--line);box-shadow:none}
.hero{padding:84px 0 70px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:44px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--violet);font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}
.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 7px rgba(243,189,75,.16)}
h1{font-size:clamp(3.1rem,7vw,6.4rem);line-height:.94;letter-spacing:-.055em;margin:0 0 22px;color:var(--indigo)}
.hero p{font-size:clamp(1.06rem,2vw,1.25rem);color:var(--muted);max-width:650px;margin:0 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-note{margin-top:18px;color:#7e7693;font-size:.88rem}
.character-card{position:relative;min-height:510px;border-radius:48px;background:radial-gradient(circle at 45% 36%,rgba(255,224,113,.56),transparent 19%),linear-gradient(145deg,#efe8ff,#d9ceff 48%,#c9f5ee);box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:34px}
.character-card:before,.character-card:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}
.character-card:before{width:190px;height:190px;background:rgba(255,255,255,.5);top:-70px;right:-55px}
.character-card:after{width:140px;height:140px;background:rgba(243,189,75,.22);bottom:30px;left:-40px}
.character-card picture{position:relative;z-index:2;display:block;width:min(100%,470px)}
.character-card img{display:block;width:100%;height:auto;filter:drop-shadow(0 28px 32px rgba(50,20,120,.2))}
.section{padding:82px 0}
.section.soft{background:#f7f3ff;border-top:1px solid #eee7fb;border-bottom:1px solid #eee7fb}
.kicker{font-weight:800;color:var(--violet);font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px}
h2{font-size:clamp(2.15rem,4vw,3.8rem);line-height:1.04;letter-spacing:-.04em;margin:0 0 18px;color:var(--indigo)}
.lede{font-size:1.1rem;color:var(--muted);max-width:760px;margin:0 0 36px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 14px 34px rgba(54,37,104,.06)}
.card .num{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--lilac);color:var(--violet);font-weight:900;margin-bottom:18px}
.card h3{font-size:1.22rem;margin:0 0 9px;color:var(--indigo)}
.card p{color:var(--muted);margin:0;font-size:.98rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.panel{border-radius:var(--radius);padding:34px;background:var(--indigo);color:#fff;min-height:100%}
.panel.light{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 14px 34px rgba(54,37,104,.06)}
.panel h3{font-size:1.7rem;margin:0 0 12px}
.panel p{color:rgba(255,255,255,.78);margin:0}
.panel.light p{color:var(--muted)}
.checks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.checks li{display:flex;gap:11px;align-items:flex-start;color:rgba(255,255,255,.88)}
.checks li:before{content:"✓";flex:0 0 24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.13);font-weight:800}
.panel.light .checks li{color:var(--ink)}
.panel.light .checks li:before{background:var(--lilac);color:var(--violet)}
.quote{margin-top:30px;border-left:4px solid var(--gold);padding:6px 0 6px 18px;color:var(--muted);font-size:1.04rem}
.cta{padding:74px 0}
.cta-box{border-radius:34px;background:linear-gradient(135deg,var(--indigo),#5f34c9 62%,#7c55e8);color:#fff;padding:48px;display:flex;justify-content:space-between;gap:28px;align-items:center;box-shadow:var(--shadow)}
.cta-box h2{color:#fff;font-size:clamp(2rem,4vw,3.4rem);margin-bottom:10px}
.cta-box p{margin:0;color:rgba(255,255,255,.76);max-width:640px}
.footer{padding:28px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer a{color:var(--muted);text-decoration:none}
.legal{padding:70px 0 100px}
.legal article{max-width:820px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:30px;padding:clamp(26px,5vw,56px);box-shadow:0 16px 46px rgba(54,37,104,.07)}
.legal h1{font-size:clamp(2.7rem,6vw,4.4rem)}
.legal h2{font-size:1.55rem;letter-spacing:-.02em;margin-top:34px}
.legal p,.legal li{color:#554d69}
.legal .updated{font-size:.9rem;color:#827a95;margin-bottom:34px}
.notice{border-radius:18px;background:#faf7ff;border:1px solid var(--line);padding:18px 20px;margin:22px 0}
@media(max-width:860px){
 html{scroll-padding-top:160px}
 .nav-inner{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 0}
 .nav-links{width:100%;flex-wrap:wrap;gap:4px 16px}
 .nav-links a{display:inline-flex;align-items:center;min-height:44px}
 .hero{padding-top:54px}.hero-grid,.split{grid-template-columns:1fr}.character-card{min-height:400px;order:-1}.cards{grid-template-columns:1fr}.cta-box{padding:34px;align-items:flex-start;flex-direction:column}h1{font-size:clamp(3rem,15vw,5rem)}
}
@media(max-width:520px){.wrap{width:min(100% - 24px,1120px)}.nav-inner{min-height:64px}.character-card{min-height:330px;border-radius:30px;padding:20px}.section{padding:62px 0}.panel{padding:26px}.cta{padding:56px 0}.cta-box{border-radius:26px;padding:28px}}
