@font-face{font-family:Poppins;src:url(assets/Poppins-Medium.ttf) format('truetype');font-weight:500;font-display:swap}
:root{--black:#111214;--light:#EBDFFF;--purple:#A855F7}*{box-sizing:border-box}html{background:var(--black);scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--light);background:var(--black);font:500 16px/1.65 Poppins,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--purple);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.15;letter-spacing:-.04em}.wrap{width:min(1140px,calc(100% - 80px));margin:auto}.nav{border-bottom:0}.nav>.wrap{height:82px;display:flex;align-items:center;gap:32px}.logo{width:112px;height:43px;display:block;object-fit:contain}.navlinks{display:flex;gap:28px;margin-left:auto;font-size:14px}.navlinks a{position:relative}.navlinks a:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .22s}.navlinks a:hover:after{transform:scaleX(1)}.btn{background:var(--light);color:var(--black);padding:13px 26px;min-height:48px;border-radius:6px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.btn:hover{background:var(--purple);transform:translateY(-2px)}.btn:active{transform:scale(.97)}.menu{display:none}.hero{padding:55px 0}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:70px}.hero-copy{text-align:left}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}.hero h1{font-size:clamp(46px,4.6vw,68px);line-height:1.08;letter-spacing:-.05em;max-width:590px}.hero h1 span{color:var(--purple)}.hero-copy>p{max-width:440px;margin:24px 0 28px;font-size:18px}.intent-stage{padding:22px;border:1px solid var(--light);border-radius:14px}.stage-head{font-size:11px;letter-spacing:.08em;display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.stage-head span:last-child{letter-spacing:0}.intent{background:var(--light);color:var(--black);padding:26px;border-radius:8px;transition:transform .25s}.intent:hover{transform:translateY(-2px)}.tag{font-size:12px}.intent h3{font-size:32px;margin:16px 0 12px}.meta{font-size:14px}.intent-details{margin:22px 0 0;font-size:13px}.intent-details>div{display:flex;justify-content:space-between;gap:16px;margin:8px 0}.intent-details dt{font-weight:500}.intent-details dd{margin:0;text-align:right}.intent-foot{border-top:1px solid var(--black);margin-top:18px;padding-top:16px;font-size:12px}.stage-note{font-size:12px;text-align:center;margin-top:16px}.section{padding:54px 0;border-top:0}.section-head{text-align:center;max-width:820px;margin:0 auto 34px}.section-head .eyebrow{margin-bottom:14px}.section-head h2{font-size:clamp(30px,3vw,42px);line-height:1.15}.steps,.activities,.principles,.feature-row,.connection-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.step,.principle,.feature-row article{padding:20px 0;border-top:1px solid currentColor}.num{display:block;font-size:12px;letter-spacing:.06em;margin-bottom:18px}.step h3,.principle h3,.feature-row h3,.connection-steps h3{font-size:21px;margin-bottom:13px}.step p,.principle p,.feature-row p,.connection-steps p{font-size:15px}.possibilities,.alternate,.city-section{background:var(--light);color:var(--black)}.activity{border:1px solid var(--black);border-radius:8px;padding:25px}.activity h3{font-size:25px;margin:20px 0 14px}.activity p{font-size:15px}.hosting-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:880px;margin:auto}.hosting-layout>p{font-size:18px}.hosting-list span{display:block;padding:12px 0;border-bottom:1px solid var(--black);font-size:15px}.city-content{text-align:center}.city-content>p{max-width:570px;margin:auto}.city-interests{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:28px}.city-interests span{border:1px solid currentColor;border-radius:30px;padding:11px 17px;font-size:13px;transition:transform .2s}.connection-steps{text-align:center}.connection-steps article{padding:12px}.connection-steps .num{display:inline-flex;width:38px;height:38px;border:1px solid var(--light);border-radius:50%;align-items:center;justify-content:center;margin-bottom:18px}.closing{text-align:center;padding:52px 0;border-top:0}.closing h2{font-size:40px}.closing p{margin:18px 0 24px}.footer{border-top:0;padding:24px 0}.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer p{font-size:12px}.activity,.step,.principle,.feature-row article,.connection-steps article{transition:transform .25s}.activity:hover,.step:hover,.principle:hover,.feature-row article:hover,.connection-steps article:hover,.city-interests span:hover{transform:translateY(-3px)}.reveal{opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s}.reveal.visible{opacity:1;transform:none}.reveal:nth-child(2){transition-delay:.06s}.reveal:nth-child(3){transition-delay:.12s}
.intro-overlay{position:fixed;inset:0;z-index:1000;width:100%;height:100vh;height:100dvh;background:var(--black);display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .65s;isolation:isolate}.intro-overlay[hidden]{display:none}.intro-overlay.leaving{opacity:0;pointer-events:none}.intro-overlay video{width:100%;height:100%;object-fit:contain;pointer-events:none;mix-blend-mode:lighten}.intro-active{overflow:hidden}.intro-active .site{opacity:0}.site{transition:opacity .65s}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:901px) and (max-height:720px){.hero{padding:30px 0}.hero-grid{gap:50px}.hero h1{font-size:54px}.intent{padding:20px}.intent h3{font-size:28px}.intent-details{margin-top:14px}.section{padding:36px 0}.section-head{margin-bottom:25px}.section-head h2{font-size:35px}.closing{padding:36px 0}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:32px}.navlinks{gap:18px}.hosting-layout{gap:40px}}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.nav>.wrap{height:74px;position:relative;gap:12px}.logo{width:94px;height:36px}.nav .btn{margin-left:auto;padding:10px 18px}.menu{display:block;background:var(--light);color:var(--black);padding:10px}.navlinks{display:none;position:absolute;top:74px;left:-20px;right:-20px;background:var(--black);padding:25px;z-index:5;border-bottom:0}.navlinks.open{display:flex;flex-direction:column;animation:enter .2s}.hero{padding:42px 0}.hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(43px,8vw,62px)}.hero-copy>p{font-size:17px}.eyebrow{font-size:11px}.intent-stage{max-width:540px;width:100%;padding:18px}.section{padding:44px 0}.section-head h2{font-size:31px}.section-head{margin-bottom:25px}.steps,.activities,.principles,.feature-row,.connection-steps,.hosting-layout{grid-template-columns:1fr;gap:22px}.step,.principle,.feature-row article{padding:18px 0}.hosting-layout>p{font-size:17px}.city-interests{flex-direction:column;align-items:center}.closing{padding:40px 0}.closing h2{font-size:32px}.footer .wrap{flex-wrap:wrap}.footer p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.activity:hover,.step:hover,.principle:hover,.feature-row article:hover,.connection-steps article:hover,.city-interests span:hover,.btn:hover,.intent:hover{transform:none}}

