/* Bois — visual review, 16 October 2026. Scope: three reviewed pages. */
html { scroll-padding-top: 100px; }
.review-index .cta-section { overflow: hidden; }
.gateway-content h3 { line-height: 1.35; }
.gateway-num { color: #dac28c; opacity: .9; }
.project-caption p { font-size: 1rem !important; line-height: 1.65; }
.project-tag { font-size: .72rem; letter-spacing: .14em; }
.card-tag { color: #70551b !important; background: #faf7f2 !important; z-index: 2; }
.journal-card { display: flex; flex-direction: column; }
.journal-card .card-body, .journal-card .journal-body { display: flex; flex-direction: column; flex: 1; }
.journal-card .card-body .link-arrow, .journal-card .journal-body .link-arrow { margin-top: auto; padding-top: .65rem; }
.journal-card .journal-img-wrap { flex-shrink: 0; }
.project-card, .gateway { min-width: 0; }
.chat-toggle { padding: .7rem 1rem; box-shadow: 0 5px 18px rgba(0,0,0,.18); }
.chat-label { font-size: .68rem; letter-spacing: .06em; }
.chat-widget { right: 1.25rem; bottom: 1.25rem; }
.nav-hamburger { display: none; }
.nav-hamburger:focus-visible, .filter-btn:focus-visible,
.chat-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

/* Menu must remain above the full-screen overlay on every reviewed page. */
@media (max-width: 900px) {
  .nav .nav-hamburger { display: flex; min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
  .nav .nav-hamburger span { flex-shrink: 0; }
  .nav:has(.nav-menu.open) { z-index: 1100; }
  .nav .nav-menu { padding: 88px 24px 32px; overflow-y: auto; }
  .gateways-grid { gap: 2rem; }
  .gateways .gateway { aspect-ratio: auto; overflow: visible; display: flex; flex-direction: column; }
  .gateways .gateway-img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
  .gateways .gateway-overlay { display: none; }
  .gateways .gateway-content { position: static; padding: 1.1rem 0 0; color: var(--text); }
  .gateways .gateway-num { font-size: 1.6rem; color: #80652d; opacity: 1; margin-bottom: .6rem; }
  .gateways .gateway-content h3 { color: var(--text); font-size: 1.3rem; margin: 0; line-height: 1.4; }
  .gateways .gateway:hover .gateway-img { transform: none; }
  .featured-header { align-items: flex-start; gap: 1.5rem; flex-wrap: wrap; }
  .featured-gallery { min-height: 0; }
  .featured-gallery .project-card { min-height: 0; aspect-ratio: auto; }
  .featured-gallery .project-card > img { height: auto; width: 100%; aspect-ratio: 4 / 3; }
  .featured-gallery .project-card > .project-caption { position: static; padding: 1.25rem; background: var(--bg-card-dark); }
  .featured-gallery .project-caption h3 { min-height: 0; display: block; line-height: 1.35; }
  .chat-widget { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
  .chat-toggle { width: 48px; height: 48px; padding: 0; justify-content: center; }
  .chat-toggle .chat-label { display: none; }
  .chat-panel { width: min(360px, calc(100vw - 24px)); height: min(480px, calc(100dvh - 100px)); bottom: 60px; }
  .footer-bottom { padding-bottom: 3.5rem; }
}

@media (max-width: 768px) {
  .review-projects .page-hero, .review-journal .page-hero { padding: 7.5rem 0 2.5rem; }
  .review-projects .page-hero h1, .review-journal .page-hero h1 { font-size: clamp(2rem, 8vw, 2.65rem); line-height: 1.2; letter-spacing: -.01em; }
  .review-journal .page-hero::after { display: none; }
  .review-projects .page-hero .body-text, .review-journal .page-hero p { font-size: 1rem; line-height: 1.7; }
  .review-projects .projects-list { padding-top: 1.5rem; }
  .review-projects .project-filters, .review-journal .journal-filters { gap: .4rem; margin-bottom: 1.75rem; padding-top: 0; }
  .review-journal .journal-filters { padding-top: 1.5rem; margin-bottom: 0; }
  .review-projects .filter-btn, .review-journal .filter-btn { font-size: .72rem; letter-spacing: .06em; padding: .65rem .7rem; min-height: 44px; line-height: 1.4; }
  .review-projects .projects-grid { gap: 1.75rem; }
  .review-projects .projects-grid > .project-card { aspect-ratio: auto; margin-bottom: 0; }
  .review-projects .projects-grid > .project-card > img { width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .review-projects .projects-grid > .project-card > .project-caption { position: static; inset: auto; width: 100%; padding: 1.25rem; background: var(--bg-card-dark); }
  .review-projects .project-caption h3 { display: block; min-height: 0; font-size: 1.35rem; line-height: 1.35; margin-bottom: .5rem; }
  .review-projects .project-caption p { margin-top: .4rem !important; }
  .review-projects .project-hover-cta { display: none; }
  .review-journal .journal-grid { padding-top: 1.75rem; gap: 1.75rem; }
  .journal-card .card-body, .journal-card .journal-body { padding: 1.25rem; }
}

@media (hover: none) {
  .project-card:hover img, .journal-card:hover img { transform: none; }
  .journal-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal, .reveal-left, .reveal-right, .stagger > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}
