:root{--p16-gold:#e7c878;--p16-mint:#a7d8bf}.p16-skip{position:fixed;z-index:9999;left:16px;top:12px;transform:translateY(-160%);padding:11px 15px;border-radius:8px;background:#fff;color:#07100c;font:700 14px Arial,sans-serif}.p16-skip:focus{transform:none}.p16-home-intro{max-width:760px;margin:28px 0 0;padding:24px;border:1px solid rgba(231,200,120,.34);border-radius:22px;background:linear-gradient(135deg,rgba(6,17,12,.94),rgba(22,42,30,.82));box-shadow:0 25px 80px rgba(0,0,0,.24)}.p16-kicker{margin:0 0 10px;color:var(--p16-mint);font:700 12px/1.4 Arial,sans-serif;letter-spacing:.17em}.p16-home-intro h2{max-width:680px;margin:0;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.15}.p16-actions,.p16-doors,.p16-doorway-nav,.p16-story-next>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.p16-actions a,.p16-story-next a{padding:12px 16px;border:1px solid var(--p16-gold);border-radius:999px;color:#fff;text-decoration:none}.p16-actions a:first-child{background:var(--p16-gold);color:#171307;font-weight:700}.p16-doors a,.p16-doorway-nav a{padding:8px 0;margin-right:14px;border-bottom:1px solid rgba(231,200,120,.45);color:inherit;text-decoration:none}.p16-story-card{transition:transform .18s ease,box-shadow .18s ease,outline-color .18s ease}.p16-story-card:focus-within{outline:2px solid rgba(231,200,120,.72);outline-offset:3px}.p16-story-card:hover{transform:translateY(-2px)}.p16-featured{outline:1px solid rgba(231,200,120,.48);box-shadow:0 22px 70px rgba(0,0,0,.22)}.p16-reading-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 28px;color:var(--p16-mint);font:700 13px Arial,sans-serif}.p16-reading-tools button{padding:8px 12px;border:1px solid rgba(231,200,120,.35);border-radius:999px;background:transparent;color:inherit;font:inherit}.p16-progress{position:fixed;z-index:1000;top:0;left:0;width:100%;height:3px;pointer-events:none}.p16-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--p16-gold),var(--p16-mint))}.p16-story-next{margin:42px 0 12px;padding:26px;border-block:1px solid rgba(231,200,120,.25);background:rgba(6,17,12,.45)}.p16-focus-reading header,.p16-focus-reading footer,.p16-focus-reading nav{opacity:.13}.p16-focus-reading .cr-scene-nav{opacity:1}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--p16-gold)!important;outline-offset:3px!important}@media(max-width:640px){.p16-home-intro{padding:19px}.p16-actions,.p16-story-next>div{display:grid}.p16-actions a,.p16-story-next a{text-align:center;min-height:46px}.p16-doors{display:grid;grid-template-columns:1fr 1fr}.p16-story-next{padding:22px 17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* PASS 16.3 — LIVE MOBILE HOME + WALL LOCK
   Scope is intentionally limited to the two public mobile surfaces reported
   in live QA. No backend, account, story, doorway, About, Founder, or desktop
   selectors are changed here. */
@media (max-width:760px){
  .world-shell:has(.cr-home),
  .world-shell:has(.cr-wall){
    height:auto !important;
    min-height:100svh !important;
    overflow:visible !important;
  }
  /* HOME: force the three content bands into true document flow. */
  .cr-home{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    align-content:start !important;
    height:auto !important;
    min-height:calc(100svh - 64px) !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
  }
  .cr-home-scene,.cr-home-vignette{
    position:absolute !important;
    inset:0 !important;
    height:100% !important;
    min-height:100svh !important;
  }
  .cr-home-copy{
    grid-column:1 !important;
    grid-row:1 !important;
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    z-index:3 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:28px 20px 18px !important;
  }
  .cr-home-copy h1{
    max-width:10.5ch !important;
    margin:0 !important;
    font-size:clamp(2.55rem,11vw,3.2rem) !important;
    line-height:.94 !important;
  }
  html[lang="es"] .cr-home-copy h1{
    max-width:11.5ch !important;
    font-size:clamp(2.42rem,10.4vw,3rem) !important;
    line-height:.96 !important;
  }
  .cr-home-copy>p:not(.cr-kicker){
    max-width:34ch !important;
    margin:16px 0 0 !important;
    font-size:.92rem !important;
    line-height:1.46 !important;
  }
  .cr-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    margin-top:18px !important;
  }
  .cr-actions a{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    padding:0 9px !important;
    text-align:center !important;
    font-size:.6rem !important;
  }
  .cr-home .free-service-seal{
    width:100% !important;
    max-width:none !important;
    margin:10px 0 0 !important;
    padding:8px 10px !important;
  }
  .cr-home .free-service-seal span{display:none !important}
  .cr-home .p16-home-intro{display:none !important}

  .cr-featured-window{
    grid-column:1 !important;
    grid-row:2 !important;
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    z-index:3 !important;
    width:calc(100% - 32px) !important;
    height:auto !important;
    min-height:330px !important;
    max-height:none !important;
    margin:8px 16px 18px !important;
    padding:28px 24px 26px !important;
    border-radius:108px 108px 16px 16px !important;
    transform:none !important;
  }
  .cr-featured-window strong{
    max-width:11ch !important;
    margin:10px 0 !important;
    font-size:1.9rem !important;
    line-height:.98 !important;
  }
  .cr-featured-window blockquote{
    display:block !important;
    max-width:31ch !important;
    margin:10px 0 14px !important;
    font-size:.98rem !important;
    line-height:1.35 !important;
  }
  .cr-featured-window small{font-size:.58rem !important}

  .cr-ritual-strip{
    grid-column:1 !important;
    grid-row:3 !important;
    position:relative !important;
    inset:auto !important;
    z-index:3 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    margin:0 !important;
  }
  .cr-ritual-strip a{
    min-width:0 !important;
    min-height:84px !important;
    padding:15px 20px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(237,203,128,.18) !important;
  }
  .cr-ritual-strip p{display:none !important}

  /* WALL: title/tools, gallery and footer receive separate vertical lanes. */
  .cr-wall{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:calc(100svh - 64px) !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
  }
  .cr-wall-scene{
    position:absolute !important;
    inset:0 !important;
    height:100% !important;
    min-height:100svh !important;
  }
  .cr-wall-title{
    position:relative !important;
    z-index:3 !important;
    flex:0 0 auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:12px !important;
    height:auto !important;
    min-height:0 !important;
    padding:20px 16px 12px !important;
  }
  .cr-wall-title h1{
    max-width:12ch !important;
    margin:0 !important;
    font-size:clamp(2.1rem,9.3vw,2.65rem) !important;
    line-height:.98 !important;
  }
  html[lang="es"] .cr-wall-title h1{
    max-width:13ch !important;
    font-size:clamp(2rem,8.8vw,2.5rem) !important;
  }
  .cr-wall-title>div:last-child{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    width:100% !important;
  }
  .cr-wall-title>div:last-child button,
  .cr-wall-title>div:last-child a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    min-height:42px !important;
    padding:9px 10px !important;
    text-align:center !important;
  }
  .cr-wall-title .pass14-shelf-button,
  .cr-wall-title>.pass14-shelf-button{
    grid-column:1 / -1 !important;
    width:100% !important;
    margin:0 !important;
  }
  .cr-search{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    left:auto !important;
    z-index:4 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    width:auto !important;
    margin:0 16px 12px !important;
    box-shadow:none !important;
  }
  .cr-search input{
    width:100% !important;
    min-width:0 !important;
  }
  .cr-wall-gallery{
    position:relative !important;
    z-index:3 !important;
    flex:0 0 auto !important;
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) 34px !important;
    align-items:center !important;
    height:auto !important;
    min-height:500px !important;
    padding:2px 0 12px !important;
  }
  .cr-wall-gallery>button{
    width:32px !important;
    height:58px !important;
  }
  .cr-wall-track{
    align-items:center !important;
    gap:14px !important;
    min-width:0 !important;
    padding:8px 6px 18px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
  }
  .cr-wall-track>.cr-story-portal{
    flex:0 0 min(78vw,330px) !important;
    width:auto !important;
    height:min(61svh,540px) !important;
    min-height:430px !important;
    max-height:540px !important;
  }
  .cr-portal-copy{padding:22px 18px !important}
  .cr-portal-copy h2{
    max-width:12ch !important;
    font-size:clamp(1.95rem,8.8vw,2.45rem) !important;
  }
  .cr-wall-footer{
    position:relative !important;
    z-index:3 !important;
    flex:0 0 auto !important;
    height:auto !important;
    min-height:58px !important;
    padding:13px 16px !important;
    gap:8px !important;
    flex-wrap:wrap !important;
  }
}

