/* ==========================================================================
   AG Digital Partners — responsive rules
   Breakpoints: 1399 (nav collapses) · 1199 · 1023 · 899 · 767 · 599 · 429
   ========================================================================== */

@media (min-width: 1600px) {
  .nav-link { padding: 0 13px; }
  .nav-link::after { left: 13px; right: 13px; }
}

/* ---------- Navigation collapses to the mobile panel ---------- */
@media (max-width: 1399px) {
  :root { --header-h: 72px; }
  /* backdrop-filter would make the header the containing block of the fixed menu panel */
  .site-header, .site-header.is-scrolled { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(0, 31, 42, 0.98); }
  .nav-toggle { display: inline-flex; }
  .header-actions { margin-left: auto; }
  .primary-nav {
    position: fixed; top: var(--header-h); left: 0; right: 0; bottom: 0; margin: 0; z-index: 99;
    background: var(--deep); overflow-y: auto; overscroll-behavior: contain;
    padding: 18px var(--gutter) 40px; visibility: hidden; opacity: 0; transform: translateY(-8px);
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  }
  .primary-nav.is-open { visibility: visible; opacity: 1; transform: none; }
  .nav-list { flex-direction: column; align-items: stretch; gap: 0; max-width: 720px; margin-inline: auto; }
  .nav-item { flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,.08); }
  .nav-link { flex: 1; height: 58px; padding: 0 4px; font-size: 1.3rem; }
  .nav-link::after { left: 4px; right: auto; width: 36px; bottom: 10px; }
  .dropdown-toggle { width: 52px; height: 52px; margin: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; }
  .dropdown-toggle .icon { width: 20px; height: 20px; }
  .dropdown {
    position: static; flex-basis: 100%; min-width: 0; padding: 0 0 14px; margin: 0; background: transparent; border: 0; box-shadow: none;
    opacity: 1; visibility: visible; transform: none; display: none;
  }
  .dropdown::before { display: none; }
  .nav-item.is-open > .dropdown { display: block; }
  .dropdown a { color: rgba(255,255,255,.82); padding: 11px 12px; }
  .dropdown a:hover, .dropdown a:focus-visible { background: rgba(255,255,255,.06); color: var(--white); }
  .dropdown a .icon { color: var(--cyan-light); }
  .dropdown .dropdown-all { border-color: rgba(255,255,255,.1); }
  .dropdown .dropdown-all a { color: var(--gold); }
  .nav-mobile-extra { display: grid; gap: 14px; max-width: 720px; margin: 28px auto 0; }
  .nav-mobile-extra .btn { width: 100%; }
  .nav-mobile-extra p { margin: 8px 0 0; font-size: .9rem; color: var(--muted-light); text-align: center; }
  .nav-mobile-extra a.mail { color: var(--cyan-pale); }
  body.nav-open { overflow: hidden; }
}

@media (max-width: 1199px) {
  .cap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cap-card:nth-child(4), .cap-card:nth-child(5) { grid-column: span 1; }
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .eco-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-brand { grid-column: 1 / -1; }
  .framework-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .with-toc { grid-template-columns: 220px minmax(0, 1fr); }
}

@media (max-width: 1023px) {
  .split, .split--reverse, .channel-grid, .contact-layout, .featured-post, .article-layout { grid-template-columns: minmax(0, 1fr); }
  .split--reverse > :first-child { order: 0; }
  .with-toc { grid-template-columns: minmax(0, 1fr); }
  .with-toc > .toc { display: none; }
  .article-layout > aside { order: 2; }
  .tab-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tab-panel { grid-template-columns: minmax(0, 1fr); }
  .tab-panel-media { max-height: 300px; overflow: hidden; }
  .timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 48px; }
  .timeline::before { display: none; }
  .industry-row { grid-template-columns: minmax(0, 1fr); }
  .industry-row:nth-child(even) .industry-media { order: 0; }
  .framework { grid-template-columns: minmax(0, 1fr); }
  .deliverables, .card-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method li { grid-template-columns: 70px minmax(0, 1fr); }
  .method li p { grid-column: 2; }
  .featured-post .post-media { aspect-ratio: 16 / 9; }
  .media-frame { max-width: 720px; }
  .lift-card { margin-top: -48px; }
}

