/*
  ADS Studios Portal Planet — fixed-canvas / phone fit-to-extents patch
  Release: Studios 40.4 — 2026-08-08
  Scope: original-universes/portal-planet/ and all Portal Planet child pages.
  Goal: preserve the approved desktop composition on phones and let the browser
  zoom the entire 1540px design canvas instead of reflowing/smashing cards.
*/
html,
body.pp-body{
  min-width:1540px!important;
  max-width:none!important;
  overflow-x:visible!important;
}
body.pp-body > .site-header,
body.pp-body > .pp-program-nav,
body.pp-body > main,
body.pp-body > .pp-footer{
  width:1540px!important;
  min-width:1540px!important;
  max-width:1540px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.pp-wrap{
  width:1504px!important;
  min-width:1504px!important;
  max-width:1504px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.pp-program-nav{position:sticky!important;top:0!important}
.pp-program-nav-inner{width:1512px!important;max-width:1512px!important;flex-wrap:wrap!important}
.pp-hero{width:1540px!important;min-width:1540px!important;max-width:1540px!important;min-height:700px!important}
.pp-hero-copy{width:720px!important;max-width:720px!important;padding:145px 0 120px 115px!important}
.pp-hero h1{font-size:10.3rem!important;line-height:.78!important}
.pp-intro{grid-template-columns:.9fr 1.1fr!important}
.pp-portal-grid{grid-template-columns:repeat(4,minmax(190px,1fr))!important}
.pp-portal-card{aspect-ratio:1!important;border-width:10px!important;border-radius:50%!important}
.pp-portal-card:before{border-radius:50%!important}
.pp-feature,.pp-feature.reverse{grid-template-columns:1.04fr .96fr!important}
.pp-step-grid,.pp-info-grid,.pp-transition-grid{grid-template-columns:repeat(4,1fr)!important}
.pp-destination-grid,.pp-gallery-grid{grid-template-columns:repeat(2,1fr)!important}
.pp-flow{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important}
.pp-flow span{min-height:88px!important;border-radius:50%!important;flex:1 1 0!important}
.pp-flow i{transform:none!important}
.pp-future{min-height:720px!important}
.pp-footer{align-items:center!important;flex-direction:row!important}

/* Studios narrative / book development section */
.pp-books{border-top:1px solid rgba(73,206,255,.20)}
.pp-books-lead{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:stretch;margin-top:30px;border:1px solid rgba(82,215,255,.34);border-radius:24px;overflow:hidden;background:linear-gradient(140deg,rgba(5,29,49,.92),rgba(2,10,22,.98));box-shadow:0 24px 60px rgba(0,0,0,.28)}
.pp-books-art{min-height:430px;background:#04111e}
.pp-books-art img{width:100%!important;height:100%!important;object-fit:cover!important;aspect-ratio:auto!important}
.pp-books-copy{display:flex;flex-direction:column;justify-content:center;padding:36px 38px 36px 10px}
.pp-story-status{display:inline-flex;align-self:flex-start;padding:7px 12px;border:1px solid rgba(241,191,108,.65);border-radius:999px;color:#ffe0a0;background:rgba(241,191,108,.08);font-size:.74rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.pp-books-copy h3{margin:20px 0 12px;font-family:Georgia,serif;font-size:2.35rem;line-height:1.06;color:#fff}
.pp-books-copy p{margin:0;color:#d0e7f2;font-size:1.05rem;line-height:1.62}
.pp-story-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.pp-story-tags span{padding:7px 10px;border:1px solid rgba(73,206,255,.28);border-radius:999px;background:rgba(24,137,188,.08);color:#d3f5ff;font-size:.77rem;font-weight:850}
.pp-story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.pp-story-grid article{min-height:250px;padding:24px;border:1px solid rgba(241,191,108,.30);border-radius:20px;background:linear-gradient(145deg,rgba(38,25,12,.44),rgba(2,14,27,.97))}
.pp-story-grid b{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(241,191,108,.58);border-radius:50%;color:#ffd27a;font-size:.83rem}
.pp-story-grid h3{margin:22px 0 10px;font-family:Georgia,serif;font-size:1.48rem;color:#fff}
.pp-story-grid p{margin:0;color:#c8e0eb;line-height:1.55}
.pp-story-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:18px;padding:24px 28px;border:1px solid rgba(73,206,255,.28);border-radius:18px;background:rgba(3,30,50,.42)}
.pp-story-footer p{max-width:1040px;margin:0;color:#d1e7f0}
.pp-story-footer strong{color:#fff}
.pp-story-footer .pp-button{flex:0 0 auto}

/* Reassert desktop composition against legacy mobile rescue rules. */
@media(max-width:1100px){
  html,body.pp-body{min-width:1540px!important;width:auto!important;max-width:none!important;overflow-x:visible!important}
  body.pp-body > .site-header,body.pp-body > .pp-program-nav,body.pp-body > main,body.pp-body > .pp-footer{width:1540px!important;min-width:1540px!important;max-width:1540px!important}
  .site-header{justify-content:center!important;position:sticky!important;top:0!important}
  .top-search{flex:0 1 360px!important;width:auto!important;max-width:420px!important;margin-left:0!important}
  .top-nav{justify-content:center!important;flex-wrap:wrap!important;width:100%!important;max-width:none!important;overflow:visible!important}
  .pp-wrap{width:1504px!important;min-width:1504px!important;max-width:1504px!important}
  .pp-intro,.pp-section-head,.pp-feature,.pp-feature.reverse,.pp-page-head{grid-template-columns:revert!important}
  .pp-portal-grid{grid-template-columns:repeat(4,minmax(190px,1fr))!important}
  .pp-step-grid,.pp-info-grid,.pp-transition-grid,.pp-story-grid{grid-template-columns:repeat(4,1fr)!important}
  .pp-destination-grid,.pp-gallery-grid{grid-template-columns:repeat(2,1fr)!important}
  .pp-books-lead{grid-template-columns:1.08fr .92fr!important}
}
@media(max-width:760px){
  .pp-program-nav{position:sticky!important}
  .pp-hero{min-height:700px!important}
  .pp-hero-copy{width:720px!important;padding:145px 0 120px 115px!important}
  .pp-hero h1{font-size:10.3rem!important}
  .pp-portal-card{aspect-ratio:1!important;border-width:10px!important;border-radius:50%!important}
  .pp-flow{display:flex!important;flex-wrap:nowrap!important}
  .pp-flow span{min-height:88px!important;border-radius:50%!important}
  .pp-flow i{transform:none!important}
  .pp-future{min-height:720px!important}
  .pp-footer{align-items:center!important;flex-direction:row!important}
}
