/* ===== 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(0,0,0,.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(32,74,64,.55)}
@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:#111}
  .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}
  .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 */

  /* 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 */
  #__none .pad{padding:0!important}
  #__none .row{flex-direction:column-reverse}
  #__none .col:first-child{padding:2rem 1.25rem 2.4rem!important}
  #__none .col:last-child{position:relative!important;height:62vw;overflow:hidden}
  #__none .col:last-child img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  #__none .col:last-child div{display:none}
  #__none .foot{margin:0 1.25rem 1.6rem}

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

  /* closing */
  #v19,#p12{min-height:50vh;display:flex;align-items:center;justify-content:center}
  #v19,#p12 .wm{position:static!important;transform:none!important;width:60%!important;margin:0 auto}
  #v19,#p12 .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:#204A40;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}
@media (max-width:820px){ #rtb .col[style*="display:grid"]{grid-template-columns:1fr 1fr!important} #rtb .col[style*="display:grid"] .art{aspect-ratio:3/4} #rt1 img[alt^="LOSCO"]{width:60%!important} #rtb img[alt="Last Out"]{width:40%!important} }
/* LOSCO cover + close fixes (mobile) */
@media (max-width:820px){
  #v01,#p01{min-height:78vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;padding:0}
  #v01 .art.bg,#p01 .art.bg{position:absolute!important;inset:0!important;aspect-ratio:auto;order:0}
  #v01 .art.bg img,#p01 .art.bg img{opacity:.5!important}
  #v01 .fade,#p01 .fade{display:block!important;position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.92) 65%,#000)}
  #v01 .pad,#p01 .pad{position:relative;order:2;padding:0 1.25rem 1.2rem;display:flex;flex-direction:column}
  #v01 .pad img,#p01 .pad img{position:static!important;transform:none!important;width:62%!important;margin:1.6rem 0 1.2rem}
  #v01 .pad>div[style*="position:absolute"],#p01 .pad>div[style*="position:absolute"]{position:static!important;max-width:none!important;margin:0}
  #v01 .pad .eyebrow,#p01 .pad .eyebrow{order:-1}
  #v01 .lede,#p01 .lede{font-size:1.1em!important}
  #v01 .foot,#p01 .foot{position:relative;order:3;margin:1.2rem 1.25rem 1.4rem}
  #v19,#p12{min-height:56vh;display:flex;flex-direction:column;justify-content:center}
  #v19 .pad,#p12 .pad{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}
  #v19 .pad img,#p12 .pad img{position:static!important;transform:none!important;width:70%!important}
  #v19 .pad p,#p12 .pad p{position:static!important;margin-top:1.6rem;text-align:center}
  .slide .fade{display:none}
  .ledger{font-size:.95em}
}
@media (max-width:820px){
  #v01 .art.bg img{opacity:.75!important;object-position:center 30%!important}
  #v01 .fade,#p01 .fade{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.85) 60%,#000)}
  #v01 .pad img,#p01 .pad img{width:58%!important}
  #v01 .foot,#p01 .foot{opacity:.75}
  #v19 .foot,#p12 .foot{position:static;margin:0 1.25rem 1.4rem;justify-content:space-between}
}
@media (max-width:820px){
  #v01 .art.bg img,#p01 .art.bg img{opacity:.85!important}
  #v01 .fade,#p01 .fade{z-index:1}
  #v01 .pad,#p01 .pad,#v01 .foot,#p01 .foot{z-index:2;color:#F6F2E9}
  #v01 .lede,#p01 .lede{opacity:1;color:#F6F2E9}
}
