/* ==========================================================================
   Blue Haven Digital — responsive.css
   Ajustes por ancho de pantalla (desktop first).
   ========================================================================== */

@media (max-width: 1240px) {
  .nav__link { padding: 12px 10px; font-size: .8125rem; }
  .nav__link::after { left: 10px; right: 10px; }
  .brand img { height: 48px; }
  .hero-features { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 460px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1080px) {
  :root { --header-h: 76px; }
  .nav { display: none; }
  .nav-toggle { display: inline-flex; }
  .site-header.is-scrolled .site-header__inner { height: 66px; }
  .topbar__links .hide-md { display: none; }

  .hero__grid { grid-template-columns: 1fr; }
  .hero::before { background: linear-gradient(180deg, rgba(17,17,17,.82) 0%, rgba(17,17,17,.88) 60%, rgba(17,17,17,.95) 100%); }
  .hero-features { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; }
  .lead-card { max-width: 720px; }

  .section-nav { position: relative; top: 0; }

  .svc-panel--feature { grid-column: span 12; grid-row: auto; min-height: 460px; }
  .svc-panel--small { grid-column: span 6; }
  .values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .value:nth-child(3) { padding-left: 0; border-left: 0; }
  .value:nth-child(n+3) { border-top: 1px solid var(--border); }
  .process { grid-template-columns: 1fr; gap: 0; }
  .process::before { left: 27px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; }
  .process__step { display: grid; grid-template-columns: 56px 1fr; gap: 0 24px; padding: 0 0 28px; }
  .process__dot { grid-row: span 2; margin: 0; }
  .capabilities { grid-template-columns: 1fr; }
  .capabilities__media { min-height: 360px; }
  .article-cards { grid-template-columns: 1fr 1fr; }
  .article-cards > :last-child { grid-column: 1 / -1; }
  .cta-band .container { grid-template-columns: 1fr; align-items: start; }
  .hero-split { grid-template-columns: 1fr; }
  .hero-split__media { min-height: 340px; }
  .vtimeline__body { grid-template-columns: 1fr; gap: 20px; }
  .steps { grid-template-columns: 1fr 1fr; }
  .numbered, .offer-grid, .related { grid-template-columns: 1fr 1fr; }
  .topic-list { grid-template-columns: 1fr 1fr; }
  .article-layout { grid-template-columns: minmax(0, 1fr); }
  .toc { position: static; }
  .contact-layout { grid-template-columns: 1fr; }
  .feature-article { grid-template-columns: 1fr; }
  .feature-article__media { min-height: 320px; }
}

@media (max-width: 860px) {
  .split, .split--wide-media, .svc-row, .mv, .hero-type__grid, .section-head--split { grid-template-columns: minmax(0, 1fr); }
  .split--reverse > :first-child { order: 0; }
  .svc-row:nth-child(even) .svc-row__media { order: 0; }
  .media-frame::before { left: -10px; bottom: -10px; }
  .media-frame--right::before { right: -10px; }
  .svc-panel--wide { flex-direction: column; }
  .svc-panel--wide .svc-panel__media { flex: none; min-height: 0; aspect-ratio: 16 / 9; }
  .hero-strip { grid-template-columns: 1fr 1fr; }
  .hero-strip > :first-child { grid-column: 1 / -1; }
  .benefits { grid-template-columns: 1fr; }
  .hero-card__box { margin-top: -90px; }
  .stat-row { grid-template-columns: 1fr; }
  .consent { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  body { font-size: 1rem; }
  :root { --topbar-h: 40px; }
  .topbar__brand { font-size: .6875rem; letter-spacing: .14em; }
  .topbar__links { gap: 12px; }
  .topbar__links .hide-sm { display: none; }
  .topbar__cta.btn { padding: 6px 10px; font-size: .6875rem; letter-spacing: .05em; }
  .brand img { height: 42px; }
  .site-header.is-scrolled .brand img { height: 38px; }

  .hero-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-grid { grid-template-columns: 1fr; }
  .svc-panel--small { grid-column: span 12; }
  .svc-panel--feature .svc-panel__body { padding: 26px; }
  .values { grid-template-columns: 1fr; }
  .value, .value + .value { padding: 28px 0 8px; border-left: 0; }
  .value + .value { border-top: 1px solid var(--border); }
  .cap-grid { grid-template-columns: 1fr; }
  .cap-grid div:nth-child(odd) { border-right: 0; }
  .cap-grid div:nth-child(even) { padding-left: 0; }
  .article-cards, .numbered, .offer-grid, .related, .steps, .topic-list { grid-template-columns: 1fr; }
  .article-cards > :last-child { grid-column: auto; }
  .footer-top { grid-template-columns: 1fr; gap: 36px; padding-block: 56px 40px; }
  .vtimeline::before { left: 27px; }
  .vtimeline > li { grid-template-columns: 56px 1fr; gap: 18px; }
  .vtimeline__n { width: 56px; height: 56px; font-size: 1.1rem; }
  .cta-band::before { width: 240px; height: 240px; border-width: 36px; right: -110px; top: -110px; }
  .consent { left: 8px; right: 8px; bottom: 8px; padding: 18px; }
  .consent__actions .btn { flex: 1 1 100%; }
  .btn { padding: 14px 22px; }
  .page-hero__actions .btn, .thanks__actions .btn { width: 100%; }
}

@media (max-width: 380px) {
  .topbar__cta.btn { display: none; }
  .hero-features { grid-template-columns: 1fr 1fr; gap: 8px; }
  .hero-feature span { font-size: .75rem; letter-spacing: .06em; }
}

@media print {
  .topbar, .site-header, .section-nav, .consent, .drawer, .cta-band, .site-footer { display: none !important; }
  body { color: #000; }
}
