/* Homepage rhythm: include the space occupied by protruding product images. */
.home { --home-space: clamp(64px, 6vw, 96px); }
.home .hero { --bag-height: 296px; --bag-width: 210px; --bag-overlap: 190px; padding: calc(var(--header-height) + 40px) 0 210px; min-height: 720px; margin-bottom: var(--bag-overlap); }
.home .hero-centered-content { min-height: 310px; }
.home .hero-centered-content h1 { line-height: 1.04; font-size: clamp(52px, 5.5vw, 86px); }
.home .hero-bag-marquee { bottom: calc(-1 * var(--bag-overlap)); height: calc(var(--bag-height) + 104px); padding-block: 40px 40px; }
.home .hero-bag-group { align-items: center; }
.home .hero-marquee-product { width: var(--bag-width); flex-basis: var(--bag-width); height: calc(var(--bag-height) + 24px); }
.home .hero-marquee-product img { width: var(--bag-width); height: var(--bag-height); }
.home .hero-bag-track { animation-duration: 68s; }
.home .hero-bag-marquee:focus-within .hero-bag-track { animation-play-state: paused; }
.home .hero-bag-marquee.is-previewing .hero-bag-track { animation-play-state: paused; }
.home .hero-marquee-product.is-previewing { z-index: 3; transform: translateY(-8px) scale(1.10); transform-origin: center 65%; }
.home .hero-marquee-product:focus-visible { outline: 2px solid #c53030; outline-offset: -8px; border-radius: 20px; }
.bag-preview { position: fixed; z-index: 95; width: min(290px, calc(100vw - 24px)); padding: 28px 24px 22px; border-radius: 32px; background: #f8dfc3; color: #1a1a1a; text-align: center; box-shadow: 0 14px 36px rgb(48 30 13 / 12%); animation: bag-preview-in .22s ease-out; }
.bag-preview[hidden] { display: none; }
.bag-preview .bag-preview-weight { margin: 0 0 7px; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.bag-preview .bag-preview-title { margin: 0; font-family: 'Archivo Black', sans-serif; font-weight: 400; font-size: 23px; line-height: 1.15; letter-spacing: -.03em; }
.bag-preview .bag-preview-copy { margin: 12px 0 16px; font-size: 13px; line-height: 1.5; }
.bag-preview-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; padding: 8px 18px; border-radius: 8px; background: #c53030; color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }
.bag-preview-link:hover { background: #1a1a1a; color: #fff; }
.bag-preview-close { position: absolute; top: 0; right: 0; width: 44px; height: 44px; border: 0; background: transparent; color: #1a1a1a; font-size: 24px; cursor: pointer; }
.bag-preview :focus-visible { outline: 2px solid #1a1a1a; outline-offset: 3px; }
@keyframes bag-preview-in { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@media (prefers-reduced-motion: reduce) { .bag-preview { animation: none; } .home .hero-marquee-product { transition: none; } }
.home .industries-section, .home .certifications-section { padding-block: var(--home-space); }
.home .industries-heading { margin-bottom: 48px; text-align: center; }
.home .industries-grid { gap: 32px; }
.home .industry-card { align-items: center; min-height: 0; padding: 8px 16px; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; overflow: visible; }
.home .industry-card::before { display: none; }
.home .industry-card:hover { box-shadow: none; }
.home .industry-icon { width: 160px; height: 150px; }
.home .industry-copy h3 { max-width: 250px; margin: 22px auto 0; font-size: 22px; line-height: 1.25; font-weight: 800; }
.home .industries-secondary { margin-top: 28px; }
.home .product-categories { padding-block: var(--home-space); }
.home .private-label-section { padding: 0; }
.home .private-label-banner { background-image: url('../images/marca-blanca-video-poster.jpg'); }
.private-label-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
.private-video-toggle { position: absolute; z-index: 3; right: 24px; bottom: 20px; min-height: 44px; padding: 9px 15px; border: 1px solid #1a1a1a55; border-radius: 8px; background: #fff9f1ed; color: #1a1a1a; font: inherit; font-size: 12px; cursor: pointer; }
.private-video-toggle[hidden] { display: none; }
.private-video-toggle:focus-visible { outline: 3px solid #c53030; outline-offset: 3px; }
@media(max-width:768px) { .private-label-video { object-position: 65% center; } .private-video-toggle { right: 16px; bottom: 16px; } }
.home .private-label-copy { padding-block: var(--home-space); }
.home .certification-grid { grid-template-columns: 1fr; gap: 40px; }
.home .certification-heading { max-width: 760px; margin-inline: auto; text-align: center; }
.home .certification-heading br { display: none; }
.home .certification-item { padding: 28px; }
.home .final-cta-section { padding-top: var(--home-space); padding-bottom: calc(var(--home-space) + 36px); }
.home .final-cta-copy { max-width: 68%; }
.home .final-cta img { position: absolute; width: 255px; max-height: 390px; right: 4%; bottom: -36px; }
.home .site-footer { margin-top: 0; }
/* Strong display lettering, with a restrained hand-drawn brand accent. */
.home h1, .home h2, .home h3, .home .category-product-overlay strong { font-family: 'Archivo Black', Manrope, sans-serif; font-weight: 400; font-synthesis: none; letter-spacing: -.035em; }
.home .hero-centered-content h1 { font-size: clamp(48px, 5.1vw, 80px); line-height: 1.12; text-shadow: none; }
.home .hero-centered-content h1::before { animation: none; }
.home .section-heading h2, .home .certification-heading h2 { font-size: clamp(30px, 3.2vw, 48px); line-height: 1.2; }
.home .private-label-copy h2 { font-size: clamp(38px, 3.6vw, 58px); line-height: 1.18; }
.home .final-cta h2 { font-size: clamp(34px, 3.7vw, 56px); line-height: 1.15; }
.home .industry-copy h3 { font-weight: 400; font-size: 20px; }
.home .brand-underline { position: relative; display: inline-block; white-space: nowrap; }
.home .brand-underline::after, .home .hero-centered-content h1 .hero-word-rotator::after { content: ''; display: block; position: absolute; left: -3%; bottom: -.18em; width: 106%; height: .24em; background: url('../images/decorativos/subrayado-marcador.svg') center / 100% 100% no-repeat; pointer-events: none; }
.home .private-label-lead { margin-top: 28px; }
.home .hero-word-rotator { margin-bottom: .12em; }
@media (max-width: 1024px) {
  .home .hero { --bag-height: 260px; --bag-width: 185px; --bag-overlap: 160px; padding-top: calc(var(--header-height) + 32px); min-height: 680px; }
  .home .hero-centered-content h1 { font-size: clamp(44px, 6.5vw, 66px); }
  .home .final-cta-copy { max-width: 64%; }
  .home .final-cta img { width: 210px; }
}
@media (max-width: 768px) {
  .home { --home-space: 64px; }
  .home .hero { --bag-height: 224px; --bag-width: 160px; --bag-overlap: 140px; padding-bottom: 180px; min-height: 650px; }
  .home .hero-centered-content { min-height: 290px; }
  .home .hero-centered-content h1 { font-size: clamp(36px, 7vw, 52px); }
  .home .hero-bag-track { animation-duration: 58s; }
  .home .category-product-grid { gap: 108px; }
  .home .certification-item { padding: 24px 20px; }
  .home .final-cta { min-height: 520px; padding: 40px 28px 230px; }
  .home .final-cta-copy { max-width: 100%; }
  .home .final-cta img { width: 180px; max-height: 265px; right: 8%; bottom: -28px; }
}
@media (max-width: 480px) {
  .home { --home-space: 56px; }
  .home .hero { --bag-height: 200px; --bag-width: 140px; --bag-overlap: 128px; min-height: 660px; padding-top: calc(var(--header-height) + 28px); padding-bottom: 170px; }
  .home .hero-centered-content h1 { font-size: clamp(30px, 8vw, 38px); letter-spacing: -.035em; }
  .home .hero-cta { margin-top: 28px; }
  .home .hero-bag-track { animation-duration: 48s; }
  .home .industries-heading { margin-bottom: 28px; }
  .home .industries-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
  .home .industry-card { padding: 0; }
  .home .industry-icon { width: 120px; height: 115px; }
  .home .industry-copy h3 { margin-top: 16px; font-size: 17px; }
  .home .private-label-copy { padding: 48px 4px 260px; }
  .home .certification-grid { gap: 28px; }
  .home .certification-item { padding: 22px 16px; }
}

/* Product information bubble stays anchored below its bag. */
.bag-preview {position:absolute;border-radius:48px;background:#f8e5cb;padding:30px 26px 24px;}
.bag-preview::before {content:'';position:absolute;top:-10px;left:var(--bag-pointer,50%);width:22px;height:22px;background:inherit;transform:translateX(-50%) rotate(45deg);border-radius:5px;}
.bag-preview .bag-preview-close {top:5px;right:7px;}

@media(min-width:769px){.home .private-label-copy .private-label-lead{max-width:none;white-space:nowrap;text-wrap:nowrap;}}

.hero-cta .hero-products-button{background:#195e99;border-color:#195e99;color:#fff;}
.hero-cta .hero-products-button:hover{background:#124a79;border-color:#124a79;color:#fff;}
.hero-cta .hero-products-button svg{color:#195e99;background:#fff;}
