/* ============================================================
   PINTEAN 2.0 — Responsive
   Breakpoints: 1100px / 768px / 480px
   ============================================================ */

/* ---- Session clock: compact below 1280px (dots instead of OPEN/CLOSED words) ---- */
@media (max-width: 1279px) {
  .session-clock .sc-status,
  .session-clock .sc-sep { display: none; }
  .session-clock .sc-dot { display: inline-block; }
}

/* ---- Tablet (≤1100px) ---- */
@media (max-width: 1100px) {
  .page-nav     { display: none; }
  .lang-toggle  { display: none; }
  .nav-cta      { display: none; }
  .nav-toggle   { display: flex; }
  .mobile-nav   { display: flex; }

  /* Clock sits right, next to the hamburger, once nav links are hidden */
  .session-clock { margin-left: auto; }

  /* Hero: stack vertically on tablet */
  .hero-split {
    grid-template-columns: 1fr;
    gap: 52px;
  }
  .hero-right { max-width: 560px; margin: 0 auto; width: 100%; }

  .workspace-grid { grid-template-columns: 1fr 1fr; }

  .contact-layout { grid-template-columns: 1fr; gap: 48px; }
  .stats-grid { grid-template-columns: 1fr; }
  .why-grid   { grid-template-columns: 1fr; }
  .grid-3     { grid-template-columns: repeat(2, 1fr); }
  .grid-4     { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Mobile (≤768px) ---- */
@media (max-width: 768px) {
  :root {
    --gutter: 20px;
    --nav-h: 60px;
  }

  .logo-img { height: 24px; }

  .hero-right { display: none; }  /* Terminal hidden on small phones */
  .hero-ctas { flex-direction: column; align-items: flex-start; }
  .hero-ctas .btn { width: 100%; justify-content: center; max-width: 320px; }
  .hero-scroll-hint { display: none; }

  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: 1fr; }

  .stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1px;
  }
  .stat-item:nth-child(3) {
    grid-column: span 2;
  }

  .why-grid { grid-template-columns: 1fr; }
  .workspace-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }

  /* Scrolly story: smaller chart, annotation cards stack below it */
  .scrolly-stage { justify-content: flex-start; padding-top: calc(var(--nav-h) + 16px); gap: 14px; }
  .scrolly-head p { display: none; }
  .scrolly-head h2 { font-size: 1.5rem; }
  .scrolly-svg { height: clamp(170px, 26vh, 240px); }
  .scrolly-cards {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 12px;
    pointer-events: all;
  }
  .scrolly-card {
    position: static;
    transform: none;
    white-space: normal;
    max-width: none;
    font-size: 0.64rem;
    padding: 6px 10px;
  }
  .scrolly-foot { min-height: 90px; }
  .scrolly-line-txt { font-size: 0.95rem; text-align: left; }

  .footer-inner { flex-direction: column; gap: 24px; }
  .footer-links { gap: 4px; }

  .inner-hero { padding: calc(var(--nav-h) + 52px) 0 40px; }
}

/* ---- Small mobile (≤480px) ---- */
@media (max-width: 480px) {
  .btn-lg { padding: 14px 22px; font-size: 0.78rem; }
  /* Session clock: dots + time only on very narrow screens */
  .session-clock { gap: 7px; }
  .session-clock .sc-city { display: none; }
  .stats-grid { grid-template-columns: 1fr; }
  .stat-item:nth-child(3) { grid-column: span 1; }
  .hero-headline { letter-spacing: -0.02em; }
}

/* ---- Mobile nav open — hide scroll ---- */
body.nav-open { overflow: hidden; }

/* ---- Nav toggle animation ---- */
.nav-open .nav-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.nav-open .nav-toggle span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.nav-open .nav-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* ---- Print ---- */
@media print {
  #scroll-progress, #preloader, .nav-toggle, .mobile-nav,
  .hero-scroll-hint { display: none !important; }
  .scrolly { height: auto !important; }
  .scrolly-stage { position: static !important; height: auto !important; }
  body { background: white; color: black; }
}