@media (max-width:360px){
  .cr-home-copy{padding-left:16px !important;padding-right:16px !important}
  .cr-actions{grid-template-columns:1fr !important}
  .cr-featured-window{width:calc(100% - 28px) !important;margin-left:14px !important;margin-right:14px !important;padding-left:20px !important;padding-right:20px !important}
  .cr-wall-title>div:last-child{grid-template-columns:1fr !important}
  .cr-wall-track>.cr-story-portal{flex-basis:min(80vw,300px) !important}
}


/* PASS 16.4 — RETURNING NOTICE MICRO-FIX
   Mobile Home only. Places the existing local-memory notice in normal document
   flow between the hero and featured story, so it cannot cover either surface. */
@media (max-width:760px){
  .cr-home:has(.pass05-return){
    grid-template-rows:auto auto auto auto !important;
  }
  .cr-home:has(.pass05-return) .pass05-return{
    grid-column:1 !important;
    grid-row:2 !important;
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    z-index:4 !important;
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin:0 16px 10px !important;
    padding:10px 12px !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:blur(10px) !important;
  }
  .cr-home:has(.pass05-return) .pass05-return .p5-eyebrow{
    margin:0 0 3px !important;
    font-size:.54rem !important;
    line-height:1.2 !important;
  }
  .cr-home:has(.pass05-return) .pass05-return h2{
    margin:0 0 2px !important;
    font-size:.86rem !important;
    line-height:1.22 !important;
  }
  .cr-home:has(.pass05-return) .pass05-return > p{
    margin:0 !important;
    font-size:.7rem !important;
    line-height:1.32 !important;
  }
  .cr-home:has(.pass05-return) .pass05-return-links{
    margin-top:5px !important;
    gap:3px 9px !important;
  }
  .cr-home:has(.pass05-return) .pass05-return-links a{
    font-size:.66rem !important;
  }
  .cr-home:has(.pass05-return) .pass05-new-story{
    margin-top:5px !important;
    padding-top:4px !important;
  }
  .cr-home:has(.pass05-return) .cr-featured-window{
    grid-row:3 !important;
  }
  .cr-home:has(.pass05-return) .cr-ritual-strip{
    grid-row:4 !important;
  }
}


/* PASS 16.5 — FINAL MOBILE HOME SCROLL OWNERSHIP FIX
   Home only. overflow-x:hidden + overflow-y:visible computes to vertical auto
   in Chromium, creating a nested scroll container that can catch touch gestures
   and trap the final pixels. clip preserves horizontal containment without
   creating a second vertical scroller. */
@media (max-width:760px){
  .cr-home{
    overflow-x:clip !important;
    overflow-y:visible !important;
  }
}
