/* Responsive preservation layer for Revelator North and Revelator Forge. */
@media (max-width: 900px) {
  .north-site nav {
    height: 98px;
    padding: 8px 14px 0;
    align-items: flex-start;
  }
  .north-site .nav-center-wrap { top: 7px; gap: 1px; }
  .north-site .nav-center img { height: 49px; }
  .north-site .nav-corp-link {
    position: fixed;
    top: 19px;
    right: 13px;
    max-width: 88px;
    border: 0;
    white-space: normal;
    text-align: right;
    font-size: 6px;
    line-height: 1.45;
    letter-spacing: .13em;
  }
  .north-site .nav-right { margin-left: auto; }
  .north-site .nav-right svg { display: none; }
  .north-site .nav-left {
    position: absolute;
    top: 66px;
    left: 0;
    right: 0;
    height: 32px;
    gap: 25px;
    padding: 0 18px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .north-site .nav-left::-webkit-scrollbar { display: none; }
  .north-site .nav-left a { font-size: 9px; white-space: nowrap; }
  .north-site .hero { min-height: 720px; height: 100svh; }
  .north-site .hero-content { margin-top: 42px; padding-inline: 14px; }
  .north-site .hero-logo { height: 174px; margin-bottom: 14px; }
  .north-site .hero-h1 { font-size: clamp(42px, 12.4vw, 52px); line-height: 1.02; }
  .north-site .hero-sub { font-size: 15px; line-height: 1.45; }
  .north-site .hero-btn { margin-top: 24px; padding: 13px 28px; }
  .north-site .five-grid {
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .north-site .fg-item { min-height: 330px; }
  .north-site .fg-item:last-child { grid-column: 1 / -1; min-height: 390px; }
  .north-site .fg-text { padding: 18px 15px; }
  .north-site footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 42px 24px 30px;
    gap: 34px 24px;
  }
  .north-site footer > :first-child,
  .north-site footer > :last-child { grid-column: 1 / -1; }
  .north-site .corp-banner { padding: 18px 24px; }
  .north-site .ft-bottom { padding: 15px 24px; }
  .north-site #sidePanel {
    width: 100vw !important;
    right: -100vw !important;
  }
  .north-site #sidePanel.open { right: 0 !important; }
  .north-site #sidePanel > div:first-child { padding: 19px 18px 16px !important; }
  .north-site #panelContent { padding: 34px 20px 48px !important; }

  .forge-site { cursor: auto; }
  .forge-site #cursor-canvas { display: none; }
  .forge-site nav {
    height: 104px;
    padding: 0 14px;
    align-items: flex-start;
  }
  .forge-site .nav-logo { height: 60px; gap: 8px; }
  .forge-site .nav-logo img { width: 40px; height: 40px; }
  .forge-site .nav-logo-text { font-size: 11px; }
  .forge-site .nav-icons { display: none; }
  .forge-site .nav-links {
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    height: 44px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    border-top: 1px solid rgba(26,45,71,.7);
  }
  .forge-site .nav-links::-webkit-scrollbar { display: none; }
  .forge-site .nav-links a {
    height: 44px;
    line-height: 44px;
    padding: 0 16px;
    font-size: 10px;
    white-space: nowrap;
  }
  .forge-site .hero {
    margin-top: 104px;
    height: calc(100svh - 104px);
    min-height: 650px;
  }
  .forge-site .hero-bg { background-position: 61% center; }
  .forge-site .hero-img-overlay {
    background: linear-gradient(90deg, rgba(5,11,20,.94), rgba(5,11,20,.62) 72%, rgba(5,11,20,.25));
  }
  .forge-site .hero-content { padding: 0 22px 105px; max-width: 100%; }
  .forge-site .hero-content > div:first-child { gap: 13px !important; }
  .forge-site .hero-logo { width: 92px; height: 92px; }
  .forge-site .hero-forge-name { font-size: 31px; }
  .forge-site .hero-title { font-size: clamp(47px, 14.3vw, 61px); white-space: normal; }
  .forge-site .hero-subtitle { margin: 17px 0 25px; font-size: 11px; letter-spacing: .12em; }
  .forge-site .hero-corp-badge { left: 22px; right: 22px; bottom: 20px; align-items: flex-start; }
  .forge-site .hero-corp-badge img { height: 52px; max-width: 230px; }
  .forge-site .corp-btn { padding: 8px 15px; font-size: 9px; }
  .forge-site .categories-grid {
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .forge-site .cat-card { min-height: 260px; border-bottom: 1px solid var(--border); }
  .forge-site .cat-card:nth-child(2n) { border-right: 0; }
  .forge-site .cat-icon-wrap { opacity: .42; transform: translateY(-18px); bottom: 44px; }
  .forge-site .cat-label-vert { display: none; }
  .forge-site .cat-info { opacity: 1; transform: none; bottom: 0; padding: 18px 15px; }
  .forge-site .cat-title { font-size: 18px; }
  .forge-site .cat-subtitle { font-size: 9px; }
  .forge-site .bottom-section { grid-template-columns: 1fr; }
  .forge-site .about-col,
  .forge-site .projects-col { border-right: 0; border-bottom: 1px solid var(--border); }
  .forge-site .about-col { padding: 42px 24px; }
  .forge-site .projects-header { padding: 26px 22px 18px; }
  .forge-site #projects-grid { grid-template-columns: 1fr; }
  .forge-site .proj-card { height: 290px; border-right: 0; }
  .forge-site .journal-col { padding: 42px 24px; }
  .forge-site .bottom-bar { grid-template-columns: 1fr; }
  .forge-site .quote-block,
  .forge-site .footer-center { border-right: 0; border-bottom: 1px solid var(--border); }
  .forge-site .quote-block { padding: 32px 24px; }
  .forge-site .footer-right { padding: 30px 24px; align-items: center; }
  .forge-site .po-hero { height: 410px; }
  .forge-site .po-hero-content { padding: 0 22px 34px !important; }
  .forge-site .po-title { font-size: clamp(44px, 14vw, 60px); }
  .forge-site .po-subtitle { font-size: 10px; letter-spacing: .14em; }
  .forge-site .po-back { top: 18px; left: 16px; }
  .forge-site .po-body { padding: 42px 20px !important; }
  .forge-site .po-body > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .forge-site .po-coming-soon { padding: 60px 20px; }
  .forge-site .panel-img { height: 310px; }
  .forge-site .panel-body { padding: 0 20px 24px; }
  .forge-site .loader-logo { width: 120px; height: 120px; margin-bottom: 24px; }
  .forge-site .loader-title { font-size: 27px; }
  .forge-site .loader-progress-wrap { width: min(300px, 78vw); }
}

@media (max-width: 390px) {
  .north-site .hero-logo { height: 154px; }
  .north-site .fg-item { min-height: 300px; }
  .forge-site .hero-logo { width: 80px; height: 80px; }
  .forge-site .hero-forge-name { font-size: 27px; }
}

@media (max-width: 340px) {
  .north-site .hero-h1 { font-size: 36px; }
}
