html,
body{
  max-width:100%;
  overflow-x:hidden;
}

.main.container{
  width:100%;
  min-width:0;
  max-width:none;
  padding:0;
  overflow-x:clip;
}

body{
  background:
    linear-gradient(180deg, #fff8f8 0%, #f7f1ff 54%, #f2efff 100%);
}

.home-hero{
  position:relative;
  min-height:660px;
  margin:0;
  overflow:hidden;
  border-radius:0;
  background:
    radial-gradient(700px 440px at 75% 30%, rgba(255,63,121,.22), transparent 65%),
    radial-gradient(900px 500px at 92% 75%, rgba(91,87,225,.20), transparent 60%),
    linear-gradient(135deg, #fff8f8, #f3efff 78%);
  isolation:isolate;
}

.home-hero::before{
  content:"";
  position:absolute;
  inset:auto -120px -220px -120px;
  height:360px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.72));
  z-index:-1;
}

.hero-inner{
  width:min(1400px, calc(100% - 40px));
  min-height:660px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(440px, .9fr);
  gap:54px;
  align-items:center;
}

.hero-copy{
  width:min(620px, 100%);
  padding:52px 0 86px;
}

.hero-status{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.hero-visual{
  position:relative;
  min-height:520px;
  perspective:1200px;
  overflow:visible;
}

.hero-visual.reveal{
  opacity:1;
  transform:none;
  filter:none;
}

.hero-visual::before{
  content:"";
  position:absolute;
  right:10px;
  top:40px;
  width:470px;
  height:470px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38), 0 34px 90px rgba(103,92,255,.10);
  backdrop-filter:blur(28px) saturate(1.16);
  -webkit-backdrop-filter:blur(28px) saturate(1.16);
  opacity:.72;
}

.hero-phone-image{
  position:absolute;
  z-index:2;
  right:-42px;
  top:-30px;
  width:min(710px, 112%);
  max-width:none;
  height:auto;
  display:block;
  filter:drop-shadow(0 34px 70px rgba(31,24,47,.16));
  transform:translateY(12px) scale(.98);
  opacity:0;
}

.hero-visual.is-visible .hero-phone-image{
  animation:heroImageIn .78s cubic-bezier(.2,.85,.2,1) .12s forwards,
    heroImageFloat 7s ease-in-out 1s infinite;
}

@keyframes heroImageIn{
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes heroImageFloat{
  0%, 100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-12px) scale(1.01); }
}

.mock-badge{
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:11px 15px;
  border:1px solid rgba(255,255,255,.74);
  border-radius:19px;
  color:#231b31;
  background:
    linear-gradient(135deg, rgba(255,255,255,.50), rgba(255,255,255,.22)),
    radial-gradient(120px 70px at 10% 10%, rgba(255,63,121,.12), transparent 70%);
  box-shadow:0 20px 54px rgba(31,24,47,.12), inset 0 1px 0 rgba(255,255,255,.62);
  backdrop-filter:blur(24px) saturate(1.28);
  -webkit-backdrop-filter:blur(24px) saturate(1.28);
  opacity:0;
  transform:translateY(18px) scale(.94);
}

.mock-badge strong,
.mock-badge small{
  display:block;
  white-space:nowrap;
}

.mock-badge strong{
  font-size:14px;
  line-height:1.1;
  font-weight:950;
}

.mock-badge small{
  margin-top:3px;
  color:#6a6074;
  font-size:11px;
  line-height:1.1;
  font-weight:850;
}

.badge-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg, #ff3f79, #725fff);
  box-shadow:0 10px 20px rgba(255,63,121,.22);
  font-size:16px;
  font-weight:950;
}

.badge-icon.icon-image img{
  width:19px;
  height:19px;
  display:block;
  filter:brightness(0) invert(1);
}

.people-stack{
  position:relative;
  display:flex;
  flex:0 0 68px;
  align-items:center;
  height:34px;
}

.people-stack img{
  width:34px;
  height:34px;
  margin-left:-10px;
  border:3px solid rgba(255,255,255,.84);
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 8px 16px rgba(31,24,47,.14);
}

.people-stack img:first-child{
  margin-left:0;
}

.people-stack img:nth-child(2){
  transform:translateY(-2px);
}

.people-stack img:nth-child(3){
  transform:translateY(2px);
}

.badge-today{
  left:112px;
  top:46px;
}

.badge-online{
  left:8px;
  top:178px;
}

.badge-coffee{
  left:58px;
  bottom:118px;
}

.badge-party{
  right:-26px;
  top:238px;
}

.badge-date{
  right:42px;
  bottom:64px;
}

.hero-visual.is-visible .mock-badge{
  animation:badgeIn .62s cubic-bezier(.2,.92,.22,1.18) forwards,
    badgeFloatA 5.8s ease-in-out infinite;
}

.hero-visual.is-visible .badge-today{
  animation-delay:.18s, .92s;
  animation-name:badgeIn, badgeFloatA;
}

.hero-visual.is-visible .badge-online{
  animation-delay:.34s, 1.1s;
  animation-name:badgeIn, badgeFloatB;
}

.hero-visual.is-visible .badge-coffee{
  animation-delay:.50s, 1.26s;
  animation-name:badgeIn, badgeFloatC;
}

.hero-visual.is-visible .badge-party{
  animation-delay:.66s, 1.42s;
  animation-name:badgeIn, badgeFloatB;
}

.hero-visual.is-visible .badge-date{
  animation-delay:.82s, 1.58s;
  animation-name:badgeIn, badgeFloatC;
}

