@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url(/assets/fonts/CormorantGaramond-italic-var-latin.woff2) format('woff2')}
:root{--ink:#f4f4f5;--dim:#a1a1aa;--acc:#c084fc;--acc2:#9333ea}
html{background:#000;scroll-behavior:smooth;scrollbar-color:#27272a #000}
body{margin:0;background:#000;color:var(--ink);font:400 16px/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
.w{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,.lw,.pr,.dm b{font-family:'Playfair Display',Georgia,serif}
em{font-family:'Cormorant Garamond','Playfair Display',serif;font-style:italic;font-weight:500;color:#e9d5ff}
.space{position:relative;isolation:isolate;clip-path:inset(0)}
.sky{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.sky__poster{position:absolute;inset:0;background:radial-gradient(ellipse 55% 40% at 70% 20%,rgba(147,51,234,.24),transparent 70%),radial-gradient(ellipse 50% 35% at 15% 55%,rgba(192,132,252,.10),transparent 72%),radial-gradient(ellipse 70% 25% at 50% 92%,rgba(88,28,135,.25),transparent 75%),#000}
.sky__dust{position:absolute;inset:0;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='480' height='480'><circle cx='217' cy='269' r='1.27' fill='%23fff' fill-opacity='0.55'/><circle cx='282' cy='89' r='0.6' fill='%23fff' fill-opacity='0.66'/><circle cx='45' cy='146' r='0.36' fill='%23fff' fill-opacity='0.78'/><circle cx='20' cy='471' r='1.37' fill='%23fff' fill-opacity='0.68'/><circle cx='76' cy='7' r='0.62' fill='%23fff' fill-opacity='0.29'/><circle cx='116' cy='14' r='0.55' fill='%23fff' fill-opacity='0.54'/><circle cx='249' cy='307' r='0.59' fill='%23fff' fill-opacity='0.68'/><circle cx='134' cy='479' r='1.44' fill='%23fff' fill-opacity='0.8'/><circle cx='151' cy='110' r='0.42' fill='%23fff' fill-opacity='0.3'/><circle cx='192' cy='406' r='0.49' fill='%23fff' fill-opacity='0.87'/><circle cx='0' cy='101' r='1.24' fill='%23fff' fill-opacity='0.56'/><circle cx='191' cy='35' r='0.75' fill='%23fff' fill-opacity='0.76'/><circle cx='42' cy='160' r='1.36' fill='%23e9d5ff' fill-opacity='0.74'/><circle cx='118' cy='49' r='0.35' fill='%23fff' fill-opacity='0.77'/><circle cx='268' cy='215' r='0.38' fill='%23e9d5ff' fill-opacity='0.73'/><circle cx='309' cy='56' r='0.51' fill='%23fff' fill-opacity='0.39'/><circle cx='466' cy='386' r='0.43' fill='%23fff' fill-opacity='0.83'/><circle cx='189' cy='410' r='0.76' fill='%23fff' fill-opacity='0.32'/><circle cx='102' cy='124' r='0.97' fill='%23fff' fill-opacity='0.46'/><circle cx='35' cy='43' r='0.69' fill='%23fff' fill-opacity='0.41'/><circle cx='178' cy='218' r='1.35' fill='%23fff' fill-opacity='0.56'/><circle cx='416' cy='88' r='0.37' fill='%23fff' fill-opacity='0.84'/><circle cx='120' cy='91' r='0.92' fill='%23fff' fill-opacity='0.86'/><circle cx='456' cy='423' r='0.71' fill='%23e9d5ff' fill-opacity='0.52'/><circle cx='19' cy='462' r='0.4' fill='%23fff' fill-opacity='0.71'/><circle cx='395' cy='286' r='0.42' fill='%23fff' fill-opacity='0.36'/><circle cx='33' cy='110' r='0.66' fill='%23fff' fill-opacity='0.8'/><circle cx='135' cy='440' r='0.38' fill='%23fff' fill-opacity='0.26'/><circle cx='214' cy='29' r='0.37' fill='%23fff' fill-opacity='0.49'/><circle cx='63' cy='174' r='1.2' fill='%23fff' fill-opacity='0.89'/><circle cx='332' cy='281' r='0.36' fill='%23e9d5ff' fill-opacity='0.27'/><circle cx='437' cy='336' r='1.36' fill='%23fff' fill-opacity='0.26'/><circle cx='231' cy='351' r='0.44' fill='%23e9d5ff' fill-opacity='0.9'/><circle cx='262' cy='354' r='1.22' fill='%23fff' fill-opacity='0.73'/><circle cx='381' cy='439' r='0.46' fill='%23fff' fill-opacity='0.7'/><circle cx='418' cy='200' r='1.01' fill='%23fff' fill-opacity='0.81'/><circle cx='300' cy='184' r='0.69' fill='%23e9d5ff' fill-opacity='0.65'/><circle cx='307' cy='477' r='1.18' fill='%23fff' fill-opacity='0.72'/><circle cx='353' cy='279' r='0.53' fill='%23e9d5ff' fill-opacity='0.79'/><circle cx='360' cy='14' r='0.71' fill='%23fff' fill-opacity='0.56'/><circle cx='335' cy='239' r='0.73' fill='%23fff' fill-opacity='0.85'/><circle cx='5' cy='144' r='0.82' fill='%23fff' fill-opacity='0.38'/><circle cx='435' cy='317' r='0.53' fill='%23fff' fill-opacity='0.83'/><circle cx='320' cy='95' r='0.52' fill='%23fff' fill-opacity='0.77'/><circle cx='423' cy='185' r='0.69' fill='%23e9d5ff' fill-opacity='0.46'/><circle cx='238' cy='402' r='1.12' fill='%23fff' fill-opacity='0.71'/><circle cx='133' cy='81' r='0.54' fill='%23fff' fill-opacity='0.43'/><circle cx='199' cy='300' r='0.58' fill='%23fff' fill-opacity='0.45'/><circle cx='471' cy='217' r='0.35' fill='%23fff' fill-opacity='0.27'/><circle cx='20' cy='340' r='0.67' fill='%23fff' fill-opacity='0.45'/><circle cx='9' cy='65' r='0.54' fill='%23fff' fill-opacity='0.27'/><circle cx='114' cy='68' r='0.35' fill='%23fff' fill-opacity='0.66'/><circle cx='302' cy='314' r='1.04' fill='%23fff' fill-opacity='0.87'/><circle cx='96' cy='228' r='0.37' fill='%23fff' fill-opacity='0.26'/><circle cx='343' cy='86' r='0.41' fill='%23fff' fill-opacity='0.47'/><circle cx='250' cy='295' r='0.94' fill='%23fff' fill-opacity='0.51'/><circle cx='435' cy='42' r='1.29' fill='%23e9d5ff' fill-opacity='0.72'/><circle cx='218' cy='300' r='1.24' fill='%23fff' fill-opacity='0.49'/><circle cx='422' cy='382' r='1.32' fill='%23fff' fill-opacity='0.55'/><circle cx='98' cy='347' r='1.06' fill='%23fff' fill-opacity='0.67'/><circle cx='102' cy='432' r='1.4' fill='%23fff' fill-opacity='0.89'/><circle cx='380' cy='154' r='1.24' fill='%23fff' fill-opacity='0.81'/><circle cx='40' cy='212' r='0.65' fill='%23fff' fill-opacity='0.75'/><circle cx='14' cy='388' r='0.35' fill='%23fff' fill-opacity='0.77'/><circle cx='161' cy='378' r='0.36' fill='%23fff' fill-opacity='0.35'/><circle cx='347' cy='403' r='0.84' fill='%23fff' fill-opacity='0.86'/><circle cx='456' cy='41' r='0.39' fill='%23fff' fill-opacity='0.59'/><circle cx='350' cy='307' r='0.61' fill='%23fff' fill-opacity='0.8'/><circle cx='150' cy='183' r='1.11' fill='%23fff' fill-opacity='0.84'/><circle cx='408' cy='465' r='0.62' fill='%23fff' fill-opacity='0.62'/></svg>");background-size:480px 480px;opacity:.8;transition:opacity .9s}
.sky__stars{position:fixed;inset:0;width:100%;height:100%;opacity:0;transition:opacity .9s}
@media (hover:none) and (pointer:coarse){.sky__stars{bottom:auto;height:100vh;height:100lvh}}
.space.is-live .sky__stars{opacity:1}.space.is-live .sky__dust{opacity:0}
.horizon{position:absolute;left:50%;bottom:-1px;width:max(2600px,240vw);aspect-ratio:1;transform:translate(-50%,calc(100% - 520px));pointer-events:none}
.horizon::before{content:'';position:absolute;inset:-14% -2% auto;height:30%;background:radial-gradient(ellipse 34% 40% at 50% 100%,rgba(147,51,234,.32),rgba(147,51,234,.08) 45%,transparent 70%)}
.planet{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse 30% 6% at 50% 0,rgba(88,28,135,.38),rgba(20,8,36,.55) 45%,transparent 100%),linear-gradient(#07040d,#000 18%);box-shadow:0 0 0 1px rgba(216,180,254,.16),0 -1px 18px rgba(192,132,252,.35),0 -12px 60px rgba(147,51,234,.25)}
.planet::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 2px 1px -1px rgba(243,232,255,.95),inset 0 8px 14px -8px rgba(192,132,252,.8);-webkit-mask:radial-gradient(ellipse 22% 7% at 50% 0,#000 20%,transparent 100%);mask:radial-gradient(ellipse 22% 7% at 50% 0,#000 20%,transparent 100%)}
.gc{background:rgba(9,9,11,.62);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(168,85,247,.26);border-radius:24px;box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .3s,box-shadow .3s,transform .3s}
a.gc:hover,.pc:hover{border-color:rgba(192,132,252,.55);box-shadow:0 24px 60px -24px rgba(147,51,234,.55),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-4px)}
.hero{min-height:min(100svh,940px);box-sizing:border-box;padding-top:110px;padding-bottom:40px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:center}
.wh{font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:rgba(192,132,252,.85);margin:0 0 22px}
.hero h1{font-size:clamp(46px,7vw,100px);line-height:.98;letter-spacing:-.02em;margin:0 0 26px;text-shadow:0 0 30px rgba(168,85,247,.45)}
.hero h1 em{font-size:1.08em;display:inline-block}
.lede{font-size:19px;color:#d4d4d8;max-width:30em;margin:0 0 34px}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.cta{display:inline-flex;background:#fff;color:#09090b;font-weight:600;padding:14px 30px;border-radius:12px;box-shadow:0 10px 40px rgba(88,28,135,.35);transition:box-shadow .3s,transform .2s}
.cta:hover{box-shadow:0 0 0 1px rgba(216,180,254,.5),0 0 36px rgba(168,85,247,.55);transform:translateY(-1px)}
.ghost{display:inline-flex;padding:14px 26px;border-radius:12px;border:1px solid rgba(216,180,254,.3);color:#e4e4e7}
.ghost:hover{border-color:rgba(216,180,254,.7)}
.orbit{width:100%;max-width:540px;justify-self:center;overflow:visible}
.o{transform-origin:300px 300px;transform-box:view-box}
.o1{animation:spin 26s linear infinite}.o2{animation:spin 48s linear infinite}.o3{animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sec{padding-top:120px}
/* Studio hero → packages: shorter first screen so "Three orbits" peeks in, plus a quiet scroll cue */
.hero{position:relative;min-height:min(100svh,1200px);padding-bottom:56px}
#packages.sec{padding-top:60px}
.scroll-cue{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 10px;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:rgba(161,161,170,.75);transition:opacity .5s,color .2s}
.scroll-cue span{margin-right:-.35em}
.scroll-cue i{display:block;width:1px;height:28px;background:linear-gradient(rgba(192,132,252,.7),transparent);transform-origin:top;animation:cue 2.8s ease-in-out infinite}
.scroll-cue:hover,.scroll-cue:focus-visible{color:#e9d5ff}
.scrolled .scroll-cue{opacity:0;pointer-events:none}
@keyframes cue{0%,100%{transform:scaleY(.45);opacity:.5}50%{transform:scaleY(1);opacity:1}}
.sh{font-size:clamp(32px,4.4vw,56px);line-height:1.05;margin:0 0 40px;letter-spacing:-.01em}
.sh span{display:block;font:400 16px/1.5 Inter,sans-serif;color:var(--dim);letter-spacing:0;margin-top:10px}
.pk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.pc{position:relative;padding:32px 28px;display:flex;flex-direction:column}
.orb{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:rgba(192,132,252,.85);margin:0 0 14px}
.pc h3{font:700 28px/1.1 'Playfair Display',serif;margin:0 0 8px}
.sub{color:var(--dim);margin:0 0 22px;font-size:15px}
.pc ul{list-style:none;margin:0 0 28px;padding:0;font-size:15px;color:#d4d4d8}
.pc li{padding:6px 0 6px 20px;position:relative}
.pc li::before{content:'';position:absolute;left:2px;top:15px;width:5px;height:5px;border-radius:50%;background:var(--acc);box-shadow:0 0 8px var(--acc)}
.pf{margin-top:auto;border-top:1px solid rgba(168,85,247,.2);padding-top:18px}
.pr{font-size:42px;margin:0;line-height:1}.pr span{font:400 13px Inter,sans-serif;color:var(--dim);margin-right:8px;vertical-align:middle}
.tt{margin:6px 0 0;font-size:13px;color:var(--dim)}
.adds{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;align-items:center;font-size:13px;color:#d4d4d8}
.adds span{color:var(--dim);letter-spacing:.2em;text-transform:uppercase;font-size:11px;margin-right:8px}
.adds i{font-style:normal;border:1px solid rgba(168,85,247,.25);border-radius:999px;padding:6px 14px;background:rgba(9,9,11,.5)}
.lumen{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);overflow:hidden;margin-bottom:20px}
.lumen__img img,.dm__img img{display:block;width:100%;height:auto}
.lumen__t{padding:36px;display:flex;flex-direction:column;justify-content:center}
.tier{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:rgba(192,132,252,.85);margin-bottom:12px}
.lw{font-size:clamp(44px,5vw,64px);font-weight:700;color:#fff;text-shadow:0 0 18px rgba(216,180,254,.7),0 0 42px rgba(168,85,247,.55),0 0 80px rgba(88,28,135,.4);margin-bottom:12px;line-height:1}
.d{color:var(--dim);font-size:15px;margin-bottom:18px}
.go{font-weight:600;font-size:14px;color:#fff}
.dms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dm{display:flex;flex-direction:column;overflow:hidden}
.dm:first-child{grid-column:1/-1;flex-direction:row}
.dm:first-child .dm__img{flex:1.4;min-width:0}.dm:first-child .dm__t{flex:1;min-width:0;justify-content:center}
.dm__t{padding:24px 26px 28px;display:flex;flex-direction:column}
.dm b{font-size:28px;margin-bottom:8px;line-height:1.1}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.steps{list-style:none;margin:0;padding:0;border-left:1px solid rgba(168,85,247,.3)}
.steps li{position:relative;padding:0 0 30px 34px}
.steps li::before{content:'';position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:#000;border:1px solid var(--acc);box-shadow:0 0 10px rgba(192,132,252,.7)}
.steps span{font-size:11px;letter-spacing:.3em;color:rgba(192,132,252,.85)}
.steps b{display:block;font:700 22px 'Playfair Display',serif;margin:2px 0 4px}
.steps p{margin:0;color:var(--dim);font-size:15px}
.faq{display:grid;gap:12px}
.faq details{border-radius:16px;padding:0 22px}
.faq summary{cursor:pointer;padding:18px 0;font-weight:500;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:var(--acc)}
.faq details[open] summary::after{content:'–'}
.faq p{margin:0 0 18px;color:var(--dim);font-size:15px}
.end{text-align:center;padding-top:150px;padding-bottom:300px}
.end h2{font-size:clamp(38px,6vw,76px);margin:0 0 34px;text-shadow:0 0 30px rgba(168,85,247,.45)}
a:focus-visible,summary:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
@media (max-width:900px){
 .hero{grid-template-columns:minmax(0,1fr);padding-top:100px;padding-bottom:28px}.orbit{max-width:min(270px,68vw);order:-1;margin-bottom:-12px}
 #packages.sec{padding-top:48px}
 /* phones: the hero text already runs past the first screen, so a bottom cue would sit off-screen */
 .scroll-cue{display:none}
 .pk,.dms,.split{grid-template-columns:minmax(0,1fr)}
 .lumen,.dm:first-child{display:flex;flex-direction:column}
 .dm:first-child .dm__img{flex:none}
 .horizon{width:max(1500px,420vw);transform:translate(-50%,calc(100% - 380px))}
 .end{padding-bottom:220px}
}
@media (prefers-reduced-motion:reduce){.o,.scroll-cue i{animation:none}*{transition:none!important}html{scroll-behavior:auto}}

.pk-go{display:inline-block;margin-top:14px;font-size:13px;color:var(--dim);transition:color .2s}
.pk-go::after{content:'';position:absolute;inset:0;border-radius:24px}
.pk-go .ar{display:inline-block;transition:transform .2s}
.pc:hover .pk-go,.pk-go:focus-visible{color:var(--ink)}
.pc:hover .pk-go .ar,.pk-go:focus-visible .ar{transform:translateX(3px)}
.pk-go:focus-visible{outline:none}
.pc:focus-within{border-color:rgba(192,132,252,.55);box-shadow:0 24px 60px -24px rgba(147,51,234,.55),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-4px)}
.pc:has(.pk-go:focus-visible){outline:2px solid var(--acc);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.pk-go .ar{transform:none!important}}
