/* Phone & small tablet layer (≤900px): real reflow instead of scaling the 1440 layout. */
.menu-btn{display:none}
@media (max-width:900px){
  html,body,body.page,.site{width:auto!important;zoom:1!important}
  body{font-size:14px;overflow-x:clip}
  .wrap{width:auto!important;padding:0 20px}
  .sec{padding:72px 0}
  .ghost{font-size:clamp(90px,34vw,160px)!important;opacity:.7}
  .slash,.bar:not(.tbar),.side,.sns{display:none!important}

  /* header → compact bar + full-screen menu */
  body.page header{position:fixed!important}
  header{position:absolute;padding:12px 16px!important;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--g2)}
  .logo{font-size:20px}.logo i{width:32px;height:32px;font-size:12px}
  .menu-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--k);color:var(--y);border:0;font:700 11px Questrial;letter-spacing:.1em;cursor:pointer;z-index:60}
  nav{position:fixed!important;inset:0;display:none!important;flex-direction:column;align-items:stretch;gap:4px;border-radius:0!important;border:0!important;padding:84px 20px 30px!important;background:#fff!important;overflow:auto;z-index:50}
  body.menu-open nav{display:flex!important}
  body.menu-open{overflow:hidden}
  nav>a{font-size:20px!important;letter-spacing:.2em!important;padding:16px 18px!important;border-radius:14px!important;border-bottom:1px solid var(--g1)}
  nav>a small{text-align:left!important;font-size:11px!important}
  nav>a:nth-child(2){display:none}
  nav .mega{display:grid!important;position:static!important;width:auto!important;grid-template-columns:1fr 1fr!important;box-shadow:none!important;border:0!important;padding:0!important;order:2}
  nav .mega a{padding:14px!important;background:var(--g1)}
  nav a.cta{order:3;text-align:center;margin-top:10px}
  .prog{position:fixed!important}

  /* any multi-column grid → single column; small-card grids → 2 columns */
  [class]{min-width:0}
  .about,.biz,.biz2,.news,.collab,.week,.prob,.mv,.ov,.ceo,.proof,.usecase,.svc3,.grid2,.grid3,.step,.uc,.why,.tl,.cap4,.line{grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:16px!important}
  .pw,.stats,.kpis,.works,.amb,.svc,.flow,.flow6,.proc,.str,.grid4,.ctab .row,.pillars,footer .cols{grid-template-columns:1fr 1fr!important;gap:12px!important}
  .wrap [style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .wrap [style*="display:flex"]{flex-wrap:wrap;gap:16px}
  .wrap [style*="width:"]:not(img):not(i):not(.dot){max-width:100%}
  [style*="grid-column"],[style*="grid-row"]{grid-column:auto!important;grid-row:auto!important}
  .biz>*,.biz2>*{min-height:220px;grid-column:auto!important;grid-row:auto!important}
  img{max-width:100%}

  /* type scale */
  .h{flex-wrap:wrap;gap:12px;margin-bottom:32px}
  .h h2{font-size:30px!important;letter-spacing:.2em}
  .h p{width:100%}
  h3,.about h3,.mv h3{font-size:26px!important;line-height:1.45!important}
  .bignum,.stats .v,.kpis .v{font-size:40px!important}
  .ctab{padding:64px 0}.ctab h3{font-size:52px!important}
  .ctab .c{padding:20px 56px 20px 18px!important}
  .ctab .c .ar{right:14px;bottom:14px;width:34px;height:34px}
  .wrap [style*="font-size:4"],.wrap [style*="font-size:5"],.wrap [style*="font-size:6"],.wrap [style*="font-size:7"],.wrap [style*="font-size:8"],.wrap [style*="font-size:9"]{font-size:clamp(28px,9vw,40px)!important;line-height:1.2!important}
  .wrap [style*="font-size:3"]{font-size:clamp(22px,7vw,30px)!important}

  /* pillars */
  .pillars a{padding:18px 16px!important;border-bottom:1px solid #222}
  .pillars a .t{font-size:14px!important;letter-spacing:.14em!important}
  .pillars a .ar{display:none}
  .pillars a:first-child{grid-column:1/-1}

  /* heroes: stack absolutely-placed content */
  .phero,.gh,.mh,.dh,.hero{height:auto!important;min-height:0!important;padding:96px 20px 40px!important;display:flex;flex-direction:column;gap:24px}
  .phero .pill,.gh .pill,.mh .pill,.dh .pill{position:relative!important;left:auto!important;top:auto!important}
  .phero h1{font-size:clamp(56px,19vw,92px)!important}
  .gh h1,.mh h1,.dh h1{font-size:clamp(30px,9vw,44px)!important}
  .phero .lead{font-size:17px}
  .subnav{position:relative!important;left:auto!important;overflow-x:auto;max-width:100%;margin:0 -20px;border-right:0}
  .subnav a{white-space:nowrap;padding:12px 18px}
  .phero>[style*="position:absolute"],.phero>img{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:min(100%,320px)!important;height:auto!important;align-self:center;transform:none!important}
  .pcbox{position:relative!important;right:auto!important;top:auto!important;width:min(100%,300px)!important;height:360px!important;align-self:center}
  .term{position:relative!important;right:auto!important;top:auto!important;width:100%!important}
  .phone{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:200px!important;height:400px!important;transform:none!important;display:inline-block}
  .mh .phone:not(:first-of-type){display:none}
  .tl2{display:none}

  /* top hero */
  .hero{align-items:center;text-align:center;padding-top:110px!important}
  .hero .ring{display:none}
  .hero .ghost{top:120px!important}
  .hero .mascot{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:240px!important;height:240px!important}
  .hero .mascot img{width:190px!important}
  .hero .copy{position:relative!important;top:auto!important}
  .hero .copy h1{font-size:clamp(46px,14vw,72px)!important}
  .hero .copy p{font-size:15px}
  .marq{height:46px;font-size:12px}

  /* sections */
  .bc{padding:24px!important}.bc h4{font-size:24px!important}.bc .art{opacity:.35;max-width:55%}
  .code{display:none}
  .mem{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
  .mem .m{width:150px!important;scroll-snap-align:start}.mem .m .im{width:150px!important;height:150px!important}
  .pc{height:340px!important}.pc.big{grid-row:auto!important;height:420px!important}.pc.big img{width:300px!important;top:40px!important}.pc.big .info .nm{font-size:44px!important}.pc img{width:220px!important}
  .tl{border-top:0!important;border-left:2px solid var(--k);padding:0 0 0 22px!important}
  .tl>div{position:relative}.tl div:before{top:6px!important;left:-31px!important}
  .flow6{border-top:0!important}.flow6>div:before{display:none}
  .prob>*:nth-child(2){transform:rotate(90deg);justify-self:center}
  .ov table{width:100%}.ov th{width:96px!important;font-size:12px}
  .map{min-height:280px!important}
  .ceo .ph{height:300px!important}
  .uc{grid-template-columns:72px 1fr!important}
  .sv{min-height:0!important}
  footer{padding:56px 0 30px}
  footer .cols>div:first-child{grid-column:1/-1}
  footer .copy{flex-direction:column;gap:6px}
  table{font-size:13px}
}
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  .tilt{transform:none!important}
}
@media (max-width:900px){
  .tabs{flex-wrap:wrap;gap:8px!important}.tabs a{padding:8px 14px!important;font-size:11px!important}
  .spons{flex-wrap:wrap;gap:10px 22px;justify-content:center!important;padding:24px 0!important}.spons span{font-size:20px!important}.spons span:first-child{width:100%;text-align:center}
  .stats>div{padding:20px!important}
}
@media (max-width:900px){
  header .logo{color:var(--k)!important}
  .btn{white-space:nowrap;padding:14px 22px!important}
  .ctab .row{grid-template-columns:1fr!important}
  .phero h1:not(:lang(en)){font-size:clamp(40px,12.5vw,64px)!important;line-height:1.1!important}
}
@media (max-width:900px){
  .tl2,.hero .ring,.code{display:none!important}
  .mh .phone{display:block!important;align-self:center}
  .mh .phone+.phone{display:none!important}
  .mh .phone .sc{transform:none}
}
@media (max-width:900px){
  body.menu-open header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff}
  body.menu-open .logo{position:relative;z-index:60}
}
/* real logos & sponsor images */
.logo img{height:40px;width:auto;display:block}
.logo img.wm{height:20px}
footer .logo img{height:44px}footer .logo img.wm{height:22px}
.spmq span{display:inline-flex;align-items:center}
.spmq .chip{background:transparent;height:44px;width:150px;padding:0 10px;flex-shrink:0;justify-content:center}
.spmq img{height:34px!important;width:130px!important;max-width:none!important;object-fit:contain;flex-shrink:0;display:block}
.spmq .mq-in{align-items:center;gap:22px}
.spons img{height:44px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:.25s}
.spons img:hover{filter:none;opacity:1}
.mascot img,img.mascot{object-fit:contain}
@media (max-width:900px){.logo img{height:32px}.logo img.wm{height:16px}.spmq .chip{height:32px;width:110px;padding:0 6px}.spmq img{height:26px!important;width:96px!important}.spons img{height:32px;max-width:110px}}
@media (min-width:901px){header.ondark .logo img{filter:invert(1)}}
/* hero videos (team / school / dev / gear / media) */
.hv{position:absolute;z-index:2;display:block;border-radius:24px;object-fit:cover;background:#111;box-shadow:0 40px 100px rgba(0,0,0,.28)}
@media (max-width:900px){.hv{position:relative!important;right:auto!important;top:auto!important;left:auto!important;width:100%!important;max-width:460px;margin:24px auto 0;border-radius:18px;order:5}.phero .subnav{order:6}}

.spmq .lb b{color:var(--mut)}
/* v13: phone sub navigation as swipeable chips (no squashed first tab) */
@media (max-width:900px){
  .subnav{display:flex!important;gap:8px!important;overflow-x:auto!important;background:transparent!important;border:0!important;padding:4px 20px 6px!important;margin:0 -20px!important;scrollbar-width:none;position:relative!important;z-index:4;scroll-snap-type:x proximity}
  .subnav::-webkit-scrollbar{display:none}
  .subnav a{flex:none!important;width:auto!important;min-width:0!important;padding:10px 16px!important;border-radius:999px!important;border:1px solid var(--g2)!important;background:#fff!important;font-size:13px!important;line-height:1.2!important;scroll-snap-align:start;box-shadow:0 2px 8px rgba(0,0,0,.05)}
  .subnav a.on{background:var(--k)!important;color:#fff!important;border-color:var(--k)!important}
}