@keyframes badgeIn{
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes badgeFloatA{
  0%, 100%{ transform:translate3d(0,0,0) rotate(-1deg); }
  50%{ transform:translate3d(7px,-10px,0) rotate(2deg); }
}

@keyframes badgeFloatB{
  0%, 100%{ transform:translate3d(0,0,0) rotate(2deg); }
  45%{ transform:translate3d(-8px,-7px,0) rotate(-2deg); }
}

@keyframes badgeFloatC{
  0%, 100%{ transform:translate3d(0,0,0) rotate(-3deg); }
  55%{ transform:translate3d(5px,9px,0) rotate(2deg); }
}

.eyebrow,
.section-kicker{
  display:inline-flex;
  align-items:center;
  color:#ff3f79;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.eyebrow{
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 30px rgba(255,63,121,.13);
}

.hero-live{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 13px 0 29px;
  border:1px solid rgba(255,63,121,.14);
  border-radius:999px;
  color:#4e435d;
  background:rgba(255,255,255,.56);
  box-shadow:0 12px 30px rgba(31,24,47,.06);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

.hero-live::before{
  content:"";
  position:absolute;
  left:13px;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#23d18b;
  box-shadow:0 0 0 6px rgba(35,209,139,.13);
  transform:translateY(-50%);
  animation:heroLivePulse 2.4s ease-in-out infinite;
}

@keyframes heroLivePulse{
  0%, 100%{
    background:#23d18b;
    box-shadow:0 0 0 6px rgba(35,209,139,.13), 0 0 18px rgba(35,209,139,.35);
  }
  34%{
    background:#ff3f79;
    box-shadow:0 0 0 6px rgba(255,63,121,.14), 0 0 18px rgba(255,63,121,.38);
  }
  67%{
    background:#675cff;
    box-shadow:0 0 0 6px rgba(103,92,255,.14), 0 0 18px rgba(103,92,255,.38);
  }
}

.home-hero h1{
  margin:14px 0 16px;
  padding:.06em 0 .08em;
  max-width:660px;
  color:transparent;
  background:
    linear-gradient(92deg, #20192f 0%, #20192f 48%, #ff3f79 74%, #675cff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  font-size:clamp(50px, 5.8vw, 88px);
  line-height:1.04;
  letter-spacing:0;
  font-weight:950;
  text-wrap:balance;
}

.home-hero p{
  max-width:560px;
  margin:0;
  color:#554b61;
  font-size:17px;
  line-height:1.65;
  font-weight:650;
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:12px;
  font-weight:950;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn:hover{
  transform:translateY(-2px);
  text-decoration:none;
}

.btn.primary{
  color:#fff;
  background:linear-gradient(135deg, #ff2f69, #ff5d91);
  box-shadow:0 16px 34px rgba(255,47,105,.27);
}

.btn.glass{
  color:#241b31;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(36,27,49,.08);
}

.btn.wide{
  width:100%;
}

.stats-strip{
  position:relative;
  z-index:3;
  width:min(1180px, calc(100% - 40px));
  margin:-46px auto 0;
  display:grid;
  grid-template-columns:minmax(260px, .78fr) minmax(0, 1.55fr);
  gap:18px;
  align-items:stretch;
  padding:14px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:8px;
  background:rgba(255,255,255,.88);
  box-shadow:0 24px 58px rgba(31,24,47,.11);
  backdrop-filter:blur(20px);
}

.stats-intro{
  min-width:0;
  padding:18px 18px 16px;
  border-radius:8px;
  background:
    radial-gradient(280px 160px at 100% 0%, rgba(255,63,121,.10), transparent 70%),
    #fff;
}

.stats-intro h2{
  margin:7px 0 8px;
  color:#20192f;
  font-size:24px;
  line-height:1.04;
  font-weight:950;
  letter-spacing:0;
}

.stats-intro p{
  max-width:330px;
  margin:0;
  color:#675f72;
  font-size:13px;
  line-height:1.45;
  font-weight:750;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  min-width:0;
}

.stat{
  min-width:0;
  min-height:120px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:16px;
  padding:16px 16px 15px;
  border:1px solid rgba(32,25,47,.07);
  border-radius:8px;
  background:linear-gradient(180deg, #fff, rgba(255,255,255,.76));
  box-shadow:0 12px 28px rgba(31,24,47,.06);
}

.stat strong{
  display:block;
  color:#20192f;
  font-size:28px;
  line-height:1;
  letter-spacing:0;
}

.stat div > span{
  display:block;
  margin-top:7px;
  color:#675f72;
  font-size:12px;
  line-height:1.3;
  font-weight:800;
}

.stat-icon{
  display:grid;
  place-items:center;
  align-self:start;
  width:38px;
  height:38px;
  border:1px solid rgba(255,63,121,.16);
  border-radius:8px;
  color:#ff3f79;
  background:rgba(255,63,121,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
  font-size:15px;
  line-height:1;
  font-weight:950;
  font-family:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  justify-items:center;
  align-items:center;
  grid-auto-flow:row;
}

.stat:nth-child(2) .stat-icon{
  color:#675cff;
  border-color:rgba(103,92,255,.16);
  background:rgba(103,92,255,.08);
}

.stat:nth-child(3) .stat-icon{
  color:#241d32;
  border-color:rgba(36,29,50,.12);
  background:rgba(36,29,50,.06);
  font-size:17px;
}

.stat:nth-child(4) .stat-icon{
  color:#0c9f68;
  border-color:rgba(35,209,139,.18);
  background:rgba(35,209,139,.10);
}

.stat-icon-calendar::before{
  content:"";
  display:block;
  width:20px;
  height:20px;
  background:currentColor;
  mask:url("/static/icons/home/calendar-clock.svg") center / contain no-repeat;
  -webkit-mask:url("/static/icons/home/calendar-clock.svg") center / contain no-repeat;
}

.home-section{
  width:min(1400px, calc(100% - 40px));
  margin:0 auto;
  padding:58px 0 0;
  min-width:0;
}

.category-section,
.articles-section{
  overflow-x:clip;
}

.section-heading,
.split-heading,
.steps-heading,
.faq-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(280px, .8fr);
  gap:36px;
  align-items:end;
}

.events-section .section-heading,
.events-page .section-heading{
  grid-template-columns:minmax(0, 1.1fr) minmax(240px, .45fr) minmax(240px, .45fr);
}

.section-heading{
  margin-bottom:24px;
}

.home-section h2{
  margin:8px 0 0;
  color:#241d32;
  font-size:clamp(28px, 3vw, 46px);
  line-height:1;
  letter-spacing:0;
  font-weight:950;
}

.home-section h3{
  margin:0;
  color:#30283d;
  font-size:20px;
  line-height:1.08;
}

.home-section p{
  color:#6f6678;
  line-height:1.55;
  font-weight:650;
}

.event-select{
  position:relative;
  justify-self:end;
  width:min(340px, 100%);
}

.event-select-button{
  width:100%;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:14px;
  padding:0 16px;
  color:#241d32;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 38px rgba(32,25,47,.08);
  font:inherit;
  font-size:14px;
  font-weight:950;
  cursor:pointer;
}

.event-select-chevron{
  width:10px;
  height:10px;
  border-right:2px solid #ff3f79;
  border-bottom:2px solid #ff3f79;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .16s ease;
}

.event-select.is-open .event-select-chevron{
  transform:rotate(225deg) translateY(-2px);
}

.event-select-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:20;
  width:100%;
  padding:10px;
  border:1px solid rgba(32,25,47,.10);
  border-radius:16px;
  background:rgba(255,255,255,.98);
  box-shadow:0 26px 70px rgba(32,25,47,.16);
  opacity:0;
  transform:translateY(-6px);
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
}

.event-select.is-open .event-select-menu{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.event-select-search{
  width:100%;
  height:42px;
  border:1px solid rgba(32,25,47,.10);
  border-radius:12px;
  padding:0 12px;
  color:#241d32;
  background:#f7f3fa;
  font:inherit;
  font-size:14px;
  font-weight:800;
  outline:none;
}

.event-select-search:focus{
  border-color:rgba(255,63,121,.48);
  box-shadow:0 0 0 4px rgba(255,63,121,.10);
}

.event-select-options{
  display:grid;
  gap:6px;
  margin-top:8px;
}

.event-select-option{
  min-height:40px;
  border:0;
  border-radius:10px;
  padding:0 12px;
  color:#4f465b;
  background:transparent;
  text-align:left;
  font:inherit;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}

.event-select-option:hover,
.event-select-option.active{
  color:#fff;
  background:#ff3f79;
}

.event-city-filter{
  position:relative;
  justify-self:end;
  width:min(340px, 100%);
}

.event-city-filter label{
  display:block;
  margin-bottom:8px;
  color:#ff3f79;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.event-city-box{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:14px;
  padding:0 8px 0 14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 38px rgba(32,25,47,.08);
}

.event-city-box input{
  min-width:0;
  width:100%;
  border:0;
  outline:0;
  color:#241d32;
  background:transparent;
  font:inherit;
  font-size:14px;
  font-weight:850;
}

.event-city-box button{
  width:30px;
  height:30px;
  border:0;
  border-radius:10px;
  color:#fff;
  background:#ff3f79;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.event-city-suggestions{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:19;
  display:none;
  padding:8px;
  border:1px solid rgba(32,25,47,.10);
  border-radius:16px;
  background:rgba(255,255,255,.98);
  box-shadow:0 26px 70px rgba(32,25,47,.16);
}

.event-city-suggestions.is-open{
  display:grid;
  gap:6px;
}

.event-city-suggestion{
  min-height:38px;
  border:0;
  border-radius:10px;
  padding:0 12px;
  color:#4f465b;
  background:transparent;
  text-align:left;
  font:inherit;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}

.event-city-suggestion:hover{
  color:#fff;
  background:#ff3f79;
}

.events-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:24px;
  align-items:stretch;
}

.event-card,
.event-aside,
.scenario-card,
.price-card,
.faq details{
  border:1px solid rgba(32,25,47,.08);
  background:rgba(255,255,255,.90);
  box-shadow:0 18px 46px rgba(32,25,47,.08);
}

.event-card{
  overflow:hidden;
  border-radius:8px;
  min-height:100%;
  transition:transform .18s ease, box-shadow .18s ease;
}

.event-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 58px rgba(32,25,47,.12);
}

.event-image{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  display:block;
  background:#ece6f2;
}

.event-body{
  padding:18px;
}

.tag{
  display:block;
  margin-bottom:8px;
  color:#ff3f79;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.event-body p{
  min-height:48px;
  margin:8px 0 12px;
  font-size:14px;
}

.event-meta{
  color:#31283f;
  font-size:13px;
  font-weight:900;
}

.event-actions{
  display:flex;
  gap:8px;
  margin-top:16px;
}

.mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:8px;
  color:#31283f;
  background:#f4f1f7;
  font-size:12px;
  font-weight:950;
  text-decoration:none;
}

.mini-btn.primary{
  color:#fff;
  background:#ff3f79;
}

.mini-btn:hover{
  text-decoration:none;
}

.event-aside{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-self:center;
  min-height:220px;
  padding:30px;
  border-radius:8px;
  background:linear-gradient(135deg, #e9d8ff, #f4e9ff);
}

.events-empty{
  grid-column:1 / -1;
  padding:30px;
  border:1px dashed rgba(32,25,47,.18);
  border-radius:12px;
  background:rgba(255,255,255,.70);
}

.more-events-card{
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-content:stretch;
  min-height:100%;
  color:#20192f;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  gap:16px;
  padding:22px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:14px;
  background:
    radial-gradient(220px 180px at 82% 6%, rgba(255,63,121,.26), transparent 64%),
    radial-gradient(260px 210px at 10% 92%, rgba(103,92,255,.20), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.24));
  box-shadow:0 24px 64px rgba(91,87,225,.16), inset 0 1px 0 rgba(255,255,255,.64);
  backdrop-filter:blur(24px) saturate(1.18);
  -webkit-backdrop-filter:blur(24px) saturate(1.18);
  transition:transform .18s ease, box-shadow .18s ease;
}

.more-events-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(110deg, transparent 0 22%, rgba(255,255,255,.34) 40%, transparent 58%),
    radial-gradient(circle at 94% 20%, rgba(255,255,255,.54) 0 44px, transparent 45px);
  opacity:.62;
  pointer-events:none;
}

.more-events-card::after{
  content:"";
  position:absolute;
  left:-18px;
  bottom:94px;
  width:96px;
  height:96px;
  border-radius:50%;
  background:rgba(255,255,255,.50);
  box-shadow:0 0 0 1px rgba(255,255,255,.60);
  pointer-events:none;
}

.more-events-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 76px rgba(91,87,225,.22), inset 0 1px 0 rgba(255,255,255,.72);
  text-decoration:none;
}

.more-events-art{
  position:relative;
  z-index:1;
  min-height:178px;
  display:grid;
  place-items:center;
}

.more-events-art img{
  width:min(230px, 78%);
  height:auto;
  display:block;
  filter:drop-shadow(0 24px 42px rgba(32,25,47,.18));
  transform:rotate(-4deg);
  transition:transform .22s ease;
}

.more-events-card:hover .more-events-art img{
  transform:rotate(-1deg) translateY(-3px) scale(1.03);
}

.event-chip{
  position:absolute;
  z-index:2;
  min-height:30px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.70);
  border-radius:999px;
  color:#31283f;
  background:rgba(255,255,255,.48);
  box-shadow:0 14px 30px rgba(31,24,47,.10);
  backdrop-filter:blur(16px) saturate(1.18);
  -webkit-backdrop-filter:blur(16px) saturate(1.18);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.chip-live{
  left:8px;
  top:28px;
  color:#ff3f79;
}

.chip-ticket{
  right:10px;
  bottom:22px;
}

.more-events-card h3{
  position:relative;
  z-index:1;
  color:#20192f;
  margin:6px 0 0;
}

.more-events-card p{
  position:relative;
  z-index:1;
  color:#5d526b;
  margin:8px 0 0;
}

.more-events-card .section-kicker{
  position:relative;
  z-index:1;
}

.more-events-btn{
  position:relative;
  z-index:1;
  width:100%;
}

.events-page{
  padding-bottom:80px;
}

.carousel-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}

