:root {
  --bg: #ffffff;
  --ink: #17121f;
  --muted: #696273;
  --line: #e8e4ee;
  --purple: #7c3aed;
  --purple-2: #9b6cff;
  --purple-soft: #f2ecff;
  --deep: #0b0711;
  --deep-2: #151020;
  --soft: #f7f5fa;
  --shadow: 0 18px 60px rgba(32, 16, 54, .10);
  --radius: 24px;
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.skip-link {
  position: fixed; left: 12px; top: 12px; z-index: 9999;
  transform: translateY(-150%); background: #fff; color: #000;
  padding: 10px 14px; border-radius: 10px;
}
.skip-link:focus { transform: none; }
.container { width: min(calc(100% - 48px), var(--container)); margin: 0 auto; }
.section { padding: 104px 0; }
.section-light { background: #fff; }
.section-soft { background: var(--soft); }
.section-dark { color: #fff; background: var(--deep); }
.section-deep { color: #fff; background: linear-gradient(180deg, #0b0711 0%, #100b19 100%); }

.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 1000;
  background: rgba(8, 5, 13, .72); backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.header-inner { height: 72px; display: flex; align-items: center; gap: 36px; color: #fff; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 750; letter-spacing: -.02em; }
.brand-mark { width: 26px; height: 26px; border: 2px solid currentColor; border-radius: 50%; display: inline-block; }
.desktop-nav { display: flex; gap: 28px; margin-left: auto; align-items: center; }
.desktop-nav a { font-size: 13px; color: rgba(255,255,255,.78); transition: .2s ease; }
.desktop-nav a:hover { color: #fff; }

.btn {
  display: inline-flex; justify-content: center; align-items: center; min-height: 48px;
  padding: 0 24px; border-radius: 14px; border: 1px solid transparent;
  font-weight: 700; letter-spacing: -.01em; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  cursor: pointer;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: linear-gradient(135deg, #8751f0, #6d28d9); box-shadow: 0 10px 30px rgba(124,58,237,.28); }
.btn-primary:hover { box-shadow: 0 14px 36px rgba(124,58,237,.36); }
.btn-outline { border-color: rgba(124,58,237,.45); color: #6d28d9; background: #fff; }
.btn-ghost-light { border-color: rgba(255,255,255,.34); color: #fff; background: rgba(255,255,255,.04); }
.btn-sm { min-height: 40px; padding: 0 18px; font-size: 13px; border-radius: 12px; }
.btn-lg { min-height: 56px; padding: 0 30px; }

.hero { min-height: 760px; position: relative; overflow: hidden; display: flex; align-items: flex-end; }
.hero-media { position: absolute; inset: 0; background: url('assets/images/hero.webp') center center/cover no-repeat; transform: scale(1.01); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,4,9,.95) 0%, rgba(6,4,9,.82) 40%, rgba(6,4,9,.35) 72%, rgba(6,4,9,.36) 100%), linear-gradient(180deg, rgba(0,0,0,.22), rgba(5,3,8,.7)); }
.hero-inner { position: relative; z-index: 2; padding-top: 100px; padding-bottom: 70px; display: grid; grid-template-columns: minmax(0, 760px) 1fr; gap: 54px; align-items: end; }
.eyebrow, .kicker { display: inline-block; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 800; color: var(--purple); margin-bottom: 18px; }
.kicker-light { color: #b79aff; }
.hero h1 { margin: 0; font-size: clamp(45px, 5.7vw, 60px); line-height: .98; letter-spacing: -.055em; max-width: 820px; }
.hero-lead { margin: 28px 0 0; max-width: 680px; font-size: 19px; line-height: 1.5; color: rgba(255,255,255,.78); }
.hero-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.meta-chip { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); backdrop-filter: blur(8px); }
.meta-chip .icon { color: #b392ff; font-size: 22px; }
.meta-chip b, .meta-chip small { display: block; }
.meta-chip b { font-size: 14px; }
.meta-chip small { margin-top: 2px; color: rgba(255,255,255,.68); }
.hero-actions { margin-top: 28px; display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.hero-note { font-size: 12px; color: rgba(255,255,255,.62); max-width: 260px; }
.hero-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; min-width: 310px; }
.stat { padding: 22px; background: rgba(15,9,22,.58); border: 1px solid rgba(255,255,255,.14); border-radius: 20px; backdrop-filter: blur(10px); }
.stat strong { display: block; font-size: 39px; line-height: 1; letter-spacing: -.04em; }
.stat span { display: block; margin-top: 8px; color: rgba(255,255,255,.7); font-size: 13px; }

.section-heading { max-width: 760px; margin-bottom: 50px; }
.section-heading h2, .story-copy h2, .split-col h2, .feature-copy h2, .networking h2, .register-card h2, .place-card h2, .final-inner h2, .faq-title h2 {
  margin: 0; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.02; letter-spacing: -.045em;
}
.section-heading p, .story-copy p, .split-col > p, .feature-copy p, .networking-copy p, .register-card p, .place-card p, .faq-title p, .final-inner p { font-size: 17px; line-height: 1.6; color: var(--muted); }
.light-heading p, .story-copy p, .feature-copy p, .final-inner p { color: rgba(255,255,255,.68); }
.benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.benefit-card { padding: 28px 24px 32px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.line-icon { font-size: 34px; color: var(--purple); margin-bottom: 34px; }
.benefit-card h3 { font-size: 19px; margin: 0 0 12px; letter-spacing: -.02em; }
.benefit-card p { color: var(--muted); line-height: 1.58; margin: 0; font-size: 14px; }
.center-action { margin-top: 38px; text-align: center; }

.story-band { position: relative; overflow: hidden; padding: 82px 0; }
.story-bg { position: absolute; inset: 0; background: linear-gradient(90deg,#100917 0%,rgba(14,8,21,.84) 50%,rgba(11,7,17,.86) 100%), url('assets/images/gallery3-card.webp') center/cover no-repeat; opacity: .95; }
.story-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .85fr 1.45fr; gap: 56px; align-items: center; }
.story-copy p { max-width: 530px; }
.journey { display: flex; align-items: stretch; gap: 10px; }
.journey-step { flex: 1; padding: 24px 18px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); border-radius: 18px; }
.journey-step span { color: #b99cff; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.journey-step b { display: block; margin-top: 26px; font-size: 14px; line-height: 1.35; }
.journey-arrow { align-self: center; color: rgba(255,255,255,.38); }

.schedule-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; }
.schedule-card { padding: 28px 22px 30px; border: 1px solid var(--line); border-radius: 20px; min-height: 300px; background: #fff; }
.schedule-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; font-size: 22px; margin-bottom: 30px; }
.schedule-icon.purple { background:#f0eaff;color:#7c3aed;}.schedule-icon.blue{background:#eaf3ff;color:#2563eb}.schedule-icon.green{background:#eaf8ef;color:#16a34a}.schedule-icon.orange{background:#fff1e6;color:#ea580c}.schedule-icon.pink{background:#fff0f5;color:#db2777}
.schedule-card h3 { margin: 0 0 8px; font-size: 18px; }
.schedule-card .time { font-size: 20px; color: #6d28d9; font-weight: 850; letter-spacing: -.02em; margin-bottom: 18px; }
.schedule-card p { margin: 0; color: var(--muted); line-height: 1.55; font-size: 13px; }

.workshop-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.workshop-card { min-height: 250px; padding: 24px; border-radius: 20px; background: linear-gradient(145deg,rgba(255,255,255,.08),rgba(126,58,237,.10)); border: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; }
.workshop-top { display:flex; justify-content:space-between; align-items:center; color:#aa8cf8; font-size:12px; font-weight:800; }
.topic-icon { font-size: 28px; color: #8b5cf6; }
.workshop-card h3 { margin: 46px 0 14px; font-size: 18px; line-height: 1.3; letter-spacing: -.02em; }
.workshop-card p { margin: auto 0 0; font-size: 13px; color: rgba(255,255,255,.58); }

.ecosystem { position: relative; overflow: hidden; padding: 0; }
.ecosystem-photo { position: absolute; inset: 0 52% 0 0; background: linear-gradient(90deg,rgba(11,7,17,.12),rgba(11,7,17,.78)), url('assets/images/ecosystem.webp') center/cover no-repeat; }
.ecosystem-grid { min-height: 560px; display: grid; grid-template-columns: 1fr 1.06fr; gap: 72px; align-items: center; position: relative; z-index: 2; }
.ecosystem-title { padding-right: 20px; }
.ecosystem-title h2 { margin:0; font-size: clamp(38px,4vw,58px); letter-spacing:-.045em; line-height:1.02; }
.ecosystem-title p { font-size:16px; line-height:1.6; color:rgba(255,255,255,.65); max-width:520px; }
.ecosystem-stats { display:grid; grid-template-columns: repeat(2,1fr); gap:14px; }
.eco-stat { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.045); border-radius:20px; padding:26px; min-height:190px; }
.eco-stat strong { display:block; font-size:38px; color:#a47bf9; letter-spacing:-.04em; }
.eco-stat b { display:block; font-size:15px; margin-top:8px; }
.eco-stat span { display:block; font-size:12px; color:rgba(255,255,255,.55); line-height:1.5; margin-top:16px; }

.split-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.audience-list { margin-top: 36px; }
.audience-list article { display:grid; grid-template-columns:44px 1fr; gap:18px; padding:22px 0; border-top:1px solid var(--line); }
.audience-list article:last-child { border-bottom:1px solid var(--line); }
.audience-list span { width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--purple-soft);color:#6d28d9;font-size:12px;font-weight:800; }
.audience-list h3 { margin:0 0 6px; font-size:17px; }
.audience-list p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.tag-cloud { display:flex; flex-wrap:wrap; gap:10px; margin:34px 0; }
.tag-cloud span { padding:12px 14px; background:#f8f5fd; border:1px solid #e5ddf4; border-radius:12px; font-size:13px; font-weight:700; }
.muted-callout { padding:18px 20px; border-left:3px solid var(--purple); background:#faf8fd; border-radius:0 14px 14px 0; color:var(--muted); margin:0 0 28px; }

.feature-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; }
.feature-photo img { width:100%; aspect-ratio: 4/3; object-fit:cover; border-radius:28px; box-shadow: var(--shadow); }
.feature-copy p { max-width:560px; }
.time-pills { display:flex; gap:12px; margin:32px 0; }
.time-pills div { flex:1; padding:18px; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(255,255,255,.05); }
.time-pills strong, .time-pills span { display:block; }
.time-pills strong { font-size:22px; letter-spacing:-.03em; }
.time-pills span { margin-top:4px; font-size:12px; color:rgba(255,255,255,.55); }

.networking { padding: 90px 0; }
.networking-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:90px; align-items:center; }
.network-time { font-size: clamp(52px,7vw,92px); line-height:.95; letter-spacing:-.06em; font-weight:900; color:#7c3aed; margin:12px 0 30px; }
.networking-big h2 { font-size: clamp(32px,3.4vw,49px); }
.networking-copy p { max-width:560px; }
.network-rule { width:70px; height:3px; background:#7c3aed; margin:28px 0; border-radius:3px; }
.networking-copy b { font-size:20px; }

.photo-grid { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:250px 250px; gap:14px; }
.photo-grid figure { margin:0; overflow:hidden; border-radius:22px; background:#eee; }
.photo-grid .photo-main { grid-row:1 / span 2; }
.photo-grid figure:nth-child(2) { grid-column:2 / span 2; }
.photo-grid img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.photo-grid figure:hover img { transform:scale(1.035); }

.after-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.after-card { background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px; min-height:230px; }
.after-num { font-size:12px; font-weight:800; color:#7c3aed; letter-spacing:.08em; }
.after-card h3 { margin:48px 0 10px; font-size:22px; }
.after-card p { color:var(--muted); line-height:1.55; margin:0; }
.after-note { max-width:820px; margin:34px auto 0; text-align:center; color:var(--muted); line-height:1.55; }

.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.register-card, .place-card { border:1px solid var(--line); border-radius:28px; padding:42px; background:#fff; min-height:440px; box-shadow:0 12px 40px rgba(20,10,30,.04); }
.price { font-size:74px; font-weight:900; letter-spacing:-.06em; color:#6d28d9; margin:26px 0 16px; }
.register-card p, .place-card p { max-width:520px; }
.place-lines { margin:34px 0 28px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.place-lines p { margin:0; color:var(--muted); }
.place-lines strong { color:var(--ink); font-size:17px; }

.faq-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; align-items:start; }
.faq-list details { border-top:1px solid var(--line); }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; padding:22px 44px 22px 0; cursor:pointer; font-weight:750; position:relative; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:6px; top:19px; font-size:23px; color:#6d28d9; transition:.2s; }
.faq-list details[open] summary::after { transform:rotate(45deg); }
.faq-list details p { margin:-4px 50px 22px 0; color:var(--muted); line-height:1.6; }

.final-cta { min-height:560px; position:relative; display:grid; place-items:center; overflow:hidden; text-align:center; }
.final-media { position:absolute; inset:0; background:url('assets/images/final.webp') center/cover no-repeat; }
.final-shade { position:absolute; inset:0; background:linear-gradient(rgba(8,4,13,.72),rgba(8,4,13,.88)); }
.final-inner { position:relative; z-index:2; max-width:830px; padding:100px 0; }
.final-inner h2 { font-size:clamp(44px,5.4vw,72px); }
.final-inner p { max-width:670px; margin:20px auto; }
.final-meta { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin:28px 0; }
.final-meta span { border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:9px 14px; font-size:13px; color:rgba(255,255,255,.82); background:rgba(255,255,255,.04); }
.final-inner small { display:block; color:rgba(255,255,255,.5); margin-top:12px; }

.site-footer { background:#09060e; color:#fff; padding:44px 0 36px; }
.footer-inner { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:40px; align-items:start; }
.footer-inner p { color:rgba(255,255,255,.5); font-size:12px; line-height:1.5; }
.footer-links { display:flex; flex-direction:column; gap:10px; color:rgba(255,255,255,.72); font-size:13px; }
.footer-legal { text-align:right; }
.mobile-cta { display:none; }

.config-warning { position:fixed; z-index:2000; left:50%; bottom:22px; transform:translateX(-50%); width:min(calc(100% - 30px),700px); }
.config-warning > div { position:relative; display:flex; flex-direction:column; gap:4px; color:#fff; background:#21152e; border:1px solid #5b3b79; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.35); padding:18px 52px 18px 20px; }
.config-warning span { color:rgba(255,255,255,.68); font-size:13px; }
.config-warning code { background:rgba(255,255,255,.1); padding:2px 5px; border-radius:5px; }
.config-warning button { position:absolute; right:14px; top:12px; border:0; color:#fff; background:transparent; font-size:27px; cursor:pointer; }

.reveal { opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1050px) {
  .desktop-nav { display:none; }
  .header-inner .btn { margin-left:auto; }
  .hero-inner { grid-template-columns:1fr; }
  .hero-stats { grid-template-columns:repeat(4,1fr); min-width:0; }
  .benefit-grid { grid-template-columns:repeat(2,1fr); }
  .story-grid { grid-template-columns:1fr; }
  .schedule-grid { grid-template-columns:repeat(3,1fr); }
  .workshop-grid { grid-template-columns:repeat(2,1fr); }
  .ecosystem-photo { inset:0 0 48% 0; }
  .ecosystem-grid { min-height:auto; padding:430px 0 80px; grid-template-columns:1fr; gap:32px; }
  .split-layout { grid-template-columns:1fr; gap:70px; }
  .feature-grid { grid-template-columns:1fr; }
  .networking-grid { grid-template-columns:1fr; gap:30px; }
  .faq-layout { grid-template-columns:1fr; gap:40px; }
}

@media (max-width: 720px) {
  .container { width:min(calc(100% - 28px), var(--container)); }
  .section { padding:76px 0; }
  .site-header { position:absolute; background:transparent; backdrop-filter:none; border-bottom:0; }
  .header-inner { height:64px; }
  .header-inner .btn { display:none; }
  .hero { min-height:860px; }
  .hero-media { background-image:url('assets/images/hero-mobile.webp'); background-position:center; }
  .hero-shade { background:linear-gradient(180deg,rgba(5,3,8,.4) 0%,rgba(5,3,8,.55) 35%,rgba(5,3,8,.96) 75%,rgba(5,3,8,1) 100%); }
  .hero-inner { padding-top:120px; padding-bottom:44px; gap:36px; }
  .hero h1 { font-size:35px; }
  .hero-lead { font-size:16px; }
  .hero-actions .btn { width:100%; }
  .hero-note { max-width:none; text-align:center; width:100%; }
  .hero-stats { grid-template-columns:repeat(2,1fr); }
  .stat { padding:18px; }
  .stat strong { font-size:31px; }
  .benefit-grid { grid-template-columns:1fr; }
  .benefit-card { padding:24px; }
  .story-band { padding:72px 0; }
  .journey { flex-direction:column; }
  .journey-arrow { transform:rotate(90deg); align-self:center; }
  .schedule-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px; margin-right:-14px; }
  .schedule-card { flex:0 0 82%; scroll-snap-align:start; min-height:300px; }
  .workshop-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px; margin-right:-14px; }
  .workshop-card { flex:0 0 82%; scroll-snap-align:start; }
  .ecosystem-grid { padding-top:330px; }
  .ecosystem-photo { inset:0 0 auto 0; height:300px; }
  .ecosystem-stats { grid-template-columns:1fr 1fr; }
  .eco-stat { padding:20px; min-height:170px; }
  .feature-photo img { border-radius:20px; }
  .time-pills { flex-direction:column; }
  .network-time { font-size:58px; }
  .photo-grid { grid-template-columns:1fr 1fr; grid-template-rows:240px 180px 180px; }
  .photo-grid .photo-main { grid-column:1 / -1; grid-row:auto; }
  .photo-grid figure:nth-child(2) { grid-column:auto; }
  .after-grid { grid-template-columns:1fr; }
  .info-grid { grid-template-columns:1fr; }
  .register-card, .place-card { padding:28px 24px; min-height:0; }
  .place-lines { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; }
  .footer-legal { text-align:left; }
  .final-media { background-image:url('assets/images/final-mobile.webp'); }
  .mobile-cta { display:block; position:fixed; z-index:1100; bottom:0; left:0; right:0; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:rgba(9,6,14,.88); backdrop-filter:blur(16px); border-top:1px solid rgba(255,255,255,.08); }
  .mobile-cta .btn { width:100%; min-height:50px; }
  body { padding-bottom:72px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .btn, .photo-grid img { transition:none; }
}
