/* Readability finish for the eight-scene world. The camera and project content
   remain in the recovered R3F export; this sheet only protects text overlays. */
#core .pin-top h2,
#core .pin-top .lede,
#cinema .pin-top h2,
#cinema .pin-top .lede {
  text-shadow: 0 2px 14px #030407, 0 0 38px #030407;
}

#core .pin-top .lede,
#cinema .pin-top .lede,
#planet .pin-top .lede { color: #e2ded4; }

#core .pin-top,
#planet .pin-top { isolation: isolate; }
#core .pin-top::before,
#planet .pin-top::before {
  content: "";
  position: absolute;
  inset: -18px 0 -30px;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(2, 3, 7, .68), rgba(2, 3, 7, .28) 48%, transparent 77%);
}

#gallery .gallery-caption {
  text-shadow: 0 2px 12px #020307, 0 0 30px #020307;
}

#cinema .cinema-chips {
  position: relative;
  z-index: 4;
}

#cinema .cinema-chips .chip {
  background: rgba(5, 6, 11, .94);
  border-color: rgba(221, 181, 93, .55);
  color: #f5e4bd;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .48);
}

@media (max-width: 700px) {
  #core .pin-bottom { bottom: 11svh; }
  #gallery .gallery-caption { bottom: 12svh; }
  #cinema .cinema-chips {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    width: min(calc(100vw - 28px), 420px);
    overflow: visible;
    padding: 4px 0 8px;
    margin-inline: auto;
  }

  #cinema .cinema-chips .chip {
    min-width: 0;
    padding: 7px 3px;
    font-size: 8.6px;
    letter-spacing: .08em;
    text-align: center;
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  .btn-header-cta {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0 !important;
    font-size: 0 !important;
    overflow: hidden;
  }
  .btn-header-cta::after { content: "↗"; font-size: 19px; line-height: 1; }
}

@media (prefers-reduced-motion: reduce) {
  #cinema .cinema-chips { scroll-behavior: auto; }
}

/* Clear next step on each original offer. */
#offers .dn-offer-contact{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:19px;padding:10px 16px;border:1px solid rgba(232,205,114,.8);border-radius:999px;color:#f4dc9a;background:rgba(12,13,20,.68);font:600 12px/1.2 system-ui,-apple-system,sans-serif;text-decoration:none}
#offers .dn-offer-contact:hover,#offers .dn-offer-contact:focus-visible{background:#e8cd72;color:#10141b;outline:2px solid #fff3ce;outline-offset:2px}

/* Keep commercial actions clear of the fixed 2D/3D switch on touch screens. */
@media (max-width: 700px) {
  #pricing .pricing-wrap {
    padding-top: calc(90px + 9svh);
    padding-bottom: calc(128px + env(safe-area-inset-bottom));
  }
  #pricing .price-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    min-height: 44px;
    padding: 10px 16px;
    font-size: 12px;
  }
  #contact .contact-wrap { padding-bottom: calc(150px + env(safe-area-inset-bottom)); }
  #planet .holo-panel {
    inset-inline: 12px;
    bottom: calc(88px + env(safe-area-inset-bottom));
    width: auto;
    max-height: calc(100svh - 180px - env(safe-area-inset-bottom));
    border-radius: 16px;
  }
  #planet .holo-actions .btn { min-height: 44px; }
}

/* A readable index to every orbiting project on narrow screens. */
.dn-planet-showcase { display: none; }
@media (max-width: 700px) {
  #planet .dn-planet-showcase {
    position: absolute;
    inset-inline: 14px;
    bottom: calc(94px + env(safe-area-inset-bottom));
    z-index: 15;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 5px;
    padding: 7px;
    border: 1px solid rgba(232, 205, 114, .58);
    border-radius: 16px;
    background: rgba(5, 7, 12, .92);
    box-shadow: 0 14px 44px rgba(0, 0, 0, .62), 0 0 30px rgba(212, 175, 55, .14);
    backdrop-filter: blur(14px);
    pointer-events: auto;
  }
  #planet .dn-planet-previous,
  #planet .dn-planet-next {
    width: 44px;
    height: 72px;
    border: 1px solid rgba(232, 205, 114, .55);
    border-radius: 10px;
    background: rgba(232, 205, 114, .08);
    color: #f5d77d;
    font: 500 30px/1 Georgia, serif;
    cursor: pointer;
  }
  #planet .dn-planet-project {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 90px;
    padding: 5px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #f8f1de;
    text-align: start;
    cursor: pointer;
  }
  #planet .dn-planet-project img {
    width: 74px;
    height: 78px;
    object-fit: cover;
    border: 1px solid rgba(232, 205, 114, .4);
    border-radius: 6px;
  }
  #planet .dn-planet-copy { display: grid; gap: 3px; min-width: 0; }
  #planet .dn-planet-count,
  #planet .dn-planet-tag {
    color: #e8cd72;
    font: 600 10px/1.2 system-ui, sans-serif;
    letter-spacing: .05em;
  }
  #planet .dn-planet-copy strong {
    font: 600 13px/1.3 system-ui, sans-serif;
    overflow-wrap: anywhere;
  }
  #planet .dn-planet-arrow { align-self: end; color: #e8cd72; font-size: 17px; }
  #planet .dn-planet-showcase button:focus-visible { outline: 2px solid #fff3ca; outline-offset: 2px; }
  body:has(.holo-layer) #planet .dn-planet-showcase { visibility: hidden; }
  .holo-layer .holo-panel {
    inset-inline: 12px;
    bottom: calc(88px + env(safe-area-inset-bottom));
    width: auto;
    max-height: calc(100svh - 180px - env(safe-area-inset-bottom));
    border-radius: 16px;
  }
}
@media (max-width: 360px) {
  #planet .dn-planet-project { grid-template-columns: 58px minmax(0, 1fr) 12px; gap: 6px; }
  #planet .dn-planet-project img { width: 58px; height: 70px; }
  #planet .dn-planet-copy strong { font-size: 11px; }
}