.carousel-controls{
  display:flex;
  gap:8px;
}

.carousel-controls button{
  width:44px;
  height:44px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:14px;
  color:#241d32;
  background:#fff;
  box-shadow:0 14px 30px rgba(31,24,47,.08);
  font-size:26px;
  font-weight:950;
  cursor:pointer;
}

.category-carousel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px, 360px);
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  padding:4px 2px 14px;
  scrollbar-width:none;
  max-width:100%;
  min-width:0;
}

.category-carousel::-webkit-scrollbar{
  display:none;
}

.category-card{
  position:relative;
  min-height:250px;
  overflow:hidden;
  scroll-snap-align:start;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(220px 150px at 86% 12%, rgba(255,255,255,.16), transparent 62%),
    linear-gradient(135deg, #251c35, #705dff);
  box-shadow:0 22px 54px rgba(31,24,47,.12);
}

.category-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.34;
  filter:saturate(1.05) contrast(1.05);
  transform:scale(1.04);
}

.category-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(140px 120px at 82% 14%, rgba(255,255,255,.16), transparent 64%),
    linear-gradient(180deg, rgba(20,13,31,.16), rgba(20,13,31,.90));
}

.category-card::before{
  content:"";
  position:absolute;
  right:-34px;
  top:-30px;
  width:128px;
  height:128px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.10);
  z-index:1;
}

.category-card > div{
  position:absolute;
  left:22px;
  right:22px;
  bottom:20px;
  z-index:2;
}

.category-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:34px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:16px;
  color:#211a30;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 34px rgba(0,0,0,.14);
  font-size:22px;
  font-weight:950;
}

.category-card h3,
.category-card p{
  color:#fff;
}

.category-card p{
  margin:8px 0 0;
  font-size:14px;
  text-shadow:0 1px 18px rgba(0,0,0,.25);
}

.events-page .events-grid{
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
}

.events-page-tools{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 340px) minmax(260px, 340px);
  gap:18px;
  align-items:end;
  margin-bottom:24px;
  padding:18px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:20px;
  background:rgba(255,255,255,.70);
  box-shadow:0 18px 50px rgba(31,24,47,.08);
}

.events-count{
  color:#645b70;
  font-weight:850;
}

.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:34px;
}

.page-link{
  min-width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(32,25,47,.08);
  border-radius:13px;
  color:#251c35;
  background:#fff;
  box-shadow:0 12px 28px rgba(31,24,47,.06);
  font-weight:950;
}

.page-link:hover{
  text-decoration:none;
  transform:translateY(-1px);
}

.page-link.is-active{
  color:#fff;
  background:#ff3f79;
}

.page-link.is-wide{
  padding:0 16px;
}