@media (max-width: 899px) {
  .audit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eco-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-banner { grid-template-columns: minmax(0, 1fr); }
  .cc-actions { justify-content: flex-start; }
}

@media (max-width: 767px) {
  :root { --header-h: 66px; }
  body { font-size: 1rem; }
  .brand img { height: 30px; }
  .header-actions .header-contact, .header-actions .header-cta { display: none; }
  .hero { min-height: 0; padding: 64px 0 150px; }
  .hero-kicker { font-size: .8rem; letter-spacing: .14em; padding: 7px 14px; margin-bottom: 22px; }
  .hero-actions .btn { width: 100%; }
  .btn-lg { --btn-pad-x: 24px; font-size: 1.05rem; }
  .capabilities { margin-top: -110px; }
  .cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cap-card { padding: 22px 18px; }
  .cap-card:last-child { grid-column: 1 / -1; }
  .card-grid, .card-grid--2, .card-grid--3, .deliverables { grid-template-columns: minmax(0, 1fr); }
  .check-list--two, .audit-steps, .market-list, .service-cols, .tab-links, .form-grid { grid-template-columns: minmax(0, 1fr); }
  .timeline { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 0; }
  .timeline::before { display: block; top: 0; bottom: 0; left: 35px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, rgba(0,132,155,.5), rgba(220,163,84,.6)); }
  .timeline-step { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 0 20px; text-align: left; padding: 0 0 36px; }
  .timeline-step:last-child { padding-bottom: 0; }
  .step-node { grid-row: span 3; margin: 0; }
  .timeline-step h3 { font-size: 1.7rem; }
  .media-frame::before { inset: 16px -10px -10px 16px; }
  .media-frame .floating-chip { position: relative; left: auto; bottom: auto; margin: -28px 16px 0; max-width: none; }
  .section-head--row { align-items: start; }
  .tab { padding: 16px 14px; font-size: 1rem; }
  .service-head { gap: 16px; }
  .service-icon { width: 54px; height: 54px; border-radius: 14px; }
  .framework-body { grid-template-columns: minmax(0, 1fr); }
  .legal-card dl { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .legal-card dd { margin-bottom: 12px; }
  .method li { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .method li p { grid-column: auto; }
  .method li::before { font-size: 2.4rem; }
  .footer-top { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .cc-banner { left: 10px; right: 10px; bottom: 10px; padding: 18px; max-height: calc(100vh - 20px); overflow-y: auto; }
  .cc-actions .btn { flex: 1 1 auto; }
  .jump-nav a { padding: 14px 10px; font-size: .92rem; }
  .heritage { flex-direction: column; align-items: flex-start; gap: 10px; }
  .to-top { right: 14px; bottom: 14px; width: 44px; height: 44px; }
}

@media (max-width: 599px) {
  .audit-grid, .eco-grid { grid-template-columns: minmax(0, 1fr); }
  .tab-list { grid-template-columns: minmax(0, 1fr); }
  .tab { border-bottom-width: 1px; border-left: 3px solid transparent; }
  .tab[aria-selected="true"] { border-bottom-color: var(--border); border-left-color: var(--coral); }
  .hero-title { font-size: clamp(2.35rem, 0.9rem + 8vw, 3.2rem); }
  .page-hero h1 { font-size: clamp(2.3rem, 1.2rem + 5vw, 3rem); }
  .form-actions .btn { width: 100%; }
}

@media (max-width: 429px) {
  .cap-grid { grid-template-columns: minmax(0, 1fr); }
  .cap-card:last-child { grid-column: auto; }
  .btn { letter-spacing: .06em; }
  .hero-kicker { letter-spacing: .1em; }
}

/* ---------- Print ---------- */
@media print {
  .site-header, .site-footer, .cc-banner, .cc-overlay, .to-top, .hero-canvas, .jump-nav { display: none !important; }
  body { color: #000; }
  .page-hero, .hero { background: none !important; color: #000; padding: 20px 0; }
  .page-hero h1, .hero-title { color: #000 !important; }
  .hero-media, .hero-overlay { display: none; }
}
