/* ============================================
CW-WS · Crowd Week World Summit — Stylesheet
============================================ */

:root{
--bg: #060907;
--bg-alt: #0a0f0b;
--panel: #0e1712;
--panel-2: #121d16;
--border: rgba(150,255,195,0.08);
--border-strong: rgba(150,255,195,0.16);
--text: #f2f6f4;
--text-dim: #a2ada6;
--text-dimmer: #737d77;

--orange: #0ea86b;
--orange-2: #2ee89a;
--pink: #17c98a;
--purple: #0a6e4d;
--purple-2: #033325;

--grad-brand: linear-gradient(90deg, var(--orange-2) 0%, var(--pink) 50%, var(--purple) 100%);
--grad-brand-soft: linear-gradient(120deg, rgba(46,232,154,0.18), rgba(10,110,77,0.18));
--grad-hero: radial-gradient(circle at 20% 15%, rgba(46,232,154,0.30), transparent 45%),
radial-gradient(circle at 85% 20%, rgba(10,110,77,0.35), transparent 50%),
linear-gradient(180deg, #070c09 0%, #060907 60%);

--radius-sm: 10px;
--radius-md: 18px;
--radius-lg: 28px;
--radius-pill: 999px;

--shadow-soft: 0 20px 60px rgba(0,0,0,0.45);
--container-w: 1180px;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
margin:0;
background: var(--bg);
color: var(--text);
font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 16px;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4{
font-family: 'Sora', 'Manrope', sans-serif;
line-height: 1.15;
margin: 0 0 0.5em;
letter-spacing: -0.01em;
}
p{ margin: 0 0 1em; }
a{ color: inherit; text-decoration: none; }
img{ max-width: 100%; display:block; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family: inherit; cursor: pointer; }

.container{
max-width: var(--container-w);
margin: 0 auto;
padding: 0 24px;
}

.noise-overlay{
position: fixed; inset:0; pointer-events:none; z-index: 0;
background-image: radial-gradient(rgba(255,255,255,0.035) 1px, transparent 1px);
background-size: 3px 3px;
opacity: 0.5;
}

/* ---------- Buttons ---------- */
.btn{
display: inline-flex; align-items:center; gap:10px;
padding: 14px 24px;
border-radius: var(--radius-pill);
font-weight: 700;
font-size: 0.95rem;
border: none;
white-space: nowrap;
transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn-icon{
display:inline-flex; align-items:center; justify-content:center;
width: 22px; height:22px; border-radius:50%;
background: rgba(255,255,255,0.18);
font-size: 0.85rem;
}
.btn-primary{
background: var(--grad-brand);
color: #fff;
box-shadow: 0 10px 30px rgba(232,87,124,0.35);
}
.btn-primary .btn-icon{ background: rgba(255,255,255,0.28); }
.btn-dark{
background: #101014;
color: #fff;
border: 1px solid var(--border-strong);
}
.btn-sm{ padding: 10px 18px; font-size: 0.85rem; }

/* ---------- Header ---------- */
.site-header{
position: sticky; top:0; z-index: 100;
background: rgba(8,8,10,0.72);
backdrop-filter: blur(14px);
border-bottom: 1px solid var(--border);
}
.header-inner{
display:flex; align-items:center; justify-content:space-between;
padding-top: 14px; padding-bottom: 14px;
gap: 20px;
}
.brand{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.brand-logo-badge{
display:flex; align-items:center;
line-height:0;
}
.brand-logo-img{ display:block; height: 104px; width:auto; }
.brand-logo-badge-sm .brand-logo-img{ height: 42px; }
@media (max-width: 640px){
.brand-logo-img{ height: 80px; }
}

.main-nav{
display:flex; align-items:center; gap: 28px;
font-size: 0.88rem; font-weight: 600; color: var(--text-dim);
}
.main-nav a:hover{ color: var(--text); }

.header-actions{ display:flex; align-items:center; gap: 14px; }

.lang-switch{ position: relative; }
.lang-current{
display:flex; align-items:center; gap:6px;
background: var(--panel); border:1px solid var(--border);
color: var(--text); padding: 9px 12px; border-radius: var(--radius-pill);
font-size: 0.82rem; font-weight: 700; letter-spacing: 0.03em;
}
.lang-menu{
position:absolute; top: calc(100% + 8px); right:0;
background: var(--panel-2); border:1px solid var(--border-strong);
border-radius: 14px; padding: 6px; min-width: 160px;
box-shadow: var(--shadow-soft);
opacity:0; visibility:hidden; transform: translateY(-6px);
transition: all .15s ease;
}
.lang-switch.open .lang-menu{ opacity:1; visibility:visible; transform: translateY(0); }
.lang-menu li button{
width:100%; text-align:left; background:none; border:none; color: var(--text-dim);
padding: 9px 10px; border-radius: 8px; font-size:0.86rem; font-weight:600;
display:flex; align-items:center; gap:8px;
}
.lang-menu li button:hover{ background: rgba(255,255,255,0.06); color:#fff; }
.lang-menu li button.active{ color:#fff; background: rgba(255,255,255,0.08); }
.flag{ font-size: 1rem; }

.burger{
display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px;
}
.burger span{ width: 22px; height:2px; background:#fff; border-radius:2px; }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow:hidden; padding: 76px 0 60px; }
.hero-bg{
position:absolute; inset:0; z-index:-1;
background: var(--grad-hero);
}
.hero-bg::after{
content:"";
position:absolute; inset:0;
background-image: repeating-linear-gradient(90deg, rgba(255,255,255,0.02) 0 1px, transparent 1px 64px);
}
.hero-inner{ text-align:center; max-width: 880px; }
.hero-badges{ display:flex; justify-content:center; gap:24px; flex-wrap:wrap; margin-bottom: 26px; }
.pill{
display:inline-flex; align-items:center; gap:16px;
background: rgba(255,255,255,0.06); border:1px solid var(--border-strong);
padding: 16px 32px; border-radius: var(--radius-pill);
font-size:1.64rem; font-weight:700; color: var(--text-dim);
}
.pill svg{ color: var(--orange-2); flex-shrink:0; }

.hero-eyebrow{
font-size: 0.78rem; font-weight:800; letter-spacing:0.14em;
color: var(--orange-2); margin-bottom: 14px;
}
.hero-title{
font-size: clamp(2.1rem, 5vw, 3.4rem);
font-weight: 800;
margin-bottom: 20px;
}
.hero-title span{ display:block; }
.hero-title .grad-text{
background: var(--grad-brand);
-webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-subtitle{
font-size: 1.08rem; color: var(--text-dim); max-width: 640px; margin:0 auto 30px;
}
.hero-ctas{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom: 22px; }
.hero-sponsor{ font-size:0.82rem; color: var(--text-dimmer); margin:0; }
.hero-sponsor strong{ color: var(--text-dim); }

/* ---------- Stats strip ---------- */
.stats-strip{ padding: 20px 0 60px; position:relative; }
.stats-grid{
display:grid; grid-template-columns: repeat(4, 1fr);
gap: 1px; background: var(--border);
border: 1px solid var(--border); border-radius: var(--radius-md);
overflow:hidden;
}
.stat-item{
background: var(--panel);
padding: 26px 18px; text-align:center;
}
.stat-number{
font-family:'Sora',sans-serif; font-weight:800; font-size: 1.7rem;
background: var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent;
margin-bottom: 4px;
}
.stat-label{ font-size: 0.76rem; color: var(--text-dim); font-weight:600; line-height:1.3; }
.stats-note{ text-align:center; color: var(--text-dimmer); font-size:0.78rem; margin-top:14px; margin-bottom:0; }

/* ---------- Sections ---------- */
.section{ padding: 90px 0; position:relative; }
.section.alt{ background: var(--bg-alt); }
.eyebrow{
font-size:0.76rem; font-weight:800; letter-spacing:0.14em;
color: var(--orange-2); margin-bottom: 12px; text-transform: uppercase;
}
.section-head h2{ font-size: clamp(1.6rem, 3vw, 2.3rem); }
.section-head.center{ text-align:center; max-width: 700px; margin: 0 auto 50px; }
.lead{ color: var(--text-dim); font-size: 1.02rem; }

.two-col{
display:grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items:center;
}
.two-col.reverse{ direction: rtl; }
.two-col.reverse > *{ direction: ltr; }

/* expectation cards (numbered) */
.col-cards{ display:grid; gap:14px; }
.expect-card{
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-md);
padding: 22px 24px; display:flex; gap:16px; align-items:flex-start;
}
.expect-num{
flex-shrink:0; width: 38px; height:38px; border-radius:50%;
background: var(--grad-brand-soft); border:1px solid var(--border-strong);
display:flex; align-items:center; justify-content:center;
font-weight:800; font-family:'Sora',sans-serif; color: var(--orange-2); font-size:0.95rem;
}
.expect-text strong{ display:block; font-size:1rem; margin-bottom:2px; }
.expect-text span{ color: var(--text-dim); font-size: 0.9rem; }

.quote-card{
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-lg);
padding: 40px 34px; position:relative;
}
.quote-card::before{
content:"“"; position:absolute; top: 10px; left: 24px;
font-size: 4rem; font-family:'Sora',sans-serif; color: rgba(46,232,154,0.35);
}
.quote-text{ font-size: 1.15rem; font-weight:700; margin-bottom: 14px; position:relative; z-index:1; }
.quote-cap{ color: var(--text-dim); font-size:0.88rem; margin:0; }

/* ---------- Structure grid ---------- */
.structure-grid{
display:grid; grid-template-columns: repeat(2, 1fr); gap: 22px;
}
.structure-card{
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-lg);
padding: 32px 30px;
}
.structure-card .tag{
display:inline-block; font-size:0.7rem; font-weight:800; letter-spacing:0.08em;
padding: 5px 11px; border-radius: var(--radius-pill);
background: var(--grad-brand-soft); color: var(--orange-2); margin-bottom:16px;
}
.structure-card h3{ font-size:1.25rem; margin-bottom:10px; }
.structure-card p{ color: var(--text-dim); font-size:0.92rem; margin-bottom:0; }

/* ---------- Venue photo carousel ---------- */
.venue-carousel{
position: relative; width:100%;
border-radius: var(--radius-lg); overflow:hidden;
border: 1px solid var(--border-strong);
background: var(--panel);
aspect-ratio: 16/8;
}
.venue-track{
display:flex; height:100%; width:100%;
transition: transform 0.55s cubic-bezier(.65,0,.35,1);
}
.venue-slide{
flex: 0 0 100%; height:100%; position:relative;
}
.venue-slide img{
width:100%; height:100%; object-fit:cover; display:block;
}
.venue-slide::after{
content:""; position:absolute; inset:0;
background: linear-gradient(0deg, rgba(3,10,7,0.55) 0%, transparent 22%);
}
.venue-arrow{
position:absolute; top:50%; transform: translateY(-50%); z-index:2;
width:44px; height:44px; border-radius:50%;
background: rgba(6,9,7,0.55); border:1px solid rgba(255,255,255,0.25);
color:#fff; display:flex; align-items:center; justify-content:center;
cursor:pointer; backdrop-filter: blur(4px);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.venue-arrow:hover{ background: var(--grad-brand); border-color: transparent; }
.venue-arrow-prev{ left:16px; }
.venue-arrow-next{ right:16px; }
.venue-dots{
position:absolute; left:0; right:0; bottom:18px; z-index:2;
display:flex; align-items:center; justify-content:center; gap:7px;
}
.venue-dot{
width:8px; height:8px; border-radius:50%; border:none; padding:0;
background: rgba(255,255,255,0.35); cursor:pointer;
transition: background 0.2s ease, transform 0.2s ease, width 0.2s ease;
}
.venue-dot.active{ background: var(--grad-brand); width:22px; border-radius: var(--radius-pill); }
@media (max-width: 720px){
.venue-carousel{ aspect-ratio: 4/5; border-radius: var(--radius-md); }
.venue-arrow{ width:38px; height:38px; }
.venue-dots{ bottom:14px; }
}

/* ---------- Guests logo carousel ---------- */
.guests-section{ padding-bottom: 56px; }
.logo-carousel{
width:100%; overflow:hidden; position:relative;
-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.logo-track{
display:flex; align-items:flex-start; gap:20px; width:max-content;
animation: scrollLogos 48s linear infinite;
}
.logo-carousel:hover .logo-track{ animation-play-state: paused; }
.logo-chip{
display:flex; flex-direction:column; align-items:center; gap:10px; flex-shrink:0;
width: 152px;
}
.logo-chip-imgwrap{
width: 100%; height: 76px; flex-shrink:0;
display:flex; align-items:center; justify-content:center;
background:#fff; border:1px solid var(--border); border-radius: var(--radius-md);
padding: 10px 14px;
}
.logo-chip-imgwrap.dark{
background: var(--panel-2); border-color: var(--border-strong);
}
.logo-chip-imgwrap img{
max-width:100%; max-height:100%; width:auto; height:auto;
object-fit: contain; display:block;
}
.logo-chip span{
font-weight:600; font-size:0.78rem; color: var(--text-dim); letter-spacing:0.01em;
text-align:center; line-height:1.25;
display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
@keyframes scrollLogos{
from{ transform: translateX(0); }
to{ transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
.logo-track{ animation: none; }
}

/* ---------- Partners section ---------- */
.partners-section{ background:#000; padding: 72px 0; border-top:1px solid var(--border); }
.partners-grid{
display:flex; flex-wrap:wrap; justify-content:center; gap: 18px 16px;
max-width: 980px; margin: 0 auto;
}
.logo-chip-imgwrap.text-mark{
height: auto; min-height: 76px; padding: 10px 12px;
}
.logo-chip-imgwrap.text-mark span{
font-family:'Sora',sans-serif; font-weight:800; font-size:0.72rem; line-height:1.15;
text-align:center; color:#0c0c0c; text-transform:uppercase; letter-spacing:0.01em;
display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.partners-subhead{
text-align:center; font-size:0.75rem; font-weight:800; letter-spacing:0.14em;
color: var(--text-dimmer); margin: 46px 0 22px;
}

/* ---------- CTA banner ---------- */
.cta-banner{
background: linear-gradient(100deg, #baf7d9 0%, #6df0b0 35%, #2ee89a 65%, #17c98a 100%);
padding: 70px 0;
position: relative;
overflow:hidden;
}
.cta-banner::before{
content:""; position:absolute; inset:0;
background-image: repeating-linear-gradient(90deg, rgba(0,0,0,0.05) 0 1px, transparent 1px 46px);
}
.cta-banner-inner{ text-align:center; position:relative; z-index:1; }
.cta-banner h2{ color:#04140d; font-size: clamp(1.5rem, 3vw, 2.1rem); max-width:700px; margin:0 auto 12px; }
.cta-banner p{ color: rgba(4,20,13,0.75); font-weight:600; margin-bottom: 26px; }
.cta-banner .btn-dark{ background:#081410; }

/* ---------- Awards ---------- */
.votes-list{ display:grid; gap:10px; margin-top: 22px; }
.vote-row{
display:flex; align-items:center; justify-content:space-between;
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-sm);
padding: 12px 18px;
}
.vote-row strong{ font-size:0.92rem; }
.vote-row span{
font-family:'Sora',sans-serif; font-weight:800; font-size:0.85rem;
color: var(--orange-2);
}
.prizes-card{
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-lg);
padding: 34px;
}
.prizes-card h3{ font-size:1.15rem; margin-bottom:20px; }
.prizes-list{ display:grid; gap:14px; }
.prize-row{
display:flex; align-items:center; gap:16px;
background: var(--panel-2); border:1px solid var(--border); border-radius: var(--radius-md);
padding: 16px 20px;
}
.prize-medal{
width:42px; height:42px; border-radius:50%; flex-shrink:0;
display:flex; align-items:center; justify-content:center;
font-family:'Sora',sans-serif; font-weight:800; font-size:1.05rem;
background: var(--grad-brand); color:#fff;
}
.prize-row div strong{ display:block; font-size:0.85rem; color: var(--text-dim); font-weight:700; }
.prize-row div span{ font-family:'Sora',sans-serif; font-weight:800; font-size:1.25rem; }

/* ---------- Pricing ---------- */
.pricing-tabs{
display:flex; justify-content:center; gap:8px; margin-bottom: 44px;
}
.pricing-tab{
background: var(--panel); border:1px solid var(--border); color: var(--text-dim);
padding: 11px 24px; border-radius: var(--radius-pill); font-weight:700; font-size:0.88rem;
transition: all .15s ease;
}
.pricing-tab.active{
background: var(--grad-brand); color:#fff; border-color: transparent;
}
.pricing-panel{ display:none; }
.pricing-panel.active{ display:block; }
.pricing-note{ text-align:center; color: var(--orange-2); font-weight:700; font-size:0.9rem; margin-bottom: 30px; }

.pricing-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.price-card{
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-lg);
padding: 30px 26px; display:flex; flex-direction:column;
position:relative;
}
.price-card.featured{ border-color: rgba(46,232,154,0.5); box-shadow: 0 0 0 1px rgba(46,232,154,0.25), var(--shadow-soft); }
.price-card-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.price-card-head h3{ font-size:1.15rem; margin:0; color: var(--orange-2); }
.badge{
font-size:0.66rem; font-weight:800; letter-spacing:0.04em; text-transform:uppercase;
padding:4px 10px; border-radius: var(--radius-pill);
background: rgba(255,255,255,0.1); color: var(--text-dim);
}
.badge.hot{ background: var(--grad-brand); color:#fff; }
.price-card-sub{ color: var(--text-dimmer); font-size:0.82rem; margin-bottom: 18px; }

.price-tiers{ display:grid; gap:8px; margin-bottom:20px; }
.price-tier{
display:flex; align-items:center; justify-content:space-between;
border: 1px solid var(--border); border-radius: var(--radius-sm);
padding: 10px 14px;
}
.price-tier.current{ border-color: rgba(46,232,154,0.45); background: rgba(46,232,154,0.06); }
.price-tier-label{ font-size:0.76rem; color: var(--text-dim); font-weight:600; }
.price-tier-value{ font-family:'Sora',sans-serif; font-weight:800; font-size:1.05rem; }

.price-includes{ display:grid; gap:9px; margin: 0 0 24px; flex:1; }
.price-includes li{
display:flex; gap:10px; align-items:flex-start; font-size:0.86rem; color: var(--text-dim);
}
.price-includes li::before{
content:"✓"; color: var(--orange-2); font-weight:800; flex-shrink:0;
}

/* ---------- Program / themes ---------- */
.main-theme-card{
background: var(--grad-brand-soft); border:1px solid rgba(46,232,154,0.3);
border-radius: var(--radius-lg); padding: 32px 36px;
max-width: 780px; margin: 0 auto 30px;
}
.main-theme-label{ font-size:0.72rem; font-weight:800; letter-spacing:0.12em; color: var(--orange-2); margin-bottom:10px; }
.main-theme-head{ display:flex; align-items:baseline; gap:10px; margin-bottom:18px; }
.main-theme-num{
font-family:'Sora',sans-serif; font-weight:800; color: var(--orange-2); font-size:1.1rem; flex-shrink:0;
}
.main-theme-text{ font-size: 1.25rem; font-weight:700; margin:0; line-height:1.35; }
.theme-speakers-label{ font-size:0.78rem; font-weight:700; color: var(--text-dim); margin: 0 0 10px; text-transform:uppercase; letter-spacing:0.04em; }
.theme-speakers{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom: 16px; }
.speaker-chip{
background: var(--panel); border:1px solid var(--border-strong); border-radius: var(--radius-pill);
padding: 7px 14px; font-size:0.8rem; font-weight:700; color:#fff;
}
.theme-speaker-group{ margin-bottom: 14px; }
.theme-speaker-group:last-child{ margin-bottom:0; }
.theme-speaker-group-label{
font-size:0.72rem; font-weight:800; letter-spacing:0.08em; color: var(--text-dimmer);
margin-bottom:8px; text-transform:uppercase;
}
.theme-speaker-vs{
text-align:center; font-size:0.72rem; font-weight:800; color: var(--orange-2);
letter-spacing:0.1em; margin: 2px 0 12px;
}
.theme-schedule{
display:flex; align-items:center; gap:8px; font-size:0.82rem; color: var(--text-dim);
border-top:1px solid var(--border); padding-top:14px; margin-top:4px;
}
.theme-schedule strong{ color: var(--text); font-weight:700; }

.collateral-label{
text-align:center; font-size:0.75rem; font-weight:800; letter-spacing:0.12em;
color: var(--text-dimmer); margin: 0 0 18px;
}
.themes-accordion{ display:grid; gap:10px; max-width: 900px; margin:0 auto; }
.theme-acc-item{
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-md);
overflow:hidden;
}
.theme-acc-q{
width:100%; background:none; border:none; color:#fff; text-align:left; cursor:pointer;
padding: 16px 20px; font-weight:700; font-size:0.92rem;
display:flex; align-items:center; gap: 14px;
}
.theme-acc-q .main-theme-num{ font-size:0.92rem; }
.theme-acc-q span.title{ flex:1; }
.theme-acc-q .plus{
flex-shrink:0; width:22px; height:22px; border-radius:50%; border:1px solid var(--border-strong);
display:flex; align-items:center; justify-content:center; font-size:1rem; transition: transform .2s ease;
}
.theme-acc-item.open .theme-acc-q .plus{ transform: rotate(45deg); background: var(--grad-brand); border-color:transparent; }
.theme-acc-a{
max-height:0; overflow:hidden; transition: max-height .25s ease;
padding: 0 20px;
}
.theme-acc-a-inner{ padding: 2px 0 20px; }
.theme-acc-item.open .theme-acc-a{ max-height: 700px; }

/* ---------- Ambassador program ---------- */
.ambassador-phases{ margin-bottom: 26px; }
.ambassador-benefits-card{
max-width: 780px; margin: 0 auto;
}
.ambassador-benefits-card h3{ font-size:1.15rem; margin-bottom:20px; }
@media (max-width: 640px){
.ambassador-benefits-card{ padding: 26px 22px; }
}

.ambassador-carousel-label{ margin-top: 46px; }
.ambassador-carousel .ambassador-track{
display:flex; align-items:stretch; gap:20px; width:max-content;
animation: scrollLogos 56s linear infinite;
}
.ambassador-carousel:hover .ambassador-track{ animation-play-state: paused; }
.ambassador-card{
flex-shrink:0; width: 210px;
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-lg);
overflow:hidden; text-align:center;
}
.ambassador-card-photo-wrap{ width:100%; aspect-ratio: 1/1; overflow:hidden; background: var(--panel-2); }
.ambassador-card-photo{ width:100%; height:100%; object-fit:cover; display:block; }
.ambassador-card-body{ padding: 16px 16px 20px; }
.ambassador-card-name{ font-weight:700; font-size:0.92rem; margin-bottom:4px; }
.ambassador-card-location{ color: var(--text-dim); font-size:0.8rem; margin-bottom:12px; }
.ambassador-card-link{
display:inline-flex; align-items:center; gap:6px;
font-size:0.78rem; font-weight:700; color: var(--orange-2);
}
.ambassador-card-link:hover{ text-decoration: underline; }
@media (max-width: 640px){
.ambassador-card{ width: 168px; }
}

/* ---------- FAQ ---------- */
.faq-card{
background: var(--panel); border:1px solid var(--border); border-radius: var(--radius-lg);
padding: 46px; display:grid; grid-template-columns: 1fr 1.3fr; gap: 40px;
}
.faq-head h2{ font-size: 1.7rem; }
.faq-list{ display:grid; gap:10px; }
.faq-item{
background: var(--panel-2); border:1px solid var(--border); border-radius: var(--radius-md);
overflow:hidden;
}
.faq-q{
width:100%; background:none; border:none; color:#fff; text-align:left;
padding: 16px 20px; font-weight:700; font-size:0.92rem;
display:flex; align-items:center; justify-content:space-between; gap: 14px;
}
.faq-q .plus{
flex-shrink:0; width:22px; height:22px; border-radius:50%; border:1px solid var(--border-strong);
display:flex; align-items:center; justify-content:center; font-size:1rem; transition: transform .2s ease;
}
.faq-item.open .faq-q .plus{ transform: rotate(45deg); background: var(--grad-brand); border-color:transparent; }
.faq-a{
max-height:0; overflow:hidden; transition: max-height .25s ease;
color: var(--text-dim); font-size:0.88rem; padding: 0 20px;
}
.faq-a-inner{ padding-bottom: 18px; }
.faq-item.open .faq-a{ max-height: 400px; }

/* ---------- Crowd closing statement ---------- */
.closing-statement{
background:#000; padding: 90px 0; text-align:center; overflow:hidden; position:relative;
}
.closing-statement::before{
content:""; position:absolute; inset:0; pointer-events:none;
background: radial-gradient(circle at 50% 120%, rgba(46,232,154,0.16), transparent 60%);
}
.closing-statement-text{
position:relative; z-index:1; margin:0 auto; max-width: 1000px;
font-family:'Sora',sans-serif; font-weight:800; text-transform:uppercase;
font-size: clamp(1.7rem, 5vw, 3.4rem); line-height:1.15; letter-spacing:0.01em;
color:#fff;
}
@media (max-width: 640px){
.closing-statement{ padding: 64px 0; }
}

/* ---------- Footer ---------- */
.site-footer{ border-top:1px solid var(--border); padding: 40px 0; }
.footer-inner{
display:flex; align-items:center; justify-content:space-between; gap: 20px; flex-wrap:wrap;
}
.brand-footer{ margin-right:auto; }
.footer-copy{ color: var(--text-dimmer); font-size:0.8rem; margin:0; }
.footer-powered{ color: var(--text-dimmer); font-size:0.8rem; margin:0; }
.footer-powered strong{ color: var(--text-dim); }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
.main-nav{ display:none; }
.burger{ display:flex; }
.two-col, .two-col.reverse{ grid-template-columns: 1fr; direction: ltr; }
.structure-grid{ grid-template-columns: 1fr; }
.pricing-grid{ grid-template-columns: 1fr; }
.stats-grid{ grid-template-columns: repeat(2,1fr); }
.faq-card{ grid-template-columns: 1fr; padding: 30px 24px; }
}
@media (max-width: 640px){
.header-actions .btn-sm{ display:none; }
.main-theme-card{ padding: 24px 20px; }
.theme-acc-q{ padding: 14px 16px; font-size:0.86rem; }
.stats-grid{ grid-template-columns: repeat(2,1fr); }
.faq-card{ padding: 24px 18px; }
.hero{ padding: 56px 0 40px; }
.section{ padding: 64px 0; }
}

/* Mobile nav dropdown */
.main-nav.mobile-open{
display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0;
background: var(--bg-alt); border-bottom:1px solid var(--border);
padding: 18px 24px; gap: 16px;
}

/* ---------- Tickets-soon modal ---------- */
.ticket-modal-overlay{
position: fixed; inset: 0; z-index: 999;
background: rgba(3,6,4,0.72); backdrop-filter: blur(4px);
display:flex; align-items:center; justify-content:center;
padding: 20px;
}
.ticket-modal-overlay[hidden]{ display:none; }
.ticket-modal{
position: relative;
width: 100%; max-width: 440px;
background: var(--panel); border: 1px solid var(--border-strong);
border-radius: var(--radius-lg, 20px);
padding: 40px 32px 32px;
text-align: center;
box-shadow: 0 30px 80px rgba(0,0,0,0.55);
animation: ticketModalPop .25s ease;
}
@keyframes ticketModalPop{
from{ opacity:0; transform: translateY(10px) scale(0.98); }
to{ opacity:1; transform: translateY(0) scale(1); }
}
.ticket-modal-close{
position:absolute; top:14px; right:14px;
width:32px; height:32px; border-radius:50%;
background: var(--panel-2); border:1px solid var(--border-strong);
color: var(--text-dim); font-size:1.2rem; line-height:1;
display:flex; align-items:center; justify-content:center;
cursor:pointer;
}
.ticket-modal-close:hover{ color: var(--text); }
.ticket-modal-eyebrow{
font-size:0.72rem; font-weight:800; letter-spacing:0.16em;
color: var(--orange-2); margin-bottom: 14px;
}
.ticket-modal-text{
font-family:'Sora',sans-serif; font-weight:800; font-size: clamp(1.3rem, 4vw, 1.7rem);
color: var(--text); margin-bottom: 10px; line-height:1.25;
}
.ticket-modal-sub{
color: var(--text-dim); font-size:0.92rem; line-height:1.5; margin-bottom: 26px;
}
.ticket-modal-ok{ width:100%; justify-content:center; }
@media (max-width: 480px){
.ticket-modal{ padding: 32px 22px 24px; }
}