.pagination-pro{
  position:relative;
  padding:14px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:20px;
  background:rgba(255,255,255,.68);
  box-shadow:0 18px 48px rgba(31,24,47,.08);
}

.pagination-pro .page-link.is-wide{
  gap:8px;
  min-width:auto;
}

.page-status{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border-radius:13px;
  color:#645b70;
  background:#fff;
  font-weight:900;
}

.manifesto-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(360px, .78fr);
  gap:30px;
  align-items:center;
  min-height:360px;
  overflow:hidden;
  padding:46px 54px;
  border-radius:30px;
  background:
    radial-gradient(560px 300px at 72% 50%, rgba(255,255,255,.56), transparent 70%),
    linear-gradient(100deg, #ff5f8f 0%, #ff8caf 42%, #fff9fb 100%);
  box-shadow:0 32px 90px rgba(255,63,121,.20), 0 18px 70px rgba(31,24,47,.08);
}

.manifesto-card::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:29px;
  border:1px solid rgba(255,255,255,.56);
  pointer-events:none;
}

.manifesto-copy{
  position:relative;
  z-index:2;
}

.manifesto-card .section-kicker,
.manifesto-card h2{
  color:#fff;
}

.manifesto-card h2{
  max-width:760px;
  margin-top:10px;
  font-size:clamp(34px, 4vw, 62px);
  line-height:.98;
  text-wrap:balance;
}

.manifesto-card p{
  max-width:730px;
  margin:22px 0 0;
  color:rgba(255,255,255,.94);
  font-size:18px;
  line-height:1.7;
  font-weight:850;
}

.manifesto-art{
  position:relative;
  z-index:2;
  min-height:280px;
  display:grid;
  place-items:center;
}

.manifesto-art::before{
  content:"";
  position:absolute;
  inset:7% 0 4% auto;
  width:86%;
  border-radius:999px;
  background:rgba(255,255,255,.26);
  filter:blur(34px);
}

.manifesto-art img{
  position:relative;
  width:min(520px, 100%);
  height:auto;
  object-fit:contain;
  opacity:.96;
  filter:drop-shadow(0 26px 34px rgba(117,41,78,.18));
  animation:manifestoFloat 8s ease-in-out infinite;
}

@keyframes manifestoFloat{
  0%, 100%{ transform:translate3d(0, 0, 0) rotate(-1deg); }
  50%{ transform:translate3d(0, -10px, 0) rotate(1deg); }
}

.split-heading{
  align-items:center;
  margin-bottom:28px;
}

.split-heading p,
.steps-heading p,
.faq-layout > div > p{
  margin:0;
}

.scenario-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

.scenario-card{
  position:relative;
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  padding:28px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:22px;
  background:
    radial-gradient(220px 150px at 88% 8%, rgba(255,63,121,.14), transparent 62%),
    #fff;
  box-shadow:0 22px 58px rgba(31,24,47,.08);
}

.scenario-card::before{
  content:"";
  position:absolute;
  right:-26px;
  top:-26px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(255,63,121,.09);
}

.scenario-card::after{
  content:"✦";
  position:absolute;
  right:30px;
  bottom:28px;
  color:rgba(103,92,255,.10);
  font-size:82px;
  font-weight:950;
}

.scenario-card > *{
  position:relative;
  z-index:2;
}

.scenario-card span{
  margin-bottom:auto;
  color:#ff3f79;
  font-size:12px;
  font-weight:950;
}

.scenario-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin:24px 0 22px;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(135deg, #ff3f79, #675cff);
  box-shadow:0 18px 38px rgba(255,63,121,.20);
  font-size:22px;
  font-weight:950;
}

.scenario-card.dark{
  color:#fff;
  background:
    radial-gradient(240px 170px at 88% 8%, rgba(255,255,255,.14), transparent 62%),
    linear-gradient(135deg, #171121, #322341);
}

.scenario-card.dark::before{
  background:rgba(255,255,255,.10);
}

.scenario-card.dark::after{
  color:rgba(255,255,255,.12);
}

.scenario-card.dark h3,
.scenario-card.dark p{
  color:#fff;
}

.articles-page-hero{
  position:relative;
  overflow:hidden;
  padding:38px;
  border:1px solid rgba(255,255,255,.64);
  border-radius:30px;
  background:
    radial-gradient(520px 260px at 16% 14%, rgba(255,63,121,.22), transparent 68%),
    radial-gradient(520px 280px at 84% 10%, rgba(103,92,255,.18), transparent 68%),
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,247,252,.76));
  box-shadow:0 28px 74px rgba(31,24,47,.10);
}

.articles-page-hero::before{
  content:"✦";
  position:absolute;
  right:44px;
  top:18px;
  color:rgba(255,63,121,.13);
  font-size:116px;
  line-height:1;
}

.articles-page-hero h2{
  max-width:1040px;
  background:linear-gradient(105deg, #211a30 0%, #ff3f79 48%, #675cff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.articles-page-hero p{
  max-width:780px;
  color:#4f465b;
  font-size:18px;
}

.steps-panel{
  padding:42px;
  overflow:hidden;
  border-radius:16px;
  background-image:
    linear-gradient(90deg, rgba(37,21,48,.94), rgba(61,35,73,.72)),
    url("https://images.unsplash.com/photo-1514525253161-7a46d19cd819?q=80&w=1800&auto=format&fit=crop");
  background-size:cover;
  background-position:center;
  box-shadow:0 30px 90px rgba(25,16,42,.16);
}

.steps-heading h2,
.steps-heading p{
  color:#fff;
}

.steps-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  margin-top:28px;
}

.step{
  min-height:190px;
  padding:20px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  opacity:1;
}

.step-num{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  margin-bottom:32px;
  border-radius:50%;
  color:#251a35;
  background:#fff;
  font-weight:950;
}

.step h3,
.step p{
  color:#fff;
}

.step p{
  margin-bottom:0;
  font-size:13px;
}

.demo-section{
  width:min(980px, calc(100% - 48px));
}

.video-frame{
  overflow:hidden;
  border-radius:14px;
  background:#050505;
  aspect-ratio:16/9;
  box-shadow:0 28px 80px rgba(31,24,47,.13);
}

.video-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.price-faq-section{
  display:grid;
  gap:64px;
}

.price-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 430px);
  gap:30px;
  align-items:center;
  padding:26px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:24px;
  background:
    radial-gradient(460px 260px at 88% 6%, rgba(103,92,255,.12), transparent 66%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,250,252,.88));
  box-shadow:0 24px 70px rgba(31,24,47,.09);
}

.price-card::before{
  content:"";
  position:absolute;
  right:40%;
  top:10%;
  width:1px;
  height:80%;
  background:linear-gradient(180deg, transparent, rgba(32,25,47,.09), transparent);
}

.price-main,
.price-details{
  position:relative;
  z-index:2;
}

.price-stage{
  position:relative;
  display:grid;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.price-mascot-card{
  position:relative;
  width:min(100%, 500px);
  min-height:390px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:24px;
  border:1px solid rgba(255,255,255,.66);
  border-radius:28px;
  background:
    radial-gradient(260px 200px at 24% 16%, rgba(255,63,121,.18), transparent 66%),
    radial-gradient(320px 230px at 80% 80%, rgba(103,92,255,.18), transparent 64%),
    linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.24));
  box-shadow:0 26px 70px rgba(31,24,47,.12), inset 0 1px 0 rgba(255,255,255,.68);
  backdrop-filter:blur(22px) saturate(1.18);
  -webkit-backdrop-filter:blur(22px) saturate(1.18);
}

