/* ==========================================================================
   Pages N Prestige — Responsive Stylesheet
   Breakpoints tuned for 320 / 375 / 430 / 768 / 1024 / 1366 / 1440 / 1920
   ========================================================================== */

/* Large screens: give the shell a touch more room */
@media (min-width: 1600px) {
  :root { --container-max: 1380px; }
}

/* Laptop / small desktop (1024–1365) */
@media (max-width: 1180px) {
  .hero .container { grid-template-columns: 1fr; }
  .hero__art { order: -1; max-width: 460px; margin-inline: auto; }
  .mega-menu { min-width: 460px; }
  .portfolio-grid { grid-template-columns: repeat(3, 1fr); }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: 1.2fr repeat(3, 1fr); }
  .stat-row { grid-template-columns: repeat(4, 1fr); }
  .style-selector { grid-template-columns: repeat(4, 1fr); }
}

/* Tablet (768–1023) */
@media (max-width: 1023px) {
  :root { --header-height: 72px; }
  h1 { font-size: var(--fs-3xl); }
  h2 { font-size: var(--fs-2xl); }
  .main-nav { display: none; }
  .nav-toggle { display: inline-flex; }
  .logo__tag { display: none; }
  /* Login is already reachable from the mobile nav drawer; hiding it here keeps
     header-actions from overflowing the viewport next to the primary CTA + toggle. */
  .header-actions > a.btn-outline-navy { display: none; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .service-group__list { grid-template-columns: 1fr; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .two-col { grid-template-columns: 1fr; gap: var(--space-lg); }
  .two-col .img-frame { order: -1; }
  .dash-preview__body { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: 1fr; }
  .stat-row { grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }
  .style-selector { grid-template-columns: repeat(3, 1fr); }
}

/* Mobile (up to 767) */
@media (max-width: 767px) {
  :root {
    --fs-4xl: 2.4rem;
    --fs-3xl: 1.9rem;
    --fs-2xl: 1.55rem;
    --fs-xl: 1.3rem;
    --space-2xl: 3.25rem;
    --space-3xl: 4.5rem;
  }
  section { padding: var(--space-xl) 0; }
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .service-groups { gap: var(--space-md); }
  .process-grid { grid-template-columns: 1fr; }
  .hero__ctas, .page-hero__ctas { flex-direction: column; align-items: stretch; }
  .hero__ctas .btn, .page-hero__ctas .btn { width: 100%; }
  .hero__meta { flex-direction: column; gap: 0.6rem; }
  .floating-chip { display: none; }
  .stat-row { grid-template-columns: 1fr 1fr; }
  .style-selector { grid-template-columns: repeat(2, 1fr); }
  .cookie-banner { flex-direction: column; align-items: stretch; left: var(--space-sm); right: var(--space-sm); bottom: var(--space-sm); }
  .cookie-banner__actions { justify-content: stretch; }
  .cookie-banner__actions .btn { flex: 1; }
  .mega-menu { min-width: 90vw; left: 5vw; transform: translateX(0) translateY(8px); }
  .mega-menu.is-open { transform: translateX(0) translateY(0); }
  .sticky-cta-bar { flex-direction: column; align-items: stretch; }
  .testimonial-arrow { display: none; }
  .simple-table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Small mobile (≤430px, includes 375 / 320) */
@media (max-width: 430px) {
  .container { padding-inline: 1.1rem; }
  .btn { width: 100%; }
  .hero__ctas .btn, .page-hero__ctas .btn { width: 100%; }
  h1 { font-size: 1.9rem; }
  .card { padding: var(--space-md); }
  .modal { padding: var(--space-lg); }
}

@media (max-width: 375px) {
  :root { --container-pad: 0.9rem; }
  .hero { padding-top: var(--space-2xl); }
}

@media (max-width: 320px) {
  h1 { font-size: 1.65rem; }
  .logo__mark { font-size: 1.25rem; }
}

/* Ultra-wide */
@media (min-width: 1920px) {
  .container { max-width: 1500px; }
}
