* { margin:0; padding:0; box-sizing:border-box; }
html,body{ background:#fff; }
body{
  font-family:'Geologica', Arial, sans-serif;
  color:#171717;
  font-weight:400;
  min-width:1920px;
}
img{ display:block; max-width:none; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
.container{ width:1410px; margin:0 auto; }

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:24px 50px; border-radius:12px;
  font-size:16px; font-weight:600; text-transform:uppercase;
  white-space:nowrap; border:none; cursor:pointer;
}
.btn-gradient{ background:linear-gradient(90deg,#595edb,#3f93e1); color:#fff; }
.btn-outline{ background:transparent; color:#fff; border:1px solid #fff; }
.btn-outline-blue{ background:transparent; color:#3f92e1; border:2px solid #3f92e1; }
.btn-white{ background:#fff; color:#3f92e1; }
.btn-sm{ padding:16px; font-size:14px; border:1.5px solid #fff; border-radius:12px; color:#fff; }
.btn-gold{ background:linear-gradient(90deg,#dba559,#fff12e); color:#111; }

/* ---------- HEADER / HERO ---------- */
.hero{
  position:relative; width:100%; min-width:1920px; height:1000px; overflow:hidden;
  color:#fff;
}
.hero-bg{ position:absolute; inset:0; width:100%; height:128%; top:-20%; object-fit:cover; }
.hero-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.58); }

.header{ position:relative; z-index:2; width:100%; height:88px; }
.header .container{ position:relative; height:100%; }
.header .logo{ position:absolute; left:0; top:50%; transform:translateY(-50%); width:110px; height:56px; object-fit:contain; }
.nav{ position:absolute; left:50%; transform:translateX(calc(-50% - 48px)); top:31px; display:flex; gap:50px; font-weight:300; font-size:16px; white-space:nowrap; }
.header .btn{ position:absolute; right:0; top:21px; padding:12px 24px; }

.hero-content{
  position:relative; z-index:2; width:930px; margin:285px auto 0; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:24px;
}
.hero-info{ display:flex; flex-direction:column; gap:8px; align-items:center; }
.hero-date{ display:flex; gap:8px; align-items:center; font-weight:300; font-size:16px; }
.hero-date .ico{ width:24px; height:24px; flex-shrink:0; }
.hero-title{ font-size:50px; font-weight:600; line-height:1.2; text-transform:uppercase; }
.hero-desc{ font-size:16px; font-weight:300; width:690px; }
.hero-buttons{ display:flex; gap:8px; }

.hero-bottom{
  position:relative; z-index:2; width:712px; margin:69px auto 0;
  display:flex; flex-direction:column; align-items:center; gap:50px;
}
.hero-theme{ background:linear-gradient(90deg,#595edb,#3f93e1); border-radius:90px; padding:8px 24px; font-size:16px; text-align:center; text-transform:uppercase; }
.hero-theme b{ font-style:italic; font-weight:700; }
.hero-stats{ display:flex; gap:16px; width:100%; justify-content:center; }
.hero-stat{ display:flex; flex-direction:column; align-items:center; gap:8px; width:166px; }
.hero-stat-icon{ background:linear-gradient(90deg,#595edb,#3f93e1); border-radius:6px; padding:4px; width:28px; height:28px; display:flex; align-items:center; justify-content:center; }
.hero-stat-icon .ico{ width:20px; height:20px; }
.hero-stat span{ font-size:16px; font-weight:600; text-align:center; line-height:1.3; }

/* ---------- GENERIC SECTION ---------- */
.section{ padding:120px 0 0; }
.section-inner{ width:1410px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:30px; }
.eyebrow{ font-size:20px; font-weight:600; text-transform:uppercase; text-align:center; line-height:1.3; }
.eyebrow .blue{ color:#3f92e1; }
h2.h-title{ font-size:36px; font-weight:600; text-transform:uppercase; text-align:center; width:100%; }
h2.h-title .blue{ color:#3f92e1; }
.subtitle{ font-size:16px; font-weight:400; text-align:center; }

/* problem cards */
.problems-head{ display:flex; flex-direction:column; gap:8px; text-align:center; width:100%; }
.problems-head h2{ font-size:36px; font-weight:600; text-transform:uppercase; }
.problems-body{ display:flex; gap:30px; width:100%; align-items:center; }
.problem-grid{ display:flex; flex-direction:column; gap:16px; width:690px; }
.problem-row{ display:flex; gap:16px; height:124px; }
.card{
  background:#fff; border:1px solid #e4e4e4; border-radius:16px;
  display:flex; align-items:center; gap:20px; padding:20px 24px; flex:1;
  box-shadow:0 0 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.06);
}
.icon-circle{ width:46px; height:46px; border-radius:999px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.icon-circle.red{ background:#ffdade; }
.icon-circle.green{ background:#dfffda; }
.icon-circle .ico{ width:30px; height:30px; }
.card p{ font-size:18px; font-weight:500; }
.problem-photo{ width:690px; height:404px; border-radius:24px; object-fit:cover; }
.quote-cta{ font-size:22px; font-style:italic; font-weight:600; text-align:center; }
.quote-cta .blue{ color:#3f92e1; }

/* after-forum */
.afterforum-body{ display:flex; gap:30px; align-items:center; width:100%; }
.afterforum-photo{ width:690px; height:404px; border-radius:24px; object-fit:cover; }

/* goal/mission */
.goal-row{ display:flex; gap:30px; width:100%; }
.goal-card{ width:690px; height:252px; border-radius:24px; position:relative; overflow:hidden; display:flex; align-items:center; }
.goal-card.blue-grad{ background:linear-gradient(90deg,#595edb,#3f93e1); }
.goal-card.dark{ background:#212121; }
.goal-card img.shape{ position:absolute; top:0; height:252px; width:280px; object-fit:cover; }
.goal-card.blue-grad img.shape{ left:0; transform:rotate(180deg) scaleY(-1); }
.goal-card.dark img.shape{ left:410px; }
.goal-text{ position:relative; z-index:1; color:#fff; width:340px; display:flex; flex-direction:column; gap:8px; }
.goal-card.blue-grad .goal-text{ margin-left:310px; }
.goal-card.dark .goal-text{ margin-left:40px; text-align:right; }
.goal-text h3{ font-size:24px; font-weight:600; text-transform:uppercase; }
.goal-text p{ font-size:16px; font-weight:300; }

/* numbers */
.numbers-row{ display:flex; flex-wrap:wrap; gap:30px; width:100%; }
.number-item{ width:330px; display:flex; flex-direction:column; gap:4px; }
.number-item .num{ font-size:36px; font-weight:600; color:#3f92e1; }
.number-item .label{ font-size:16px; color:#595959; }

/* stories */
.stories-row{ display:flex; gap:30px; justify-content:center; width:100%; }
.story-card{ width:450px; display:flex; flex-direction:column; gap:24px; }
.story-card img{ width:450px; height:790px; border-radius:16px; object-fit:cover; }
.story-quote{ display:flex; flex-direction:column; gap:4px; }
.story-quote .ico{ width:32px; height:32px; }
.story-quote p{ font-size:22px; font-weight:500; }
.dots{ display:flex; gap:8px; }
.dot{ width:60px; height:6px; border-radius:90px; background:#cbdae2; }
.dot.active{ background:#3f92e1; }

/* speakers */
.speakers-row{ display:flex; gap:30px; width:100%; }
.speaker-card{ flex:1; display:flex; flex-direction:column; gap:20px; }
.speaker-card img{ width:100%; height:360px; border-radius:16px; object-fit:cover; }
.speaker-card h3{ font-size:24px; font-weight:500; }
.speaker-card .role{ font-size:16px; font-weight:600; color:#595959; }
.speaker-list{ display:flex; flex-direction:column; gap:8px; }
.speaker-list li{ display:flex; gap:8px; align-items:flex-start; font-size:16px; color:#595959; }
.speaker-list li::before{ content:''; width:8px; height:8px; border-radius:50%; background:#3f92e1; margin-top:8px; flex-shrink:0; }

/* translation banner */
.translate-banner{ position:relative; width:1410px; height:186px; border-radius:16px; overflow:hidden; border:1px solid #e4e4e4; background:#fff; box-shadow:0 0 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.06); display:flex; align-items:center; }
.translate-banner img.bg{ position:absolute; left:0; top:0; height:100%; width:635px; object-fit:cover; }
.translate-banner::after{ content:''; position:absolute; left:300px; top:0; bottom:0; width:400px; background:linear-gradient(90deg, rgba(255,255,255,0), #fff 70%); }
.translate-banner p{ position:relative; z-index:1; margin-left:580px; width:771px; font-size:24px; font-style:italic; font-weight:600; }
.translate-banner p .blue{ color:#3f92e1; }
/* headphones sprite crop per Figma transform: img 256.15% x 216.45%, offset -135.04% / -101.21% */
.translate-photo-small{ position:absolute; left:-62px; top:-80px; width:166px; height:196px; overflow:hidden; z-index:3; }
.translate-photo-small img{ position:absolute; width:425px; height:424px; left:-224px; top:-198px; }
.translate-wrap{ position:relative; width:1410px; margin:0 auto; }

/* cost of not attending */
.cost-row{ display:flex; flex-wrap:wrap; gap:30px; width:100%; }
.cost-card{ flex:1; min-width:280px; display:flex; align-items:center; gap:20px; background:#fff; border:1px solid #e4e4e4; border-radius:24px; padding:20px 24px; box-shadow:0 0 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.06); }
.cost-card .icon-circle{ width:64px; height:64px; }
.cost-card .icon-circle .ico{ width:42px; height:42px; }
.cost-card p{ font-size:22px; font-weight:500; }

/* pricing */
.pricing-row{ display:flex; gap:30px; justify-content:center; width:100%; align-items:stretch; }
.price-card{ width:450px; border-radius:16px; padding:30px; display:flex; flex-direction:column; justify-content:space-between; gap:50px; }
.price-card.startup{ background:#fff; border:1px solid #e4e4e4; }
.price-card.business{ background:linear-gradient(90deg,#595edb,#3f93e1); color:#fff; }
.price-card.vip{ background:#111; border:1px solid #e4e4e4; color:#fff; }
.price-top{ display:flex; flex-direction:column; gap:32px; }
.price-icon-row{ display:flex; justify-content:space-between; align-items:center; }
.price-icon{ width:80px; height:80px; border-radius:999px; background:#fff; border:1px solid #d7d7d7; display:flex; align-items:center; justify-content:center; }
.price-card.business .price-icon{ background:rgba(255,255,255,.2); border:none; }
.price-icon .ico{ width:50px; height:50px; }
.badge{ background:#fff; color:#3f92e1; padding:8px 12px; border-radius:90px; font-size:16px; font-weight:700; }
.price-name{ font-size:22px; font-style:italic; font-weight:600; }
.price-desc{ font-size:16px; color:#595959; }
.price-card.business .price-desc, .price-card.vip .price-desc{ color:#fff; }
.price-amount{ font-size:36px; font-weight:700; }
.price-divider{ height:1px; background:rgba(0,0,0,.1); width:100%; }
.price-card.business .price-divider, .price-card.vip .price-divider{ background:rgba(255,255,255,.2); }
.price-list{ display:flex; flex-direction:column; gap:12px; }
.price-list li{ display:flex; gap:12px; align-items:center; font-size:16px; color:#595959; }
.price-card.business .price-list li, .price-card.vip .price-list li{ color:#fff; }
.price-list li .ico{ width:20px; height:20px; flex-shrink:0; }
.price-card .btn{ width:100%; padding:24px 40px; }

/* partners / media */
.logos-row{ display:flex; flex-wrap:wrap; gap:50px; width:100%; align-items:center; justify-content:center; }
.logos-row img{ height:100px; object-fit:contain; flex:1; max-width:300px; }
.media-row{ display:flex; flex-wrap:wrap; gap:30px; width:100vw; margin-left:calc(50% - 50vw); align-items:center; justify-content:center; }
.media-row img{ height:100px; object-fit:contain; flex:1; max-width:270px; }
.support-buttons{ display:flex; gap:8px; }

/* final CTA */
.cta-final{ position:relative; width:100%; min-width:1920px; height:600px; overflow:hidden; background:linear-gradient(90deg,#01063c,#010538); color:#fff; display:flex; align-items:center; }
.cta-final img.cta-bg{ position:absolute; right:0; top:-98%; height:226%; width:auto; }
.cta-final-content{ position:relative; z-index:2; width:810px; margin-left:calc(50% - 300px - 405px + 255px); display:flex; flex-direction:column; gap:32px; }
.cta-final-content h2{ font-size:50px; font-weight:600; }
.cta-final-content p{ font-size:16px; font-weight:300; width:690px; }

/* footer */
.footer{ background:#fff; padding:50px 0; }
.footer-top{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; }
.footer-logo{ width:110px; height:56px; object-fit:contain; }
.footer-col{ display:flex; flex-direction:column; gap:20px; font-size:16px; font-weight:300; }
.footer-social{ display:flex; gap:12px; }
.footer-social a{ width:40px; height:40px; border-radius:6px; background:linear-gradient(54deg,#595edb,#3f93e1); display:flex; align-items:center; justify-content:center; }
.footer-social .ico{ width:30px; height:30px; }
.footer-divider{ height:1px; background:#f0f0f0; width:100%; margin:60px 0 20px; }
.footer-bottom{ text-align:center; color:#8d8d8d; font-size:16px; font-weight:300; }

/* decorative background: real Figma line shapes + soft blue blobs.
   Coordinates from Figma page (y minus 1000px hero height). */
.page-bg{ position:relative; overflow:hidden; }
.page-bg > section{ position:relative; z-index:1; }
/* decor anchored to a centered 1920px canvas so composition holds on wide screens */
.decor-anchor{ position:absolute; left:50%; transform:translateX(-50%); top:0; width:1920px; height:100%; pointer-events:none; z-index:0; }
.bg-decor{ position:absolute; pointer-events:none; z-index:0; }
.bg-decor.lines{ width:1345px; opacity:.35; }
/* blob export is composited on white; multiply makes white vanish on light bg */
.bg-decor.blob{ width:969px; height:1115px; mix-blend-mode:multiply; }
