
/* ============================================================
   MOBILE LAYER — everything below is inside media queries only,
   so desktop rendering is completely untouched.
   ============================================================ */
@media (max-width:768px){
  /* ---------- top brand bar ---------- */
  .hbrand{ padding:11px 14px !important; }
  .hbrand .hb-logo img{ height:26px !important; }
  .hb-cobrand{ gap:9px !important; }
  .hb-cobrand img{ height:15px !important; }
  .hb-cobrand img[alt="AWS"]{ height:19px !important; }
  .hb-cobrand .x{ font-size:10px !important; }

  /* ---------- bottom menu: full-width wrapping glass bar ---------- */
  .hbottom{ left:8px !important; right:8px !important; transform:none !important; width:auto !important; max-width:none !important; display:flex !important; flex-flow:row wrap !important; align-items:center !important; justify-content:center !important; gap:7px !important; padding:12px 10px 14px !important; border-radius:20px 20px 0 0 !important; }
  .hbottom .tabbar{ display:flex !important; flex-flow:row wrap !important; justify-content:center !important; gap:6px !important; width:100% !important; order:1 !important; }
  .hbottom .tab{ flex:0 0 auto !important; padding:9px 13px !important; font-size:10.5px !important; letter-spacing:.2px !important; border-radius:999px !important; }
  .hbottom .hbottom-nav{ order:2 !important; gap:16px !important; margin-top:2px !important; }
  .hbottom #aegis, .hbottom .aegis-wrap{ order:3 !important; margin:2px 0 0 !important; }
  .hb-legal{ position:static !important; top:auto !important; bottom:auto !important; order:4 !important; flex-basis:100% !important; width:100% !important; text-align:center !important; padding-top:8px !important; font-size:9px !important; }

  /* ---------- HOMEPAGE slider: let tall slides scroll, shrink type ---------- */
  #hero.hero-v2, #hero.hero-v2.hero-slides{ padding:0 !important; }
  .hero-v2 .hpage{ align-items:flex-start !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch !important; }
  .hero-v2 .hpage-inner{ padding:84px 18px 210px !important; }
  .hero-v2 .pc-grid{ grid-template-columns:1fr !important; gap:16px !important; }
  .hero-v2 .pc-left .pC-title{ font-size:31px !important; letter-spacing:-1px !important; margin-bottom:12px !important; }
  .hero-v2 .pC-sub, .hero-v2 .pc-left .pC-sub{ font-size:14px !important; max-width:none !important; }
  .hero-v2 .climb.vert{ gap:8px !important; }
  .hero-v2 .climb.vert .tcard{ padding:13px 15px !important; }
  .hero-v2 .climb.vert .tcard .tc-name{ font-size:18px !important; }
  .hero-v2 .climb.vert .tcard .tc-desc{ -webkit-line-clamp:3 !important; }
  .hero-v2 .climb.vert .climb-link{ display:none !important; }
  .hero-v2 .hero-eyebrow-row{ margin-bottom:18px !important; }
  .hero-v2 .he-line{ width:28px !important; }
  .hero-v2 .he-text{ font-size:9.5px !important; letter-spacing:1.4px !important; }
  .hero-v2 .p1 .hero-title{ font-size:27px !important; line-height:1.14 !important; }
  .hero-v2 .p2-label{ font-size:17px !important; letter-spacing:.5px !important; }
  .hero-v2 .p2-big{ font-size:40vw !important; letter-spacing:-4px !important; margin-bottom:10px !important; }
  .hero-v2 .p2-desc{ font-size:14.5px !important; }
  .hero-v2 .pc-dragon, .hero-v2 .pc-portal{ display:none !important; }
  /* keep the dragon video readable behind text on small screens */
  .hero-v2 .hero-bgoverlay{ background:linear-gradient(0deg, rgba(5,4,15,.96) 0%, rgba(5,4,15,.82) 45%, rgba(5,4,15,.86) 100%) !important; }

  /* ---------- PLATFORM ---------- */
  .plat{ grid-template-columns:1fr !important; gap:22px !important; padding:74px 16px 190px !important; min-height:0 !important; }
  .plat-right{ order:-1 !important; }
  .plat-right::before{ display:none !important; }
  .plat-h1{ font-size:31px !important; }
  .plat-lead{ font-size:14.5px !important; }
  .plat-slider .plat-cap strong{ font-size:18px !important; }
  .pcat b{ font-size:15px !important; }
  .pcat p{ font-size:12.5px !important; }

  /* ---------- JOURNEY (allow scroll on mobile) ---------- */
  body{ }
  .jrn-grid2{ grid-template-columns:1fr !important; gap:22px !important; }
  .jrn-h1{ font-size:31px !important; }
  .jrn-lead{ font-size:14.5px !important; }
  .jrn-cred-grid{ grid-template-columns:1fr 1fr !important; gap:10px !important; }
  .jcred{ padding:13px !important; }

  /* ---------- PRICING / HACKATHON bundles ---------- */
  .aif-mini-footer{ padding-bottom:180px !important; }
}

