/* ===== 5757 Partner Overview — web site layer =====
   Desktop (>820px): fixed 16:9 slides from deck.css.
   Mobile (<=820px): slides reflow to a vertical scrolling site. */

/* top nav (both) */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;background:rgba(14,15,17,.82);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid rgba(255,255,255,.08);font-family:Inter,system-ui,sans-serif}
.nav img{height:18px;display:block}
.nav .sp{flex:1}
.nav .conf{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);white-space:nowrap}
.nav .menu{display:flex;gap:.2rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nav .menu::-webkit-scrollbar{display:none}
.nav .menu a{color:rgba(255,255,255,.72);text-decoration:none;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.45rem .6rem;border-radius:3px;white-space:nowrap}
.nav .menu a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav .menu a.on{color:#fff;background:rgba(245,47,38,.22)}
@media (max-width:820px){.nav .conf{display:none}.nav{padding:.6rem .8rem}.nav img{height:15px}}
html{scroll-behavior:smooth;scroll-padding-top:64px}

/* desktop helper: keyboard nav target */
.slide{scroll-margin-top:64px}
@media (max-width:820px){.slide{scroll-margin-top:52px}html{scroll-padding-top:52px}}

/* ===== MOBILE REFLOW ===== */
@media (max-width:820px){
  html,body{background:#0e0f11}
  .deck{display:block;padding:0;gap:0}
  .slide{width:100%;aspect-ratio:auto;min-height:0;overflow:visible;box-shadow:none;font-size:15px;border-bottom:1px solid rgba(255,255,255,.08)}
  .pad{position:static;padding:2.4rem 1.25rem 2.6rem}
  .pad[style]{padding:2.4rem 1.25rem 2.6rem!important}
  .slide{display:flex;flex-direction:column}
  .foot{position:static;order:99;margin:1.6rem 1.25rem 1.6rem;padding:0;font-size:.62rem;display:flex}
  .pad{order:2}
  .art.bg{order:1}
  .foot .num{opacity:.6}

  /* type scale */
  h1{font-size:2.6em;line-height:.95}
  h2{font-size:2.15em!important;line-height:1}
  h3{font-size:1.3em}
  .lede{font-size:1.15em!important;max-width:none}
  .body{max-width:none;font-size:1em}
  .eyebrow{font-size:.68em}
  .small{font-size:.82em}
  .hr{margin:1.2em 0}
  ul.clean{max-width:none!important}
  ul.clean li{font-size:.95em;padding:.6em 0}

  /* layout primitives */
  .row{display:flex!important;flex-direction:column;gap:1.4rem!important;height:auto!important;align-items:stretch!important}
  .col{flex:1 1 auto!important;width:auto!important;max-width:none!important;max-height:none!important;position:static!important;padding:0!important}
  .col[style*="display:grid"]{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;gap:.6rem!important}
  .col[style*="display:grid"] .art{aspect-ratio:4/3;min-height:0}
  .col[style*="display:grid"] > div[style*="grid-template-columns"]{display:contents}
  .col[style*="display:grid"] > p{grid-column:1/-1}
  .stats{grid-template-columns:1fr 1fr!important;gap:1.2em 1em;margin-top:1.4em!important}
  .stat .v{font-size:2em}
  .steps,.pieces,.feats,.timeline,.cats,.grid8,.org-subs{grid-template-columns:1fr!important}
  .pieces,.feats{gap:.8em}
  .timeline .tl{padding-top:.7em}
  .cats.big .cat .art{aspect-ratio:16/10}
  .cats{gap:1.4em}
  .cat b{margin-top:.6em}
  .grid8{grid-template-columns:1fr 1fr!important;gap:.6rem}
  .card .ct{padding:.6em .7em .7em}
  .card .ct b{font-size:.92em}
  .card .ct span{font-size:.72em}
  table{width:100%;font-size:.85em}
  td,th{padding:.5em .3em}

  /* absolute hero backgrounds -> image block above text */
  .art.bg{position:relative!important;inset:auto!important;width:100%;aspect-ratio:16/10;border-radius:0}
  .art.bg img{opacity:1!important;object-position:center!important}
  .fade-l,.mosaic-fade{display:none}
  .slide > div[style*="linear-gradient"]{display:none}
  .pad > div[style*="position:absolute"]{position:static!important;margin-top:1.4rem;max-width:none!important;transform:none!important;left:auto!important;bottom:auto!important;top:auto!important}
  .shot,.phone{position:static!important;width:100%!important;max-width:none!important;margin:0!important;box-shadow:0 14px 40px rgba(0,0,0,.35)}
  .phone{width:52%!important;margin:1rem auto 0!important}
  .shot[style*="position:absolute"]{margin-bottom:.5rem!important}
  .art[style*="aspect-ratio"]{aspect-ratio:16/10!important}

  /* cover */
  #s01{min-height:72vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
  #s01 .foot{margin-top:0}
  #s01 .mosaic{position:absolute;inset:0;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr);opacity:.22}
  #s01 .mosaic-fade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,25,28,.3),rgba(23,25,28,.95) 60%,#17191C)}
  #s01 .pad{position:relative;padding-top:0;margin-top:auto}
  #s01 .wm{position:static!important;transform:none!important;width:78%!important;margin:1.4rem 0 1.4rem}
  #s01 .lede{color:#fff}
  #s01 .foot{color:#fff}

  /* structure org chart */
  .org{padding:0!important}
  .org-subs{grid-template-columns:1fr 1fr!important}
  .org-subs div{min-height:0}

  /* connect map svg: let it scale, slightly larger text */
  .map{width:100%;height:auto}
  .map .node text{font-size:22px}
  .map .lbl{font-size:15px}

  /* 2.0 hero: split layout to stacked */
  #sq1 .pad{padding:0!important}
  #sq1 .row{flex-direction:column-reverse}
  #sq1 .col:first-child{padding:2rem 1.25rem 2.4rem!important}
  #sq1 .col:last-child{position:relative!important;height:62vw;overflow:hidden}
  #sq1 .col:last-child img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  #sq1 .col:last-child div{display:none}
  #sq1 .foot{margin:0 1.25rem 1.6rem}

  /* page 2 gates */
  .gate{padding-top:.8em}

  /* closing */
  #s24{min-height:50vh;display:flex;align-items:center;justify-content:center}
  #s24 .wm{position:static!important;transform:none!important;width:60%!important;margin:0 auto}
  #s24 .pad{display:flex;align-items:center;justify-content:center;width:100%}
}

/* ===== desktop polish ===== */
@media (min-width:821px){
  .deck{padding-top:20px}
  .slide a.card:hover{outline:2px solid var(--red);outline-offset:-2px}
}
/* back to top */
.totop{position:fixed;right:14px;bottom:14px;z-index:40;width:40px;height:40px;border-radius:50%;background:#F52F26;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s}
.totop.show{opacity:1;pointer-events:auto}