/* Keep the hero preview unframed. */
.intent-stage{border:0;padding:22px 0}
/* A varied product layout, using solid brand-colour surfaces. */
.hero h1{letter-spacing:-.055em;font-size:clamp(43px,4.2vw,60px)}.section-head h2{letter-spacing:-.045em}.steps{gap:18px}.step{border:0;border-radius:18px;padding:26px;background:var(--purple);color:var(--black);min-height:260px;position:relative}.step:nth-child(2){background:var(--light)}.step .num{font-size:42px;line-height:1;letter-spacing:-.05em;margin:0 0 20px}.step-label{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:10px}.step h3{font-size:22px;max-width:240px}.step p{font-size:14px;line-height:1.7}.step:hover{transform:translateY(-4px)}.activities{grid-template-columns:1.2fr 1fr 1fr;gap:18px}.activity{border:0;background:var(--black);color:var(--light);border-radius:16px;padding:28px}.activity:first-child{background:var(--purple);color:var(--black)}.activity .tag{display:inline-block;padding:7px 12px;border-radius:25px;background:var(--light);color:var(--black);font-size:11px}.activity h3{margin-top:28px}.activity p{font-size:14px}.feature-row article{border:0}.filter-demo{display:flex;flex-wrap:wrap;gap:6px;min-height:55px;margin-bottom:16px;align-content:start}.filter-demo span{display:inline-block;padding:7px 12px;background:var(--purple);color:var(--black);border-radius:22px;font-size:12px}.filter-demo span+span{background:var(--light)}#discover .feature-row{gap:26px}#discover article{padding:24px;background:var(--light);color:var(--black);border-radius:16px}#discover article .num{font-size:11px;margin-bottom:22px}#discover .filter-demo span+span{background:var(--black);color:var(--light)}#discover article p{font-size:14px}.hosting-layout{grid-template-columns:.85fr 1.15fr;gap:55px;max-width:950px}.hosting-layout>p{font-size:22px;line-height:1.5;letter-spacing:-.025em}.hosting-list{background:var(--black);color:var(--light);padding:25px;border-radius:18px}.host-label{font-size:11px;letter-spacing:.08em;margin-bottom:10px}.hosting-list span{border:0;display:flex;gap:15px;align-items:center;font-size:14px;padding:13px 0}.hosting-list b{font-weight:500;display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border-radius:9px;background:var(--purple);color:var(--black);font-size:12px}#coordination .feature-row{grid-template-columns:1.05fr 1fr;gap:16px}#coordination article{background:var(--light);color:var(--black);padding:22px 26px;border-radius:16px}#coordination article:first-child{grid-row:span 2;background:var(--purple);display:flex;flex-direction:column;justify-content:center}#coordination article:first-child h3{font-size:30px;max-width:300px}#coordination article p{font-size:14px}.chat-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:32px;align-items:center;font-size:12px}.chat-label span:last-child{background:var(--black);color:var(--light);padding:7px 10px;border-radius:20px;font-size:10px}.panel-label{font-size:10px;letter-spacing:.09em;display:block;margin-bottom:10px}.principles{gap:0;background:var(--light);color:var(--black);border-radius:18px;overflow:hidden}.principle{padding:28px;border:0}.principle:nth-child(2){background:var(--purple)}.principle p{font-size:14px}.city-section{background:var(--black);color:var(--light)}.city-section .wrap{background:var(--light);color:var(--black);border-radius:22px;padding:40px}.city-interests span{border:0;background:var(--black);color:var(--light);font-size:12px}.connection-steps{gap:18px;position:relative}.connection-steps article{padding:22px 20px;text-align:left}.connection-steps .num{border:0;background:var(--purple);color:var(--black);border-radius:10px}.connection-steps h3{font-size:20px}.connection-steps p{font-size:14px}.closing{background:var(--purple);color:var(--black);border-radius:22px;margin-top:20px;margin-bottom:30px;padding:42px 24px}.closing .btn{background:var(--black);color:var(--light)}.closing .btn:hover{background:var(--light);color:var(--black)}
@media(min-width:901px) and (max-height:720px){.step{min-height:0;padding:22px}.step .num{font-size:34px;margin-bottom:14px}.section-head h2{font-size:32px}.activity{padding:22px}.activity h3{font-size:22px}#coordination article{padding:18px 23px}.city-section .wrap{padding:30px}.hero h1{font-size:49px}}
@media(max-width:900px){.activities,#coordination .feature-row,.hosting-layout{grid-template-columns:1fr}.step{padding:25px;min-height:0}.step h3{max-width:none}.step .num{font-size:34px}.activity{padding:25px}.hosting-layout{gap:25px}.hosting-layout>p{font-size:19px}#coordination article:first-child{grid-row:auto}.chat-label{margin-bottom:24px}.principles{gap:0}.principle{padding:25px}.city-section .wrap{padding:30px 20px}.city-section .section-head h2{font-size:28px}.closing{padding:34px 20px}.hero h1{font-size:clamp(40px,8vw,58px)}}
/* Reference-led colour balance: broad light/dark chapters, restrained violet. */
.hero .btn{background:var(--light);color:var(--black)}
#how{background:var(--black);color:var(--light)}
#how .step{background:var(--light);color:var(--black)}
#how .step .num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--purple);color:var(--black);font-size:26px}
#intents,#discover{background:var(--light);color:var(--black)}
#intents .activity,#intents .activity:first-child{background:var(--black);color:var(--light)}
#intents .activity .tag{background:var(--light);color:var(--black)}
#discover article{background:var(--light);color:var(--black);padding:24px 12px}
#discover .filter-demo span{background:var(--black);color:var(--light)}
#discover .filter-demo span+span{background:var(--purple);color:var(--black)}
#hosting,#coordination,#community{background:var(--black);color:var(--light)}
#hosting .hosting-list{background:var(--light);color:var(--black)}
#hosting .hosting-list b{background:var(--black);color:var(--light)}
#coordination article,#coordination article:first-child{background:var(--light);color:var(--black)}
#coordination .chat-label span:last-child{background:var(--black);color:var(--light)}
#community .principles{background:var(--black);color:var(--light)}
#community .principle,#community .principle:nth-child(2){background:var(--black);color:var(--light)}
#chennai,#connections{background:var(--light);color:var(--black)}
#chennai .wrap{background:var(--light);color:var(--black);border-radius:0;padding-top:20px;padding-bottom:20px}
#chennai .city-interests span{background:var(--black);color:var(--light)}
#connections .num{background:var(--black);color:var(--light)}
.closing{background:var(--black);color:var(--light);border-radius:0;margin-top:0;margin-bottom:0;padding-top:52px;padding-bottom:52px}
.closing .btn{background:var(--light);color:var(--black)}
.btn:hover,.hero .btn:hover,.closing .btn:hover{background:var(--purple);color:var(--black)}
@media(max-width:900px){#discover article{padding:18px 0}#community .principle{padding:18px 0}#chennai .wrap{padding-left:0;padding-right:0}.closing{padding:40px 20px}}
.hero-copy{transform:translateY(-24px)}.hero-copy>p{max-width:450px;line-height:1.75}.footer{background:var(--light);color:var(--black);padding:46px 0 20px}.footer>.wrap{display:block}.footer-main{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:50px;align-items:start}.footer-brand>a{display:inline-block;background:var(--black);padding:10px 15px;border-radius:8px}.footer-brand p{font-size:13px;max-width:290px;margin-top:15px}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:14px}.footer-label{display:block;font-size:12px;margin-bottom:12px}.footer-register .btn{background:var(--black);color:var(--light)}.footer-register .btn:hover{background:var(--purple);color:var(--black)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:36px;padding-top:20px}.footer a{transition:transform .2s}.footer-nav a:hover,.footer-bottom a:hover{transform:translateX(3px)}.footer a:focus-visible{outline-color:var(--black)}
@media(max-width:900px){.hero-copy{transform:none}.hero{padding-top:28px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-register .btn{margin-top:6px}.footer-label{font-size:12px}}
@media(max-width:420px){.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer{padding-top:35px}}
#how .step .num{background:rgb(168 85 247 / 70%)}
#connections .section-head{max-width:none}
@media(min-width:901px){#connections .section-head h2,.closing h2{white-space:nowrap;font-size:clamp(24px,2.45vw,35px);letter-spacing:-.045em}}
.footer-main{grid-template-columns:1.25fr 1fr 1.15fr 1fr;gap:30px}.footer-register{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px}.footer-register .footer-label{margin:0}.footer-placeholder{font-size:12px;max-width:170px}.footer-nav a{font-size:13px}.placeholder-page{padding:50px 0;max-width:760px}.placeholder-page>.eyebrow{margin-top:55px}.placeholder-page h1{font-size:clamp(32px,5vw,50px);margin-bottom:24px}.placeholder-page p{margin:18px 0}.placeholder-page .btn{margin-top:30px;display:inline-block}.placeholder-page section{margin:32px 0}.placeholder-page section h2{font-size:24px}
@media(max-width:900px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-brand{grid-column:1/-1}.footer-register{grid-column:1/-1}.closing h2{font-size:32px;white-space:normal}#connections .section-head h2{white-space:normal}}
@media(max-width:420px){.footer-main{grid-template-columns:1fr}.footer-register{align-items:flex-start;flex-direction:column}}

/* Compact footer sized by its remaining content. */
.footer{padding:28px 0 18px}.footer-main{row-gap:20px}.footer-nav{gap:8px}.footer-nav .footer-label{margin-bottom:6px}.footer-bottom{margin-top:20px;padding-top:8px}.footer-brand p{margin-top:12px}
@media(max-width:900px){.footer-main{row-gap:24px}.footer{padding:28px 0 18px}}

/* Content specification v2 — additions to the approved Option 1 design. */
.hero-grid>*{min-width:0}.hero-copy{transform:none}.intent-stage{min-width:0}.showcase-deck{position:relative;height:350px;perspective:1100px;margin:0 0 8px;isolation:isolate}.showcase-card{position:absolute;inset:12px 22px;display:flex;flex-direction:column;backface-visibility:hidden;transition:transform .85s ease,opacity .85s ease;transform-origin:center;box-shadow:0 14px 32px rgb(0 0 0 / 18%)}.showcase-card h3{font-size:28px;margin:18px 0 12px}.showcase-card .intent-details{margin-top:auto}.showcase-card[data-position=active]{transform:translateZ(0);opacity:1;z-index:3}.showcase-card[data-position=previous]{transform:translateX(-36px) translateZ(-110px) rotateY(17deg) scale(.91);opacity:.55;z-index:2;pointer-events:none}.showcase-card[data-position=next]{transform:translateX(36px) translateZ(-110px) rotateY(-17deg) scale(.91);opacity:.55;z-index:1;pointer-events:none}.showcase-card[data-position=hidden]{transform:translateZ(-180px) scale(.8);opacity:0;pointer-events:none;z-index:0}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px}.carousel-controls button{background:transparent;color:var(--light);min-width:44px;min-height:44px;border-radius:6px;border:1px solid rgb(235 223 255 / 25%);padding:6px 10px}.carousel-controls button:hover{background:var(--light);color:var(--black)}.carousel-controls button:disabled{opacity:.55;cursor:default}.create-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.create-copy h2{font-size:clamp(30px,3vw,42px)}.create-copy>p:last-child{margin-top:22px;max-width:460px}.creator-perspective{perspective:1200px;padding:12px}.creator-card{background:var(--light);color:var(--black);padding:26px;border-radius:18px;transform:rotateY(-7deg) rotateX(5deg);box-shadow:12px 12px 0 rgb(168 85 247 / 25%);transition:transform .4s}.creator-card:hover{transform:rotateY(0) rotateX(0)}.creator-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.creator-fields>div{border:1px solid rgb(17 18 20 / 18%);border-radius:8px;padding:12px}.creator-fields dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.creator-fields dd{margin:5px 0 0;font-size:14px}.creator-summary{font-size:11px;padding-top:16px;border-top:1px solid rgb(17 18 20 / 18%)}.waitlist-section{text-align:center}.waitlist-section .section-head{margin-bottom:18px}.waitlist-section .btn{margin-top:25px;padding:17px 34px;font-size:15px}.step{min-height:0}.step h3{font-size:16px;line-height:1.4;max-width:none}.activities{grid-template-columns:repeat(2,minmax(0,1fr))}.activity h3{margin:0 0 12px;font-size:22px}.section-intro{max-width:750px;margin:0 auto;text-align:center;font-size:15px}.specific-examples{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin:24px 0}.specific-examples .filter-demo{margin:0;min-height:0}.principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}#community .principle{padding:12px 0}.eligibility{text-align:center;font-size:12px;margin-top:24px}.connection-steps{margin-top:24px}.connection-steps article{text-align:center;padding:12px}.connection-steps h3{font-size:17px}.city-section{padding:24px 0}.city-strip{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.city-strip .eyebrow{margin-bottom:12px}.city-strip h2{font-size:26px}.city-strip>p{font-size:14px}.footer-compact{display:grid;grid-template-columns:1fr 1.6fr;gap:50px;align-items:center}.footer-links nav{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px}.footer-links nav+nav{margin-top:22px}.footer-brand p{margin-top:8px}.closing h2{white-space:normal}.footer a:hover{text-decoration:underline}
@media(max-width:1050px){.create-layout{gap:32px}.showcase-card{inset:12px 18px;padding:22px}.showcase-card h3{font-size:25px}}
@media(max-width:900px){.intent-stage{margin:auto}.create-layout{grid-template-columns:1fr;gap:26px}.creator-perspective{width:100%;max-width:540px;margin:auto}.create-copy{max-width:650px}.create-copy>p:last-child{max-width:none}.steps{grid-template-columns:1fr}.step{padding:22px}.step .num{margin-bottom:14px}.footer-compact{grid-template-columns:1fr;gap:24px}.city-strip{gap:24px}.hero-grid{gap:14px}}
@media(max-width:600px){.activities,.principles,.city-strip{grid-template-columns:1fr}.specific-examples{flex-direction:column;align-items:center;gap:12px}.connection-steps{gap:4px}.connection-steps article{display:flex;align-items:center;gap:16px;text-align:left}.connection-steps .num,.connection-steps h3{margin:0}.showcase-deck{height:360px}.showcase-card{inset:12px 16px;padding:20px}.showcase-card h3{font-size:26px}.showcase-card[data-position=previous]{transform:translateX(-25px) translateZ(-110px) rotateY(17deg) scale(.91)}.showcase-card[data-position=next]{transform:translateX(25px) translateZ(-110px) rotateY(-17deg) scale(.91)}.creator-card{padding:20px;transform:rotateY(-4deg) rotateX(3deg)}.creator-fields{gap:10px}.creator-fields>div{padding:10px}.creator-fields dd{font-size:12px}.hero h1{font-size:clamp(36px,9vw,52px)}.stage-head{font-size:10px}.city-strip h2{font-size:25px}.principles{gap:14px}.waitlist-section .btn{width:100%;max-width:340px}}
@media(prefers-reduced-motion:reduce){.creator-card,.creator-card:hover{transform:none}.showcase-card[data-position=previous],.showcase-card[data-position=next]{opacity:0}}
/* Expose the adjacent cards so the carousel depth remains visible at rest. */
@media(min-width:601px){.showcase-card{left:42px;right:42px}.showcase-card[data-position=previous]{transform:translateX(-75px) translateZ(-90px) rotateY(17deg) scale(.94)}.showcase-card[data-position=next]{transform:translateX(75px) translateZ(-90px) rotateY(-17deg) scale(.94)}}
@media(max-width:600px){.showcase-card[data-position=previous]{transform:translateX(-45px) translateZ(-90px) rotateY(17deg) scale(.94)}.showcase-card[data-position=next]{transform:translateX(45px) translateZ(-90px) rotateY(-17deg) scale(.94)}}

/* Reference motion: cards orbit a curved ring continuously, rather than swapping layers. */
.showcase-deck{perspective:1000px;overflow:hidden;isolation:isolate;height:370px;touch-action:pan-y pinch-zoom}
.showcase-deck .showcase-card{inset:16px 14%;transition:none;will-change:transform,opacity;pointer-events:none;backface-visibility:hidden;transform-origin:center center;box-shadow:0 12px 24px rgb(0 0 0 / 18%)}
.showcase-deck .showcase-card h3{font-size:clamp(23px,2.1vw,28px)}
@media(max-width:600px){.showcase-deck{height:375px;perspective:700px}.showcase-deck .showcase-card{inset:16px 12%;padding:18px}.showcase-deck .showcase-card h3{font-size:23px}.showcase-card .intent-details{font-size:12px}.showcase-card .tag{font-size:11px}}
@media(prefers-reduced-motion:reduce){.showcase-deck .showcase-card{will-change:auto}}

/* Subtle, one-time scroll entrance for the Get specific content. */
#discover .reveal{transform:translateY(12px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);transition-delay:0s}
#discover .reveal.visible{opacity:1;transform:none}
#discover .section-intro.reveal{transition-delay:.06s}
#discover .filter-demo.reveal:nth-child(2){transition-delay:.08s}
#discover .filter-demo.reveal:nth-child(3){transition-delay:.16s}
@media(prefers-reduced-motion:reduce){#discover .reveal{opacity:1;transform:none;transition:none}}

/* Compact footer: aligned link groups without large heading blocks. */
.footer{padding:36px 0 22px}
.footer-compact{grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:48px;align-items:start}
.footer-links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:28px;padding-top:4px}
.footer-links nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px}
.footer-links nav+nav{margin-top:0}
.footer-links a{display:block;line-height:1.5;padding:3px 0}
.footer-brand{grid-column:auto}
.footer-brand p{max-width:260px;line-height:1.7}
.footer-bottom{margin-top:28px;padding-top:18px;border-top:1px solid rgb(17 18 20 / 14%);align-items:center}
@media(max-width:1050px){.footer-compact{grid-template-columns:minmax(190px,.8fr) minmax(0,2fr);gap:28px}.footer-links{gap:20px}}
@media(max-width:900px){.footer-compact{grid-template-columns:1fr;gap:28px}.footer-brand{grid-column:auto}.footer-links{grid-template-columns:1fr 1.4fr 1fr;max-width:720px;width:100%}.footer-brand p{max-width:none}}
@media(max-width:520px){.footer{padding:28px 0 20px}.footer-links{grid-template-columns:1fr 1.35fr;gap:24px 20px}.footer-links nav[aria-label="Support"]{grid-column:1/-1;flex-direction:row;gap:24px}.footer-links nav{font-size:12px;gap:10px}.footer-bottom{margin-top:24px;padding-top:16px}}

/* Local typography update: one variable family with a clearer weight hierarchy. */
@font-face{font-family:'Manrope';src:url('assets/Manrope-Variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
body{font-family:'Manrope',Arial,sans-serif;font-weight:400}
h1,h2,h3{font-weight:700}
.btn,.navlinks,.footer-links,.menu,.carousel-controls button{font-weight:600}
.eyebrow,.stage-head,.tag,.num,.creator-fields dt,.footer-bottom{font-weight:500}

/* Club Anva-inspired pacing, adapted to JOYND's existing layout and palette. */
.motion-reveal{opacity:0;translate:0 24px;transition:opacity .85s cubic-bezier(.22,1,.36,1),translate .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.visible{opacity:1;translate:0 0}
.motion-word{display:inline-block;opacity:0;translate:0 .65em;transition:opacity .8s ease,translate .9s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--reveal-delay,0ms) + var(--word-delay,0ms))}
.visible .motion-word{opacity:1;translate:0 0}
.hero h1 .motion-word{color:inherit}
.hero h1>span:not(.motion-word) .motion-word{color:var(--purple)}
.creator-perspective.motion-reveal{scale:.96;transition:opacity .9s ease,translate .9s cubic-bezier(.22,1,.36,1),scale 1.1s cubic-bezier(.22,1,.36,1)}
.creator-perspective.motion-reveal.visible{scale:1}
#discover .filter-demo.motion-reveal{translate:0 18px}
#discover .filter-demo.motion-reveal.visible{translate:0 0}
@media(hover:hover) and (pointer:fine){
  .activity:hover,.step:hover{transform:translateY(-6px);transition:transform .35s cubic-bezier(.22,1,.36,1)}
  .specific-examples .filter-demo span{transition:transform .3s cubic-bezier(.22,1,.36,1)}
  .specific-examples .filter-demo:hover span:last-child{transform:translateY(-3px)}
}
@media(max-width:600px){.motion-reveal{translate:0 16px}.motion-word{translate:0 .4em}}
@media(prefers-reduced-motion:reduce){
  .motion-reveal,.motion-word,#discover .filter-demo.motion-reveal{opacity:1;translate:none;scale:1;transition:none}
  .specific-examples .filter-demo:hover span:last-child,.activity:hover,.step:hover{transform:none}
}

/* A soft mouse-following light; never intercepts clicks or replaces the cursor. */
.pointer-glow{position:fixed;top:0;left:0;width:360px;height:360px;border-radius:50%;pointer-events:none;z-index:20;opacity:0;background:radial-gradient(circle,rgb(168 85 247 / 15%) 0%,rgb(168 85 247 / 6%) 32%,transparent 68%);transition:opacity .3s ease;contain:strict}
.pointer-glow.active{opacity:1}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.pointer-glow{display:none}}

/* Policy content within the shared JOYND header and footer. */
.policy-page{padding:64px 0 80px;max-width:900px}
.policy-page h1{font-size:clamp(36px,5vw,60px);margin-bottom:44px}
.policy-content{min-width:0;line-height:1.85;overflow-wrap:anywhere}
.policy-content section+section{margin-top:36px;padding-top:32px;border-top:1px solid rgb(235 223 255 / 16%)}
.policy-content h2{font-size:26px;margin-bottom:20px;line-height:1.3}
.policy-content h3{font-size:18px;margin-bottom:12px;letter-spacing:-.02em}
.policy-content ul{margin:0;padding-left:22px}
.policy-content li+li{margin-top:14px}
.policy-content section>p+p{margin-top:18px}
.policy-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.policy-data{border:1px solid rgb(235 223 255 / 20%);border-radius:8px;padding:22px}
.policy-data p{font-size:14px}
.policy-purpose{margin-top:14px;opacity:.75}
@media(max-width:800px){.policy-page h1{margin-bottom:28px}.policy-page{padding-top:36px}}
@media(max-width:480px){.policy-data-grid{grid-template-columns:1fr}.policy-content h2{font-size:23px}.policy-content{font-size:15px}.policy-data{padding:18px}}

/* Scroll entrances belong to individual text blocks, keeping section surfaces steady. */
.motion-reveal{translate:0 18px;transition:opacity .7s ease,translate .8s cubic-bezier(.22,1,.36,1);transition-delay:0ms}
.motion-word{translate:0 .35em;transition:opacity .55s ease,translate .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--word-delay,0ms)}
.reveal:not(.motion-reveal),#discover .reveal:not(.motion-reveal){opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.motion-reveal,.motion-word{opacity:1;translate:none;transition:none}}

/* Coordinated interactive motion and touch-friendly controls. */
.visible .motion-word{opacity:var(--word-opacity,1)}
.motion-reveal.visible{transition-delay:0ms}
.scroll-card{opacity:0;translate:0 24px;transition:opacity .65s ease,translate .75s cubic-bezier(.22,1,.36,1),transform .35s ease;transition-delay:var(--card-delay,0ms)}
.scroll-card.card-visible{opacity:1;translate:0 0}
.steps{position:relative;padding-bottom:22px}
.steps:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--purple);transform:scaleX(var(--step-progress,0));transform-origin:left}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:40;pointer-events:none;background:var(--purple);transform:scaleX(var(--page-progress,0));transform-origin:left}
.intent-stage{translate:0 var(--depth-offset,0px)}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.carousel-controls button{min-width:44px;min-height:44px;border:1px solid rgb(235 223 255 / 30%);border-radius:50px;padding:8px 15px;background:transparent;color:inherit;transition:background .2s,transform .2s}
.carousel-controls button:hover{background:rgb(168 85 247 / 18%)}
.carousel-controls button:active{transform:scale(.94)}
.carousel-count{font-size:12px;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
.intent-builder{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.intent-builder label{display:flex;flex-direction:column;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.intent-builder select,.intent-builder output{font:500 14px/1.4 Manrope,Arial,sans-serif;letter-spacing:0;text-transform:none;min-height:44px;width:100%;border:1px solid rgb(17 18 20 / 22%);border-radius:6px;padding:10px;color:var(--black);background:rgb(255 255 255 / 30%)}
.intent-builder select:focus-visible{outline:2px solid #8125f6;outline-offset:3px}
.demo-updated .creator-summary{animation:demoPulse .5s ease}
@keyframes demoPulse{from{opacity:.35;translate:0 4px}to{opacity:1;translate:0 0}}
button.filter-demo{color:inherit;font:inherit;cursor:pointer;text-align:left;transition:background .25s,box-shadow .25s,transform .25s}
button.filter-demo[aria-pressed=true]{background:rgb(168 85 247 / 20%);box-shadow:inset 0 0 0 1px var(--purple)}
.discovery-example{max-width:600px;margin:24px auto 0;padding:24px;border:1px solid rgb(235 223 255 / 25%);border-radius:12px;background:rgb(168 85 247 / 7%)}
.discovery-example h3{font-size:24px;margin:12px 0}.discovery-example p{font-size:14px}
.mobile-waitlist{display:none}
.btn{transition:background .25s,transform .25s,box-shadow .25s}
.btn:hover{box-shadow:0 8px 24px rgb(168 85 247 / 18%)}
.footer-links a{transition:color .2s,translate .2s}.footer-links a:hover{color:var(--purple);translate:3px 0}
@media(hover:hover) and (pointer:fine){
 .activity,.step,.creator-card{transition:transform .35s ease,box-shadow .35s ease}
 .activity:hover,.step:hover,.creator-card:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px);box-shadow:0 12px 28px rgb(0 0 0 / 12%)}
 .pointer-inside{background-image:radial-gradient(circle at var(--shine-x) var(--shine-y),rgb(168 85 247 / 12%),transparent 65%)}
 button.filter-demo:hover{transform:translateY(-3px)}
}
@media(max-width:900px){
 .steps{padding-left:16px;padding-bottom:0}.steps:after{left:0;top:0;width:2px;height:100%;transform:scaleY(var(--step-progress,0));transform-origin:top}
 .mobile-waitlist:not([hidden]){display:block;position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;z-index:25;min-width:210px;box-shadow:0 8px 30px rgb(0 0 0 / 28%);animation:waitlistIn .3s ease}
 .footer{padding-bottom:35px}.scroll-card{translate:0 16px}
}
@keyframes waitlistIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
 .scroll-card,.scroll-card.card-visible{opacity:1;translate:none;transition:none}
 .motion-word,.visible .motion-word{opacity:1;translate:none;transition:none}
 .intent-stage{translate:none}.activity:hover,.step:hover,.creator-card:hover,button.filter-demo:hover{transform:none}
 .btn,.footer-links a,.carousel-controls button{transition:none}.demo-updated .creator-summary,.mobile-waitlist:not([hidden]){animation:none}
}

/* The three existing steps become a scroll-led story alongside an example. */
.how-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.how-story .steps{grid-template-columns:1fr;gap:20px;padding-left:24px;padding-bottom:0}
.how-story .steps:after{left:0;top:0;width:2px;height:100%;transform:scaleY(var(--step-progress,0));transform-origin:top}
.how-story .step{min-height:225px;padding:28px;transition:background .4s,border-color .4s,box-shadow .4s,transform .35s}
.how-story .step.story-current{background:rgb(168 85 247 / 12%);border-color:var(--purple);box-shadow:inset 3px 0 0 var(--purple)}
.story-preview{position:sticky;top:calc(50vh - 185px);padding:28px;border:1px solid rgb(168 85 247 / 40%);border-radius:16px;background:var(--light);color:var(--black);box-shadow:0 18px 45px rgb(0 0 0 / 12%)}
.story-preview-label{font-size:10px;letter-spacing:.12em;margin-bottom:22px;opacity:.7}
.story-scene{min-height:260px;animation:storySceneIn .45s cubic-bezier(.22,1,.36,1)}
.story-stage{font-size:12px;font-weight:600;color:#7325b5}.story-scene h3{font-size:30px;margin:14px 0}.story-scene p{font-size:15px;line-height:1.6}
.story-people{display:flex;margin:22px 0}.story-people span{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--light);border-radius:50%;background:#b66feb;color:#111214;font-size:12px;margin-right:-6px}.story-people span:nth-child(2n){background:#d5b5f4}
.story-scene .story-detail{font-size:13px;opacity:.8}.story-status{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.story-status span{font-size:11px;border-radius:30px;padding:6px 10px;background:rgb(168 85 247 / 14%)}
.story-dots{display:flex;gap:7px;margin-top:20px}.story-dots span{height:4px;flex:1;border-radius:4px;background:rgb(17 18 20 / 12%);transition:background .3s}.story-dots span.active{background:#a855f7}
@keyframes storySceneIn{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.section-wash{position:relative;isolation:isolate}
.section-wash:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;background:radial-gradient(ellipse at 50% 0%,rgb(168 85 247 / 22%),transparent 65%);opacity:var(--wash-opacity,0)}
.btn:not(.mobile-waitlist){translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .22s cubic-bezier(.22,1,.36,1),background .25s,transform .25s,box-shadow .25s}
@media(max-width:900px){
 .how-story{grid-template-columns:1fr;gap:26px}.story-preview{grid-row:1;top:12px;z-index:3;padding:18px}
 .story-preview-label{margin-bottom:10px}.story-scene{min-height:185px}.story-scene h3{font-size:23px;margin:8px 0}.story-people{margin:12px 0}.story-people span{width:30px;height:30px}.story-dots{margin-top:12px}.story-status{margin-top:10px}
 .how-story .step{min-height:260px;padding:22px}.story-preview .story-people{display:none}.story-preview .story-scene{min-height:155px}
}
@media(prefers-reduced-motion:reduce){.story-scene{animation:none}.story-dots span,.how-story .step{transition:none}.section-wash:before{display:none}.btn:not(.mobile-waitlist){translate:none;transition:none}}

/* Mobile walkthrough: each example stays underneath its own step. */
.mobile-step-example{display:none}
@media(max-width:900px){
 .how-story{display:block}.how-story>.story-preview{display:none}
 .how-story .steps{gap:18px;padding-left:14px}
 .how-story .step{min-height:0;padding:20px;border-radius:12px}
 .how-story .step .num{margin-bottom:14px}
 .how-story .step h3{font-size:19px;line-height:1.35;margin-bottom:12px}
 .how-story .step>p{font-size:14px;line-height:1.7}
 .mobile-step-example{display:block;margin-top:18px;border-top:1px solid rgb(168 85 247 / 25%)}
 .mobile-step-example summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 0;cursor:pointer;list-style:none;font-size:13px;font-weight:600}
 .mobile-step-example summary::-webkit-details-marker{display:none}
 .mobile-step-example summary span{font-size:20px;transition:rotate .2s}
 .mobile-step-example[open] summary span{rotate:45deg}
 .mobile-step-example summary:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
 .mobile-example-content{padding:14px;border-radius:8px;background:rgb(168 85 247 / 9%);animation:storySceneIn .25s ease}
 .mobile-example-content h4{margin:0 0 10px;font-size:17px;font-weight:700;line-height:1.4}
 .mobile-example-content p{font-size:13px;line-height:1.65}
 .mobile-example-content p+p{margin-top:8px}
 .mobile-example-content .story-status{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.mobile-example-content{animation:none}.mobile-step-example summary span{transition:none}}

/* ==========================================================================
   PREMIUM WAITLIST MODAL DIALOG
   ========================================================================== */
dialog#waitlist-dialog {
  background: transparent;
  border: 0;
  padding: 0;
  margin: auto;
  width: min(480px, calc(100% - 32px));
  max-width: 480px;
  overflow: visible;
  outline: none;
}
dialog#waitlist-dialog::backdrop {
  background: rgba(10, 11, 14, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
dialog#waitlist-dialog[open] {
  animation: modalPopIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes modalPopIn {
  from {
    opacity: 0;
    transform: scale(0.92) translateY(16px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.modal-card {
  position: relative;
  background: radial-gradient(circle at 50% -20%, rgba(168, 85, 247, 0.28) 0%, rgba(17, 18, 20, 0.98) 72%), #111214;
  border: 1px solid rgba(235, 223, 255, 0.16);
  border-radius: 24px;
  padding: 38px 34px 30px;
  color: var(--light);
  box-shadow: 0 32px 80px -12px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(235, 223, 255, 0.08) inset, 0 20px 50px -10px rgba(168, 85, 247, 0.22);
  text-align: left;
  box-sizing: border-box;
}

.modal-card .close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(235, 223, 255, 0.08);
  border: 1px solid rgba(235, 223, 255, 0.12);
  color: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  float: none;
  font-size: 0;
  line-height: 0;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.modal-card .close:hover {
  background: rgba(235, 223, 255, 0.18);
  transform: rotate(90deg) scale(1.06);
  color: #fff;
  border-color: rgba(235, 223, 255, 0.25);
}

.modal-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(168, 85, 247, 0.14);
  border: 1px solid rgba(168, 85, 247, 0.35);
  color: var(--light);
  padding: 6px 13px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px #22c55e;
  animation: pulseDot 2s infinite ease-in-out;
}
@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
}

.modal-card h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: -0.04em;
  margin: 0 0 10px;
  color: #fff;
  font-weight: 600;
}
.waitlist-sub {
  font-size: 14.5px;
  color: rgba(235, 223, 255, 0.75);
  margin: 0 0 20px;
  line-height: 1.6;
}

.modal-perks {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-bottom: 24px;
  padding: 14px 16px;
  background: rgba(235, 223, 255, 0.04);
  border: 1px solid rgba(235, 223, 255, 0.08);
  border-radius: 14px;
}
.perk-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: rgba(235, 223, 255, 0.85);
}
.perk-item span {
  font-size: 14px;
}

.waitlist-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.waitlist-input-group {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.input-icon {
  position: absolute;
  left: 16px;
  color: rgba(235, 223, 255, 0.45);
  pointer-events: none;
  transition: color 0.2s;
}
.waitlist-input-group input {
  width: 100%;
  box-sizing: border-box;
  background: rgba(235, 223, 255, 0.06);
  border: 1.5px solid rgba(235, 223, 255, 0.18);
  color: #fff;
  padding: 15px 16px 15px 48px;
  border-radius: 12px;
  font-size: 15px;
  font-family: inherit;
  transition: all 0.2s ease;
}
.waitlist-input-group input::placeholder {
  color: rgba(235, 223, 255, 0.35);
}
.waitlist-input-group input:focus {
  outline: none;
  background: rgba(235, 223, 255, 0.1);
  border-color: var(--purple);
  box-shadow: 0 0 0 4px rgba(168, 85, 247, 0.28);
}
.waitlist-input-group:focus-within .input-icon {
  color: var(--purple);
}

.waitlist-input-group.shake {
  animation: inputShake 0.4s ease-in-out;
}
@keyframes inputShake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

.waitlist-btn {
  width: 100%;
  height: 52px;
  background: linear-gradient(135deg, #A855F7 0%, #9333EA 100%);
  color: #ffffff;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.01em;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 6px 22px rgba(168, 85, 247, 0.38);
  transition: all 0.22s ease;
  border: none;
  cursor: pointer;
}
.waitlist-btn:hover {
  background: linear-gradient(135deg, #B56BF8 0%, #A855F7 100%);
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(168, 85, 247, 0.55);
  color: #ffffff;
}
.waitlist-btn:active {
  transform: scale(0.98);
}
.waitlist-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.btn-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: spin 0.75s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

.waitlist-message {
  font-size: 13.5px;
  line-height: 1.5;
  border-radius: 10px;
  transition: all 0.25s ease;
}
.waitlist-message:empty {
  display: none;
}
.waitlist-message.success {
  background: rgba(34, 197, 94, 0.14);
  border: 1px solid rgba(34, 197, 94, 0.4);
  color: #86efac;
  padding: 14px 16px;
  text-align: center;
}
.waitlist-message.error {
  background: rgba(239, 68, 68, 0.14);
  border: 1px solid rgba(239, 68, 68, 0.4);
  color: #fca5a5;
  padding: 12px 14px;
}

.modal-footnote {
  text-align: center;
  font-size: 11.5px;
  color: rgba(235, 223, 255, 0.45);
  margin: 18px 0 0;
  letter-spacing: 0.02em;
}

@media (max-width: 520px) {
  .modal-card {
    padding: 30px 20px 24px;
    border-radius: 20px;
  }
  .modal-card h2 {
    font-size: 26px;
  }
  .waitlist-sub {
    font-size: 13.5px;
    margin-bottom: 16px;
  }
  .modal-perks {
    padding: 12px;
    gap: 6px;
    margin-bottom: 20px;
  }
  .perk-item {
    font-size: 12px;
  }
  .waitlist-input-group input {
    padding: 13px 14px 13px 44px;
    font-size: 14px;
  }
  .waitlist-btn {
    height: 48px;
    font-size: 14.5px;
  }
}
