/* Archivo Sergio Bravo — base + full-screen home hero. */
:root {
  --sb-paper: #FBFAF7;
  --sb-ink: #0A0A0A;
  --sb-line: #D9D8D2;
  --sb-black: #000;
  --sb-white: #fff;
  --sb-gutter: clamp(20px, 3vw, 48px);
  --sb-sans: "IBM Plex Sans", Manrope, Arial, sans-serif;
  --sb-serif: "Source Serif 4", Literata, Georgia, serif;
}

html, body {
  margin: 0 !important;
  min-height: 100%;
  padding: 0 !important;
}

body {
  background: var(--sb-black) !important;
  color: var(--sb-white) !important;
  font-family: var(--sb-sans);
}

body > .wp-site-blocks,
.wp-site-blocks,
main {
  margin: 0 !important;
  padding: 0 !important;
}

.sb-archive-main {
  display: block !important;
  margin: 0 !important;
  min-height: 100svh;
  padding: 0 !important;
  width: 100% !important;
}

.sb-archive-hero {
  background: #000;
  display: block !important;
  height: 100svh;
  margin: 0 !important;
  min-height: 100svh;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
  width: 100% !important;
}

.sb-archive-hero__carousel {
  bottom: 0;
  left: 0;
  margin: 0 !important;
  max-width: none !important;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: calc(100% - var(--sb-menu-panel-desktop, 20%)) !important;
}

.sb-archive-hero__slide {
  inset: 0;
  margin: 0 !important;
  opacity: 0;
  position: absolute;
  transition: opacity 1.8s ease;
  z-index: 0;
}
.sb-archive-hero__slide.is-active { opacity: 1; z-index: 1; }
.sb-archive-hero__slide img {
  filter: grayscale(100%);
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  width: 100% !important;
}
.sb-archive-hero__slide::after {
  background: linear-gradient(180deg, rgba(0,0,0,.02) 48%, rgba(0,0,0,.35) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.sb-archive-hero__slide figcaption {
  bottom: clamp(20px, 3vw, 48px);
  color: rgba(255,255,255,.74) !important;
  font-family: var(--sb-sans);
  font-size: 11px !important;
  letter-spacing: .08em;
  margin: 0 !important;
  position: absolute;
  right: var(--sb-gutter);
  text-transform: uppercase;
  z-index: 3;
}

.sb-archive-hero__rail {
  align-items: flex-end !important;
  bottom: 0;
  box-sizing: border-box;
  color: #fff;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end !important;
  margin: 0 !important;
  max-width: none !important;
  padding: clamp(24px, 4vw, 56px) var(--sb-menu-gutter, var(--sb-gutter));
  position: absolute;
  right: 0;
  top: 0;
  width: var(--sb-menu-panel-desktop, 20%) !important;
  z-index: 4;
}

.sb-archive-hero__eyebrow,
.sb-archive-hero__title {
  margin: 0 !important;
  text-align: right;
}
.sb-archive-hero__eyebrow {
  color: rgba(255,255,255,.58) !important;
  font-family: var(--sb-sans);
  font-size: 11px !important;
  letter-spacing: .09em;
  margin-bottom: 12px !important;
  text-transform: uppercase;
}
.sb-archive-hero__title {
  color: #fff !important;
  font-family: var(--sb-sans) !important;
  font-size: clamp(2rem, 2.7vw, 3.4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
  line-height: .98 !important;
}

@media (min-width: 1600px) {
  .sb-archive-hero__carousel { width: 80% !important; }
  .sb-archive-hero__rail { width: 20% !important; }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .sb-archive-hero__carousel { width: 78% !important; }
  .sb-archive-hero__rail { width: 22% !important; }
}
@media (min-width: 901px) and (max-width: 1199px) {
  .sb-archive-hero__carousel { width: 76% !important; }
  .sb-archive-hero__rail { width: 24% !important; }
}

@media (max-width: 900px) {
  .sb-archive-hero__carousel { width: 100% !important; }
  .sb-archive-hero::after {
    background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.52));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 2;
  }
  .sb-archive-hero__rail {
    background: transparent;
    left: 0;
    padding: 28px var(--sb-gutter);
    right: 0;
    width: 100% !important;
    z-index: 4;
  }
  .sb-archive-hero__eyebrow,
  .sb-archive-hero__title { text-align: left; }
  .sb-archive-hero__title { font-size: clamp(2rem, 7vw, 3.3rem) !important; }
}

@media (max-width: 640px) {
  .sb-archive-hero__rail { padding: 22px; }
  .sb-archive-hero__slide figcaption { display: none; }
  .sb-archive-hero__eyebrow { font-size: 10px !important; }
  .sb-archive-hero__title { font-size: clamp(2rem, 9vw, 3rem) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .sb-archive-hero__slide { transition: none; }
  .sb-archive-hero__slide:not(.is-active) { display: none; }
}