.price-mascot-card::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:24px;
  pointer-events:none;
}

.price-mascot-card::after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-80px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(255,63,121,.10);
  pointer-events:none;
}

.price-mascot-card img{
  position:relative;
  z-index:1;
  width:min(360px, 86%);
  height:auto;
  display:block;
  filter:drop-shadow(0 24px 48px rgba(31,24,47,.18));
}

.price-offer-chip{
  position:absolute;
  z-index:2;
  right:28px;
  top:30px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.70);
  border-radius:18px;
  color:#211a30;
  background:rgba(255,255,255,.54);
  box-shadow:0 18px 42px rgba(31,24,47,.12);
  backdrop-filter:blur(18px) saturate(1.18);
  -webkit-backdrop-filter:blur(18px) saturate(1.18);
}

.price-offer-chip strong{
  color:#ff3f79;
  font-size:30px;
  line-height:1;
  font-weight:950;
}

.price-offer-chip span{
  color:#31283f;
  font-size:12px;
  line-height:1.1;
  font-weight:950;
  text-transform:uppercase;
}

.price-mascot-card .price-notes{
  display:none;
}

.price-badge{
  display:inline-flex;
  margin-top:14px;
  padding:10px 14px;
  border-radius:999px;
  color:#ff3f79;
  background:#fff4f8;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

.price-ticket{
  position:relative;
  overflow:hidden;
  width:min(100%, 380px);
  min-height:210px;
  display:grid;
  align-content:center;
  padding:26px;
  border:1px solid rgba(255,63,121,.16);
  border-radius:22px;
  background:
    radial-gradient(200px 150px at 92% 8%, rgba(103,92,255,.18), transparent 66%),
    #fff;
  box-shadow:0 20px 54px rgba(31,24,47,.08);
}

.price-ticket::after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-80px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(255,63,121,.08);
}

.price-wrap{
  position:relative;
  z-index:2;
  display:grid;
  gap:10px;
  justify-items:center;
  grid-auto-flow:column;
  align-items:center;
}

.price{
  color:#211a30;
  font-size:clamp(104px, 9vw, 146px);
  line-height:.78;
  font-weight:950;
  letter-spacing:0;
}

.price span{
  font-size:.42em;
  vertical-align:top;
}

.price-wrap > span{
  padding:10px 13px;
  border-radius:999px;
  color:#fff;
  background:#ff3f79;
  box-shadow:0 12px 26px rgba(255,63,121,.22);
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}

.price-notes{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, max-content));
  justify-content:center;
  gap:8px;
  margin-top:18px;
}

