:root{--dp:#3B1360;--lp:#7E4FB8;--pl:#EFE7F8;--or:#F28C28;--cy:#83D3FB;--ink:#1E1430;--mut:#5c5470}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);line-height:1.6;background:#fff}
img{max-width:100%;display:block}a{color:var(--lp)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.top{background:var(--dp);color:#fff;padding:10px 0;font-size:14px}header.top .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}header.top b{color:var(--cy)}header.top a{color:#fff;text-decoration:none}
.hero{position:relative;min-height:min(78vh,680px);display:flex;align-items:flex-end;color:#fff;background:#222 center/cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(59,19,96,.15) 30%,rgba(59,19,96,.9))}
.hero .wrap{position:relative;padding-bottom:48px;width:100%}
.tag{color:var(--cy);letter-spacing:2px;font-size:13px;font-weight:700}
.hero h1{font-size:clamp(30px,5vw,54px);margin:6px 0;line-height:1.1}.price{font-size:clamp(26px,4vw,40px);font-weight:800;color:var(--or)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.pills span{background:var(--or);color:var(--ink);font-weight:700;border-radius:99px;padding:5px 14px;font-size:14px}
.btn{display:inline-block;background:var(--or);color:var(--ink);font-weight:800;padding:12px 22px;border-radius:10px;text-decoration:none;margin:6px 8px 0 0}.btn.alt{background:transparent;border:2px solid var(--cy);color:#fff}
section{padding:64px 0}section.alt{background:var(--pl)}h2{color:var(--dp);font-size:clamp(24px,3vw,34px);margin:0 0 8px}h2:after{content:"";display:block;width:60px;height:4px;background:var(--or);margin-top:10px;border-radius:2px}
.sub{color:var(--mut);margin-top:0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:24px}.fact{background:#fff;border:1px solid #e3d8f2;border-left:5px solid var(--lp);border-radius:12px;padding:14px 16px}.fact small{display:block;color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:1px}.fact b{font-size:18px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}@media(max-width:800px){.two{grid-template-columns:1fr}}
.two img{border-radius:16px;box-shadow:0 10px 30px rgba(59,19,96,.2)}
ul.ticks{list-style:none;padding:0}ul.ticks li{padding:6px 0 6px 30px;position:relative}ul.ticks li:before{content:"✓";position:absolute;left:0;color:var(--or);font-weight:900}
.note{background:#fff;border-left:5px solid var(--cy);padding:14px 18px;border-radius:10px;margin-top:18px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}.card{background:#fff;border-radius:14px;padding:18px;border-top:5px solid var(--lp);box-shadow:0 4px 16px rgba(0,0,0,.06)}.card h3{margin:0 0 6px;color:var(--dp);font-size:17px}.card p{margin:0;color:var(--mut);font-size:15px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:24px}.gallery a{display:block;overflow:hidden;border-radius:10px;aspect-ratio:3/2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery a:hover img{transform:scale(1.05)}
table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border-radius:12px;overflow:hidden}th,td{padding:12px 14px;border-bottom:1px solid #eee;text-align:left}th{background:var(--dp);color:#fff}td.n{text-align:right;font-weight:700}
.small{font-size:13px;color:var(--mut)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}.step{background:#fff;border-radius:14px;padding:18px;position:relative}.step:before{counter-increment:s;content:counter(s);background:var(--or);color:var(--ink);font-weight:900;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;margin-bottom:8px}
footer.contact{background:linear-gradient(135deg,var(--dp),var(--lp));color:#fff;padding:56px 0}footer h2{color:#fff}.brand{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin:18px 0}.brand div{font-size:clamp(20px,3vw,28px);font-weight:800}.brand .sep{width:3px;height:40px;background:var(--cy)}footer a{color:var(--cy)}
#lb{position:fixed;inset:0;background:rgba(20,8,35,.94);display:none;align-items:center;justify-content:center;z-index:9;padding:20px}#lb.on{display:flex}#lb img{max-height:90vh;border-radius:8px}#lb button{position:absolute;background:none;border:0;color:#fff;font-size:40px;cursor:pointer;padding:10px}#lb .x{top:10px;right:16px}#lb .pv{left:6px}#lb .nx{right:6px}
/* motion */
html{scroll-behavior:smooth}
.hero{overflow:hidden;background:none}.hero .bg{position:absolute;inset:0;background:center/cover;animation:kb 22s ease-in-out infinite alternate;will-change:transform}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.12) translate(-1.5%,-1%)}}
.hero .wrap>*{opacity:0;animation:copyIn .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero .wrap>*:nth-child(2){animation-delay:.15s}.hero .wrap>*:nth-child(4){animation-delay:.3s}.hero .wrap>*:nth-child(5){animation-delay:.45s}.hero .wrap>*:nth-child(n+6){animation-delay:.6s}
@keyframes copyIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
#intro{position:fixed;inset:0;z-index:20;display:flex;perspective:1400px;background:#1A0B2E;animation:loaderOut .6s 2.3s forwards}
#intro .door{flex:1;background:linear-gradient(135deg,var(--dp),var(--lp));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:clamp(16px,3vw,26px);text-align:center;padding:10px}
#intro .l{transform-origin:left;animation:swingL 1.2s 1s cubic-bezier(.6,0,.3,1) forwards;border-right:2px solid var(--cy)}#intro .r{transform-origin:right;animation:swingR 1.2s 1s cubic-bezier(.6,0,.3,1) forwards}
#intro small{display:block;color:var(--or);font-size:.6em;letter-spacing:2px}
@keyframes swingL{to{transform:rotateY(-95deg);box-shadow:-20px 0 30px #0006}}@keyframes swingR{to{transform:rotateY(95deg)}}
@keyframes loaderOut{to{opacity:0;visibility:hidden}}
.rv{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.rv.l{transform:translateX(-40px)}.rv.r{transform:translateX(40px)}.rv.l.in,.rv.r.in{transform:none}
.fact,.card,.step,.gallery a,.two img{transition:transform .35s ease,box-shadow .35s ease,opacity .8s ease}
.fact:hover,.card:hover,.step:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(59,19,96,.18)}
.gallery a:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(59,19,96,.3)}
.band{height:min(46vh,420px);min-height:260px;background:center/cover fixed;position:relative;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}
.band:before{content:"";position:absolute;inset:0;background:rgba(59,19,96,.45)}.band p{position:relative;font-size:clamp(22px,4vw,40px);font-weight:800;margin:0 20px;text-shadow:0 2px 12px #0008}.band p span{color:var(--or)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:26px;text-align:center}.stats div{background:#fff;border-radius:14px;padding:18px}.stats b{display:block;font-size:clamp(26px,4vw,38px);color:var(--lp)}.stats small{color:var(--mut)}
@media(max-width:800px),(hover:none){.band{background-attachment:scroll}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv,.hero .wrap>*{opacity:1!important;transform:none!important}#intro{display:none}.band{background-attachment:scroll}}
.hero:before{z-index:1}.hero .wrap{z-index:2}
html.static .band{background-attachment:scroll}
html.static .hero .wrap>*{opacity:1;animation:none}html.static .hero .bg{animation:none}
.hero .hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}.hero .hv.on{opacity:1}
button.btn{font:inherit;cursor:pointer;border:0}
#film{position:fixed;inset:0;z-index:9999;background:rgba(20,8,36,.94);display:flex;align-items:center;justify-content:center;padding:24px}#film[hidden]{display:none}
#film video{width:min(1280px,100%);max-height:88vh;border-radius:10px;background:#000}
#filmX{position:absolute;top:14px;right:20px;font-size:40px;line-height:1;color:#fff;background:none;border:0;cursor:pointer}
@media(prefers-reduced-motion:reduce){.hero .hv{display:none}}
.zcards{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));margin-bottom:18px}
.zcards .card p{font-size:.95rem;line-height:1.6}
.zlinks{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 10px}
.zlinks .btn.ghost{background:transparent;border:2px solid #83D3FB;color:#3B1360}
.zone{background:linear-gradient(180deg,rgba(131,211,251,.14),rgba(131,211,251,.04))}

#intro .door{align-items:flex-start;padding-top:16vh}#intro .me{position:absolute;left:50%;bottom:0;height:min(62vh,640px);max-width:90vw;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 10px 24px #0008);animation:meOut .5s .9s ease forwards;pointer-events:none}@keyframes meOut{to{opacity:0;transform:translateX(-50%) translateY(30px)}}@media(max-width:600px){#intro .door{padding-top:12vh}#intro .me{height:56vh}}
