:root{--plum:#241046;--plum2:#3d1a6e;--rose:#ff4fa8;--rose2:#e0188a;--gold:#ffc21a;--cream:#fff6e8;--paper:#fffdf8;--ink:#2a1d3a;--muted:#6f6480;--line:#eadcc6;--cyan:#4de8e0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}
a{color:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.skip{position:absolute;left:14px;top:-80px;background:#fff;color:#111;padding:8px 12px;z-index:30}.skip:focus{top:10px}
.top{position:absolute;inset:0 0 auto;z-index:10;color:#fff}
.top .wrap{display:flex;align-items:center;min-height:74px;border-bottom:1px solid rgba(255,255,255,.16)}
.brand{font-weight:850;text-decoration:none;display:flex;align-items:center;gap:10px}.brand img{width:34px;height:34px;border-radius:10px}.brandmark{color:var(--gold)}
.top nav{display:flex;gap:23px;margin-left:auto}.top nav a{color:#f1e4ff;text-decoration:none;font-size:.91rem}.top nav a:hover{color:#fff}
.hero{overflow:hidden;color:#fff;padding:135px 0 90px;background:
 radial-gradient(circle at 78% 34%,rgba(255,194,26,.30),transparent 28%),
 radial-gradient(circle at 12% 90%,rgba(255,79,168,.28),transparent 34%),
 linear-gradient(170deg,#2b1257 0%,#6a2a86 46%,#e8508a 82%,#ff9a5a 100%)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}
.eyebrow,.section-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850}
.eyebrow{color:var(--gold);margin:0 0 16px}
h1{font-size:clamp(2.6rem,6vw,4.7rem);line-height:1.02;margin:0 0 20px;letter-spacing:-.03em}
h1 span{display:block;color:var(--gold)}
.lead{font-size:1.14rem;color:#f6e9ff;max-width:34em}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 16px}
.btn{display:inline-flex;align-items:center;min-height:50px;padding:0 24px;border-radius:999px;font-weight:800;text-decoration:none}
.btn.primary{background:var(--gold);color:#3a2300}.btn.primary[aria-disabled=true]{opacity:.92;cursor:default}
.btn.ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.fine{font-size:.88rem;color:#ecd9ff;margin:0}
.visual{position:relative;display:grid;place-items:center}
.visual .glow{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,226,120,.6),transparent 66%);filter:blur(8px)}
.hero-icon{position:relative;width:min(340px,70%);border-radius:22%;box-shadow:0 30px 70px rgba(30,5,60,.5);transform:rotate(-4deg)}
.section{padding:84px 0}.section-label{color:var(--rose2);margin:0 0 10px}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;margin:0 0 18px;letter-spacing:-.02em}
.intro-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.steps{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.steps li{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;counter-increment:s;position:relative}
.steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--rose);color:#fff;font-weight:850;margin-bottom:12px}
.steps b{display:block;margin-bottom:6px}.steps span{color:var(--muted);font-size:.95rem}
.shots{background:linear-gradient(180deg,#2b1257,#3d1a6e);color:#fff}
.shots .section-label{color:var(--gold)}
.shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.shot-grid figure{margin:0}.shot-grid img{width:100%;height:auto;border-radius:18px;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 44px rgba(0,0,0,.35)}
.shot-grid figcaption{margin-top:10px;font-size:.9rem;color:#e9d7ff}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.feature{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px}
.feature span{color:var(--rose2);font-weight:850}.feature h3{margin:6px 0 8px}.feature p{margin:0;color:var(--muted);font-size:.96rem}
.rides{background:#fff1da}
.ride-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.ride-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ride-list article{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.ride-list b{display:block}.ride-list span{color:var(--muted);font-size:.92rem}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin:12px 0}
.faq summary{cursor:pointer;font-weight:750}.faq p{margin:10px 0 0;color:var(--muted)}
footer{background:var(--plum);color:#d9c8f2;padding:30px 0;font-size:.92rem}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}footer a{margin-left:18px;text-decoration:none}footer a:hover{color:#fff}
/* privacy / document pages */
.doc{width:min(860px,calc(100% - 40px));margin:0 auto;padding:130px 0 70px}
.doc h1{font-size:clamp(2rem,4vw,3rem);color:var(--plum)}.doc h1 span{display:inline;color:inherit}
.doc h2{font-size:1.35rem;margin:34px 0 10px;color:var(--plum)}
.doc .meta{color:var(--muted)}.doc code{background:#f3e7d3;padding:1px 6px;border-radius:6px}
.box{background:#ffeef7;border:1px solid #f6c7de;border-radius:18px;padding:16px 20px;margin:22px 0}
.tablewrap{overflow-x:auto}.doc table{border-collapse:collapse;width:100%;min-width:560px;background:var(--paper)}
.doc th,.doc td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;font-size:.95rem}.doc th{background:#f6ead6}
.doc-page .top{position:fixed;background:linear-gradient(90deg,#2b1257,#6a2a86);z-index:20}.doc-page .top .wrap{border-bottom:0}
@media(max-width:900px){.hero-grid,.intro-grid,.ride-grid{grid-template-columns:1fr;gap:34px}.steps,.feature-grid{grid-template-columns:1fr 1fr}.shot-grid{grid-template-columns:1fr}.top nav a:not(:last-child){display:none}.ride-list{grid-template-columns:1fr}}
@media(max-width:560px){.steps,.feature-grid{grid-template-columns:1fr}.hero{padding-top:115px}}