.price-mascot-card .price-notes{
  position:absolute;
  left:28px;
  right:28px;
  bottom:26px;
  margin:0;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.price-notes span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 10px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:999px;
  color:#5d5368;
  background:#fff;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}

.price-mascot-card .price-notes span{
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.price-title{
  max-width:560px;
  margin:16px 0 0;
  color:#211a30;
  font-size:clamp(28px, 2.8vw, 42px);
  line-height:1.02;
  text-wrap:balance;
}

.price-main p{
  max-width:560px;
  color:#4f465b;
  font-size:16px;
  line-height:1.55;
}

.price-details{
  padding:18px;
  border:1px solid rgba(255,255,255,.70);
  border-radius:26px;
  background:rgba(255,255,255,.72);
  box-shadow:0 24px 64px rgba(31,24,47,.12);
  backdrop-filter:blur(18px);
}

.pass-card{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:170px;
  overflow:hidden;
  padding:24px;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(220px 150px at 86% 18%, rgba(255,255,255,.34), transparent 62%),
    linear-gradient(135deg, #ff3f79 0%, #b954d7 52%, #675cff 100%);
}

.pass-card::before,
.pass-card::after{
  content:"";
  position:absolute;
  top:50%;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fff;
  transform:translateY(-50%);
}

.pass-card::before{ left:-17px; }
.pass-card::after{ right:-17px; }

.pass-eyebrow{
  display:block;
  margin-bottom:18px;
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pass-card strong{
  display:block;
  font-size:60px;
  line-height:.8;
  letter-spacing:0;
}

.pass-card p{
  margin:10px 0 0;
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.2;
}

.pass-ring{
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    conic-gradient(#fff 0 82%, rgba(255,255,255,.24) 82% 100%);
  box-shadow:inset 0 0 0 12px rgba(255,255,255,.18), 0 18px 40px rgba(31,24,47,.18);
}

.pass-ring span{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#211a30;
  background:#fff;
  font-weight:950;
}

.price-features{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px;
  margin:14px 0;
}

.price-features button{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:12px 14px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:15px;
  color:#342b44;
  background:rgba(255,255,255,.76);
  font:inherit;
  font-size:13px;
  font-weight:950;
  text-align:left;
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.price-features button:hover,
.price-features button:focus-visible{
  border-color:rgba(255,63,121,.34);
  box-shadow:0 14px 30px rgba(255,63,121,.12);
  transform:translateY(-2px);
  outline:none;
}

.price-popover[hidden]{
  display:none;
}

.price-popover{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:20px;
}

.price-popover-backdrop{
  position:absolute;
  inset:0;
  background:rgba(25,18,38,.42);
  backdrop-filter:blur(10px);
  opacity:0;
  transition:opacity .16s ease;
}

.price-popover-card{
  position:relative;
  z-index:2;
  width:min(520px, 100%);
  overflow:hidden;
  padding:30px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:26px;
  background:
    radial-gradient(260px 160px at 88% 10%, rgba(255,63,121,.20), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,246,251,.90));
  box-shadow:0 34px 90px rgba(25,18,38,.24);
  opacity:0;
  transform:translateY(16px) scale(.96);
  transition:opacity .16s ease, transform .16s ease;
}

.price-popover-card::after{
  content:"♡";
  position:absolute;
  right:26px;
  top:18px;
  color:rgba(255,63,121,.13);
  font-size:88px;
  line-height:1;
}

.price-popover.is-open .price-popover-backdrop,
.price-popover.is-open .price-popover-card{
  opacity:1;
}

.price-popover.is-open .price-popover-card{
  transform:translateY(0) scale(1);
}

.price-popover-close{
  position:absolute;
  right:14px;
  top:14px;
  z-index:3;
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  color:#211a30;
  background:#fff;
  box-shadow:0 12px 28px rgba(31,24,47,.10);
  font-size:24px;
  font-weight:900;
  cursor:pointer;
}

.price-popover-card h3{
  position:relative;
  z-index:2;
  max-width:390px;
  margin:10px 0 14px;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1;
}

.price-popover-card p{
  position:relative;
  z-index:2;
  margin:0 0 22px;
  color:#5f5369;
  font-size:16px;
}

.price-popover-card .btn{
  position:relative;
  z-index:2;
}

body.has-price-popover{
  overflow:hidden;
}

.price-details small{
  display:block;
  margin-top:14px;
  color:#746a7d;
  line-height:1.45;
  font-weight:700;
}

.articles-section{
  padding-top:72px;
}

.articles-section .split-heading h2{
  max-width:760px;
  color:#30283d;
  font-size:clamp(26px, 2.6vw, 40px);
}

.articles-section .split-heading p{
  max-width:520px;
  color:#7a7084;
}

.article-slider-shell{
  position:relative;
}

.article-controls{
  justify-content:flex-end;
  margin:-8px 0 14px;
}

.article-grid{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(360px, 430px);
  grid-template-columns:none;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  padding:4px 2px 18px;
  scrollbar-width:thin;
  scrollbar-color:#ff3f79 rgba(255,255,255,.70);
  max-width:100%;
  min-width:0;
}

.article-grid::-webkit-scrollbar{
  height:10px;
}

.article-grid::-webkit-scrollbar-track{
  border-radius:999px;
  background:rgba(255,255,255,.70);
}

.article-grid::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(135deg, #ff3f79, #675cff);
}

.article-card{
  position:relative;
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  overflow:hidden;
  padding:26px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:22px;
  color:#241d32;
  background:
    radial-gradient(220px 160px at 92% 12%, rgba(255,63,121,.10), transparent 64%),
    #fff;
  box-shadow:0 24px 64px rgba(31,24,47,.08);
  text-decoration:none;
  scroll-snap-align:start;
}

.article-card::before,
.article-card::after{
  position:absolute;
  color:rgba(255,63,121,.10);
  font-size:120px;
  line-height:1;
  font-weight:950;
  pointer-events:none;
}

.article-card::before{
  content:"♡";
  right:18px;
  top:8px;
}

.article-card::after{
  content:"✦";
  right:96px;
  bottom:8px;
  color:rgba(103,92,255,.10);
  font-size:74px;
}

.article-card > *{
  position:relative;
  z-index:2;
}

.article-card.accent{
  color:#fff;
  background:
    radial-gradient(260px 170px at 88% 12%, rgba(255,255,255,.24), transparent 62%),
    linear-gradient(135deg, #211a30, #6c5cff);
}

.article-card.accent::before,
.article-card.accent::after,
.article-more-card::before,
.article-more-card::after{
  color:rgba(255,255,255,.16);
}

.article-card:nth-child(3)::before{ content:"☆"; }
.article-card:nth-child(4)::before{ content:"☕"; }
.article-card:nth-child(5)::before{ content:"↗"; }

.article-card span{
  width:max-content;
  padding:8px 11px;
  border-radius:999px;
  color:#ff3f79;
  background:#fff4f8;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.article-card.accent span{
  color:#211a30;
  background:#fff;
}

.article-card h3{
  font-size:clamp(20px, 1.6vw, 25px);
  line-height:1.08;
  text-wrap:balance;
}

.article-card p{
  margin:0;
  font-size:14px;
  line-height:1.55;
}

.article-card small{
  color:#8a8194;
  font-size:12px;
  font-weight:950;
}

.article-card.accent h3,
.article-card.accent p,
.article-card.accent small,
.article-more-card h3,
.article-more-card p,
.article-more-card small{
  color:#fff;
}

.article-more-card{
  color:#241d32;
  align-items:center;
  justify-content:center;
  place-items:center;
  min-height:360px;
  text-decoration:none;
  background:
    radial-gradient(260px 190px at 82% 10%, rgba(255,63,121,.18), transparent 62%),
    radial-gradient(260px 190px at 14% 90%, rgba(103,92,255,.18), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.64), rgba(255,255,255,.28));
  border-color:rgba(255,255,255,.64);
  backdrop-filter:blur(22px) saturate(1.18);
  -webkit-backdrop-filter:blur(22px) saturate(1.18);
}

.article-more-card span{
  color:#ff3f79;
  background:rgba(255,255,255,.70);
}

.article-more-art{
  position:relative;
  z-index:1;
  right:auto;
  top:auto;
  width:min(280px, 82%);
  max-width:82%;
  height:auto;
  filter:drop-shadow(0 24px 48px rgba(31,24,47,.16));
  transform:rotate(1deg);
  transition:transform .22s ease;
}

.article-more-card:hover .article-more-art{
  transform:rotate(1deg) translateY(-4px) scale(1.03);
}

.article-more-arrow{
  position:absolute;
  right:22px;
  bottom:22px;
  z-index:3;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  padding:0;
  border:1px solid rgba(255,255,255,.72);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg, #ff3f79, #675cff);
  box-shadow:0 18px 34px rgba(255,63,121,.22);
  font-size:24px;
  font-weight:950;
  letter-spacing:0;
  text-transform:none;
  transition:transform .18s ease;
}

.article-more-card:hover .article-more-arrow{
  transform:translate(3px, -3px);
}

.article-more-copy{
  position:relative;
  z-index:2;
  display:grid;
  gap:14px;
  max-width:330px;
  padding-top:128px;
}

.article-more-card h3,
.article-more-card p,
.article-more-card small{
  color:#241d32;
}

.article-list-grid{
  grid-auto-flow:row;
  grid-auto-columns:initial;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  overflow:visible;
  scroll-snap-type:none;
  padding:0;
}

.article-list-grid .article-card{
  min-width:0;
  scroll-snap-align:initial;
}

.articles-page{
  padding-bottom:88px;
}

.faq-layout{
  align-items:start;
}

.faq-preview-panel{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(320px, .82fr);
  gap:28px;
  padding:30px;
  border:1px solid rgba(255,255,255,.66);
  border-radius:26px;
  background:
    linear-gradient(135deg, rgba(35,27,49,.96), rgba(76,48,90,.80)),
    radial-gradient(420px 240px at 12% 12%, rgba(255,63,121,.32), transparent 68%);
  box-shadow:0 28px 78px rgba(31,24,47,.10);
}

.faq-preview-panel::before{
  content:"FAQ";
  position:absolute;
  right:24px;
  top:16px;
  color:rgba(255,255,255,.08);
  font-size:112px;
  line-height:1;
  font-weight:950;
}

.faq-preview-copy{
  position:relative;
  z-index:2;
  padding:6px 0;
}

.faq-preview-copy h2{
  max-width:520px;
  color:#fff;
  font-size:clamp(26px, 2.6vw, 42px);
}

.faq-preview-copy p{
  max-width:480px;
  margin-top:18px;
  color:rgba(255,255,255,.72);
}

.faq-more-link{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin-top:22px;
  padding:0 14px 0 18px;
  border-radius:999px;
  color:#fff;
  background:#fff;
  color:#211a30;
  box-shadow:0 18px 38px rgba(255,63,121,.18);
  font-weight:950;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
  animation:faqLinkPulse 3.2s ease-in-out infinite;
}

.faq-more-link:hover{
  transform:translateY(-2px);
  text-decoration:none;
  box-shadow:0 22px 46px rgba(255,63,121,.24);
}

.faq-more-link strong{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#ff3f79;
  transition:transform .18s ease;
}

.faq-more-link:hover strong{
  transform:translateX(3px) rotate(-10deg);
}

@keyframes faqLinkPulse{
  0%, 100%{ box-shadow:0 18px 38px rgba(255,63,121,.18); }
  50%{ box-shadow:0 18px 38px rgba(255,63,121,.30), 0 0 0 7px rgba(255,63,121,.08); }
}

.faq-preview-list{
  position:relative;
  z-index:2;
  display:grid;
  gap:12px;
}

.faq-preview-row{
  min-height:70px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  color:#fff;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
  text-decoration:none;
  box-shadow:0 18px 40px rgba(13,8,24,.12);
}

.faq-preview-row:hover{
  transform:translateY(-2px);
}

.faq-preview-index{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#211a30;
  background:#fff;
  font-size:11px;
  font-weight:950;
}

.faq-preview-row > span:nth-child(2){
  font-weight:950;
  line-height:1.2;
}

.faq-preview-row strong{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#ff3f79;
}

.faq-page{
  padding-bottom:88px;
}

.faq-page-heading{
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0, 1fr);
  padding:38px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:30px;
  background:
    radial-gradient(440px 260px at 12% 12%, rgba(255,63,121,.20), transparent 70%),
    radial-gradient(460px 280px at 88% 8%, rgba(103,92,255,.18), transparent 68%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,247,252,.72));
  box-shadow:0 28px 74px rgba(31,24,47,.10);
}

.faq-page-heading::before{
  content:"?";
  position:absolute;
  right:46px;
  top:-24px;
  color:rgba(255,63,121,.10);
  font-size:190px;
  line-height:1;
  font-weight:950;
}

.faq-page-heading::after{
  content:"24h";
  position:absolute;
  right:58px;
  bottom:34px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.70);
  border-radius:999px;
  color:#ff3f79;
  background:rgba(255,255,255,.54);
  box-shadow:0 16px 34px rgba(31,24,47,.08);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  font-size:16px;
  font-weight:950;
}

.faq-page-heading h2{
  max-width:900px;
  background:linear-gradient(105deg, #211a30 0%, #ff3f79 50%, #675cff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.faq-page-heading p{
  max-width:680px;
  color:#5d5368;
  font-size:18px;
}

.articles-page-hero::before{
  content:"✦";
  right:44px;
  top:18px;
  color:rgba(255,63,121,.13);
  font-size:116px;
}

.articles-page-hero::after{
  display:none;
}

.faq-hero-pills{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.faq-hero-pills span{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  color:#31283f;
  background:rgba(255,255,255,.56);
  box-shadow:0 12px 28px rgba(31,24,47,.07);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

.faq-tools{
  display:grid;
  grid-template-columns:minmax(140px, 1fr) minmax(260px, 420px) minmax(220px, 300px) auto;
  gap:14px;
  align-items:end;
  margin:24px 0;
  padding:18px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:22px;
  background:rgba(255,255,255,.72);
  box-shadow:0 20px 54px rgba(31,24,47,.08);
}

.faq-tools-pro{
  position:sticky;
  top:82px;
  z-index:10;
  border-color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
}

.faq-count{
  display:flex;
  align-items:baseline;
  gap:8px;
  color:#645b70;
  font-weight:950;
}

.articles-count{
  display:grid;
  align-content:center;
  gap:3px;
}

.articles-count span,
.articles-count small{
  display:block;
}

.faq-count strong{
  color:#211a30;
  font-size:32px;
  line-height:1;
}

.faq-count small{
  color:#8a8194;
  font-size:13px;
}

.faq-search,
.faq-category{
  display:grid;
  gap:8px;
}

.faq-search span,
.faq-category span{
  color:#ff3f79;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.faq-search-box{
  min-height:52px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  border:1px solid rgba(32,25,47,.10);
  border-radius:16px;
  padding:0 12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(31,24,47,.06);
}

.faq-search-box > span{
  color:#ff3f79;
  font-size:22px;
  line-height:1;
}

.faq-search-box a{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:#ff3f79;
  font-weight:950;
  text-decoration:none;
}

.faq-search input,
.faq-category select{
  width:100%;
  min-height:48px;
  border:0;
  border-radius:14px;
  padding:0;
  color:#241d32;
  background:transparent;
  font:inherit;
  font-weight:850;
  outline:none;
}

.faq-category select{
  border:1px solid rgba(32,25,47,.10);
  padding:0 14px;
  background:#fff;
  box-shadow:0 14px 34px rgba(31,24,47,.06);
}

.faq-submit{
  min-height:52px;
  white-space:nowrap;
}

.faq-list{
  display:grid;
  gap:14px;
}

.faq-item{
  display:grid;
  grid-template-columns:minmax(260px, .75fr) minmax(0, 1fr);
  gap:24px;
  align-items:center;
  padding:24px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:22px;
  background:
    radial-gradient(180px 100px at 96% 0%, rgba(255,63,121,.08), transparent 70%),
    #fff;
  box-shadow:0 18px 46px rgba(31,24,47,.06);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.faq-item:hover{
  transform:translateY(-2px);
  border-color:rgba(255,63,121,.18);
  box-shadow:0 24px 58px rgba(31,24,47,.10);
}

.faq-chip{
  display:inline-flex;
  margin-bottom:12px;
  padding:7px 10px;
  border-radius:999px;
  color:#ff3f79;
  background:#fff2f7;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.faq-item h3{
  font-size:clamp(22px, 2vw, 30px);
}

.faq-item p{
  margin:0;
}

.final-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:44px;
  border-radius:18px;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(255,47,105,.90), rgba(91,87,225,.88)),
    url("https://images.unsplash.com/photo-1501386761578-eac5c94b800a?q=80&w=1600&auto=format&fit=crop");
  background-size:cover;
  background-position:center;
  box-shadow:0 28px 80px rgba(84,52,158,.20);
}

.final-cta h2,
.final-cta p,
.final-cta .section-kicker{
  color:#fff;
}

.final-cta p{
  max-width:620px;
  margin-bottom:0;
}

.reveal{
  opacity:0;
}

@media (min-width: 1500px){
  .home-section{
    width:min(1400px, calc(100% - 40px));
  }

  .stats-strip{
    width:min(1160px, calc(100% - 40px));
  }
}

@media (max-width: 980px){
  .home-hero,
  .hero-inner{
    min-height:620px;
  }

  .hero-inner{
    grid-template-columns:1fr;
  }

  .hero-visual{
    display:none;
  }

  .stats-strip,
  .events-grid,
  .scenario-grid,
  .steps-grid,
  .price-card,
  .manifesto-card,
  .section-heading,
  .split-heading,
  .steps-heading,
  .faq-layout{
    grid-template-columns:1fr;
  }

  .stats-strip{
    grid-template-columns:1fr;
    gap:12px;
  }

  .stats-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }

  .events-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .price-card::before{
    display:none;
  }

  .steps-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .event-select{
    justify-self:start;
  }

  .event-city-filter{
    justify-self:start;
  }

  .events-page-tools{
    grid-template-columns:1fr;
  }

  .faq-tools,
  .faq-item{
    grid-template-columns:1fr;
  }

  .price-card{
    gap:22px;
  }

  .price-stage{
    justify-content:start;
  }

  .article-grid{
    grid-auto-columns:minmax(320px, 72vw);
  }

  .article-list-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .home-hero{
    min-height:auto;
    margin:0;
    padding:72px 0 82px;
    border-radius:0;
  }

  .hero-inner{
    width:calc(100% - 32px);
    min-height:auto;
    align-items:start;
  }

  .hero-copy{
    width:100%;
    max-width:100%;
    padding:38px 0 0;
  }

  .home-hero h1{
    font-size:42px;
    line-height:1.05;
  }

  .hero-status{
    gap:8px;
  }

  .home-hero p{
    font-size:15px;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .hero-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .stats-strip,
  .home-section,
  .demo-section{
    width:calc(100% - 40px);
  }

  .stats-strip{
    margin-top:-34px;
    padding:10px;
  }

  .stats-intro{
    padding:14px;
  }

  .stats-intro h2{
    font-size:20px;
  }

  .stats-intro p{
    font-size:12px;
  }

  .stats-grid{
    grid-template-columns:1fr;
    gap:8px;
  }

  .stat{
    min-height:72px;
    display:grid;
    grid-template-columns:42px minmax(0, 1fr);
    grid-template-rows:1fr;
    gap:12px;
    align-items:center;
    padding:11px 12px;
  }

  .stat strong{
    font-size:22px;
  }

  .stat div > span{
    font-size:11px;
    line-height:1.25;
  }

  .stat-icon{
    width:38px;
    height:38px;
    align-self:center;
  }

  .stat:nth-child(2) .stat-icon{
    font-size:18px;
  }

  .stat:nth-child(3) .stat-icon{
    padding-bottom:1px;
    font-size:18px;
  }

  .events-grid,
  .steps-grid{
    grid-template-columns:1fr;
  }

  .events-section .section-heading,
  .events-page .section-heading{
    grid-template-columns:1fr;
  }

  .event-select,
  .event-city-filter{
    justify-self:stretch;
    width:100%;
  }

  .home-section{
    padding-top:54px;
  }

  .manifesto-card,
  .steps-panel,
  .price-card,
  .final-cta{
    padding:26px;
  }

  .manifesto-card{
    gap:18px;
  }

  .manifesto-card p{
    font-size:15px;
  }

  .manifesto-art{
    min-height:190px;
  }

  .price-card{
    padding:20px;
  }

  .price-stage{
    gap:16px;
  }

  .price-mascot-card{
    width:100%;
    min-height:330px;
    padding:18px;
  }

  .price-mascot-card img{
    width:min(290px, 82%);
  }

  .price-offer-chip{
    right:18px;
    top:18px;
    padding:10px 12px;
  }

  .price-offer-chip strong{
    font-size:24px;
  }

  .price-mascot-card .price-notes{
    left:18px;
    right:18px;
    bottom:18px;
  }

  .price-ticket{
    width:100%;
    min-height:166px;
    padding:18px;
    border-radius:18px;
  }

  .price{
    font-size:clamp(76px, 24vw, 110px);
  }

  .price span{
    font-size:.38em;
  }

  .price-wrap{
    gap:8px;
  }

  .price-wrap > span{
    padding:9px 11px;
    font-size:12px;
  }

  .price-notes{
    justify-content:start;
    margin-top:14px;
  }

  .price-notes span{
    min-height:32px;
    padding:7px 10px;
    font-size:11px;
  }

  .price-title{
    font-size:30px;
  }

  .price-features{
    grid-template-columns:1fr;
  }

  .article-grid{
    grid-auto-columns:minmax(286px, 86vw);
  }

  .article-more-card{
    min-height:340px;
  }

  .article-more-art{
    width:230px;
    max-width:76%;
  }

  .article-more-copy{
    padding-top:136px;
  }

  .article-list-grid{
    grid-template-columns:1fr;
  }

  .pass-card{
    align-items:flex-start;
    flex-direction:column;
  }

  .final-cta{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =========================================================
   SaaS polish for listing pages: events, articles, FAQ
   ========================================================= */
.events-page,
.articles-page,
.faq-page{
  width:min(1180px, calc(100% - 40px));
  padding-top:24px;
  padding-bottom:64px;
}

.events-page .section-heading,
.articles-page .section-heading,
.faq-page-heading{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:10px;
  margin-bottom:14px;
  padding:18px;
  border:1px solid rgba(32,25,47,.08);
  border-radius:8px;
  background:
    radial-gradient(360px 180px at 92% 0%, rgba(255,63,121,.10), transparent 68%),
    rgba(255,255,255,.88);
  box-shadow:0 14px 34px rgba(31,24,47,.07);
}

.events-page .section-heading::before,
.events-page .section-heading::after,
.articles-page .section-heading::before,
.articles-page .section-heading::after,
.faq-page-heading::before,
.faq-page-heading::after{
  display:none;
}

.events-page h2,
.articles-page h2,
.faq-page-heading h2{
  max-width:860px;
  color:#211a30;
  background:none;
  font-size:clamp(26px, 2.6vw, 38px);
  line-height:1;
  -webkit-text-fill-color:currentColor;
}

.events-page .section-heading p,
.articles-page .section-heading p,
.faq-page-heading p{
  max-width:720px;
  margin:8px 0 0;
  color:#62566f;
  font-size:14px;
  line-height:1.45;
}

.faq-hero-pills{
  margin-top:12px;
  gap:8px;
}

.faq-hero-pills span{
  min-height:30px;
  border-radius:8px;
  box-shadow:none;
}

.events-page-tools,
.faq-tools{
  gap:10px;
  margin:0 0 14px;
  padding:10px;
  border-radius:8px;
  border-color:rgba(32,25,47,.08);
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 34px rgba(31,24,47,.07);
}

.faq-tools-pro{
  top:72px;
}

.events-count,
.faq-count{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:0 12px;
  border:1px solid rgba(32,25,47,.06);
  border-radius:8px;
  background:#fff;
}

.articles-count{
  display:flex;
  align-items:center;
  gap:8px;
  align-content:center;
}

.articles-count span,
.articles-count small{
  display:inline;
  white-space:nowrap;
}

.articles-page .faq-search input{
  min-height:46px;
  border:1px solid rgba(32,25,47,.10);
  border-radius:8px;
  padding:0 12px;
  background:#fff;
}

.faq-count strong{
  font-size:26px;
}

.event-select-button,
.event-city-box,
.faq-search-box,
.faq-category select,
.faq-submit,
.page-link{
  border-radius:8px;
  box-shadow:none;
}

.event-select-button,
.event-city-box,
.faq-search-box,
.faq-category select,
.faq-submit{
  min-height:46px;
}

.event-select-menu,
.event-city-suggestions{
  border-radius:8px;
}

.events-page .events-grid,
.article-list-grid{
  gap:14px;
}

.events-page .events-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.event-card,
.article-list-grid .article-card,
.faq-item,
.events-empty{
  border-radius:8px;
  border-color:rgba(32,25,47,.08);
  background:#fff;
  box-shadow:0 14px 34px rgba(31,24,47,.07);
}

.event-card:hover,
.article-list-grid .article-card:hover,
.faq-item:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(31,24,47,.10);
}

.event-body{
  padding:14px;
}

.event-body h3,
.article-card h3,
.faq-item h3{
  font-size:clamp(18px, 1.5vw, 22px);
  line-height:1.12;
}

.event-body p{
  min-height:0;
  margin:8px 0 10px;
  font-size:13px;
}

.event-actions{
  margin-top:12px;
}

.mini-btn{
  border-radius:8px;
}

.article-list-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.article-list-grid .article-card{
  min-height:230px;
  padding:18px;
}

.article-list-grid .article-card::before,
.article-list-grid .article-card::after{
  display:none;
}

.article-card span,
.faq-chip{
  border-radius:8px;
}

.faq-list{
  gap:10px;
}

.faq-item{
  grid-template-columns:minmax(220px, .58fr) minmax(0, 1fr);
  gap:18px;
  align-items:start;
  padding:18px;
}

.pagination{
  margin-top:18px;
}

.page-link{
  min-width:38px;
  height:38px;
}

@media (max-width: 980px){
  .events-page .events-grid,
  .article-list-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .events-page-tools,
  .faq-tools,
  .faq-item{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .events-page,
  .articles-page,
  .faq-page{
    width:calc(100% - 24px);
    padding-top:12px;
    padding-bottom:44px;
  }

  .events-page .section-heading,
  .articles-page .section-heading,
  .faq-page-heading{
    padding:14px;
  }

  .events-page h2,
  .articles-page h2,
  .faq-page-heading h2{
    font-size:26px;
  }

  .events-page .events-grid,
  .article-list-grid{
    grid-template-columns:1fr;
  }

  .event-city-box input,
  .event-select-search,
  .faq-search input,
  .faq-category select{
    font-size:16px;
  }

  .event-actions{
    display:grid;
  }

  .mini-btn{
    width:100%;
  }
}