@media (max-width:480px){
  .hbottom .tab{ padding:8px 11px !important; font-size:10px !important; }
  .hero-v2 .pc-left .pC-title{ font-size:27px !important; }
  .hero-v2 .p2-big{ font-size:44vw !important; }
  .jrn-cred-grid{ grid-template-columns:1fr !important; }
  .plat-h1, .jrn-h1{ font-size:27px !important; }
}

/* ============================================================
   MOBILE v2 — best-in-class phone experience (desktop untouched;
   everything here is inside media queries). Supersedes earlier
   mobile rules via cascade order + !important.
   ============================================================ */
@media (max-width:768px){
  /* ---------- TOP BRAND BAR ---------- */
  .hbrand{ padding:11px 14px !important; }
  .hbrand .hb-logo{ gap:9px !important; }
  .hbrand .hb-logo img{ height:24px !important; }
  .hb-word{ font-size:13px !important; letter-spacing:.2px !important; }
  .hb-cobrand{ gap:7px !important; }
  .hb-cobrand img{ height:13px !important; }
  .hb-cobrand img[alt="AWS"]{ height:17px !important; }
  .hb-cobrand .x{ font-size:9px !important; }

  /* ---------- BOTTOM GLASS MENU ---------- */
  .hbottom{ left:7px !important; right:7px !important; bottom:0 !important; top:auto !important; transform:none !important; width:auto !important; max-width:none !important; display:flex !important; flex-flow:row wrap !important; align-items:center !important; justify-content:center !important; gap:6px !important; padding:9px 9px 11px !important; border-radius:18px 18px 0 0 !important; }
  .hbottom .tabbar{ display:flex !important; flex-flow:row wrap !important; justify-content:center !important; gap:6px !important; width:100% !important; order:1 !important; }
  .hbottom .tab{ flex:0 0 auto !important; padding:8px 13px !important; font-size:10.5px !important; letter-spacing:.2px !important; border-radius:999px !important; white-space:nowrap !important; }
  .hbottom .hbottom-nav{ order:2 !important; gap:16px !important; margin-top:3px !important; }
  .hbottom #aegis, .hbottom .aegis-wrap{ order:3 !important; margin:3px 0 0 !important; }
  .hb-legal{ position:static !important; top:auto !important; bottom:auto !important; order:4 !important; flex-basis:100% !important; width:100% !important; text-align:center !important; padding-top:7px !important; font-size:8.5px !important; }

  /* ---------- HOMEPAGE SLIDER ---------- */
  #hero.hero-v2.hero-slides{ padding:0 !important; height:100dvh !important; min-height:100dvh !important; }
  .hero-v2 .hslides, .hero-v2 .hslides .slider, .hero-v2 .hslides .slider-viewport, .hero-v2 .hslides .slider-track, .hero-v2 .hslides .slide{ height:100dvh !important; }
  .hero-v2 .hpage{ height:100dvh !important; align-items:flex-start !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch !important; }
  .hero-v2 .hpage-inner{ padding:80px 20px 195px !important; }
  /* video readable: darker top+bottom, gentle middle */
  .hero-v2 .hero-bgoverlay{ background:linear-gradient(0deg, rgba(5,4,15,.95) 0%, rgba(5,4,15,.74) 42%, rgba(5,4,15,.86) 100%) !important; }
  .hero-v2 .pc-dragon, .hero-v2 .pc-portal{ display:none !important; }
  /* slide 1 — Slay + tiers */
  .hero-v2 .pc-grid{ grid-template-columns:1fr !important; gap:18px !important; }
  .hero-v2 .hj-eyebrow{ font-size:10px !important; margin-bottom:12px !important; }
  .hero-v2 .pc-left .pC-title{ font-size:31px !important; line-height:1.03 !important; letter-spacing:-1px !important; margin-bottom:12px !important; }
  .hero-v2 .pC-sub, .hero-v2 .pc-left .pC-sub{ font-size:15px !important; max-width:none !important; margin-bottom:14px !important; }
  .hero-v2 .pc-left .pC-define{ font-size:14px !important; padding-left:12px !important; }
  .hero-v2 .climb.vert{ gap:10px !important; }
  .hero-v2 .climb.vert .tcard{ padding:15px 16px !important; }
  .hero-v2 .climb.vert .tcard .tc-name{ font-size:19px !important; }
  .hero-v2 .climb.vert .tcard .tc-desc{ font-size:14px !important; line-height:1.45 !important; }
  .hero-v2 .climb.vert .climb-link{ display:none !important; }
  /* slide 2 — AI adoption */
  .hero-v2 .hero-eyebrow-row{ margin-bottom:18px !important; }
  .hero-v2 .he-line{ width:26px !important; }
  .hero-v2 .he-text{ font-size:9.5px !important; letter-spacing:1.3px !important; }
  .hero-v2 .p1 .hero-title{ font-size:27px !important; line-height:1.16 !important; }
  /* slide 3 — 90% */
  .hero-v2 .p2-label{ font-size:16px !important; letter-spacing:.4px !important; }
  .hero-v2 .p2-big{ font-size:44vw !important; letter-spacing:-3px !important; margin-bottom:6px !important; }
  .hero-v2 .p2-desc{ font-size:15px !important; line-height:1.55 !important; }

  /* ---------- JOURNEY (stack: story + highlighted stat, then the trail) ---------- */
  .jrn-hero{ height:auto !important; min-height:100dvh !important; padding:74px 18px 150px !important; align-items:flex-start !important; }
  .jrn-grid2{ grid-template-columns:1fr !important; gap:22px !important; }
  .jrn-left .jrn-h1{ font-size:30px !important; line-height:1.02 !important; margin:8px 0 12px !important; }
  .jrn-lead{ font-size:16px !important; max-width:none !important; margin-bottom:14px !important; }
  .jrn-flow{ font-size:14.5px !important; line-height:1.6 !important; max-width:none !important; margin-bottom:18px !important; }
  /* 7–9% becomes a real highlight on mobile */
  .jrn-stat{ display:block !important; text-align:center !important; padding:20px 18px !important; border-width:2px !important; border-color:rgba(232,24,90,.7) !important; box-shadow:0 0 46px -10px rgba(232,24,90,.6) !important; background:radial-gradient(ellipse 130% 130% at 50% 0%, rgba(232,24,90,.18), transparent 70%) !important; }
  .jrn-stat .n{ font-size:58px !important; letter-spacing:-2px !important; }
  .jrn-stat .l{ font-size:11.5px !important; }
  .jrn-th-sub{ font-size:12px !important; max-width:none !important; }
  .jrn-trailhead{ margin:2px 0 12px 2px !important; }
  .jrn-trail::before{ left:21px !important; top:34px !important; bottom:36px !important; }
  .jstep{ gap:14px !important; padding:9px 8px 9px 0 !important; }
  .jdot{ width:44px !important; height:44px !important; }
  .jdot svg{ width:21px !important; height:21px !important; }
  .jstep-meta{ font-size:9.5px !important; }
  .jstep h3{ font-size:18px !important; }
  .jstep p{ font-size:13.5px !important; max-width:none !important; }

  /* ---------- PLATFORM (laptop on top, then categories) ---------- */
  .plat{ grid-template-columns:1fr !important; gap:22px !important; padding:72px 16px 158px !important; min-height:0 !important; }
  .plat-right{ order:-1 !important; }
  .plat-right::before{ display:none !important; }
  .plat-h1{ font-size:30px !important; }
  .plat-lead{ font-size:15px !important; max-width:none !important; }
  .plat-slider .plat-cap strong{ font-size:18px !important; }
  .plat-slider .plat-cap span{ font-size:11px !important; }
  .pcat b{ font-size:16px !important; }
  .pcat p{ font-size:14px !important; }
  .pcat.is-active{ transform:translateX(3px) !important; }

  /* ---------- PRICING / HACKATHON (flat bundles) ---------- */
  #hero .hero-inner{ max-width:none !important; }
  #hero .hero-title{ font-size:30px !important; line-height:1.08 !important; }
  #hero .hero-sub{ font-size:14.5px !important; max-width:none !important; }
  .aif-mini-footer{ padding-bottom:165px !important; font-size:11px !important; }
  .hk-bgveil{ background:linear-gradient(0deg, rgba(5,4,15,.94) 0%, rgba(5,4,15,.9) 100%) !important; }
}

