/* ============================================================
   Aureon Capital AI — Mobile Responsive Styles
   Applies to all pages via <link href="/mobile.css">
   Breakpoints: 768px (tablet/mobile), 480px (small phone)
   ============================================================ */

/* ── HAMBURGER BUTTON ──────────────────────────────────────── */
.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 4px;
  flex-shrink: 0;
}
.nav-hamburger span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: #ffffff;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.25s ease;
  transform-origin: center;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── MOBILE NAV OVERLAY ────────────────────────────────────── */
.mobile-nav-overlay {
  display: none;
  position: fixed;
  top: var(--nav-height, 72px);
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.98);
  z-index: 98;
  flex-direction: column;
  padding: 12px 0 40px;
  overflow-y: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  animation: mobileNavIn 0.25s ease forwards;
}
.mobile-nav-overlay.open { display: flex; }

@keyframes mobileNavIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.mobile-nav-overlay a {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.04em;
  color: rgba(204, 201, 192, 0.75);
  text-decoration: none;
  padding: 18px 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: color 0.2s;
}
.mobile-nav-overlay a:hover,
.mobile-nav-overlay a.active { color: #ffffff; }

.mobile-nav-overlay a.mobile-cta {
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 500;
  color: #b89a5a;
  border: 1px solid rgba(184, 154, 90, 0.4);
  margin: 28px 28px 0;
  padding: 16px 24px;
  text-align: center;
  border-bottom: 1px solid rgba(184, 154, 90, 0.4);
  border-radius: 0;
}
.mobile-nav-overlay a.mobile-cta:hover { background: rgba(184, 154, 90, 0.08); }

/* ============================================================
   768px — TABLET & MOBILE
   ============================================================ */
@media (max-width: 768px) {

  /* ── NAV ── */
  .nav-hamburger { display: flex; }
  .nav-links     { display: none !important; }

  nav { padding: 0 20px; }

  /* ── ANNOUNCEMENT BAR ── */
  .announce-bar {
    font-size: 10.5px;
    letter-spacing: 0.06em;
    padding: 9px 16px;
    line-height: 1.5;
  }
  .announce-bar a {
    display: inline-block;
    margin-left: 8px;
  }

  /* ── HOMEPAGE HERO ── */
  .hero {
    padding: 56px 24px 56px;
    min-height: auto;
  }

  /* ── PAGE HERO (inner pages) ── */
  .page-hero {
    padding: 56px 24px 48px;
  }
  .page-hero-content { max-width: 100%; }
  .page-hero h1 { word-break: break-word; }

  /* ── HERO ACTIONS (buttons) ── */
  .hero-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .hero-actions a,
  .hero-actions button {
    text-align: center;
    width: 100%;
  }

  /* ── BUTTONS ── */
  .btn-primary,
  .btn-outline {
    padding: 15px 20px;
    display: block;
    text-align: center;
  }

  /* ── SECTIONS ── */
  section { padding: 56px 24px; }

  /* ── STATS STRIP (homepage — 3 cols) ── */
  .stats-strip {
    grid-template-columns: 1fr;
  }
  /* Homepage stat cells */
  .stats-strip .stat-cell {
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding: 36px 28px;
  }
  .stats-strip .stat-cell:last-child { border-bottom: none; }

  /* ── INTRO GRID (homepage — 2 col) ── */
  .intro {
    grid-template-columns: 1fr !important;
    gap: 44px;
  }

  /* ── STRATEGIES GRID (homepage — 3 col) ── */
  .strategies-grid {
    grid-template-columns: 1fr !important;
  }
  .strategies-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 40px;
  }

  /* ── CTA BAND ── */
  .cta-band {
    flex-direction: column;
    padding: 52px 24px;
    gap: 28px;
    text-align: center;
    align-items: stretch;
  }
  .cta-band h2 { max-width: 100%; font-size: clamp(22px, 6vw, 32px); }

  .cta-form {
    flex-direction: column;
    min-width: unset;
    width: 100%;
  }
  .cta-form input {
    border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-bottom: none;
    width: 100%;
    padding: 14px 16px;
  }
  .cta-form button {
    width: 100%;
    padding: 14px;
  }

  /* ── FOOTER ── */
  footer { padding: 48px 24px 32px; }

  .footer-top {
    grid-template-columns: 1fr !important;
    gap: 36px;
  }
  .footer-brand p { max-width: 100%; }

  .footer-bottom {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
  }
  .footer-social { justify-content: center; flex-wrap: wrap; }

  .disclaimer { padding: 0 24px 40px; }

  /* ── SUB-NAV TABS ── */
  .sub-nav {
    padding: 0 20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .sub-nav::-webkit-scrollbar { display: none; }

  /* ──────────────────────────────────────────────────────────
     STRATEGIES PAGE
     ────────────────────────────────────────────────────────── */

  /* Strategy card row: remove fixed 80px number col, drop arrow */
  .strategy-card {
    grid-template-columns: 52px 1fr !important;
    gap: 16px !important;
    padding: 36px 24px !important;
  }
  .card-arrow { display: none; }

  .card-num {
    font-size: 38px !important;
    padding-top: 4px;
  }

  .card-meta {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
  }
  .card-meta-item { flex-direction: row; gap: 8px; align-items: baseline; }
  .card-meta-label::after { content: ':'; }

  /* Insights grid (strategies page) */
  .insights-grid {
    grid-template-columns: 1fr !important;
  }
  .insights-section { padding: 52px 24px; }
  .insights-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 28px;
  }

  /* Modal — full width on mobile */
  .modal-overlay {
    align-items: flex-end !important;
    justify-content: stretch !important;
  }
  .modal-panel {
    width: 100% !important;
    max-width: 100% !important;
    height: 92vh !important;
    border-left: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0;
  }
  .modal-header { padding: 28px 24px 22px; }
  .modal-body   { padding: 24px 24px 32px; }
  .modal-meta   { gap: 14px; flex-wrap: wrap; }

  /* ──────────────────────────────────────────────────────────
     ABOUT PAGE
     ────────────────────────────────────────────────────────── */

  /* 4-col stats on about page */
  .stats-strip[class] {
    grid-template-columns: 1fr 1fr;
  }

  /* Firm story 2-col */
  .firm-story {
    grid-template-columns: 1fr !important;
    gap: 44px;
    padding: 56px 24px !important;
  }
  .firm-story-right { gap: 24px; }

  /* Timeline */
  .timeline-section { padding: 56px 24px !important; }
  .timeline-item {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 24px 0 !important;
  }
  .timeline-year {
    font-size: 11px;
    letter-spacing: 0.2em;
    color: #b89a5a;
    text-transform: uppercase;
  }

  /* Leadership & team grids */
  .leadership-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .team-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Values grid */
  .values-grid {
    grid-template-columns: 1fr !important;
  }
  .values-section { padding: 56px 24px !important; }

  /* Careers band */
  .careers-band {
    flex-direction: column !important;
    margin: 24px !important;
    padding: 40px 28px !important;
    gap: 28px;
    text-align: center;
  }
  .careers-band-right { min-width: unset; align-items: stretch; }

  /* Team section */
  .team-section { padding: 56px 24px 0 !important; }
  .team-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 36px;
  }

  /* Bio panel (about modal) — same as strategy modal */
  .bio-overlay {
    align-items: flex-end !important;
    justify-content: stretch !important;
  }
  .bio-panel {
    width: 100% !important;
    max-width: 100% !important;
    height: 92vh !important;
    border-left: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
  .bio-panel-body { padding: 28px 24px 40px !important; }

  /* ──────────────────────────────────────────────────────────
     INVEST PAGE
     ────────────────────────────────────────────────────────── */

  /* Investor types strip */
  .investor-types {
    grid-template-columns: 1fr !important;
  }
  .investor-type-card { padding: 32px 24px !important; }

  /* Invest body split (info + form) */
  .invest-body {
    grid-template-columns: 1fr !important;
    padding: 0 !important;
  }
  .invest-info,
  .invest-form-panel {
    padding: 48px 24px !important;
  }
  .invest-info { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

  /* Multi-col form groups */
  .form-row,
  .form-grid {
    grid-template-columns: 1fr !important;
  }

  /* Investor type buttons (3-col) */
  .investor-type-btns {
    grid-template-columns: 1fr !important;
  }

  /* ──────────────────────────────────────────────────────────
     LOGIN PAGE
     ────────────────────────────────────────────────────────── */

  /* Hide the decorative left panel, show only the form */
  .login-wrapper {
    grid-template-columns: 1fr !important;
  }
  .login-left { display: none !important; }
  .login-right { padding: 40px 24px !important; min-height: 100vh; }
  .login-form-wrap { max-width: 100%; padding: 0; }

  /* Login footer */
  .login-footer {
    flex-direction: column !important;
    gap: 12px;
    text-align: center;
    padding: 20px 24px !important;
  }
  .login-footer-links { justify-content: center; flex-wrap: wrap; }

} /* end 768px */

/* ============================================================
   480px — SMALL PHONES
   ============================================================ */
@media (max-width: 480px) {

  /* Reduce large type */
  .hero h1,
  .page-hero h1 { font-size: clamp(32px, 9vw, 42px) !important; }

  .section-title { font-size: clamp(26px, 7vw, 34px); }

  .stat-num { font-size: clamp(32px, 9vw, 44px); }

  .card-title  { font-size: clamp(22px, 6vw, 28px) !important; }
  .modal-title { font-size: clamp(24px, 7vw, 30px); }

  /* Stack the about 2×2 stats to 1 col */
  .stats-strip[class] {
    grid-template-columns: 1fr;
  }

  /* Stack leadership 2-col to 1-col on very small screens */
  .leadership-grid {
    grid-template-columns: 1fr !important;
  }

  /* Stat cells on about page (4 cols → 1 col) */
  .stat-cell {
    padding: 28px 24px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  /* Mobile nav links slightly smaller */
  .mobile-nav-overlay a { font-size: 24px; padding: 16px 24px; }

  nav { padding: 0 16px; }
  .page-hero  { padding: 44px 16px 40px; }
  .hero       { padding: 44px 16px 44px; }
  section     { padding: 44px 16px; }
  footer      { padding: 44px 16px 28px; }
  .disclaimer { padding: 0 16px 32px; }
  .cta-band   { padding: 44px 16px; }

} /* end 480px */
