/* SOULULAB DEMO 3 — dedicated mobile/tablet runtime v4.13.0 */
.d3m-ecosystem{display:none}

@media (max-width:1024px){
  html,body{overflow-x:hidden!important;overscroll-behavior-y:auto!important;scroll-behavior:auto!important}
  html.soulu-hero-virtual,html.soulu-hero-virtual body{overscroll-behavior-y:auto!important}
  body.home-demo-page{background:#ffffff!important}

  /* Mobile gets its own second screen. Desktop map/stage is not used at all. */
  body.home-demo-page .hm-hero.demo3-hero{
    position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;
    overflow:visible!important;contain:none!important;background:#02050c!important;
  }
  body.home-demo-page .hm-hero.demo3-hero>.hm-hero__stage{display:none!important}
  body.home-demo-page .d3m-ecosystem{
    display:block!important;position:relative!important;width:100%!important;min-height:0!important;
    padding:calc(74px + env(safe-area-inset-top)) 16px 58px!important;
    background:
      radial-gradient(70% 40% at 12% 8%,rgba(47,197,255,.10),transparent 72%),
      radial-gradient(62% 36% at 88% 18%,rgba(240,70,198,.08),transparent 74%),
      linear-gradient(180deg,#02050c 0%,#050811 58%,#02050c 100%)!important;
    color:#f4f7fb!important;overflow:hidden!important;isolation:isolate!important;
  }
  .d3m-inner{width:min(100%,920px);margin:0 auto}
  .d3m-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:18px 0 42px}
  .d3m-brandline{display:flex;align-items:center;gap:12px}
  .d3m-brandline img{width:44px;height:49px;object-fit:contain;flex:0 0 auto}
  .d3m-brandline strong{font:800 16px/1 Montserrat,sans-serif;letter-spacing:.02em;color:#e8ebf0}
  .d3m-eyebrow{margin:4px 0 0;font:700 9px/1.3 Montserrat,sans-serif;letter-spacing:.20em;text-transform:uppercase;color:rgba(210,218,229,.52)}
  .d3m-title{margin:0;max-width:760px;font:900 clamp(42px,8vw,68px)/.94 Montserrat,sans-serif;letter-spacing:-.055em;color:#f5f7fa}
  .d3m-title .d3m-line{display:block;white-space:nowrap}
  .d3m-title .d3m-chrome{background:linear-gradient(180deg,#fff 0%,#d7dbe2 34%,#8f98a5 58%,#f2f4f7 78%,#aab1bc 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .d3m-copy{max-width:720px;margin:0;font:500 13px/1.62 Montserrat,sans-serif;color:rgba(225,231,239,.72)}
  .d3m-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
  .d3m-tags span{padding:6px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);font:600 8px/1.15 Montserrat,sans-serif;color:rgba(227,232,239,.72)}
  .d3m-jump{justify-self:start;display:inline-flex;align-items:center;min-height:46px;padding:0 17px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:linear-gradient(180deg,#343a43,#0b0e13);color:#fff;text-decoration:none;font:800 11px/1 Montserrat,sans-serif;box-shadow:inset 0 1px rgba(255,255,255,.12),0 12px 30px rgba(0,0,0,.26)}

  .d3m-section{padding:26px 0 0;scroll-margin-top:84px}
  .d3m-kicker{margin:0 0 8px;font:700 9px/1.2 Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(204,212,224,.50)}
  .d3m-heading{margin:0 0 18px;max-width:720px;font:800 clamp(28px,5vw,42px)/1.02 Montserrat,sans-serif;letter-spacing:-.04em;color:#f5f7fa}
  .d3m-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;grid-auto-flow:dense}
  .d3m-card{position:relative;min-width:0;min-height:188px;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:20px;overflow:hidden;background:linear-gradient(145deg,rgba(14,18,27,.96),rgba(3,6,11,.99));box-shadow:0 18px 44px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.025)}
  .d3m-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.72}
  .d3m-card--web::after{background:radial-gradient(70% 90% at 5% 5%,rgba(47,197,255,.26),transparent 62%)}
  .d3m-card--studio::after{background:radial-gradient(70% 90% at 5% 5%,rgba(122,66,255,.26),transparent 64%)}
  .d3m-card--ai::after{background:radial-gradient(80% 95% at 5% 5%,rgba(240,70,198,.20),transparent 66%)}
  .d3m-card--club::after{background:radial-gradient(70% 90% at 5% 5%,rgba(91,134,255,.20),transparent 66%)}
  .d3m-card>*{position:relative;z-index:2}
  .d3m-card__top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .d3m-card__top img{width:34px;height:38px;object-fit:contain;flex:0 0 auto}
  .d3m-card__title{margin:0;font:800 18px/1.05 Montserrat,sans-serif;letter-spacing:-.025em;color:#f6f8fb}
  .d3m-card__meta{margin:2px 0 0;font:600 7px/1.3 Montserrat,sans-serif;letter-spacing:.045em;color:rgba(191,200,212,.52)}
  .d3m-card__copy{margin:6px 0 0;font:500 10px/1.45 Montserrat,sans-serif;color:rgba(222,228,236,.72)}
  .d3m-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}
  .d3m-pills span{display:inline-flex;max-width:100%;padding:4px 7px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(3,6,11,.44);font:600 7.5px/1.15 Montserrat,sans-serif;color:rgba(227,232,239,.72)}

  .d3m-flow{position:relative;margin-top:42px;padding:18px;border-radius:24px;background:linear-gradient(145deg,#0e1116 0%,#080b10 52%,#04060a 100%);box-shadow:0 22px 48px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.025);overflow:hidden}
  .d3m-flow::before{content:"";position:absolute;inset:0;padding:.6px;border-radius:inherit;background:conic-gradient(from 225deg,#F046C6 0deg,#F09548 90deg,#78DA65 180deg,#2FC5FF 270deg,#F046C6 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
  .d3m-flow__head{position:relative;z-index:2;display:flex;align-items:center;gap:12px;margin-bottom:15px}
  .d3m-flow__head img{width:40px;height:44px;object-fit:contain}
  .d3m-flow__head strong{display:block;font:800 20px/1 Montserrat,sans-serif;color:#f5f7fa}
  .d3m-flow__head small{display:block;margin-top:5px;font:500 9px/1.35 Montserrat,sans-serif;color:rgba(221,227,236,.68)}
  .d3m-flow-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .d3m-flow-card{min-width:0;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(4,7,12,.72)}
  .d3m-flow-card--nko{box-shadow:inset 2px 0 rgba(240,70,198,.65)}
  .d3m-flow-card--b2b{box-shadow:inset 2px 0 rgba(240,149,72,.65)}
  .d3m-flow-card--b2c{box-shadow:inset 2px 0 rgba(120,218,101,.65)}
  .d3m-flow-card--b2g{box-shadow:inset 2px 0 rgba(47,197,255,.65)}
  .d3m-flow-card__head{display:flex;align-items:center;gap:9px}
  .d3m-flow-card__head img{width:31px;height:34px;object-fit:contain;flex:0 0 auto}
  .d3m-flow-card__head strong{font:800 14px/1.05 Montserrat,sans-serif;color:#f5f7fa}
  .d3m-flow-card__copy{margin:7px 0 0;font:500 9px/1.4 Montserrat,sans-serif;color:rgba(220,227,236,.66)}
  .d3m-flow-card .d3m-pills{margin-top:10px;gap:4px}.d3m-flow-card .d3m-pills span{font-size:6.8px;padding:3px 6px}

  /* Third screen: native flow only. No fixed background, no route, no 100svh cards. */
  body.home-demo-page .hd-story{position:relative!important;min-height:0!important;height:auto!important;background:#ffffff!important;overflow:visible!important}
  body.home-demo-page .hd-stage{position:relative!important;inset:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:0!important;padding:34px 0 22px!important;overflow:visible!important;background:#ffffff!important;transform:none!important;filter:none!important;contain:none!important}
  body.home-demo-page .hd-stage::before,body.home-demo-page .hd-stage::after{content:none!important;display:none!important;opacity:0!important;background:none!important}
  body.home-demo-page .hd-ambient,body.home-demo-page .hd-route,body.home-demo-page .hd-mobile-progress,body.home-demo-page .hd-scroll-hint,body.home-demo-page .hd-triggers{display:none!important}
  body.home-demo-page .hd-stage__layout{display:block!important;width:min(calc(100% - 28px),920px)!important;height:auto!important;min-height:0!important;margin:0 auto!important;padding:0!important;transform:none!important}
  body.home-demo-page .hd-panels{display:block!important;position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important}
  body.home-demo-page .hd-panel,body.home-demo-page .hd-panel--mvp,body.home-demo-page .hd-panel--contact{
    position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;align-items:start!important;gap:24px!important;
    width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:34px 0 42px!important;border-bottom:1px solid rgba(45,57,70,.09)!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;filter:none!important;transition:none!important;contain:none!important;
  }
  body.home-demo-page .hd-panel[aria-hidden="true"]{visibility:visible!important;display:grid!important}
  body.home-demo-page .hd-copy{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;transform:none!important;opacity:1!important;filter:none!important}
  body.home-demo-page .hd-brandline{margin:0 0 12px!important}.hd-brandline img{width:28px!important;height:auto!important}
  body.home-demo-page .hd-eyebrow{margin:0 0 8px!important;font-size:9px!important}
  body.home-demo-page .hd-title,body.home-demo-page .hd-panel--brand .hd-title,body.home-demo-page .hd-panel--mvp .hd-title,body.home-demo-page .hd-panel--club .hd-title,body.home-demo-page .hd-panel--contact .hd-title{max-width:none!important;margin:0!important;font-size:clamp(30px,5.3vw,48px)!important;line-height:1!important;letter-spacing:-.05em!important}
  body.home-demo-page .hd-offer,body.home-demo-page .hd-panel--mvp .hd-offer{margin-top:14px!important;font-size:15px!important;line-height:1.42!important}
  body.home-demo-page .hd-description,body.home-demo-page .hd-panel--mvp .hd-description{margin-top:9px!important;font-size:11.5px!important;line-height:1.58!important}
  body.home-demo-page .hd-tags{margin-top:13px!important;gap:5px!important}.hd-tags span{font-size:8px!important;padding:5px 8px!important}
  body.home-demo-page .hd-actions{margin-top:16px!important;gap:8px!important}.hd-btn{min-height:43px!important;padding:0 13px!important;font-size:10px!important}
  body.home-demo-page .hd-visual{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:14px!important;overflow:hidden!important;border-radius:22px!important;transform:none!important;opacity:1!important;filter:none!important;background:linear-gradient(145deg,#ffffff,#f8fafc)!important;border:1px solid rgba(33,45,58,.10)!important;box-shadow:0 14px 34px rgba(55,68,84,.08),inset 0 1px #fff!important}
  body.home-demo-page .hd-visual::before,body.home-demo-page .hd-visual::after{display:none!important}
  body.home-demo-page .hd-reveal,body.home-demo-page .hd-panel .hd-reveal{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;transition:none!important}
  body.home-demo-page .hd-web-stack{position:relative!important;width:100%!important;height:380px!important;min-height:0!important}
  body.home-demo-page .hd-product-screens{position:relative!important;width:100%!important;height:390px!important;min-height:0!important}
  body.home-demo-page .hd-flow-chain,body.home-demo-page .hd-visual-caption{position:static!important;transform:none!important;margin-top:12px!important;white-space:normal!important}
  body.home-demo-page .hd-form{width:100%!important;max-height:none!important;overflow:visible!important}
  body.home-demo-page .hd-form__grid{grid-template-columns:1fr!important}
  body.home-demo-page .hd-form__wide{grid-column:auto!important}
  body.home-demo-page .hd-after-story{padding:34px 14px 52px!important;background:#ffffff!important}
  body.home-demo-page .hd-btn--primary,body.home-demo-page .hd-btn--primary:visited{background:linear-gradient(180deg,#343a43,#0b0e13)!important;border:1px solid rgba(15,21,28,.84)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;box-shadow:inset 0 1px rgba(255,255,255,.12),0 9px 22px rgba(27,35,44,.16)!important}
  body.home-demo-page .hd-btn--secondary,body.home-demo-page .hd-btn--secondary:visited{background:#fff!important;border:1px solid rgba(48,61,76,.16)!important;color:#1c2530!important;-webkit-text-fill-color:#1c2530!important;text-decoration:none!important}



  /* Complex desktop visuals become normal document-flow components on tablet/mobile. */
  body.home-demo-page #soulu-flow .hd-flow-showcase{position:relative!important;left:auto!important;display:grid!important;gap:12px!important;width:100%!important;height:auto!important;min-height:0!important;transform:none!important}
  body.home-demo-page #soulu-flow .hd-flow-shot{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;transform:none!important;margin:0!important}
  body.home-demo-page #soulu-flow .hd-visual-caption--flow{position:static!important;inset:auto!important;width:100%!important;max-width:none!important;margin:10px 0 0!important;transform:none!important}

  body.home-demo-page #create-flow .mvp-premium{position:relative!important;left:auto!important;top:auto!important;width:100%!important;min-height:0!important;display:grid!important;gap:12px!important;transform:none!important}
  body.home-demo-page #create-flow .mvp-ui,
  body.home-demo-page #create-flow .mvp-main,
  body.home-demo-page #create-flow .mvp-member,
  body.home-demo-page #create-flow .mvp-economy{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;max-width:100%!important;min-height:0!important;transform:none!important;margin:0!important}
  body.home-demo-page #create-flow .mvp-caption{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;bottom:auto!important;width:100%!important;margin:0!important;transform:none!important;text-align:left!important}
  body.home-demo-page #create-flow .mvp-economy-top{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.home-demo-page #create-flow .mvp-economy-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  body.home-demo-page #soulu-club .club-right-stage{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;max-width:100%!important;margin:0!important;transform:none!important}
  body.home-demo-page #soulu-club .club-dark-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;max-width:none!important}
  body.home-demo-page #soulu-club .club-dark-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important}

  /* No hover-only motion on touch. */
  @media (hover:none),(pointer:coarse){
    .d3m-card,.d3m-flow-card,body.home-demo-page .hd-btn,body.home-demo-page .hd-visual *{transition:none!important}
  }
}

@media (max-width:767px){
  body.home-demo-page .d3m-ecosystem{padding:calc(68px + env(safe-area-inset-top)) 13px 48px!important}
  .d3m-hero{gap:18px;padding:14px 0 34px}.d3m-brandline img{width:40px;height:44px}.d3m-brandline strong{font-size:15px}
  .d3m-title{font-size:clamp(28px,8vw,32px)!important;line-height:1.01!important;letter-spacing:-.04em!important}.d3m-copy{font-size:12.5px!important}
  .d3m-grid{grid-template-columns:1fr!important;gap:10px!important}.d3m-card{min-height:0!important;padding:16px!important}.d3m-card__title{font-size:17px!important}
  .d3m-flow{margin-top:34px!important;padding:15px!important;border-radius:21px!important}.d3m-flow-grid{grid-template-columns:1fr!important;gap:8px!important}.d3m-flow-card{padding:13px!important}
  body.home-demo-page .hd-stage{padding:24px 0 16px!important}.hd-stage__layout{width:calc(100% - 22px)!important}
  body.home-demo-page .hd-panel,body.home-demo-page .hd-panel--mvp,body.home-demo-page .hd-panel--contact{grid-template-columns:1fr!important;gap:18px!important;padding:28px 0 34px!important}
  body.home-demo-page .hd-title,body.home-demo-page .hd-panel--brand .hd-title,body.home-demo-page .hd-panel--mvp .hd-title,body.home-demo-page .hd-panel--club .hd-title,body.home-demo-page .hd-panel--contact .hd-title{font-size:clamp(31px,10.2vw,44px)!important}
  body.home-demo-page .hd-offer,body.home-demo-page .hd-panel--mvp .hd-offer{font-size:14px!important}.hd-description{font-size:11px!important}
  body.home-demo-page .hd-actions{display:grid!important;grid-template-columns:1fr!important}.hd-btn{width:100%!important}
  body.home-demo-page .hd-visual{padding:12px!important;border-radius:19px!important}
  body.home-demo-page .hd-web-stack{height:clamp(250px,72vw,310px)!important}.hd-product-screens{height:clamp(250px,72vw,310px)!important}
  body.home-demo-page #create-flow .mvp-economy-top,body.home-demo-page #create-flow .mvp-economy-grid,body.home-demo-page #create-flow .mvp-cols{grid-template-columns:1fr!important}
}

@media (max-width:390px){
  .d3m-title{font-size:clamp(30px,8.8vw,35px)!important}.d3m-tags span{font-size:7.4px!important}.d3m-card__copy{font-size:9.5px!important}
  body.home-demo-page .hd-title,body.home-demo-page .hd-panel--brand .hd-title,body.home-demo-page .hd-panel--mvp .hd-title,body.home-demo-page .hd-panel--club .hd-title,body.home-demo-page .hd-panel--contact .hd-title{font-size:31px!important}
}

@media (prefers-reduced-motion:reduce){
  [data-d3m-reveal],body.home-demo-page [data-demo-panel]{animation:none!important;transition:none!important}
}

/* 4.18.0: presentation layer moved to a separate mobile app runtime. */
@media (max-width:1024px){
  body.home-demo-page .d3m-ecosystem{display:none!important}
  body.home-demo-page .hm-hero.demo3-hero{display:none!important}
}
