
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --indigo: #4B4BAD;
    --indigo-dark: #3C3C8E;
    --indigo-light: #EEEDFE;
    --indigo-soft: #AFA9EC;
    --indigo-muted: #7F77DD;
    --cream: #F5F0EB;
    --cream-dark: #EDE8E2;
    --navy: #1E1B4B;
    --gray: #6B6B9E;
    --border: #C8C4E8;
    --white: #FAF8F4;
    --text: #3A3A6E;
  }
  html { scroll-behavior: smooth; }
  body { background: var(--cream); font-family: 'DM Sans', sans-serif; color: var(--navy); overflow-x: hidden; }

  /* HERO */
  .hero {
    min-height: 100vh; padding: 64px 40px 80px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 60px;
    align-items: center; max-width: 1200px; margin: 0 auto;
  }
  .hero-text { display: flex; flex-direction: column; gap: 24px; }
  .hero-origin { font-size: 12px; font-weight: 500; color: var(--indigo-muted); letter-spacing: 0.14em; text-transform: uppercase; }
  .hero-title { font-family: 'DM Serif Display', serif; font-size: clamp(44px, 6vw, 72px); color: var(--navy); line-height: 1.08; }
  .hero-title em { color: var(--indigo); font-style: italic; }
  .hero-sub { font-size: 17px; color: var(--gray); line-height: 1.75; max-width: 420px; }
  .hero-app-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
  .hero-image { display: flex; justify-content: center; align-items: center; }
  .hero-image img { width: 100%; max-width: 480px; border-radius: 24px; }
  @media (max-width: 900px) {
    .hero { grid-template-columns: 1fr; padding: 64px 24px 60px; text-align: center; gap: 40px; }
    .hero-text { align-items: center; }
    .hero-sub { max-width: 100%; }
    .hero-app-cta { align-items: center; }
    .hero-image { order: -1; }
    .hero-image img { max-width: 320px; }
  }

  /* FORMS */
  .waitlist-wrap { display: flex; flex-direction: column; gap: 10px; max-width: 400px; width: 100%; }
  .waitlist-form { display: flex; gap: 8px; width: 100%; }
  .waitlist-input {
    flex: 1; background: var(--white); border: 1.5px solid var(--border);
    border-radius: 24px; padding: 12px 18px;
    font-family: 'DM Sans', sans-serif; font-size: 14px; color: var(--navy);
    outline: none; transition: border-color 0.15s;
  }
  .waitlist-input::placeholder { color: var(--indigo-soft); }
  .waitlist-input:focus { border-color: var(--indigo); }
  .waitlist-btn {
    background: var(--indigo); color: var(--white);
    font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 500;
    border: none; border-radius: 24px; padding: 12px 22px;
    cursor: pointer; white-space: nowrap; transition: background 0.15s;
  }
  .waitlist-btn:hover { background: var(--indigo-dark); }
  .form-note { font-size: 12px; color: var(--indigo-soft); }
  .success-msg { display: none; background: var(--indigo-light); border: 1px solid var(--border); border-radius: 14px; padding: 14px 20px; font-size: 14px; color: var(--indigo); line-height: 1.6; }
  @media (max-width: 900px) { .waitlist-wrap { max-width: 100%; align-items: center; } }

  /* SECTIONS */
  .section { padding: 96px 40px; }
  .section.alt { background: var(--cream-dark); }
  .section.dark { background: var(--indigo); }
  .section-inner { max-width: 1100px; margin: 0 auto; }
  .section-eyebrow { font-size: 11px; font-weight: 500; color: var(--indigo-muted); letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 14px; }
  .section-eyebrow.light { color: var(--indigo-soft); }
  .section-title { font-family: 'DM Serif Display', serif; font-size: clamp(30px, 4.5vw, 48px); color: var(--navy); line-height: 1.15; margin-bottom: 16px; }
  .section-title.light { color: #FAF8F4; }
  .section-sub { font-size: 16px; color: var(--gray); line-height: 1.75; max-width: 560px; margin-bottom: 48px; }
  .section-sub.light { color: var(--indigo-soft); }
  @media (max-width: 600px) { .section { padding: 72px 24px; } }

  /* PROBLEM */
  .problem-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin-bottom: 64px; }
  .problem-card { background: var(--white); border: 1px solid var(--border); border-radius: 20px; padding: 28px 24px; }
  .problem-label { font-size: 11px; font-weight: 500; color: var(--indigo-muted); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 10px; }
  .problem-heading { font-family: 'DM Serif Display', serif; font-size: 22px; color: var(--indigo); margin-bottom: 8px; }
  .problem-desc { font-size: 14px; color: var(--gray); line-height: 1.65; }
  .world-illustration { width: 100%; max-width: 820px; margin: 0 auto; display: block; border-radius: 20px; }

  /* CONNECTION MODES */
  .modes-section { background: var(--cream); }
  .modes-inner { max-width: 1200px; }
  .modes-heading { max-width: 760px; margin: 0 auto 44px; text-align: center; }
  .modes-heading .section-title { margin-bottom: 0; }
  .modes-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--border); border-radius: 28px; overflow: hidden;
    box-shadow: 0 24px 70px rgba(60, 60, 142, 0.1);
  }
  .mode-panel { min-width: 0; padding: 48px; display: flex; flex-direction: column; }
  .mode-panel.spontaneous { background: var(--indigo); color: var(--white); }
  .mode-panel.planned { background: var(--white); border-left: 1px solid var(--border); }
  .mode-badge {
    align-self: flex-start; display: inline-flex; align-items: center; gap: 7px;
    border-radius: 999px; padding: 7px 13px; margin-bottom: 22px;
    font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
  }
  .spontaneous .mode-badge { color: var(--white); background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.22); }
  .planned .mode-badge { color: var(--indigo); background: var(--indigo-light); border: 1px solid var(--border); }
  .mode-title { font-family: 'DM Serif Display', serif; font-size: clamp(34px, 4vw, 48px); line-height: 1.05; margin-bottom: 18px; }
  .spontaneous .mode-title { color: var(--white); }
  .planned .mode-title { color: var(--navy); }
  .mode-copy { font-size: 15px; line-height: 1.75; margin-bottom: 34px; }
  .spontaneous .mode-copy { color: var(--indigo-light); }
  .planned .mode-copy { color: var(--gray); }
  .steps { display: flex; flex-direction: column; gap: 28px; }
  .step { display: flex; gap: 18px; align-items: flex-start; }
  .step-num { width: 36px; height: 36px; min-width: 36px; border-radius: 50%; background: var(--indigo-light); border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; font-family: 'DM Serif Display', serif; font-size: 16px; color: var(--indigo); }
  .step-content {}
  .step-title { font-family: 'DM Serif Display', serif; font-size: 18px; color: var(--navy); margin-bottom: 4px; }
  .step-desc { font-size: 14px; color: var(--gray); line-height: 1.65; }
  .spontaneous .step-num { color: var(--white); background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.28); }
  .spontaneous .step-title { color: var(--white); }
  .spontaneous .step-desc { color: var(--indigo-light); }
  .mockup-wrap { display: flex; justify-content: center; }
  .mockup-wrap img { width: 100%; max-width: 320px; border-radius: 28px; box-shadow: 0 20px 60px rgba(75,75,173,0.18); }
  .mockup-label { text-align: center; font-size: 12px; color: var(--indigo-soft); margin-top: 12px; font-style: italic; }
  .spontaneous .mockup-wrap { margin-top: 36px; }
  .spontaneous .mockup-wrap img { max-width: 260px; box-shadow: 0 22px 56px rgba(30,27,75,0.32); }
  .spontaneous .mockup-label { color: var(--indigo-light); }
  .plan-cards { display: grid; gap: 16px; }
  .plan-card { min-height: 118px; padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: var(--cream); display: flex; align-items: center; gap: 18px; }
  .plan-card-num { width: 38px; height: 38px; min-width: 38px; border-radius: 50%; background: var(--white); border: 1px solid var(--border); display: grid; place-items: center; color: var(--indigo); font-family: 'DM Serif Display', serif; }
  .plan-card-title { font-family: 'DM Serif Display', serif; font-size: 21px; color: var(--navy); }
  .mode-cta { align-self: flex-start; margin-top: 36px; border-radius: 999px; padding: 13px 24px; font-size: 14px; font-weight: 600; text-decoration: none; transition: transform 0.15s, background 0.15s, color 0.15s; }
  .mode-cta:hover { transform: translateY(-2px); }
  .spontaneous .mode-cta { background: var(--white); color: var(--indigo); }
  .spontaneous .mode-cta:hover { background: var(--indigo-light); }
  .planned .mode-cta { background: var(--indigo); color: var(--white); margin-top: auto; }
  .planned .mode-cta:hover { background: var(--indigo-dark); }
  .modes-note { max-width: 680px; margin: 28px auto 0; color: var(--gray); font-size: 14px; line-height: 1.7; text-align: center; }
  @media (max-width: 900px) {
    .modes-grid { grid-template-columns: 1fr; }
    .mode-panel.planned { border-left: 0; border-top: 1px solid var(--border); }
    .mode-panel { padding: 40px; }
    .planned .mode-cta { margin-top: 36px; }
  }
  @media (max-width: 600px) {
    .modes-heading { margin-bottom: 30px; text-align: left; }
    .modes-grid { border-radius: 22px; }
    .mode-panel { padding: 32px 24px; }
    .plan-card { min-height: 0; padding: 20px; }
    .spontaneous .mockup-wrap img { max-width: 240px; }
  }

  /* WINDOWS */
  .windows-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
  .window-card { background: var(--white); border: 1.5px solid var(--border); border-radius: 16px; padding: 22px 20px; }
  .window-day { font-family: 'DM Serif Display', serif; font-size: 20px; color: var(--indigo); margin-bottom: 4px; }
  .window-time { font-size: 14px; font-weight: 500; color: var(--navy); margin-bottom: 8px; }
  .window-desc { font-size: 13px; color: var(--gray); line-height: 1.55; }

  /* SAFETY */
  .safety-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
  .safety-card { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); border-radius: 16px; padding: 24px 20px; }
  .safety-title { font-size: 14px; font-weight: 500; color: #FAF8F4; margin-bottom: 6px; }
  .safety-desc { font-size: 13px; color: var(--indigo-soft); line-height: 1.6; }

  /* PROOF / PHOTOS */
  .photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
  .photo-card { margin: 0; min-width: 0; }
  .photo-card img, .photo-fallback { width: 100%; aspect-ratio: 3/4; border-radius: 16px; }
  .photo-card img { display: block; object-fit: cover; }
  .photo-fallback { display: flex; align-items: center; justify-content: center; padding: 24px; background: var(--indigo-light); border: 1px dashed var(--border); color: var(--indigo); font-family: 'DM Serif Display', serif; font-size: 18px; line-height: 1.35; text-align: center; }
  .photo-fallback[hidden] { display: none; }
  @media (max-width: 700px) {
    .photo-grid { grid-template-columns: 1fr 1fr; }
    .photo-card:last-child { grid-column: 1 / -1; width: calc(50% - 8px); justify-self: center; }
  }
  @media (max-width: 520px) {
    .photo-grid { grid-template-columns: 1fr; }
    .photo-card:last-child { grid-column: auto; width: 100%; }
  }

  /* UPCOMING EVENT */
  .upcoming-card { max-width: 720px; margin-top: 40px; }
  .upcoming-copy { font-size: 16px; color: var(--gray); line-height: 1.75; margin: 20px 0; }
  .upcoming-copy a { color: var(--indigo); text-underline-offset: 3px; overflow-wrap: anywhere; }
  .upcoming-details { display: grid; gap: 12px; margin: 24px 0; font-size: 14px; line-height: 1.65; }
  .upcoming-details div { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
  .upcoming-details dt { font-weight: 600; color: var(--navy); }
  .upcoming-details dd { color: var(--gray); }
  .upcoming-card a:focus-visible { outline: 2px solid var(--indigo); outline-offset: 4px; }
  @media (max-width: 400px) {
    .upcoming-details div { grid-template-columns: 1fr; gap: 2px; }
  }

  /* HOST */
  .host-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
  .host-badge { display: inline-block; background: var(--indigo-light); border: 1px solid var(--border); border-radius: 24px; padding: 8px 18px; font-size: 13px; font-weight: 500; color: var(--indigo); margin-bottom: 20px; }
  .host-points { display: flex; flex-direction: column; gap: 16px; margin: 28px 0; }
  .host-point { display: flex; gap: 12px; align-items: flex-start; }
  .host-dot { width: 8px; height: 8px; min-width: 8px; border-radius: 50%; background: var(--indigo); margin-top: 6px; }
  .host-point-text { font-size: 14px; color: var(--gray); line-height: 1.65; }
  .host-quote { background: var(--indigo); border-radius: 16px; padding: 28px 32px; }
  .host-quote-text { font-family: 'DM Serif Display', serif; font-size: 22px; color: #FAF8F4; line-height: 1.4; margin-bottom: 12px; font-style: italic; }
  .host-quote-sub { font-size: 14px; color: var(--indigo-soft); line-height: 1.65; }
  @media (max-width: 820px) { .host-inner { grid-template-columns: 1fr; } }

  /* FOUNDER */
  .founder-inner { max-width: 680px; }
  .founder-text { font-size: 16px; color: var(--gray); line-height: 1.85; margin-bottom: 20px; }
  .founder-sig { font-family: 'DM Serif Display', serif; font-size: 18px; color: var(--indigo); margin-top: 28px; }

  /* COMMUNITY CARDS */
  .community-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
  .community-card { background: var(--white); border: 1.5px solid var(--border); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
  .community-card.featured { background: var(--indigo-light); border-color: var(--indigo); }
  .community-title { font-family: 'DM Serif Display', serif; font-size: 18px; color: var(--navy); }
  .community-desc { font-size: 13px; color: var(--gray); line-height: 1.65; flex: 1; }
  .community-cta { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 500; color: var(--indigo); border: 1.5px solid var(--indigo); border-radius: 16px; padding: 7px 16px; text-decoration: none; transition: all 0.15s; align-self: flex-start; }
  .community-cta:hover, .community-card.featured .community-cta { background: var(--indigo); color: var(--white); }

  /* PERKS */
  .perks-inner { text-align: center; max-width: 560px; margin: 0 auto; }
  .coming-soon-badge { display: inline-block; background: var(--cream-dark); border: 1px solid var(--border); border-radius: 20px; padding: 6px 16px; font-size: 11px; font-weight: 500; color: var(--gray); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 16px; }

  /* FINAL */
  .final-inner { text-align: center; max-width: 600px; margin: 0 auto; }
  .final-title { font-family: 'DM Serif Display', serif; font-size: clamp(36px, 6vw, 60px); color: var(--navy); line-height: 1.1; margin-bottom: 20px; }
  .final-sub { font-size: 16px; color: var(--gray); margin-bottom: 40px; line-height: 1.7; }
  .final-links { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-top: 32px; }
  .final-links a { font-size: 13px; color: var(--indigo); text-decoration: none; border-bottom: 1px solid var(--border); padding-bottom: 2px; }

  /* WEB APP — hidden until activated */
  .webapp-live-section { display: none; padding: 48px 24px; text-align: center; background: var(--indigo); }
  .webapp-live-section.active { display: block; }
  #feedback { scroll-margin-top: 72px; }

  /* CONTACT */
  .contact-section { background: var(--cream); scroll-margin-top: 72px; }
  .contact-inner { max-width: 960px; margin: 0 auto; }
  .contact-title { text-align: center; margin-bottom: 40px; }
  .contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .contact-card {
    min-height: 220px; padding: 34px; border: 1px solid var(--border); border-radius: 24px;
    background: var(--white); display: flex; flex-direction: column; align-items: flex-start;
    box-shadow: 0 12px 30px rgba(60, 60, 142, 0.06);
  }
  .contact-label { font-size: 12px; font-weight: 600; color: var(--indigo-muted); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
  .contact-email { color: var(--indigo); font-size: clamp(17px, 2.2vw, 22px); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; transition: color 0.15s, border-color 0.15s; }
  .contact-email:hover, .contact-email:focus-visible { color: var(--indigo-dark); border-color: var(--indigo); }
  .contact-description { color: var(--gray); font-size: 15px; line-height: 1.7; margin-top: 20px; }
  @media (max-width: 700px) {
    .contact-title { margin-bottom: 28px; }
    .contact-grid { grid-template-columns: 1fr; }
    .contact-card { min-height: 0; padding: 28px 24px; }
  }

  /* FOOTER */
  footer { padding: 36px 40px; border-top: 1px solid var(--border); text-align: center; }
  .footer-logo { font-family: 'DM Serif Display', serif; font-size: 20px; color: var(--indigo); margin-bottom: 6px; }
  .footer-tagline { font-size: 13px; color: var(--gray); margin-bottom: 16px; font-style: italic; }
  .footer-links { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 16px; }
  .footer-links a { font-size: 12px; color: var(--gray); text-decoration: none; border-bottom: 1px solid var(--border); }
  .footer-contact { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; font-size: 12px; color: var(--indigo-soft); }
  .footer-contact a { color: var(--indigo); text-decoration: none; border-bottom: 1px solid var(--border); }
  .footer-note { font-size: 12px; color: var(--indigo-soft); }
  @media (max-width: 600px) { footer { padding: 28px 20px; } }

  /* UTILS */
  .btn-primary { display: inline-block; background: var(--indigo); color: var(--white); font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 500; border-radius: 24px; padding: 13px 28px; text-decoration: none; transition: background 0.15s; border: none; cursor: pointer; }
  .btn-primary:hover { background: var(--indigo-dark); }
  .btn-secondary { display: inline-block; color: var(--indigo); font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 500; border-radius: 24px; padding: 12px 28px; text-decoration: none; border: 1.5px solid var(--indigo); transition: all 0.15s; }
  .btn-secondary:hover { background: var(--indigo); color: var(--white); }
  .launch-dot { width: 7px; height: 7px; border-radius: 50%; background: #7EFFA0; display: inline-block; animation: pulse 2s ease-in-out infinite; margin-right: 6px; }
  @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }

  /* Shared page navigation */
  .site-nav { position: sticky; top: 0; z-index: 100; background: var(--cream); border-bottom: 1px solid var(--border); }
  .nav-inner { max-width: 1200px; padding: 16px 32px; margin: auto; display: flex; align-items: center; gap: 24px; justify-content: space-between; }
  .nav-logo { font-family: 'DM Serif Display', serif; font-size: 21px; text-decoration: none; color: var(--indigo); white-space: nowrap; }
  .nav-links { display: flex; align-items: center; gap: 4px; }
  .nav-link { padding: 12px 10px; border-radius: 20px; font-size: 13px; text-decoration: none; color: var(--text); white-space: nowrap; }
  .nav-link:hover, .nav-link[aria-current="page"] { color: var(--indigo); background: var(--indigo-light); }
  .nav-cta { background: var(--indigo); color: var(--white); text-decoration: none; border-radius: 24px; padding: 12px 18px; font-size: 13px; white-space: nowrap; }
  .nav-cta:hover { background: var(--indigo-dark); }
  .menu-toggle { display: none; font: inherit; color: var(--indigo); background: var(--white); border: 1px solid var(--border); border-radius: 20px; padding: 10px 16px; min-height: 44px; cursor: pointer; }
  a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--indigo); outline-offset: 4px; }
  .skip-link { position: fixed; top: -80px; left: 16px; z-index: 200; padding: 12px 20px; background: var(--white); color: var(--indigo); }
  .skip-link:focus { top: 12px; }
  [id] { scroll-margin-top: 96px; }
  .hero { min-height: 0; padding: 56px 40px 64px; gap: 40px; }
  .hero-text { gap: 20px; }
  .hero-image img { max-width: 380px; height: auto; }
  .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
  .home-meetup { padding: 40px; background: var(--indigo); color: var(--white); }
  .home-meetup-inner { max-width: 1100px; margin: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; }
  .home-meetup h2 { font-family: 'DM Serif Display', serif; font-size: clamp(26px, 3vw, 36px); font-weight: 400; line-height: 1.2; margin-bottom: 12px; }
  .home-meetup p { font-size: 15px; line-height: 1.75; }
  .home-meetup .section-eyebrow { color: var(--white); }
  .home-meetup .btn-secondary { border-color: var(--white); color: var(--indigo); background: var(--white); white-space: nowrap; }
  .home-meetup .btn-secondary:hover { background: var(--indigo-light); }
  .home-meetup a:focus-visible { outline-color: var(--white); }
  .home-explore { padding: 24px 40px; text-align: center; font-size: 14px; line-height: 1.8; }
  .home-explore a { color: var(--indigo); text-underline-offset: 4px; }
  .page-intro { max-width: 1100px; margin: auto; padding: 56px 40px 32px; }
  .page-intro h1 { font-family: 'DM Serif Display', serif; font-size: clamp(36px, 5vw, 56px); font-weight: 400; line-height: 1.15; margin-bottom: 16px; }
  .page-intro p { max-width: 620px; color: var(--gray); font-size: 17px; line-height: 1.75; }
  .section { padding: 56px 40px; }
  .section-sub { margin-bottom: 32px; }
  .upcoming-card { max-width: 100%; }
  .signup-label { color: var(--navy); font-size: 14px; margin-bottom: 4px; }
  .waitlist-input { min-width: 0; }
  @media (max-width: 960px) {
    .nav-inner { flex-wrap: wrap; padding: 12px 24px; gap: 12px; }
    .site-nav[data-ready] .menu-toggle { display: inline-flex; align-items: center; }
    .nav-links { width: 100%; flex-direction: column; align-items: stretch; gap: 4px; }
    .site-nav[data-ready] .nav-links { display: none; }
    .site-nav[data-open] .nav-links { display: flex; max-height: calc(100dvh - 72px); overflow-y: auto; }
    .nav-link, .nav-cta { padding: 12px 16px; min-height: 44px; }
  }
  @media (max-width: 900px) {
    .hero { padding: 40px 24px; gap: 24px; }
    .hero-image { order: 0; }
    .hero-image img { max-width: 240px; }
    .hero-actions { justify-content: center; }
  }
  @media (max-width: 600px) {
    .page-intro { padding: 36px 24px 16px; }
    .section { padding: 40px 24px; }
    .home-meetup { padding: 32px 24px; }
    .home-meetup-inner { grid-template-columns: 1fr; gap: 20px; }
    .home-meetup .btn-secondary { justify-self: start; }
    .home-explore { padding: 20px 24px; }
    .hero-title { font-size: 44px; }
    .hero-image { display: none; }
    .hero-actions { width: 100%; }
    .hero-actions a { width: 100%; }
    .waitlist-form { flex-direction: column; }
    .waitlist-input, .waitlist-btn { min-height: 44px; }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .launch-dot { animation: none; }
    *, *::before, *::after { transition: none !important; }
  }