@media (max-width:430px){
  .hbottom .tab{ padding:8px 11px !important; font-size:10px !important; }
  .hero-v2 .pc-left .pC-title{ font-size:27px !important; }
  .hero-v2 .p1 .hero-title{ font-size:24px !important; }
  .hero-v2 .p2-big{ font-size:48vw !important; }
  .jrn-left .jrn-h1{ font-size:26px !important; }
  .jrn-stat .n{ font-size:52px !important; }
  .plat-h1{ font-size:26px !important; }
  .hb-cobrand img{ height:12px !important; } .hb-cobrand img[alt="AWS"]{ height:15px !important; }
}

/* ===== IGMENU v3b — Instagram-style fixed tab bar (icons+labels) ===== */
.tab-ic{ display:none; }
@media (max-width:768px){
  .hbottom{ left:10px !important; right:10px !important; bottom:10px !important; top:auto !important; transform:none !important; width:auto !important; max-width:none !important; display:flex !important; flex-flow:row nowrap !important; align-items:stretch !important; justify-content:center !important; gap:0 !important; padding:5px 6px !important; border-radius:30px !important; background:rgba(15,14,21,.84) !important; -webkit-backdrop-filter:blur(30px) saturate(1.5) !important; backdrop-filter:blur(30px) saturate(1.5) !important; border:1px solid rgba(255,255,255,.12) !important; box-shadow:0 16px 44px -12px rgba(0,0,0,.75) !important; }
  .hbottom .tabbar{ display:flex !important; flex-flow:row nowrap !important; align-items:stretch !important; justify-content:space-around !important; gap:0 !important; width:100% !important; max-width:none !important; padding:0 !important; background:none !important; border:none !important; }
  .hbottom .tab{ flex:1 1 0 !important; min-width:0 !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:4px !important; background:none !important; border:none !important; box-shadow:none !important; padding:7px 2px !important; border-radius:16px !important; color:rgba(255,255,255,.62) !important; font-weight:600 !important; font-size:8px !important; letter-spacing:0 !important; text-transform:none !important; white-space:nowrap !important; }
  .hbottom .tab span{ font-size:8px !important; line-height:1 !important; color:inherit !important; }
  .hbottom .tab .tab-ic{ display:block !important; width:24px !important; height:24px !important; background-color:currentColor !important; -webkit-mask:center/23px 23px no-repeat !important; mask:center/23px 23px no-repeat !important; }
  .hbottom .tab.is-active{ color:#fff !important; }
  .hbottom .tab.is-active .tab-ic{ background-color:#FF2D6F !important; }
  .hbottom .tab.is-active span{ color:#FF2D6F !important; }
  .hbottom .tab[data-nav="Home"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2010.7%2012%203l9%207.7%27%2F%3E%3Cpath%20d%3D%27M5%209.6V21h14V9.6%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2010.7%2012%203l9%207.7%27%2F%3E%3Cpath%20d%3D%27M5%209.6V21h14V9.6%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .tab[data-nav="The journey"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2021V4%27%2F%3E%3Cpath%20d%3D%27M5%204h12l-2.5%204L17%2012H5%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2021V4%27%2F%3E%3Cpath%20d%3D%27M5%204h12l-2.5%204L17%2012H5%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .tab[data-nav="Platform"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%204h18v12H3z%27%2F%3E%3Cpath%20d%3D%27M8%2020h8%27%2F%3E%3Cpath%20d%3D%27M12%2016v4%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%204h18v12H3z%27%2F%3E%3Cpath%20d%3D%27M8%2020h8%27%2F%3E%3Cpath%20d%3D%27M12%2016v4%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .tab[data-nav="Hackathon"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M13%202%205%2013h6l-1%209%209-12h-7z%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M13%202%205%2013h6l-1%209%209-12h-7z%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .tab[data-nav="Pricing"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20.6%2013.4%2013.4%2020.6a2%202%200%200%201-2.8%200l-7-7A2%202%200%200%201%203%2012V5a2%202%200%200%201%202-2h7a2%202%200%200%201%201.4.6l7.2%207.2a2%202%200%200%201%200%202.6z%27%2F%3E%3Cpath%20d%3D%27M7.6%207.6h.01%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20.6%2013.4%2013.4%2020.6a2%202%200%200%201-2.8%200l-7-7A2%202%200%200%201%203%2012V5a2%202%200%200%201%202-2h7a2%202%200%200%201%201.4.6l7.2%207.2a2%202%200%200%201%200%202.6z%27%2F%3E%3Cpath%20d%3D%27M7.6%207.6h.01%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .hbottom-nav{ position:absolute !important; left:0 !important; right:0 !important; bottom:calc(100% + 14px) !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:16px !important; margin:0 !important; padding:0 !important; }
  .hbottom #aegis, .hbottom .aegis-wrap{ position:absolute !important; right:4px !important; bottom:calc(100% + 10px) !important; margin:0 !important; }
  .hb-legal{ display:none !important; }
  .hero-v2 .hpage-inner{ padding-bottom:140px !important; }
  .jrn-hero{ padding-bottom:118px !important; }
  .plat{ padding-bottom:124px !important; }
  .aif-mini-footer{ padding-bottom:120px !important; }
}

/* ============================================================
   MOBILE v4 — centered app-style hero screens, consistent type,
   refined on-brand tab bar. Desktop untouched (media-query only).
   ============================================================ */
@media (max-width:768px){
  /* ---------- TOP LOGO BAR (balanced, app-like) ---------- */
  .hbrand{ padding:14px 18px !important; }
  .hbrand .hb-logo{ gap:9px !important; }
  .hbrand .hb-logo img{ height:26px !important; }
  .hb-word{ font-size:14px !important; letter-spacing:.3px !important; }
  .hb-cobrand{ gap:8px !important; }
  .hb-cobrand img{ height:16px !important; }
  .hb-cobrand img[alt="AWS"]{ height:20px !important; }
  .hb-cobrand .x{ font-size:10px !important; }

  /* ---------- HOMEPAGE: each slide = centered hero screen ---------- */
  .hero-v2 .hpage{ align-items:stretch !important; justify-content:flex-start !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch !important; text-align:center !important; }
  .hero-v2 .hpage-inner{ margin:auto !important; padding:90px 26px 132px !important; width:100% !important; max-width:540px !important; text-align:center !important; }
  .hero-v2 .pc-grid{ display:block !important; }
  .hero-v2 .pc-left{ display:flex !important; flex-direction:column !important; align-items:center !important; }
  .hero-v2 .hero-bgoverlay{ background:linear-gradient(180deg, rgba(5,4,15,.9) 0%, rgba(5,4,15,.68) 46%, rgba(5,4,15,.9) 100%) !important; }
  .hero-v2 .pc-dragon, .hero-v2 .pc-portal{ display:none !important; }

  /* eyebrows / labels — one consistent style */
  .hero-v2 .hj-eyebrow, .hero-v2 .tiers-m-eyebrow{ font-size:11px !important; font-weight:700 !important; letter-spacing:2.2px !important; text-transform:uppercase !important; color:var(--cyan) !important; text-align:center !important; margin-bottom:20px !important; }
  .hero-v2 .hero-eyebrow-row{ justify-content:center !important; margin-bottom:22px !important; }
  .hero-v2 .he-line{ display:none !important; }
  .hero-v2 .he-text{ font-size:11px !important; font-weight:700 !important; letter-spacing:2px !important; text-align:center !important; }

  /* hero titles — consistent scale */
  .hero-v2 .pc-left .pC-title{ font-size:34px !important; line-height:1.06 !important; letter-spacing:-1px !important; margin:0 0 16px !important; max-width:none !important; }
  .hero-v2 .p1 .hero-title{ font-size:31px !important; line-height:1.1 !important; letter-spacing:-1px !important; margin:0 auto !important; max-width:none !important; }

  /* body copy — consistent scale + breathing room */
  .hero-v2 .pC-sub, .hero-v2 .pc-left .pC-sub{ font-size:16px !important; line-height:1.55 !important; color:rgba(255,255,255,.75) !important; font-weight:300 !important; max-width:420px !important; margin:0 auto 18px !important; }
  .hero-v2 .pc-left .pC-define{ font-size:14.5px !important; line-height:1.55 !important; color:rgba(255,255,255,.8) !important; border-left:none !important; border:1px solid rgba(232,24,90,.28) !important; background:rgba(232,24,90,.08) !important; border-radius:14px !important; padding:15px 18px !important; margin:4px auto 0 !important; max-width:420px !important; text-align:center !important; }
  .hero-v2 .p1-sub{ font-size:16.5px !important; line-height:1.5 !important; color:rgba(255,255,255,.74) !important; max-width:440px !important; margin:20px auto 0 !important; }

  /* 90% slide */
  .hero-v2 .p2-label{ font-size:16px !important; letter-spacing:1px !important; }
  .hero-v2 .p2-big{ font-size:42vw !important; letter-spacing:-3px !important; margin:2px 0 10px !important; }
  .hero-v2 .p2-desc{ font-size:16px !important; line-height:1.55 !important; color:rgba(255,255,255,.78) !important; max-width:440px !important; margin:0 auto !important; }

  /* tiers slide (section B) — centered stack, compact */
  .hero-v2 .pBm .climb.vert{ align-items:stretch !important; gap:12px !important; max-width:360px !important; margin:0 auto !important; }
  .hero-v2 .pBm .tcard{ text-align:left !important; padding:16px 18px !important; }
  .hero-v2 .pBm .tc-name{ font-size:20px !important; }
  .hero-v2 .pBm .tc-desc{ font-size:14px !important; }
  .hero-v2 .climb.vert .climb-link{ display:none !important; }

  /* ---------- JOURNEY — centered, cleaner ---------- */
  .jrn-hero{ text-align:center !important; padding:86px 24px 130px !important; }
  .jrn-grid2{ text-align:center !important; gap:26px !important; }
  .jrn-left{ display:flex !important; flex-direction:column !important; align-items:center !important; }
  .jrn-left .section-label, .jrn-trailhead{ width:100% !important; text-align:center !important; }
  .jrn-left .jrn-h1{ font-size:33px !important; line-height:1.04 !important; }
  .jrn-lead{ font-size:16.5px !important; max-width:420px !important; margin:0 auto 14px !important; }
  .jrn-flow{ font-size:14.5px !important; max-width:420px !important; margin:0 auto 20px !important; }
  .jrn-stat{ margin:0 auto !important; }
  .jrn-th-sub{ text-align:center !important; max-width:420px !important; margin:16px auto 0 !important; }
  .jrn-trail{ max-width:400px !important; margin:6px auto 0 !important; text-align:left !important; }
  .jstep h3{ font-size:19px !important; } .jstep p{ font-size:14px !important; }

  /* ---------- TAB BAR — darker smoked glass, refined active state ---------- */
  .hbottom{ background:rgba(12,11,18,.72) !important; -webkit-backdrop-filter:blur(36px) saturate(1.6) !important; backdrop-filter:blur(36px) saturate(1.6) !important; border:1px solid rgba(255,255,255,.1) !important; box-shadow:0 18px 50px -14px rgba(0,0,0,.85) !important; padding:6px 7px !important; }
  .hbottom .tab{ gap:5px !important; padding:8px 3px !important; font-size:8.5px !important; font-weight:600 !important; color:rgba(255,255,255,.5) !important; border-radius:15px !important; transition:color .2s, background .2s !important; }
  .hbottom .tab .tab-ic{ width:23px !important; height:23px !important; -webkit-mask:center/22px 22px no-repeat !important; mask:center/22px 22px no-repeat !important; }
  .hbottom .tab.is-active{ color:#fff !important; background:linear-gradient(180deg, rgba(232,24,90,.26), rgba(232,24,90,.1)) !important; }
  .hbottom .tab.is-active .tab-ic{ background-color:#FF3D74 !important; }
  .hbottom .tab.is-active span{ color:#fff !important; }
  .hbottom .tab[data-nav="Home"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M11.3%203.3%203.6%2010a1.3%201.3%200%200%200-.45%201V20a1%201%200%200%200%201%201h4.4v-5.5a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201V21h4.4a1%201%200%200%200%201-1v-9a1.3%201.3%200%200%200-.45-1L12.7%203.3a1%201%200%200%200-1.4%200Z%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M11.3%203.3%203.6%2010a1.3%201.3%200%200%200-.45%201V20a1%201%200%200%200%201%201h4.4v-5.5a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201V21h4.4a1%201%200%200%200%201-1v-9a1.3%201.3%200%200%200-.45-1L12.7%203.3a1%201%200%200%200-1.4%200Z%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .tab[data-nav="The journey"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M6%203a1%201%200%200%200-1%201v17a1%201%200%201%200%202%200v-6h9.2a1%201%200%200%200%20.84-1.55L15.2%209.5l1.84-2.95A1%201%200%200%200%2016.2%205H7V4a1%201%200%200%200-1-1Z%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M6%203a1%201%200%200%200-1%201v17a1%201%200%201%200%202%200v-6h9.2a1%201%200%200%200%20.84-1.55L15.2%209.5l1.84-2.95A1%201%200%200%200%2016.2%205H7V4a1%201%200%200%200-1-1Z%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .tab[data-nav="Platform"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M4%204.5h6.4v6.4H4zM13.6%204.5H20v6.4h-6.4zM4%2013.1h6.4v6.4H4zM13.6%2013.1H20v6.4h-6.4z%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M4%204.5h6.4v6.4H4zM13.6%204.5H20v6.4h-6.4zM4%2013.1h6.4v6.4H4zM13.6%2013.1H20v6.4h-6.4z%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .tab[data-nav="Hackathon"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M13.6%202.2%204.8%2013.6a.6.6%200%200%200%20.48.97h4.6l-1%206.9a.5.5%200%200%200%20.9.37l8.5-11.4a.6.6%200%200%200-.48-.96h-4.2l1.42-6.2a.5.5%200%200%200-.9-.67Z%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M13.6%202.2%204.8%2013.6a.6.6%200%200%200%20.48.97h4.6l-1%206.9a.5.5%200%200%200%20.9.37l8.5-11.4a.6.6%200%200%200-.48-.96h-4.2l1.42-6.2a.5.5%200%200%200-.9-.67Z%27%2F%3E%3C%2Fsvg%3E") !important; }
  .hbottom .tab[data-nav="Pricing"] .tab-ic{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M20.7%2011%2013%2018.7a2.1%202.1%200%200%201-3%200l-5-5A2.1%202.1%200%200%201%204.3%2012V5.4A2.1%202.1%200%200%201%206.4%203.3H13a2.1%202.1%200%200%201%201.5.6l6.2%206.2a2.1%202.1%200%200%201%200%20.9ZM7.7%206.2a1.5%201.5%200%201%200%200%203%201.5%201.5%200%200%200%200-3Z%27%2F%3E%3C%2Fsvg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M20.7%2011%2013%2018.7a2.1%202.1%200%200%201-3%200l-5-5A2.1%202.1%200%200%201%204.3%2012V5.4A2.1%202.1%200%200%201%206.4%203.3H13a2.1%202.1%200%200%201%201.5.6l6.2%206.2a2.1%202.1%200%200%201%200%20.9ZM7.7%206.2a1.5%201.5%200%201%200%200%203%201.5%201.5%200%200%200%200-3Z%27%2F%3E%3C%2Fsvg%3E") !important; }
}
@media (max-width:380px){
  .hero-v2 .pc-left .pC-title{ font-size:30px !important; }
  .hero-v2 .p1 .hero-title{ font-size:27px !important; }
  .jrn-left .jrn-h1{ font-size:29px !important; }
  .hbottom .tab{ font-size:8px !important; }
}

/* ===== v5: bundle pages (pricing + hackathon) — consistent mobile type & margins ===== */
@media (min-width:769px){
  .hbrand .hb-cobrand img{ height:46px !important; }
  .hbrand .hb-cobrand img[alt="AWS"]{ height:54px !important; }
}
@media (max-width:768px){
  #hero, section, footer, .day, .stages, .manager, .cta, .compare-strip, .section-head{ padding-left:22px !important; padding-right:22px !important; }
  #hero h1, .hero-title{ font-size:32px !important; line-height:1.1 !important; }
  h2, .card h2{ font-size:25px !important; line-height:1.14 !important; }
  h3, .day-h, .section-head h3, .compare-strip h3{ font-size:19px !important; line-height:1.25 !important; }
  p, .day-body, .day-sub, .hk-lead, .hk-day-sub, .lede, .hero-sub, .tagline, .features li, li{ font-size:15px !important; line-height:1.6 !important; }
  .card{ padding:28px 22px !important; }
  .price-sub{ font-size:13px !important; }
}

/* ===== mobile auto-collapsing menu ("Menu" pill) ===== */
.hbottom .hb-menu-toggle{ display:none; }
@media (max-width:768px){
  .hbottom{ transition:max-width .32s ease, width .32s ease, padding .32s ease, left .32s ease, right .32s ease !important; }
  .hbottom .hb-menu-toggle{ align-items:center; gap:9px; background:linear-gradient(180deg, rgba(232,24,90,.92), rgba(232,24,90,.68)); color:#fff; border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:13px 22px; font-size:12.5px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; cursor:pointer; line-height:1; white-space:nowrap; }
  .hbottom.is-collapsed{ left:12px !important; right:auto !important; transform:none !important; width:max-content !important; max-width:max-content !important; padding:6px !important; }
  .hbottom.is-collapsed .tabbar{ display:none !important; }
  .hbottom.is-collapsed .hbottom-nav{ display:none !important; }
  .hbottom.is-collapsed #aegis, .hbottom.is-collapsed .aegis-wrap{ display:none !important; }
  .hbottom.is-collapsed .hb-menu-toggle{ display:inline-flex !important; }
}

/* ===== mobile v10: unified top bar (stacked logo + clearly visible FW/AWS) ===== */
@media (max-width:768px){
  .hbrand{ align-items:flex-start !important; padding:12px 16px !important; }
  .hbrand .hb-logo{ flex-direction:column !important; align-items:center !important; gap:3px !important; }
  .hbrand .hb-logo img{ height:38px !important; }
  .hb-word{ font-size:7.5px !important; letter-spacing:.4px !important; line-height:1 !important; white-space:nowrap !important; }
  .hb-cobrand{ display:flex !important; gap:12px !important; align-items:center !important; }
  .hb-cobrand img{ height:28px !important; }
  .hb-cobrand img[alt="AWS"]{ height:38px !important; }
  .hb-cobrand .x{ font-size:13px !important; }
}

/* ===== mobile v11: unify tab look on ALL pages (transparent inactive, magenta active) ===== */
@media (max-width:768px){
  .hbottom .tab{ background:transparent !important; border:none !important; box-shadow:none !important; }
  .hbottom .tab.is-active{ background:linear-gradient(180deg, rgba(232,24,90,.30), rgba(232,24,90,.12)) !important; box-shadow:inset 0 0 0 1px rgba(232,24,90,.35) !important; }
  .hbottom .tab.is-active .tab-ic{ background-color:#FF3D74 !important; }
  .hbottom .tab.is-active span{ color:#fff !important; }
}

/* ===== mobile v12: FW/AWS noticeably larger ===== */
@media (max-width:768px){
  .hbrand .hb-cobrand img{ height:42px !important; }
  .hbrand .hb-cobrand img[alt="AWS"]{ height:54px !important; }
  .hbrand .hb-cobrand .x{ font-size:15px !important; }
}

/* ===== mobile: centre the hackathon hero ===== */
@media (max-width:768px){
  #hero{ text-align:center !important; }
  #hero .hero-content{ text-align:center !important; margin:0 auto !important; display:flex !important; flex-direction:column !important; align-items:center !important; }
  #hero .hero-title{ margin-left:auto !important; margin-right:auto !important; }
  #hero .hero-lede, #hero .hero-body{ margin-left:auto !important; margin-right:auto !important; max-width:520px !important; }
}

/* ===== v13: balanced FW/AWS sizes (FW was too large) ===== */
@media (min-width:769px){ .hbrand .hb-cobrand img{ height:30px !important; } .hbrand .hb-cobrand img[alt="AWS"]{ height:50px !important; } }
@media (max-width:768px){ .hbrand .hb-cobrand img{ height:24px !important; } .hbrand .hb-cobrand img[alt="AWS"]{ height:42px !important; } }

/* ===== v15: flat menu at .tabbar .tab specificity (beats the pill rules) ===== */
@media (max-width:768px){
  .hbottom .tabbar .tab{ background:transparent !important; border:none !important; box-shadow:none !important; flex:1 1 0 !important; min-width:0 !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:5px !important; padding:8px 3px !important; border-radius:14px !important; font-size:8.5px !important; font-weight:600 !important; letter-spacing:0 !important; text-transform:none !important; color:rgba(255,255,255,.55) !important; }
  .hbottom .tabbar .tab span{ font-size:8.5px !important; color:inherit !important; }
  .hbottom .tabbar .tab.is-active{ background:linear-gradient(180deg, rgba(232,24,90,.30), rgba(232,24,90,.12)) !important; border:none !important; box-shadow:inset 0 0 0 1px rgba(232,24,90,.35) !important; color:#fff !important; }
  .hbottom .tabbar .tab.is-active .tab-ic{ background-color:#FF3D74 !important; }
  .hbottom .tabbar .tab.is-active span{ color:#fff !important; }
}

/* ===== v16: solid menu bar on mobile (text was showing through) ===== */
@media (max-width:768px){ .hbottom{ background:rgba(9,8,13,.97) !important; } .hbrand{ background:linear-gradient(180deg, rgba(7,6,14,.92) 0%, rgba(7,6,14,.55) 70%, transparent 100%) !important; } }

/* ===== v16: centre the seven-stage framework on mobile ===== */
@media (max-width:768px){
  .stages-h, .stages-sub{ text-align:center !important; }
  .stages-row{ text-align:center !important; }
  .stage{ align-items:center !important; text-align:center !important; }
  .stage-name, .stage-desc, .stage-num{ text-align:center !important; margin-left:auto !important; margin-right:auto !important; }
}

/* ===== v17: tighten pricing card spacing on mobile ===== */
@media (max-width:768px){
  .card{ padding:26px 22px 26px !important; }
  .card .tagline{ min-height:0 !important; margin-bottom:16px !important; }
  .card h2{ margin-bottom:12px !important; }
  .price-block{ padding:16px 0 !important; margin-bottom:16px !important; }
  .price{ margin-bottom:6px !important; }
  .price-sub{ margin-bottom:12px !important; }
  .features{ margin-top:22px !important; padding-top:20px !important; }
  .cta{ margin-top:2px !important; }
  .cta-sub{ margin-top:10px !important; margin-bottom:0 !important; }
}
