:root {
  --fsb-paper: #FBFAF7;
  --fsb-ink: #0A0A0A;
  --fsb-graphite: #5C5C58;
  --fsb-line: #D9D8D2;
  --fsb-black: #000000;
  --fsb-white: #FFFFFF;
  --fsb-gutter: clamp(20px, 3vw, 48px);
  --fsb-section-y: clamp(72px, 9vw, 144px);
  --fsb-sans: "IBM Plex Sans", Manrope, Arial, sans-serif;
  --fsb-serif: "Source Serif 4", Literata, Georgia, serif;
  --fsb-rail: 20vw;
  --fsb-visual: 80vw;
  /* Shared with sergiobravo.cl: mandatory editorial safe edge. */
  --sb-editorial-edge: clamp(20px, 3vw, 48px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; max-width: 100%; overflow-x: clip; }
body { background: var(--fsb-paper); color: var(--fsb-ink); font-family: var(--fsb-sans); }
body.fsb-menu-open { overflow: hidden; }
img, video, svg { display: block; max-width: 100%; }
a { text-underline-offset: .18em; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; }

/* --------------------------------------------------------------------------
   Header + menu — same navigation contract used across the ecosystem.
   -------------------------------------------------------------------------- */
.fsb-header {
  background: transparent !important;
  border: 0;
  left: 0;
  margin: 0 !important;
  padding: 0 var(--fsb-gutter) !important;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 10010;
}
.fsb-header__row {
  align-items: center !important;
  display: flex !important;
  gap: 14px !important;
  height: 72px;
  justify-content: flex-end !important;
  margin: 0 0 0 auto !important;
  max-width: none !important;
  padding: 0 !important;
  width: var(--fsb-rail) !important;
}
.fsb-site-title { margin: 0 !important; position: relative; z-index: 10013; }
.fsb-site-title a {
  color: var(--fsb-white) !important;
  font-size: clamp(.88rem, 1vw, 1.12rem) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.fsb-primary-nav { margin: 0 !important; position: relative; z-index: 10012; }
.fsb-primary-nav .wp-block-navigation__responsive-container-open,
.fsb-primary-nav .wp-block-navigation__responsive-container-close {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--fsb-white) !important;
  display: flex;
  height: 44px;
  justify-content: center;
  margin: 0 !important;
  outline: 0 !important;
  padding: 0 !important;
  width: 44px;
}
.fsb-primary-nav .wp-block-navigation__responsive-container-open svg,
.fsb-primary-nav .wp-block-navigation__responsive-container-close svg { height: 24px; width: 24px; }
body.fsb-menu-open .fsb-primary-nav .wp-block-navigation__responsive-container-open { opacity: 0; pointer-events: none; }

.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
  background: rgba(0,0,0,.975) !important;
  bottom: 0 !important;
  color: var(--fsb-white) !important;
  left: auto !important;
  overflow: hidden auto !important;
  padding: 0 !important;
  position: fixed !important;
  right: 0 !important;
  top: 0 !important;
  width: var(--fsb-rail) !important;
  z-index: 10011 !important;
}
.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  height: 100%;
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  position: fixed !important;
  right: calc(var(--fsb-gutter) - 10px) !important;
  top: 14px !important;
  z-index: 10015;
}
.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  justify-content: flex-start !important;
  overflow-y: auto;
  padding: clamp(118px, 17vh, 168px) var(--fsb-gutter) 92px !important;
  width: 100%;
}
.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(9px, 1.25vh, 16px) !important;
  width: 100%;
}
.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  justify-content: flex-end !important;
  margin: 0 !important;
  width: 100%;
}
.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: var(--fsb-white) !important;
  display: block;
  font-size: clamp(1.6rem, 2.15vw, 2.55rem) !important;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.02;
  text-align: right;
  text-decoration: none !important;
  width: 100%;
}
.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .fsb-nav-secondary-first {
  border-top: 1px solid rgba(255,255,255,.18);
  margin-top: clamp(26px, 4.2vh, 48px) !important;
  padding-top: clamp(22px, 3vh, 32px);
}
.fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .fsb-nav-secondary .wp-block-navigation-item__content {
  color: rgba(255,255,255,.64) !important;
  font-size: clamp(.98rem, 1.22vw, 1.24rem) !important;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.22;
}
.fsb-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.fsb-primary-nav .current-menu-ancestor > .wp-block-navigation-item__content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  font-weight: inherit !important;
  outline: 0 !important;
  text-decoration: none !important;
}
.fsb-primary-nav .wp-block-navigation-item__content:focus-visible { text-decoration: underline !important; outline: 0 !important; }
.fsb-menu-social {
  align-items: center;
  bottom: clamp(28px, 4vw, 48px);
  display: flex !important;
  gap: 16px;
  justify-content: flex-end;
  position: absolute;
  right: var(--fsb-gutter);
}
.fsb-menu-social a { color: rgba(255,255,255,.78); display: block; height: 24px; width: 24px; }
.fsb-menu-social svg { height: 100%; width: 100%; }

/* --------------------------------------------------------------------------
   Home hero — paper collage + black rail, 80/20.
   -------------------------------------------------------------------------- */
.fsb-home-hero {
  background: var(--fsb-black);
  display: grid !important;
  grid-template-columns: var(--fsb-visual) var(--fsb-rail);
  height: 100svh;
  margin: 0 !important;
  min-height: 660px;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
}
.fsb-home-visual {
  background: var(--fsb-paper);
  min-width: 0;
  overflow: hidden;
  position: relative;
}
.fsb-home-collage { height: 100%; position: absolute; inset: 0; }
.fsb-collage-slot { margin: 0; overflow: hidden; position: absolute; transition: opacity .8s ease, transform 1.2s ease; }
.fsb-collage-slot.is-fading { opacity: .06; transform: scale(.985); }
.fsb-collage-slot img { filter: grayscale(1); height: 100%; object-fit: cover; width: 100%; }
.fsb-collage-slot--a { bottom: 0; left: 0; top: 0; width: 47%; }
.fsb-collage-slot--a img { object-position: center 30%; }
.fsb-collage-slot--b { right: 3%; top: 8%; height: 45%; width: 46%; }
.fsb-collage-slot--c { bottom: 5%; right: 8%; height: 37%; width: 39%; }
.fsb-home-title {
  bottom: clamp(30px, 5vw, 70px);
  left: var(--fsb-gutter);
  max-width: min(66vw, 1050px);
  position: absolute;
  z-index: 5;
}
.fsb-home-title p { font-size: 11px; font-weight: 500; letter-spacing: .12em; margin: 0 0 13px; }
.fsb-home-title h1 {
  color: var(--fsb-ink) !important;
  font-family: var(--fsb-sans) !important;
  font-size: clamp(3.35rem, 6.2vw, 7.2rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.055em !important;
  line-height: .84 !important;
  margin: 0 !important;
  max-width: 11ch;
}
.fsb-home-rail {
  align-items: flex-end;
  background: var(--fsb-black);
  display: flex;
  justify-content: flex-end;
  padding: 0 var(--fsb-gutter) clamp(34px, 4vw, 58px);
}
.fsb-home-rail p {
  color: rgba(255,255,255,.72);
  font-size: clamp(.72rem, .72vw, .86rem);
  letter-spacing: .02em;
  line-height: 1.45;
  margin: 0;
  max-width: 18ch;
  text-align: right;
}

/* --------------------------------------------------------------------------
   Internal hero — same mandatory proportions as sergiobravo.cl.
   -------------------------------------------------------------------------- */
.fsb-internal-hero {
  background: var(--fsb-black);
  display: grid;
  grid-template-columns: var(--fsb-visual) var(--fsb-rail);
  height: 100svh;
  min-height: 640px;
  overflow: hidden;
  width: 100%;
}
.fsb-internal-hero__visual { background: #111; min-width: 0; overflow: hidden; position: relative; }
.fsb-hero-slide { inset: 0; margin: 0; opacity: 0; position: absolute; transition: opacity 1.8s ease; }
.fsb-hero-slide.is-active { opacity: 1; z-index: 2; }
.fsb-hero-slide img { filter: grayscale(1); height: 100%; object-fit: cover; width: 100%; }
.fsb-internal-hero__panel {
  align-items: flex-end;
  background: var(--fsb-black);
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  padding: 0 var(--fsb-gutter) clamp(34px, 4vw, 58px);
  text-align: right;
}
.fsb-internal-hero__label { color: rgba(255,255,255,.58); font-size: 10px; letter-spacing: .1em; margin: 0 0 14px; text-transform: uppercase; }
.fsb-internal-hero__title {
  color: var(--fsb-white) !important;
  font-size: clamp(2rem, 11cqi, 4.4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.045em !important;
  line-height: .94 !important;
  margin: 0 !important;
  max-width: 100%;
  overflow-wrap: break-word;
}

/* --------------------------------------------------------------------------
   Shared editorial system. Margins protect text; full-bleed media keeps its
   own geometry and is never forced into the text boundary.
   -------------------------------------------------------------------------- */
.fsb-page-section { margin: 0 !important; padding: var(--fsb-section-y) 0 !important; }
.fsb-page-section > .alignwide,
.fsb-page-section > .wp-block-shortcode,
.fsb-home-projects > .wp-block-shortcode,
.fsb-home-agenda > .wp-block-shortcode,
.fsb-home-news > .wp-block-shortcode { margin-left: auto !important; margin-right: auto !important; max-width: 1440px !important; padding-left: var(--fsb-gutter); padding-right: var(--fsb-gutter); width: 100%; }
.fsb-page-section--intro { padding-top: clamp(84px, 10vw, 154px) !important; }
.fsb-page-section--black { background: var(--fsb-black); color: var(--fsb-white); }
.fsb-page-section--black h1, .fsb-page-section--black h2, .fsb-page-section--black h3, .fsb-page-section--black a { color: var(--fsb-white) !important; }
.fsb-page-section--black p { color: rgba(255,255,255,.72); }
.fsb-section-index { color: var(--fsb-graphite); font-size: 10px !important; font-weight: 500; letter-spacing: .12em; margin: 0 !important; text-transform: uppercase; }
.fsb-section-index--light { color: rgba(255,255,255,.54) !important; }
.fsb-editorial-grid { display: grid !important; gap: clamp(36px, 6vw, 110px); grid-template-columns: minmax(120px, .35fr) minmax(0, 1.65fr); }
.fsb-editorial-copy { min-width: 0; }
.fsb-display {
  font-family: var(--fsb-serif) !important;
  font-size: clamp(3.2rem, 6.4vw, 8.4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.055em !important;
  line-height: .88 !important;
  margin: 0 !important;
  max-width: 9ch;
}
.fsb-lead { font-size: clamp(1.25rem, 2vw, 2rem) !important; line-height: 1.35 !important; margin: clamp(30px, 4vw, 56px) 0 0 !important; max-width: 32ch; }
.fsb-text-link { font-size: .92rem; margin: clamp(24px, 3vw, 42px) 0 0 !important; }
.fsb-kicker { color: var(--fsb-graphite); font-size: 10px !important; letter-spacing: .08em; line-height: 1.45; margin: 0 0 10px !important; text-transform: uppercase; }
.fsb-section-head { align-items: end !important; border-bottom: 1px solid var(--fsb-line); display: flex !important; justify-content: space-between !important; margin-bottom: clamp(32px, 4vw, 60px) !important; padding-bottom: 18px; }
.fsb-section-head h2 { font-size: clamp(3rem, 6vw, 7.5rem) !important; font-weight: 400 !important; letter-spacing: -.055em !important; line-height: .86 !important; margin: 0 !important; }
.fsb-page-section--black .fsb-section-head { border-color: rgba(255,255,255,.22); }
.fsb-wide-heading { font-family: var(--fsb-serif) !important; font-size: clamp(3.6rem, 7vw, 8.5rem) !important; line-height: .9 !important; margin: 24px 0 0 !important; max-width: 12ch; }

/* Home rail */
.fsb-portal-rail { background: var(--fsb-paper); border-bottom: 1px solid var(--fsb-line); margin: 0 !important; }
.fsb-portal-rail__grid { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 auto !important; max-width: none !important; padding: 0 var(--fsb-gutter) !important; }
.fsb-portal-rail__grid p { border-left: 1px solid var(--fsb-line); margin: 0 !important; }
.fsb-portal-rail__grid p:last-child { border-right: 1px solid var(--fsb-line); }
.fsb-portal-rail__grid a { display: block; font-size: 11px; padding: 18px 16px; text-decoration: none !important; }

/* Home pillars */
.fsb-home-pillars { padding-top: 0 !important; }
.fsb-home-pillars__grid { border-top: 1px solid var(--fsb-line); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto; max-width: 1440px; }
.fsb-home-pillars__grid a { border-right: 1px solid var(--fsb-line); color: var(--fsb-ink); min-height: 270px; padding: clamp(24px, 3vw, 44px); text-decoration: none !important; }
.fsb-home-pillars__grid a:first-child { border-left: 1px solid var(--fsb-line); }
.fsb-home-pillars__grid span { color: var(--fsb-graphite); font-size: 10px; }
.fsb-home-pillars__grid h3 { font-size: clamp(1.7rem, 2.6vw, 3.3rem) !important; margin: clamp(34px, 5vw, 70px) 0 12px !important; }
.fsb-home-pillars__grid p { color: var(--fsb-graphite); font-size: .92rem; line-height: 1.45; margin: 0; max-width: 22ch; }

/* Projects */
.fsb-project-list { margin: 0 auto; max-width: 1440px; }
.fsb-project-row { align-items: stretch; border-top: 1px solid rgba(128,128,128,.32); display: grid; gap: clamp(22px, 3vw, 52px); grid-template-columns: minmax(70px,.22fr) minmax(0,1fr) minmax(280px,.8fr); padding: clamp(28px, 4vw, 60px) 0; }
.fsb-project-row:last-child { border-bottom: 1px solid rgba(128,128,128,.32); }
.fsb-project-row__meta { color: rgba(255,255,255,.52); display: flex; flex-direction: column; font-size: 10px; gap: 8px; }
.fsb-page-section:not(.fsb-page-section--black) .fsb-project-row__meta { color: var(--fsb-graphite); }
.fsb-project-row__copy { min-width: 0; }
.fsb-project-row__copy h2 { font-family: var(--fsb-serif) !important; font-size: clamp(2rem, 3.6vw, 4.8rem) !important; font-weight: 400 !important; letter-spacing: -.04em !important; line-height: .96 !important; margin: 0 0 20px !important; max-width: 15ch; }
.fsb-project-row__copy > p:not(.fsb-kicker):not(.fsb-text-link) { color: inherit; font-size: .96rem; max-width: 44ch; }
.fsb-project-row__media { min-height: 260px; overflow: hidden; }
.fsb-project-row__media img { filter: grayscale(1); height: 100%; object-fit: cover; transition: transform .7s ease; width: 100%; }
.fsb-project-row__media:hover img { transform: scale(1.025); }

/* CECIEX feature */
.fsb-ceciex-feature { background: var(--fsb-paper); display: grid !important; grid-template-columns: 56% 44%; min-height: min(78svh, 820px); padding: 0 !important; }
.fsb-ceciex-feature__media { min-height: 560px; overflow: hidden; }
.fsb-ceciex-feature__media img { filter: grayscale(1); height: 100%; object-fit: cover; width: 100%; }
.fsb-ceciex-feature__copy { align-self: center; padding: var(--fsb-section-y) var(--fsb-gutter); }
.fsb-ceciex-feature__copy h2 { font-family: var(--fsb-serif) !important; font-size: clamp(3rem, 5.2vw, 6.8rem) !important; letter-spacing: -.05em !important; line-height: .9 !important; margin: 20px 0 28px !important; max-width: 9ch; }
.fsb-ceciex-feature__copy p:not(.fsb-section-index) { color: var(--fsb-graphite); max-width: 42ch; }

/* Agenda */
.fsb-agenda-list { border-top: 1px solid currentColor; margin: 0 auto; max-width: 1440px; }
.fsb-agenda-item { align-items: start; border-bottom: 1px solid rgba(128,128,128,.35); display: grid; gap: clamp(18px, 3vw, 46px); grid-template-columns: minmax(145px,.35fr) minmax(0,1.45fr) 32px; padding: clamp(22px, 2.8vw, 38px) 0; }
.fsb-agenda-item__date { color: var(--fsb-graphite); display: flex; flex-direction: column; font-size: .86rem; gap: 5px; }
.fsb-page-section--black .fsb-agenda-item__date { color: rgba(255,255,255,.62); }
.fsb-agenda-item__body h3 { font-size: clamp(1.6rem, 2.8vw, 3.8rem) !important; letter-spacing: -.035em !important; line-height: 1 !important; margin: 0 !important; max-width: 22ch; }
.fsb-agenda-item__body > p:last-child { color: var(--fsb-graphite); margin: 11px 0 0; }
.fsb-page-section--black .fsb-agenda-item__body > p:last-child { color: rgba(255,255,255,.62); }
.fsb-agenda-item__arrow { font-size: 1.2rem; text-align: right; text-decoration: none !important; }
.fsb-remote-fallback { border-top: 1px solid currentColor; padding: 28px 0; }

/* News */
.fsb-news-grid { display: grid; gap: clamp(24px, 3vw, 48px); grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto; max-width: 1440px; }
.fsb-news-card { min-width: 0; }
.fsb-news-card__image { aspect-ratio: 4/3; display: block; margin-bottom: 18px; overflow: hidden; }
.fsb-news-card__image img { filter: grayscale(1); height: 100%; object-fit: cover; transition: transform .6s ease; width: 100%; }
.fsb-news-card__image:hover img { transform: scale(1.025); }
.fsb-news-card h3 { font-size: clamp(1.35rem, 2vw, 2.4rem) !important; letter-spacing: -.03em !important; line-height: 1.05 !important; margin: 10px 0 12px !important; }
.fsb-news-card > p:last-child { color: var(--fsb-graphite); font-size: .92rem; }

/* Home support */
.fsb-home-support__grid { display: grid !important; gap: clamp(36px, 6vw, 110px); grid-template-columns: minmax(120px,.35fr) minmax(0,1.65fr); }
.fsb-home-support__grid h2 { font-family: var(--fsb-serif) !important; font-size: clamp(3.4rem, 7vw, 8.4rem) !important; letter-spacing: -.05em !important; line-height: .88 !important; margin: 0 !important; max-width: 9ch; }
.fsb-home-support__grid > div p:not(.fsb-text-link) { color: rgba(255,255,255,.68); font-size: clamp(1.05rem, 1.5vw, 1.45rem); max-width: 39ch; }

/* Foundation pillars / services / support */
.fsb-pillars > h2 { font-family: var(--fsb-serif) !important; font-size: clamp(3rem, 5.8vw, 7.2rem) !important; line-height: .9 !important; margin: 0 0 clamp(52px, 7vw, 96px) !important; }
.fsb-pillar-grid { gap: 0 !important; margin: 0 !important; }
.fsb-pillar-grid > .wp-block-column { border-left: 1px solid rgba(255,255,255,.22); padding: 0 clamp(18px, 2.5vw, 36px); }
.fsb-pillar-grid > .wp-block-column:last-child { border-right: 1px solid rgba(255,255,255,.22); }
.fsb-pillar-grid h3 { font-size: clamp(1.5rem, 2vw, 2.5rem) !important; margin: 28px 0 14px !important; }
.fsb-pillar-grid p:last-child { font-size: .9rem; line-height: 1.5; }
.fsb-service-grid, .fsb-support-grid { display: grid; gap: 0; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: clamp(54px, 7vw, 100px); }
.fsb-service-grid > div, .fsb-support-grid > div { border-left: 1px solid rgba(255,255,255,.22); min-height: 310px; padding: 0 clamp(22px, 3vw, 42px); }
.fsb-service-grid > div:last-child, .fsb-support-grid > div:last-child { border-right: 1px solid rgba(255,255,255,.22); }
.fsb-service-grid span, .fsb-support-grid span { color: rgba(255,255,255,.48); font-size: 10px; }
.fsb-service-grid h3, .fsb-support-grid h2 { font-family: var(--fsb-serif) !important; font-size: clamp(2rem, 3.4vw, 4.2rem) !important; line-height: .94 !important; margin: 38px 0 20px !important; }
.fsb-service-grid p, .fsb-support-grid p { font-size: .93rem; line-height: 1.5; }
.fsb-support-grid a { color: var(--fsb-white) !important; }
.fsb-dual-cta { display: grid !important; gap: 1px; grid-template-columns: repeat(2,minmax(0,1fr)); background: var(--fsb-line); }
.fsb-dual-cta > div { background: var(--fsb-paper); min-height: 290px; padding: clamp(28px, 4vw, 54px); }
.fsb-dual-cta h2 { font-family: var(--fsb-serif) !important; font-size: clamp(2.3rem, 4vw, 5rem) !important; line-height: .92 !important; margin: 56px 0 24px !important; max-width: 10ch; }

/* Team */
.fsb-team-empty { border-top: 1px solid var(--fsb-line); color: var(--fsb-graphite); padding: 28px 0; }
.fsb-team-group + .fsb-team-group { margin-top: var(--fsb-section-y); }
.fsb-team-grid { display: grid; gap: clamp(28px, 4vw, 56px); grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 30px; }
.fsb-team-card img { aspect-ratio: 4/5; filter: grayscale(1); object-fit: cover; width: 100%; }
.fsb-team-card h3 { font-size: clamp(1.5rem, 2vw, 2.4rem) !important; margin: 18px 0 6px !important; }
.fsb-team-card__bio { color: var(--fsb-graphite); font-size: .9rem; }

/* Project single */
.fsb-project-single__grid { display: grid !important; gap: clamp(40px, 6vw, 100px); grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.fsb-project-single__image { margin: 0 !important; }
.fsb-project-single__image img { filter: grayscale(1); width: 100%; }
.fsb-project-single__copy { min-width: 0; }
.fsb-project-single__copy .wp-block-post-content { font-family: var(--fsb-serif); font-size: clamp(1.15rem, 1.5vw, 1.45rem); line-height: 1.58; }

/* 404 / index */
.fsb-404, .fsb-index { min-height: 75svh; padding: 140px var(--fsb-gutter) var(--fsb-section-y) !important; }
.fsb-404 h1 { font-family: var(--fsb-serif) !important; font-size: clamp(4rem, 9vw, 10rem) !important; line-height: .85 !important; }

/* Footer */
.fsb-footer { background: var(--fsb-black) !important; margin: 0 !important; padding: clamp(48px, 5vw, 76px) 0 clamp(26px, 3vw, 42px) !important; }
.fsb-footer__grid { display: grid !important; gap: 0 !important; }
.fsb-footer__title { margin: 0 !important; }
.fsb-footer__title a { color: var(--fsb-white) !important; font-size: clamp(1.05rem,1.22vw,1.3rem) !important; font-weight: 600 !important; text-decoration: none !important; }
.fsb-footer__statement { color: rgba(255,255,255,.62) !important; font-family: var(--fsb-serif) !important; font-size: clamp(1.85rem,2.3vw,3rem) !important; line-height: .96 !important; margin: clamp(24px,2.8vw,38px) 0 clamp(28px,3.2vw,44px) !important; white-space: nowrap; }
.fsb-footer__utility { align-items: flex-start !important; border-top: 1px solid rgba(255,255,255,.22); display: flex !important; gap: clamp(24px,3vw,56px) !important; justify-content: space-between !important; padding-top: 18px; }
.fsb-footer__nav { display: grid !important; gap: 10px; }
.fsb-footer__nav-primary, .fsb-footer__nav-secondary { display: flex; flex-wrap: wrap; gap: 8px clamp(18px,1.8vw,30px); }
.fsb-footer__nav a { color: var(--fsb-white) !important; font-size: clamp(.72rem,.72vw,.82rem); text-decoration: none !important; }
.fsb-footer__nav-secondary a { color: rgba(255,255,255,.64) !important; }
.fsb-footer__social { align-items: center; display: flex; gap: 12px; }
.fsb-footer__social-link { align-items: center; color: rgba(255,255,255,.72) !important; display: inline-flex; gap: 8px; min-height: 34px; text-decoration: none !important; }
.fsb-footer__social-link svg { height: 20px; width: 20px; }
.fsb-footer__social-link span { font-size: 11px; max-width: 0; opacity: 0; overflow: hidden; transition: max-width .2s ease, opacity .2s ease; white-space: nowrap; }
.fsb-footer__social-link:hover span, .fsb-footer__social-link:focus-visible span { max-width: 220px; opacity: 1; }
.fsb-footer__credit { color: rgba(255,255,255,.42) !important; font-size: 10px !important; letter-spacing: .035em; margin: clamp(24px,2.6vw,36px) 0 0 !important; }

/* --------------------------------------------------------------------------
   Responsive breakpoints: full-wide / desktop / notebook / tablet / mobile.
   -------------------------------------------------------------------------- */
/* Keep the same text-boundary rhythm as the principal sergiobravo.cl theme. */
@media (min-width: 641px) and (max-width: 900px) {
  :root { --sb-editorial-edge: clamp(28px, 4.2vw, 38px); }
}

@media (max-width: 640px) {
  :root { --sb-editorial-edge: clamp(20px, 5.4vw, 26px); }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  :root { --fsb-rail: 22vw; --fsb-visual: 78vw; }
}

@media (min-width: 901px) and (max-width: 1199px) {
  :root { --fsb-rail: 24vw; --fsb-visual: 76vw; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: clamp(1.45rem,2.6vw,2.2rem) !important; }
  .fsb-project-row { grid-template-columns: 70px minmax(0,1fr); }
  .fsb-project-row__media { grid-column: 2; min-height: 360px; }
  .fsb-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  :root { --fsb-rail: 100vw; --fsb-visual: 100vw; }
  .fsb-header { padding-inline: var(--fsb-gutter) !important; }
  .fsb-header__row { height: 68px; width: 100% !important; }
  .fsb-home-hero { display: block !important; min-height: 720px; }
  .fsb-home-visual { height: 100svh; min-height: 720px; }
  .fsb-home-rail { display: none; }
  .fsb-site-title a, .fsb-primary-nav .wp-block-navigation__responsive-container-open { color: var(--fsb-ink) !important; }
  body.fsb-menu-open .fsb-site-title a, body.fsb-menu-open .fsb-primary-nav .wp-block-navigation__responsive-container-open { color: var(--fsb-white) !important; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open { width: 100vw !important; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding: 116px var(--fsb-gutter) 94px !important; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: clamp(2rem, 6vw, 3.4rem) !important; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .fsb-nav-secondary .wp-block-navigation-item__content { font-size: clamp(1rem,3vw,1.3rem) !important; }
  .fsb-menu-social { bottom: 28px; }

  .fsb-internal-hero { display: block; height: 100svh; min-height: 700px; position: relative; }
  .fsb-internal-hero__visual { height: 100%; width: 100%; }
  .fsb-internal-hero__visual::after { background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.1) 46%, rgba(0,0,0,.05) 100%); content:""; inset:0; position:absolute; z-index:3; }
  .fsb-internal-hero__panel { background: transparent; bottom: 0; left: 0; padding: 0 var(--fsb-gutter) clamp(34px,7vw,58px); position: absolute; right: 0; text-align: left; z-index: 4; }
  .fsb-internal-hero__title { font-size: clamp(3rem, 10vw, 6rem) !important; max-width: 11ch; }

  .fsb-editorial-grid, .fsb-home-support__grid { grid-template-columns: 1fr; }
  .fsb-display { max-width: 10ch; }
  .fsb-home-pillars__grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding-inline: var(--fsb-gutter); }
  .fsb-home-pillars__grid a { min-height: 230px; }
  .fsb-ceciex-feature { grid-template-columns: 1fr; }
  .fsb-ceciex-feature__media { min-height: 56svh; }
  .fsb-project-row { grid-template-columns: 1fr; gap: 20px; }
  .fsb-project-row__meta, .fsb-project-row__copy { padding-inline: var(--fsb-gutter); }
  .fsb-project-row__media { grid-column: auto; min-height: 56vw; width: 100%; }
  .fsb-agenda-item { grid-template-columns: 130px minmax(0,1fr) 24px; }
  .fsb-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fsb-pillar-grid { flex-wrap: wrap !important; }
  .fsb-pillar-grid > .wp-block-column { border-bottom: 1px solid rgba(255,255,255,.22); flex-basis: 50% !important; min-height: 250px; padding: 22px; }
  .fsb-service-grid, .fsb-support-grid { grid-template-columns: 1fr; }
  .fsb-service-grid > div, .fsb-support-grid > div { border-bottom: 1px solid rgba(255,255,255,.22); border-right: 1px solid rgba(255,255,255,.22); min-height: 0; padding: 30px 26px; }
  .fsb-dual-cta { grid-template-columns: 1fr; }
  .fsb-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fsb-project-single__grid { grid-template-columns: 1fr; }
  .fsb-footer__utility { flex-direction: column !important; gap: 24px !important; }
  .fsb-footer__social-link span { max-width: 220px; opacity: 1; }
}

@media (max-width: 640px) {
  .fsb-home-visual { min-height: 100svh; }
  .fsb-collage-slot--a { height: 64%; top: 0; width: 72%; }
  .fsb-collage-slot--b { height: 36%; right: 0; top: 12%; width: 52%; }
  .fsb-collage-slot--c { bottom: 8%; height: 31%; right: 6%; width: 56%; }
  .fsb-home-title { bottom: 28px; max-width: calc(100vw - 40px); }
  .fsb-home-title h1 { font-size: clamp(2.9rem, 13vw, 4.8rem) !important; max-width: 9ch; }
  .fsb-home-title p { font-size: 9px; }

  .fsb-portal-rail__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fsb-portal-rail__grid p { border-bottom: 1px solid var(--fsb-line); }
  .fsb-portal-rail__grid p:nth-child(even) { border-right: 1px solid var(--fsb-line); }
  .fsb-portal-rail__grid p:last-child { grid-column: 1 / -1; }
  .fsb-portal-rail__grid a { font-size: 10px; padding: 16px 12px; }

  .fsb-page-section { padding-block: clamp(62px,18vw,96px) !important; }
  .fsb-page-section--intro { padding-top: 78px !important; }
  .fsb-display { font-size: clamp(3rem, 14vw, 5.4rem) !important; max-width: 9ch; }
  .fsb-lead { font-size: clamp(1.12rem,5vw,1.45rem) !important; }
  .fsb-section-head { align-items: flex-start !important; gap: 16px; }
  .fsb-section-head h2 { font-size: clamp(3rem,15vw,5.2rem) !important; }
  .fsb-section-head .fsb-text-link { font-size: 11px; margin-top: 10px !important; white-space: nowrap; }

  .fsb-home-pillars__grid { grid-template-columns: 1fr; }
  .fsb-home-pillars__grid a { border-left: 1px solid var(--fsb-line); min-height: 190px; }
  .fsb-home-pillars__grid a:last-child { border-bottom: 1px solid var(--fsb-line); }
  .fsb-home-pillars__grid h3 { margin-top: 34px !important; }

  .fsb-ceciex-feature__media { min-height: 62svh; }
  .fsb-ceciex-feature__copy h2 { font-size: clamp(3rem,14vw,5.2rem) !important; }
  .fsb-ceciex-feature__copy { padding-block: 68px; }

  .fsb-agenda-item { gap: 12px; grid-template-columns: 1fr 24px; }
  .fsb-agenda-item__date { grid-column: 1 / -1; }
  .fsb-agenda-item__body { grid-column: 1; }
  .fsb-agenda-item__arrow { grid-column: 2; grid-row: 2; }
  .fsb-agenda-item__body h3 { font-size: clamp(1.65rem,8vw,2.45rem) !important; }
  .fsb-news-grid { grid-template-columns: 1fr; }

  .fsb-pillar-grid > .wp-block-column { flex-basis: 100% !important; }
  .fsb-wide-heading { font-size: clamp(3rem,14vw,5.6rem) !important; }
  .fsb-dual-cta h2 { margin-top: 40px !important; }
  .fsb-team-grid { grid-template-columns: 1fr; }

  .fsb-footer { padding: 40px var(--fsb-gutter) 24px !important; }
  .fsb-footer__statement { font-size: clamp(1.28rem,5.8vw,1.8rem) !important; white-space: nowrap; }
  .fsb-footer__nav-primary, .fsb-footer__nav-secondary { flex-direction: column; gap: 8px; }
  .fsb-footer__nav-secondary { border-top: 1px solid rgba(255,255,255,.14); margin-top: 10px; padding-top: 16px; }
  .fsb-footer__social { border-top: 1px solid rgba(255,255,255,.14); flex-direction: column; padding-top: 16px; }
  .fsb-footer__credit { border-top: 1px solid rgba(255,255,255,.14); padding-top: 16px; }
}

@media (max-width: 380px) {
  .fsb-footer__statement { font-size: 1.14rem !important; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.82rem !important; }
}

@media (max-height: 700px) and (max-width: 900px) {
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 92px !important; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 6px !important; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: clamp(1.55rem,5vh,2.35rem) !important; }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .fsb-nav-secondary-first { margin-top: 18px !important; padding-top: 16px; }
  .fsb-menu-social { bottom: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* ========================================================================
   v1.0.1 — Home hero calibration
   Tightens the collage, makes the title a deliberate three-line lockup,
   raises the foundation statement in the black rail and refines the first
   transition into the editorial homepage content.
   ======================================================================== */

/* Desktop / full-wide hero. Keep the title visually inside the primary
   Sergio Bravo image rather than letting it compete with the collage. */
.fsb-collage-slot--a {
  width: 45%;
}
.fsb-collage-slot--b {
  height: 46%;
  right: 2%;
  top: 7%;
  width: 48%;
}
.fsb-collage-slot--c {
  bottom: 4%;
  height: 39%;
  right: 6%;
  width: 43%;
}
.fsb-home-title {
  bottom: clamp(34px, 4.4vw, 64px);
  max-width: min(35vw, 680px);
}
.fsb-home-title p {
  font-size: 10px;
  margin-bottom: 12px;
}
.fsb-home-title h1 {
  font-size: clamp(3.1rem, 4.7vw, 5.8rem) !important;
  letter-spacing: -.05em !important;
  line-height: .88 !important;
  max-width: none;
}

/* The rail statement remains secondary but no longer sits at the very bottom
   of the screen. It now reads as an active part of the hero composition. */
.fsb-home-rail {
  padding-bottom: clamp(88px, 10.5vh, 132px);
}
.fsb-home-rail p {
  font-size: clamp(.76rem, .76vw, .92rem);
  line-height: 1.52;
  max-width: 15ch;
}

/* First scroll: a slightly tighter portal strip followed by a deliberate
   editorial pause. This keeps the hero-to-content transition from feeling
   like a second unrelated page. */
.fsb-portal-rail__grid a {
  padding-block: 16px;
}
.fsb-home-intro {
  padding-bottom: clamp(96px, 8vw, 132px) !important;
  padding-top: clamp(92px, 7.5vw, 122px) !important;
}
.fsb-home-intro .fsb-display {
  max-width: 7.5ch;
}
.fsb-home-intro .fsb-lead {
  margin-top: clamp(24px, 3vw, 42px) !important;
}

/* Notebook widths keep the same three-line title without allowing it to
   spill into the right collage or the black navigation rail. */
@media (min-width: 901px) and (max-width: 1199px) {
  .fsb-home-title {
    max-width: min(43vw, 620px);
  }
  .fsb-home-title h1 {
    font-size: clamp(3rem, 5.4vw, 4.8rem) !important;
  }
  .fsb-home-rail {
    padding-bottom: clamp(72px, 9vh, 108px);
  }
}

/* Tablet/mobile preserve the image-led opening but reduce overlap and keep the
   headline legible over changing collage frames. */
@media (max-width: 900px) {
  .fsb-home-title {
    bottom: clamp(28px, 5.5vw, 44px);
    max-width: min(82vw, 650px);
  }
  .fsb-home-title h1 {
    font-size: clamp(3rem, 9.2vw, 5.4rem) !important;
    line-height: .88 !important;
    max-width: 9.2ch;
  }
  .fsb-home-intro {
    padding-bottom: clamp(76px, 12vw, 104px) !important;
    padding-top: clamp(72px, 11vw, 96px) !important;
  }
}

@media (max-width: 640px) {
  .fsb-collage-slot--a {
    height: 66%;
    top: 0;
    width: 74%;
  }
  .fsb-collage-slot--b {
    height: 34%;
    right: 0;
    top: 11%;
    width: 50%;
  }
  .fsb-collage-slot--c {
    bottom: 7%;
    height: 30%;
    right: 4%;
    width: 54%;
  }
  .fsb-home-title {
    max-width: calc(100vw - 40px);
  }
  .fsb-home-title h1 {
    font-size: clamp(2.65rem, 11.8vw, 4.2rem) !important;
    max-width: 8.8ch;
  }
}

/* ========================================================================
   v1.0.2 — Portal rail homologation
   Makes the post-hero navigation strip match the SergioBravo.cl ecosystem
   bar more closely in rhythm, width, type size and line treatment.
   ======================================================================== */

.fsb-portal-rail {
  border-top: 1px solid var(--fsb-line);
  border-bottom: 1px solid var(--fsb-line);
  margin: 0 !important;
}

.fsb-portal-rail > .wp-block-group {
  max-width: none !important;
}

.fsb-portal-rail__grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0 auto !important;
  max-width: 1440px !important;
  padding: 0 !important;
  width: 100%;
}

.fsb-portal-rail__grid p {
  border: 0 !important;
  margin: 0 !important;
}

.fsb-portal-rail__grid a {
  align-items: baseline;
  border-right: 1px solid var(--fsb-line);
  color: var(--fsb-ink);
  display: flex;
  font-size: 14px;
  font-weight: 500;
  gap: 14px;
  min-height: 72px;
  padding: 24px clamp(16px, 2.2vw, 32px);
  text-decoration: none !important;
  transition: background-color .18s ease;
}

.fsb-portal-rail__grid p:first-child a {
  border-left: 1px solid var(--fsb-line);
}

.fsb-portal-rail__grid a:hover {
  background: var(--fsb-white);
  text-decoration: none !important;
}

@media (min-width: 381px) and (max-width: 640px) {
  .fsb-portal-rail__grid {
    border-left: 1px solid var(--fsb-line);
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .fsb-portal-rail__grid p:last-child {
    grid-column: 1 / -1;
  }

  .fsb-portal-rail__grid a {
    align-items: center;
    border-left: 0 !important;
    border-bottom: 1px solid var(--fsb-line);
    font-size: 12px;
    line-height: 1.25;
    min-height: 62px;
    padding: 15px 14px;
  }
}

@media (max-width: 380px) {
  .fsb-portal-rail__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .fsb-portal-rail__grid p:last-child {
    grid-column: auto;
  }

  .fsb-portal-rail__grid a {
    border-bottom: 1px solid var(--fsb-line);
    border-left: 0 !important;
    min-height: 56px;
    padding-block: 18px;
  }
}

/* ========================================================================
   v1.0.3 — Shared ecosystem contract with sergiobravo.cl
   Internal heroes, invisible scrollbars, focus states and responsive menu.
   ======================================================================== */

/* Keep scrolling available while removing the browser's visible vertical rail. */
html,
body {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0;
}

/* Responsive menu can still scroll when needed without displaying its own rail. */
.fsb-primary-nav .wp-block-navigation__responsive-container,
.fsb-primary-nav .wp-block-navigation__responsive-container-content {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.fsb-primary-nav .wp-block-navigation__responsive-container::-webkit-scrollbar,
.fsb-primary-nav .wp-block-navigation__responsive-container-content::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0;
}

/* Same interaction contract as the main site: no browser/WordPress boxes on
   current, focused or tapped navigation items. */
.fsb-primary-nav .wp-block-navigation-item__content,
.fsb-primary-nav .wp-block-navigation__responsive-container-open,
.fsb-primary-nav .wp-block-navigation__responsive-container-close {
  -webkit-tap-highlight-color: transparent;
  box-shadow: none !important;
  outline: 0 !important;
}
.fsb-primary-nav .wp-block-navigation-item__content:focus,
.fsb-primary-nav .wp-block-navigation-item__content:active,
.fsb-primary-nav .wp-block-navigation__responsive-container-open:focus,
.fsb-primary-nav .wp-block-navigation__responsive-container-open:active,
.fsb-primary-nav .wp-block-navigation__responsive-container-close:focus,
.fsb-primary-nav .wp-block-navigation__responsive-container-close:active {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* The shortcode block used by the dynamic internal hero must never inherit
   WordPress block gaps or root content margins. This was the source of the
   white band and lateral gutters visible on internal Foundation pages. */
.fsb-page-main {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}
.fsb-page-main > * {
  flex: 0 0 auto !important;
  margin-block-start: 0 !important;
}
.fsb-page-main > .wp-block-shortcode:first-child,
.fsb-page-main > .wp-block-shortcode:has(.fsb-internal-hero) {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Internal heroes now use exactly the same full-bleed image/black-field
   geometry as sergiobravo.cl: 80/20 → 78/22 → 76/24. */
.fsb-internal-hero {
  background: var(--fsb-black) !important;
  display: block !important;
  height: 100svh !important;
  margin: 0 !important;
  min-height: 640px;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
  width: 100% !important;
}
.fsb-internal-hero__visual {
  bottom: 0;
  left: 0;
  margin: 0 !important;
  max-width: none !important;
  position: absolute !important;
  top: 0;
  width: 80% !important;
}
.fsb-internal-hero__panel {
  align-items: flex-end !important;
  background: var(--fsb-black) !important;
  bottom: 0;
  box-sizing: border-box !important;
  container-name: fsb-internal-panel;
  container-type: inline-size;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
  padding: clamp(28px, 3vw, 56px) var(--fsb-gutter) !important;
  position: absolute !important;
  right: 0;
  top: 0;
  width: 20% !important;
  z-index: 5;
}
.fsb-internal-hero__label {
  color: rgba(255,255,255,.62) !important;
  font-family: var(--fsb-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .09em !important;
  line-height: 1.25 !important;
  margin: 0 0 14px !important;
  max-width: 100% !important;
  text-align: right !important;
  text-transform: uppercase;
}
.fsb-internal-hero__title {
  color: var(--fsb-white) !important;
  font-family: var(--fsb-sans) !important;
  font-size: clamp(2.05rem, min(4.2vw, 18cqw), 5.2rem) !important;
  font-weight: 400 !important;
  hyphens: none !important;
  letter-spacing: -.04em !important;
  line-height: .92 !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  text-align: right !important;
  white-space: nowrap !important;
  word-break: normal !important;
}
body.fsb-menu-open .fsb-internal-hero__panel {
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

/* Header is always over the internal hero, never on a separate paper strip. */
body:has(.fsb-internal-hero) .fsb-header {
  background: transparent !important;
  border: 0 !important;
  position: absolute !important;
  top: 0 !important;
}
body:has(.fsb-internal-hero) .fsb-site-title a,
body:has(.fsb-internal-hero) .fsb-primary-nav .wp-block-navigation__responsive-container-open,
body:has(.fsb-internal-hero) .fsb-primary-nav .wp-block-navigation__responsive-container-close {
  color: var(--fsb-white) !important;
}

@media (min-width: 1200px) and (max-width: 1599px) {
  .fsb-internal-hero__visual { width: 78% !important; }
  .fsb-internal-hero__panel { width: 22% !important; }
}

@media (min-width: 901px) and (max-width: 1199px) {
  .fsb-internal-hero__visual { width: 76% !important; }
  .fsb-internal-hero__panel { width: 24% !important; }
}

/* Tablet menu follows the main site: retain part of the artwork instead of
   unnecessarily covering the full viewport. */
@media (min-width: 641px) and (max-width: 900px) {
  .fsb-header__row,
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    width: min(60vw, 520px) !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    left: auto !important;
    padding-left: clamp(28px, 4vw, 42px) !important;
    padding-right: clamp(28px, 4vw, 42px) !important;
    right: 0 !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: clamp(2rem, 4.6vw, 2.65rem) !important;
  }
}

@media (max-width: 900px) {
  .fsb-internal-hero {
    height: 100svh !important;
    min-height: 700px;
  }
  .fsb-internal-hero__visual {
    height: 100% !important;
    width: 100% !important;
  }
  .fsb-internal-hero__visual::after {
    background: linear-gradient(180deg, rgba(0,0,0,.04) 36%, rgba(0,0,0,.64) 100%);
  }
  .fsb-internal-hero__panel {
    align-items: flex-start !important;
    background: transparent !important;
    height: auto;
    left: 0;
    padding: 28px var(--fsb-gutter) !important;
    right: auto;
    top: auto;
    width: 100% !important;
  }
  .fsb-internal-hero__label,
  .fsb-internal-hero__title {
    text-align: left !important;
  }
  .fsb-internal-hero__title {
    font-size: clamp(3rem, min(14vw, 14cqw), 6rem) !important;
    white-space: nowrap !important;
  }
  body:has(.fsb-internal-hero) .fsb-site-title a,
  body:has(.fsb-internal-hero) .fsb-primary-nav .wp-block-navigation__responsive-container-open {
    color: var(--fsb-white) !important;
  }
}

/* Phone: the navigation becomes a deliberate full-screen black surface. */
@media (max-width: 640px) {
  .fsb-header__row {
    min-height: 68px !important;
    padding-left: max(22px, env(safe-area-inset-left)) !important;
    padding-right: max(22px, env(safe-area-inset-right)) !important;
    width: 100vw !important;
  }
  .fsb-site-title a {
    font-size: clamp(1.05rem, 4.7vw, 1.28rem) !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container-open,
  .fsb-primary-nav .wp-block-navigation__responsive-container-close {
    height: 44px !important;
    width: 44px !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    inset: 0 !important;
    min-width: 100vw !important;
    padding: 68px max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)) !important;
    width: 100vw !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    right: max(22px, env(safe-area-inset-right)) !important;
    top: 12px !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding: clamp(82px, 11vh, 112px) 0 92px !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    gap: 7px !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: clamp(1.95rem, 8.2vw, 2.55rem) !important;
    letter-spacing: -.045em !important;
    line-height: .98 !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .fsb-nav-secondary-first {
    margin-top: clamp(26px, 4.4vh, 36px) !important;
  }
  .fsb-menu-social {
    bottom: max(22px, env(safe-area-inset-bottom)) !important;
    right: max(24px, env(safe-area-inset-right)) !important;
  }
}

@media (max-width: 640px) and (max-height: 700px) {
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 58px !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    gap: 5px !important;
  }
  .fsb-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: clamp(1.7rem, 7vw, 2.08rem) !important;
  }
}

/* ========================================================================
   v1.3.0 — sibling homepage + dedicated La Fundación editorial page
   ======================================================================== */

/* Home: same editorial vocabulary as sergiobravo.cl after the shared hero. */
.sb-intro-section,
.sb-portals-section {
  padding-block: clamp(96px,9vw,144px) !important;
}
.sb-intro-grid {
  display: grid !important;
  gap: clamp(32px,7vw,120px) !important;
  grid-template-columns: minmax(160px,.65fr) minmax(0,2fr) !important;
  margin: 0 auto !important;
  max-width: 1440px !important;
  width: calc(100% - (2 * var(--sb-gutter))) !important;
}
.sb-section-label,
.sb-card-index {
  color: var(--sb-graphite) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  margin: .35em 0 0 !important;
  text-transform: uppercase !important;
}
.sb-editorial-heading {
  font-family: var(--sb-serif) !important;
  font-size: clamp(3rem,7vw,7.8rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
  line-height: .92 !important;
  margin: 0 0 clamp(32px,4vw,56px) !important;
  max-width: 11ch !important;
}
.sb-lead {
  font-size: clamp(1.15rem,1.6vw,1.55rem) !important;
  line-height: 1.42 !important;
  margin: 0 !important;
  max-width: 690px !important;
}
.sb-text-link { font-size: 14px !important; margin-top: 28px !important; }
.sb-text-link a { text-decoration: none !important; }
.sb-text-link a:hover { text-decoration: underline !important; }
.sb-portals-section { border-top: 1px solid var(--sb-line); }
.sb-portals-grid {
  border-top: 1px solid var(--sb-line);
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 0 auto !important;
  max-width: 1440px !important;
  width: calc(100% - (2 * var(--sb-gutter))) !important;
}
.sb-portal-card {
  border-bottom: 1px solid var(--sb-line);
  border-right: 1px solid var(--sb-line);
  min-height: 360px;
  padding: clamp(24px,3vw,48px);
}
.sb-portal-card:first-child { border-left: 1px solid var(--sb-line); }
.sb-portal-card h3 {
  font-size: clamp(2rem,3.5vw,4.2rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.03em !important;
  margin: 28px 0 auto !important;
}
.sb-portal-card h3 a { text-decoration: none !important; }
.sb-portal-card > p:last-child {
  color: var(--sb-graphite) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin-top: 92px !important;
  max-width: 28ch;
}

/* Dedicated La Fundación page — uses Biography's rhythm without copying it. */
.fsb-foundation-page {
  background: var(--fsb-paper);
  color: var(--fsb-ink);
  gap: 0 !important;
}
.fsb-foundation-index {
  color: var(--fsb-graphite);
  font-size: 10px !important;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.4;
  margin: .35em 0 0 !important;
  text-transform: uppercase;
}
.fsb-foundation-index--light { color: rgba(255,255,255,.62) !important; }

.fsb-foundation-prologue {
  border-bottom: 1px solid var(--fsb-line);
  padding-block: clamp(96px,11vw,180px);
}
.fsb-foundation-prologue__grid {
  display: grid !important;
  gap: clamp(44px,8vw,148px);
  grid-template-columns: minmax(130px,.52fr) minmax(0,2.48fr);
  margin: 0 auto !important;
  max-width: 1440px !important;
  width: calc(100% - (2 * var(--sb-gutter))) !important;
}
.fsb-foundation-prologue__copy { align-items: flex-start !important; gap: 0 !important; }
.fsb-foundation-prologue__title {
  font-family: var(--fsb-serif) !important;
  font-size: clamp(3.9rem,8.4vw,9.4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.048em !important;
  line-height: .87 !important;
  margin: 0 !important;
  max-width: 10.5ch;
}
.fsb-foundation-prologue__lead {
  font-size: clamp(1.18rem,1.8vw,1.6rem) !important;
  line-height: 1.48 !important;
  margin: clamp(48px,6vw,84px) 0 0 !important;
  max-width: 780px;
}
.fsb-foundation-facts {
  border-top: 1px solid var(--fsb-line);
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin-top: clamp(56px,7vw,96px) !important;
  width: 100%;
}
.fsb-foundation-facts p {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 !important;
  min-height: 132px;
  padding: 22px 24px 22px 0;
}
.fsb-foundation-facts p + p { border-left: 1px solid var(--fsb-line); padding-left: 24px; }
.fsb-foundation-facts span { color: var(--fsb-graphite); font-size: 10px; letter-spacing: .1em; }
.fsb-foundation-facts strong { font-size: clamp(1.25rem,1.8vw,1.7rem); font-weight: 500; margin-top: auto; }
.fsb-foundation-facts small { color: var(--fsb-graphite); font-size: 12px; }

.fsb-foundation-field {
  background: var(--fsb-black);
  color: var(--fsb-white);
  display: grid !important;
  grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr);
  min-height: min(92svh,980px);
  overflow: hidden;
}
.fsb-foundation-field__image { height: 100%; margin: 0 !important; min-height: min(92svh,980px); overflow: hidden; }
.fsb-foundation-field__image img { filter: grayscale(1) contrast(1.06); height: 100% !important; object-fit: cover; width: 100% !important; }
.fsb-foundation-field__copy {
  align-items: flex-start !important;
  align-self: stretch;
  gap: 0 !important;
  justify-content: flex-end !important;
  padding: clamp(56px,8vw,132px) var(--sb-gutter);
}
.fsb-foundation-field__title,
.fsb-foundation-institution__title {
  color: var(--fsb-white) !important;
  font-family: var(--fsb-serif) !important;
  font-size: clamp(3.4rem,6.4vw,7.5rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.045em !important;
  line-height: .9 !important;
  margin: clamp(30px,4vw,56px) 0 0 !important;
  max-width: 9ch;
}
.fsb-foundation-field__text,
.fsb-foundation-institution__text {
  color: rgba(255,255,255,.72) !important;
  font-size: clamp(1rem,1.35vw,1.28rem) !important;
  line-height: 1.58 !important;
  margin: clamp(36px,5vw,64px) 0 0 !important;
  max-width: 600px;
}

.fsb-foundation-research { padding-block: clamp(96px,12vw,190px); }
.fsb-foundation-research__grid {
  display: grid !important;
  gap: clamp(32px,5vw,80px);
  grid-template-columns: minmax(130px,.55fr) minmax(0,1.1fr) minmax(360px,1.35fr);
  margin: 0 auto !important;
  max-width: 1440px !important;
  position: relative;
  width: calc(100% - (2 * var(--sb-gutter))) !important;
}
.fsb-foundation-research__word {
  font-family: var(--fsb-serif) !important;
  font-size: clamp(4rem,7.4vw,8.5rem) !important;
  letter-spacing: -.06em;
  line-height: .78;
  margin: 0 !important;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.fsb-foundation-research__copy { align-items: flex-start !important; gap: 0 !important; padding-top: 4px; position: relative; z-index: 3; }
.fsb-foundation-research__title,
.fsb-foundation-activate__title,
.fsb-foundation-community__title,
.fsb-foundation-management__title {
  font-family: var(--fsb-serif) !important;
  font-size: clamp(3rem,5.6vw,6.5rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.042em !important;
  line-height: .93 !important;
  margin: clamp(30px,4vw,54px) 0 0 !important;
  max-width: 10ch;
}
.fsb-foundation-research__text,
.fsb-foundation-activate__text,
.fsb-foundation-community__text,
.fsb-foundation-management__text {
  color: var(--fsb-graphite) !important;
  font-size: clamp(1.06rem,1.45vw,1.34rem) !important;
  line-height: 1.6 !important;
  margin: clamp(34px,4vw,56px) 0 0 !important;
  max-width: 680px;
}
.fsb-foundation-research__frames { min-height: 800px; position: relative; }
.fsb-foundation-frame { margin: 0 !important; overflow: hidden; position: absolute; }
.fsb-foundation-frame img { filter: grayscale(1); height: 100% !important; object-fit: cover; width: 100% !important; }
.fsb-foundation-frame--a { height: 44%; left: 0; top: 3%; width: 74%; z-index: 1; }
.fsb-foundation-frame--b { height: 47%; right: 0; top: 29%; width: 70%; z-index: 2; }
.fsb-foundation-frame--c { bottom: 0; height: 31%; left: 8%; width: 58%; z-index: 3; }

.fsb-foundation-activate { border-top: 1px solid var(--fsb-line); padding-top: clamp(96px,11vw,172px); }
.fsb-foundation-activate__head {
  display: grid !important;
  gap: clamp(40px,7vw,128px);
  grid-template-columns: minmax(130px,.55fr) minmax(0,1.15fr) minmax(300px,.95fr);
  margin: 0 auto !important;
  max-width: 1440px !important;
  width: calc(100% - (2 * var(--sb-gutter))) !important;
}
.fsb-foundation-activate__title,
.fsb-foundation-activate__text { margin-top: 0 !important; }
.fsb-foundation-strip {
  background: var(--fsb-black);
  display: grid !important;
  gap: 1px;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: clamp(80px,10vw,150px) 0 0 !important;
  max-width: 100vw !important;
  padding: 1px 0;
  width: 100vw !important;
}
.fsb-foundation-strip figure { background: var(--fsb-black); margin: 0 !important; overflow: hidden; }
.fsb-foundation-strip img { aspect-ratio: 2 / 1; filter: grayscale(1); height: 100% !important; object-fit: cover; width: 100% !important; }

.fsb-foundation-community { padding-block: clamp(104px,12vw,190px); }
.fsb-foundation-community__grid {
  align-items: end;
  display: grid !important;
  gap: clamp(52px,8vw,148px);
  grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr);
  margin: 0 auto !important;
  max-width: 1440px !important;
  width: calc(100% - (2 * var(--sb-gutter))) !important;
}
.fsb-foundation-community__copy { align-items: flex-start !important; gap: 0 !important; }
.fsb-foundation-community__image { margin: 0 !important; overflow: hidden; }
.fsb-foundation-community__image img { aspect-ratio: .82 / 1; filter: grayscale(1); object-fit: cover; object-position: 40% center; width: 100%; }
.fsb-foundation-community__image figcaption { color: var(--fsb-graphite); font-size: 10px; letter-spacing: .08em; margin-top: 10px; text-transform: uppercase; }
.fsb-foundation-link { font-size: 14px; margin-top: 28px !important; }
.fsb-foundation-link a { text-decoration: none !important; }

.fsb-foundation-institution {
  background: var(--fsb-black);
  color: var(--fsb-white);
  min-height: min(90svh,960px);
  overflow: hidden;
  position: relative;
}
.fsb-foundation-institution__bg { inset: 0; margin: 0 !important; position: absolute; }
.fsb-foundation-institution__bg::after {
  background: linear-gradient(90deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.52) 48%,rgba(0,0,0,.95) 73%,#000 100%);
  content: "";
  inset: 0;
  position: absolute;
}
.fsb-foundation-institution__bg img { filter: grayscale(1); height: 100% !important; object-fit: cover; width: 100% !important; }
.fsb-foundation-institution__copy {
  align-items: flex-start !important;
  gap: 0 !important;
  margin-left: auto !important;
  min-height: min(90svh,960px);
  padding: clamp(72px,10vw,154px) var(--sb-gutter);
  position: relative;
  width: min(48%,820px);
  z-index: 2;
}
.fsb-foundation-institution__text { margin: auto 0 0 !important; padding-top: 64px; }

.fsb-foundation-management {
  border-bottom: 1px solid var(--fsb-line);
  padding-block: clamp(104px,12vw,190px);
}
.fsb-foundation-management__grid {
  display: grid !important;
  gap: clamp(42px,8vw,142px);
  grid-template-columns: minmax(130px,.55fr) minmax(0,2.45fr);
  margin: 0 auto !important;
  max-width: 1440px !important;
  width: calc(100% - (2 * var(--sb-gutter))) !important;
}
.fsb-foundation-management__number {
  font-family: var(--fsb-serif) !important;
  font-size: clamp(4rem,7vw,8rem) !important;
  letter-spacing: -.06em;
  line-height: .82;
  margin: 0 !important;
}
.fsb-foundation-management__copy { align-items: flex-start !important; gap: 0 !important; }
.fsb-foundation-management__links { gap: 10px 28px !important; margin-top: 34px !important; }
.fsb-foundation-management__links p { margin: 0 !important; }
.fsb-foundation-management__links a { text-decoration: none !important; }

.fsb-foundation-next {
  border-top: 1px solid var(--fsb-line);
  padding-block: clamp(78px,9vw,140px);
}
.fsb-foundation-next__row {
  align-items: end;
  display: grid !important;
  gap: 36px;
  grid-template-columns: minmax(130px,.55fr) minmax(0,2.45fr);
  margin: 0 auto !important;
  max-width: 1440px !important;
  width: calc(100% - (2 * var(--sb-gutter))) !important;
}
.fsb-foundation-next__title {
  font-size: clamp(3.4rem,7.2vw,8.4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.05em !important;
  line-height: .88 !important;
  margin: 0 !important;
  text-align: right;
}
.fsb-foundation-next__title a { text-decoration: none !important; }

@media (max-width:900px) {
  .sb-intro-grid,
  .fsb-foundation-prologue__grid,
  .fsb-foundation-management__grid,
  .fsb-foundation-next__row { grid-template-columns: 1fr !important; }
  .sb-portals-grid { grid-template-columns: 1fr !important; }
  .sb-portal-card { border-left: 1px solid var(--sb-line); min-height: 280px; }
  .sb-portal-card > p:last-child { margin-top: 54px !important; }
  .fsb-foundation-prologue__title { font-size: clamp(3.7rem,15vw,6rem) !important; }
  .fsb-foundation-facts { grid-template-columns: 1fr; }
  .fsb-foundation-facts p + p { border-left: 0; border-top: 1px solid var(--fsb-line); padding-left: 0; }
  .fsb-foundation-field { grid-template-columns: 1fr; }
  .fsb-foundation-field__image { min-height: 62svh; }
  .fsb-foundation-field__copy { min-height: 58svh; }
  .fsb-foundation-research__grid { grid-template-columns: 1fr; }
  .fsb-foundation-research__word { font-size: clamp(4rem,21vw,7rem) !important; writing-mode: initial; transform: none; }
  .fsb-foundation-research__frames { min-height: 660px; margin-top: 48px !important; }
  .fsb-foundation-activate__head { grid-template-columns: 1fr; }
  .fsb-foundation-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fsb-foundation-community__grid { grid-template-columns: 1fr; }
  .fsb-foundation-community__image img { aspect-ratio: 1 / 1.1; }
  .fsb-foundation-institution__bg::after { background: linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.62) 55%,#000 88%,#000 100%); }
  .fsb-foundation-institution__copy { min-height: 92svh; width: 100%; }
  .fsb-foundation-institution__text { margin-top: auto !important; }
  .fsb-foundation-next__title { text-align: left; }
}

@media (max-width:640px) {
  .sb-intro-section,
  .sb-portals-section { padding-block: clamp(72px,16vw,96px) !important; }
  .sb-editorial-heading { font-size: clamp(3rem,14vw,5.4rem) !important; }
  .fsb-foundation-prologue,
  .fsb-foundation-research,
  .fsb-foundation-community,
  .fsb-foundation-management { padding-block: clamp(78px,18vw,112px); }
  .fsb-foundation-prologue__grid,
  .fsb-foundation-research__grid,
  .fsb-foundation-activate__head,
  .fsb-foundation-community__grid,
  .fsb-foundation-management__grid,
  .fsb-foundation-next__row { width: calc(100% - (2 * max(20px,var(--sb-gutter)))) !important; }
  .fsb-foundation-prologue__title,
  .fsb-foundation-field__title,
  .fsb-foundation-research__title,
  .fsb-foundation-activate__title,
  .fsb-foundation-community__title,
  .fsb-foundation-institution__title,
  .fsb-foundation-management__title { font-size: clamp(2.9rem,13vw,4.8rem) !important; }
  .fsb-foundation-research__frames { min-height: 520px; }
  .fsb-foundation-frame--a { height: 40%; width: 82%; }
  .fsb-foundation-frame--b { height: 45%; top: 27%; width: 76%; }
  .fsb-foundation-frame--c { height: 28%; left: 3%; width: 66%; }
  .fsb-foundation-strip { grid-template-columns: 1fr; }
  .fsb-foundation-strip img { aspect-ratio: 16 / 8.5; }
  .fsb-foundation-next__title { font-size: clamp(3rem,14vw,5.4rem) !important; }
}

/* ========================================================================
   v1.4.0 — Fundación home editorial collage
   Restores the image-led photobook opening from the original references,
   keeps the shared Sergio Bravo shell, and moves the institutional title
   entirely into the black 20% rail.
   ======================================================================== */

/* Home hero: same 80/20 → 78/22 → 76/24 contract as sergiobravo.cl. */
.fsb-home-collage-hero {
  background: var(--fsb-black) !important;
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: 80% 20%;
  height: 100svh;
  margin: 0 !important;
  max-width: none !important;
  min-height: 660px;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
  width: 100% !important;
}

.fsb-home-visual {
  background: var(--fsb-paper);
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.fsb-home-collage {
  height: 100%;
  inset: 0;
  position: absolute;
}

.fsb-collage-slot {
  margin: 0 !important;
  overflow: hidden;
  position: absolute;
  transition: opacity 1.55s ease, transform 1.8s ease;
}

.fsb-collage-slot.is-fading {
  opacity: .04;
  transform: scale(.992);
}

.fsb-collage-slot img {
  filter: grayscale(1);
  height: 100% !important;
  object-fit: cover;
  width: 100% !important;
}

.fsb-collage-slot--a {
  bottom: 0;
  left: 0;
  top: 0;
  width: 46%;
}
.fsb-collage-slot--a img { object-position: center 31%; }

.fsb-collage-slot--b {
  height: 46%;
  right: 2.5%;
  top: 7%;
  width: 48%;
}

.fsb-collage-slot--c {
  bottom: 4%;
  height: 39%;
  right: 6.5%;
  width: 42%;
}

.fsb-home-rail {
  align-items: flex-end;
  background: var(--fsb-black);
  container-type: inline-size;
  display: flex;
  justify-content: flex-end;
  min-width: 0;
  padding: 0 var(--fsb-gutter) clamp(44px, 5vw, 72px);
  position: relative;
  text-align: right;
}

.fsb-home-rail__copy {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  max-width: 100%;
}

.fsb-home-rail__label {
  color: rgba(255,255,255,.58);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  margin: 0 0 14px !important;
  text-transform: uppercase;
}

.fsb-home-rail h1 {
  color: var(--fsb-white) !important;
  font-family: var(--fsb-sans) !important;
  font-size: clamp(2rem, 11cqi, 3.4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.045em !important;
  line-height: .94 !important;
  margin: 0 !important;
  max-width: 9.2ch;
  overflow-wrap: normal;
  text-wrap: balance;
}

.fsb-home-rail__descriptor {
  color: rgba(255,255,255,.7);
  font-size: clamp(.72rem, 3.5cqi, .88rem);
  letter-spacing: .02em;
  line-height: 1.5;
  margin: clamp(24px, 5cqi, 34px) 0 0 !important;
  max-width: 18ch;
}

@media (min-width: 1200px) and (max-width: 1599px) {
  .fsb-home-collage-hero { grid-template-columns: 78% 22%; }
}

@media (min-width: 901px) and (max-width: 1199px) {
  .fsb-home-collage-hero { grid-template-columns: 76% 24%; }
  .fsb-home-rail { padding-bottom: clamp(38px, 4vw, 56px); }
  .fsb-home-rail h1 { font-size: clamp(1.85rem, 10.5cqi, 2.8rem) !important; }
}

/* First editorial scroll follows the exact rhythm of the main site. */
.fsb-home-intro {
  padding-bottom: clamp(100px, 9vw, 144px) !important;
  padding-top: clamp(100px, 9vw, 144px) !important;
}
.fsb-home-intro .sb-editorial-heading { max-width: 8.5ch; }
.fsb-home-intro .sb-lead { max-width: 36ch; }

/* Areas of work: strong black editorial interlude, not a generic card grid. */
.fsb-home-actions {
  padding-bottom: clamp(78px, 7vw, 112px) !important;
  padding-top: clamp(82px, 7.5vw, 122px) !important;
}

.fsb-home-actions__inner {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1440px !important;
  padding-left: var(--fsb-gutter) !important;
  padding-right: var(--fsb-gutter) !important;
}

.fsb-home-actions__title {
  color: var(--fsb-white) !important;
  font-family: var(--fsb-serif) !important;
  font-size: clamp(3.4rem, 6.5vw, 8.2rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.05em !important;
  line-height: .9 !important;
  margin: clamp(24px, 3.5vw, 48px) 0 clamp(58px, 6vw, 88px) !important;
  max-width: 13ch;
}

.fsb-home-actions__grid {
  border-bottom: 1px solid rgba(255,255,255,.22);
  border-top: 1px solid rgba(255,255,255,.22);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fsb-home-actions__grid a {
  border-right: 1px solid rgba(255,255,255,.22);
  color: var(--fsb-white) !important;
  min-height: 300px;
  padding: clamp(24px, 2.8vw, 40px);
  text-decoration: none !important;
}

.fsb-home-actions__grid a:first-child { border-left: 1px solid rgba(255,255,255,.22); }
.fsb-home-actions__grid span {
  color: rgba(255,255,255,.55);
  font-size: 10px;
  letter-spacing: .08em;
}
.fsb-home-actions__grid h3 {
  color: var(--fsb-white) !important;
  font-family: var(--fsb-sans) !important;
  font-size: clamp(1.65rem, 2.2vw, 2.8rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
  line-height: .98 !important;
  margin: clamp(38px, 4.5vw, 64px) 0 22px !important;
  max-width: 11ch;
}
.fsb-home-actions__grid p {
  color: rgba(255,255,255,.68) !important;
  font-size: .9rem;
  line-height: 1.5;
  margin: 0 !important;
  max-width: 28ch;
}

/* Home section heads: label + headline work as one editorial unit. */
.fsb-home-projects-featured .fsb-section-head,
.fsb-home-agenda .fsb-section-head,
.fsb-home-news .fsb-section-head {
  align-items: flex-end !important;
}
.fsb-home-projects-featured .fsb-section-head > .wp-block-group,
.fsb-home-agenda .fsb-section-head > .wp-block-group,
.fsb-home-news .fsb-section-head > .wp-block-group { min-width: 0; }
.fsb-home-projects-featured .fsb-section-head h2,
.fsb-home-agenda .fsb-section-head h2,
.fsb-home-news .fsb-section-head h2 {
  margin-top: 12px !important;
}

/* Featured projects: one large story + two compact stories. */
.fsb-home-projects-featured > .wp-block-shortcode {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1440px !important;
  padding-left: var(--fsb-gutter) !important;
  padding-right: var(--fsb-gutter) !important;
  width: 100% !important;
}

.fsb-project-featured-grid {
  display: grid;
  gap: clamp(32px, 3.4vw, 54px);
  grid-template-areas: "a b" "a c";
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
}

.fsb-project-featured-card { min-width: 0; }
.fsb-project-featured-card--1 { grid-area: a; }
.fsb-project-featured-card--2 { grid-area: b; }
.fsb-project-featured-card--3 { grid-area: c; }

.fsb-project-featured-card__media {
  background: var(--fsb-black);
  display: block;
  overflow: hidden;
}
.fsb-project-featured-card__media img {
  filter: grayscale(1);
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
  width: 100%;
}
.fsb-project-featured-card__media:hover img { transform: scale(1.02); }
.fsb-project-featured-card--1 .fsb-project-featured-card__media { aspect-ratio: 4 / 3; }
.fsb-project-featured-card--2,
.fsb-project-featured-card--3 {
  border-top: 1px solid var(--fsb-line);
  display: grid;
  gap: clamp(18px, 2vw, 28px);
  grid-template-columns: minmax(150px, .82fr) minmax(0, 1.18fr);
  padding-top: 22px;
}
.fsb-project-featured-card--2 .fsb-project-featured-card__media,
.fsb-project-featured-card--3 .fsb-project-featured-card__media { min-height: 220px; }

.fsb-project-featured-card__copy { min-width: 0; padding-top: 22px; }
.fsb-project-featured-card--2 .fsb-project-featured-card__copy,
.fsb-project-featured-card--3 .fsb-project-featured-card__copy { padding-top: 0; }
.fsb-project-featured-card__meta {
  color: var(--fsb-graphite);
  display: flex;
  font-size: 10px;
  gap: 14px;
  margin-bottom: 14px;
}
.fsb-project-featured-card h3 {
  font-family: var(--fsb-serif) !important;
  font-size: clamp(2rem, 3vw, 4.2rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.045em !important;
  line-height: .94 !important;
  margin: 0 0 18px !important;
  max-width: 15ch;
}
.fsb-project-featured-card--2 h3,
.fsb-project-featured-card--3 h3 { font-size: clamp(1.55rem, 2vw, 2.6rem) !important; }
.fsb-project-featured-card h3 a { text-decoration: none !important; }
.fsb-project-featured-card__copy > p:not(.fsb-kicker):not(.fsb-text-link) {
  color: var(--fsb-graphite);
  font-size: .9rem;
  line-height: 1.5;
  max-width: 42ch;
}

/* Agenda becomes the active/current black section before the historical CECIEX. */
.fsb-home-agenda--black .fsb-agenda-list { border-color: rgba(255,255,255,.28); }
.fsb-home-agenda--black .fsb-agenda-item { border-color: rgba(255,255,255,.24); }
.fsb-home-agenda--black .fsb-agenda-item__body h3 {
  font-size: clamp(2rem, 3.6vw, 4.8rem) !important;
  max-width: 18ch;
}
.fsb-home-agenda--black .fsb-agenda-item__body h3 a,
.fsb-home-agenda--black .fsb-agenda-item__arrow { color: var(--fsb-white) !important; }

/* CECIEX follows activity: origin/history after showing a living institution. */
.fsb-ceciex-feature--home {
  grid-template-columns: 58% 42%;
  min-height: min(82svh, 900px);
}
.fsb-ceciex-feature--home .fsb-ceciex-feature__media { min-height: 640px; }

/* Institution: three operational doors, deliberately quieter than projects. */
.fsb-home-institution__head {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1440px !important;
  padding-left: var(--fsb-gutter) !important;
  padding-right: var(--fsb-gutter) !important;
}
.fsb-home-institution__head h2 {
  font-family: var(--fsb-serif) !important;
  font-size: clamp(3.2rem, 5.8vw, 7.2rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.05em !important;
  line-height: .9 !important;
  margin: 22px 0 clamp(48px, 5vw, 72px) !important;
  max-width: 11ch;
}
.fsb-home-institution__grid {
  border-bottom: 1px solid var(--fsb-line);
  border-top: 1px solid var(--fsb-line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1440px;
  width: calc(100% - (2 * var(--fsb-gutter)));
}
.fsb-home-institution__grid a {
  border-right: 1px solid var(--fsb-line);
  color: var(--fsb-ink) !important;
  min-height: 320px;
  padding: clamp(26px, 3vw, 44px);
  text-decoration: none !important;
}
.fsb-home-institution__grid a:first-child { border-left: 1px solid var(--fsb-line); }
.fsb-home-institution__grid span {
  color: var(--fsb-graphite);
  font-size: 10px;
}
.fsb-home-institution__grid h3 {
  font-family: var(--fsb-serif) !important;
  font-size: clamp(2rem, 3vw, 4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.04em !important;
  line-height: .94 !important;
  margin: clamp(38px, 4vw, 58px) 0 20px !important;
  max-width: 10ch;
}
.fsb-home-institution__grid p {
  color: var(--fsb-graphite);
  font-size: .9rem;
  line-height: 1.5;
  margin: 0 0 26px !important;
  max-width: 31ch;
}
.fsb-home-institution__grid strong {
  font-size: .86rem;
  font-weight: 500;
}

/* Mobile/tablet: preserve text margins while allowing media to touch edges. */
@media (max-width: 900px) {
  .fsb-home-collage-hero {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 66svh) minmax(260px, 34svh);
    min-height: 100svh;
  }
  .fsb-home-visual { min-height: 0; }
  .fsb-home-visual::after {
    background: linear-gradient(180deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,0) 18%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 4;
  }
  .fsb-home-rail {
    align-items: center;
    justify-content: flex-end;
    padding: 28px var(--fsb-gutter) max(28px, env(safe-area-inset-bottom));
  }
  .fsb-home-rail h1 {
    font-size: clamp(2.15rem, 7.2vw, 4rem) !important;
    max-width: 12ch;
  }
  .fsb-home-rail__descriptor { max-width: 28ch; }

  .fsb-collage-slot--a { height: 100%; width: 62%; }
  .fsb-collage-slot--b { height: 46%; right: 0; top: 9%; width: 49%; }
  .fsb-collage-slot--c { bottom: 4%; height: 38%; right: 5%; width: 43%; }

  .fsb-home-actions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fsb-home-actions__grid a:nth-child(3) { border-left: 1px solid rgba(255,255,255,.22); border-top: 1px solid rgba(255,255,255,.22); }
  .fsb-home-actions__grid a:nth-child(4) { border-top: 1px solid rgba(255,255,255,.22); }

  .fsb-project-featured-grid {
    grid-template-areas: "a" "b" "c";
    grid-template-columns: 1fr;
  }
  .fsb-project-featured-card--2,
  .fsb-project-featured-card--3 {
    grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  }

  .fsb-ceciex-feature--home { grid-template-columns: 1fr; min-height: 0; }
  .fsb-ceciex-feature--home .fsb-ceciex-feature__media { min-height: 58svh; }

  .fsb-home-institution__grid { grid-template-columns: 1fr; }
  .fsb-home-institution__grid a { border-bottom: 1px solid var(--fsb-line); border-left: 1px solid var(--fsb-line); min-height: 0; }
  .fsb-home-institution__grid a:last-child { border-bottom: 0; }
}

@media (max-width: 640px) {
  .fsb-home-collage-hero {
    grid-template-rows: minmax(0, 62svh) minmax(300px, 38svh);
  }
  .fsb-collage-slot--a { width: 72%; }
  .fsb-collage-slot--b { height: 39%; right: 0; top: 12%; width: 52%; }
  .fsb-collage-slot--c { bottom: 5%; height: 32%; right: 4%; width: 56%; }
  .fsb-home-rail { text-align: left; }
  .fsb-home-rail__copy { align-items: flex-start; }
  .fsb-home-rail h1 {
    font-size: clamp(2.15rem, 10vw, 3.6rem) !important;
    max-width: 11ch;
    text-align: left;
  }
  .fsb-home-rail__descriptor { text-align: left; }

  .fsb-home-actions__title { font-size: clamp(3rem, 14vw, 5.4rem) !important; }
  .fsb-home-actions__grid { grid-template-columns: 1fr; }
  .fsb-home-actions__grid a,
  .fsb-home-actions__grid a:nth-child(3),
  .fsb-home-actions__grid a:nth-child(4) {
    border-bottom: 1px solid rgba(255,255,255,.22);
    border-left: 1px solid rgba(255,255,255,.22);
    border-top: 0;
    min-height: 220px;
  }
  .fsb-home-actions__grid a:last-child { border-bottom: 0; }

  .fsb-project-featured-card--2,
  .fsb-project-featured-card--3 { display: block; }
  .fsb-project-featured-card--2 .fsb-project-featured-card__media,
  .fsb-project-featured-card--3 .fsb-project-featured-card__media { aspect-ratio: 4 / 3; min-height: 0; }
  .fsb-project-featured-card--2 .fsb-project-featured-card__copy,
  .fsb-project-featured-card--3 .fsb-project-featured-card__copy { padding-top: 20px; }

  .fsb-home-agenda--black .fsb-agenda-item { grid-template-columns: 1fr 26px; }
  .fsb-home-agenda--black .fsb-agenda-item__date { grid-column: 1 / -1; }

  .fsb-home-institution__head h2 { font-size: clamp(3rem, 14vw, 5.3rem) !important; }
  .fsb-home-institution__grid { width: calc(100% - (2 * max(20px, var(--fsb-gutter)))); }
}

@media (prefers-reduced-motion: reduce) {
  .fsb-collage-slot { transition: none !important; }
  .fsb-project-featured-card__media img { transition: none !important; }
}

/* ========================================================================
   v1.4.1 — Mobile editorial edge + project layout correction
   Text follows the same mandatory safe-boundary rule as sergiobravo.cl.
   Images remain free to bleed when the composition requires it.
   ======================================================================== */

/* Wider projects canvas on desktop/full-wide. */
.fsb-home-projects-featured .fsb-section-head,
.fsb-home-projects-featured > .wp-block-shortcode {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1680px !important;
  width: calc(100% - (2 * var(--fsb-gutter))) !important;
}

.fsb-home-projects-featured > .wp-block-shortcode {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.fsb-project-featured-grid {
  gap: clamp(42px, 4vw, 78px) !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(400px, .9fr) !important;
}

.fsb-project-featured-card--1 .fsb-project-featured-card__copy {
  max-width: 900px;
}

.fsb-project-featured-card--1 h3 {
  font-size: clamp(2.4rem, 3.5vw, 5rem) !important;
  max-width: 18ch !important;
}

.fsb-project-featured-card--2,
.fsb-project-featured-card--3 {
  gap: clamp(22px, 2.2vw, 34px) !important;
  grid-template-columns: minmax(210px, .95fr) minmax(0, 1.05fr) !important;
}

.fsb-project-featured-card--2 h3,
.fsb-project-featured-card--3 h3 {
  max-width: 18ch !important;
}

/* Tablet: retain a generous editorial canvas without compressing project copy. */
@media (min-width:641px) and (max-width:1100px) {
  .fsb-home-projects-featured .fsb-section-head,
  .fsb-home-projects-featured > .wp-block-shortcode {
    width: calc(100% - (2 * var(--sb-editorial-edge))) !important;
  }

  .fsb-project-featured-grid {
    gap: 46px !important;
    grid-template-areas: "a" "b" "c" !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .fsb-project-featured-card--2,
  .fsb-project-featured-card--3 {
    grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr) !important;
  }
}

@media (max-width:640px) {
  /* Home text containers use the same safe lateral edge as the principal site. */
  .fsb-home-intro .sb-intro-grid,
  .fsb-home-actions__inner,
  .fsb-home-projects-featured .fsb-section-head,
  .fsb-home-agenda .fsb-section-head,
  .fsb-home-institution__head,
  .fsb-home-news .fsb-section-head,
  .fsb-home-support__grid,
  .fsb-ceciex-feature__copy {
    box-sizing: border-box !important;
    padding-left: max(var(--sb-editorial-edge), env(safe-area-inset-left)) !important;
    padding-right: max(var(--sb-editorial-edge), env(safe-area-inset-right)) !important;
    width: 100% !important;
  }

  /* Project wrapper becomes full bleed; only copy receives the safe text margin. */
  .fsb-home-projects-featured > .wp-block-shortcode {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .fsb-project-featured-grid {
    gap: 0 !important;
    grid-template-areas: "a" "b" "c" !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .fsb-project-featured-card {
    border-bottom: 1px solid var(--fsb-line);
    display: block !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .fsb-project-featured-card + .fsb-project-featured-card {
    border-top: 0 !important;
  }

  .fsb-project-featured-card__media,
  .fsb-project-featured-card--1 .fsb-project-featured-card__media,
  .fsb-project-featured-card--2 .fsb-project-featured-card__media,
  .fsb-project-featured-card--3 .fsb-project-featured-card__media {
    aspect-ratio: 4 / 3 !important;
    display: block !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  .fsb-project-featured-card__copy,
  .fsb-project-featured-card--1 .fsb-project-featured-card__copy,
  .fsb-project-featured-card--2 .fsb-project-featured-card__copy,
  .fsb-project-featured-card--3 .fsb-project-featured-card__copy {
    box-sizing: border-box !important;
    max-width: none !important;
    padding: 30px max(var(--sb-editorial-edge), env(safe-area-inset-right)) 46px max(var(--sb-editorial-edge), env(safe-area-inset-left)) !important;
    width: 100% !important;
  }

  .fsb-project-featured-card h3,
  .fsb-project-featured-card--1 h3,
  .fsb-project-featured-card--2 h3,
  .fsb-project-featured-card--3 h3 {
    font-size: clamp(2.1rem, 10.5vw, 3.4rem) !important;
    line-height: .94 !important;
    max-width: 13ch !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .fsb-project-featured-card__copy > p:not(.fsb-kicker):not(.fsb-text-link) {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    max-width: 34ch !important;
  }

  /* Agenda/news shortcode content must never touch viewport edges. */
  .fsb-home-agenda > .wp-block-shortcode,
  .fsb-home-news > .wp-block-shortcode {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: max(var(--sb-editorial-edge), env(safe-area-inset-left)) !important;
    padding-right: max(var(--sb-editorial-edge), env(safe-area-inset-right)) !important;
    width: 100% !important;
  }

  .fsb-remote-fallback,
  .fsb-agenda-list,
  .fsb-news-grid {
    width: 100% !important;
  }

  /* Institution is a text composition, therefore it stays inside the safe edge. */
  .fsb-home-institution__grid {
    margin-left: max(var(--sb-editorial-edge), env(safe-area-inset-left)) !important;
    margin-right: max(var(--sb-editorial-edge), env(safe-area-inset-right)) !important;
    width: auto !important;
  }
}

/* ========================================================================
   v1.4.2 — Projects canvas, shared agenda pattern, mobile hero title overlay
   ======================================================================== */

/* ---------- Projects: use the editorial width instead of the constrained
   shortcode width. Project 01 is a horizontal lead story; 02 and 03 form a
   balanced second row. ---------- */
.fsb-home-projects-featured .fsb-section-head,
.fsb-home-projects__canvas {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1680px !important;
  width: calc(100% - (2 * var(--fsb-gutter))) !important;
}

.fsb-home-projects__canvas > .wp-block-shortcode {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.fsb-home-projects-featured .fsb-project-featured-grid {
  display: grid !important;
  gap: clamp(58px, 5.2vw, 92px) clamp(38px, 4vw, 72px) !important;
  grid-template-areas: "a a" "b c" !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
}

.fsb-home-projects-featured .fsb-project-featured-card--1 {
  align-items: end;
  border-bottom: 1px solid var(--fsb-line);
  display: grid !important;
  gap: clamp(42px, 5vw, 88px) !important;
  grid-area: a;
  grid-template-columns: minmax(0, 1.25fr) minmax(400px, .75fr) !important;
  padding-bottom: clamp(54px, 5vw, 84px);
}

.fsb-home-projects-featured .fsb-project-featured-card--1 .fsb-project-featured-card__media {
  aspect-ratio: 16 / 10 !important;
  min-height: 0 !important;
}

.fsb-home-projects-featured .fsb-project-featured-card--1 .fsb-project-featured-card__copy {
  align-self: end;
  max-width: 620px !important;
  padding: 0 0 clamp(4px, .8vw, 14px) !important;
}

.fsb-home-projects-featured .fsb-project-featured-card--1 h3 {
  font-size: clamp(2.7rem, 4vw, 5.5rem) !important;
  line-height: .91 !important;
  max-width: 14ch !important;
}

.fsb-home-projects-featured .fsb-project-featured-card--2,
.fsb-home-projects-featured .fsb-project-featured-card--3 {
  border-top: 0 !important;
  display: block !important;
  min-width: 0;
  padding-top: 0 !important;
}

.fsb-home-projects-featured .fsb-project-featured-card--2 {
  grid-area: b;
  padding-right: clamp(12px, 2vw, 30px);
}

.fsb-home-projects-featured .fsb-project-featured-card--3 {
  border-left: 1px solid var(--fsb-line) !important;
  grid-area: c;
  padding-left: clamp(38px, 4vw, 72px);
}

.fsb-home-projects-featured .fsb-project-featured-card--2 .fsb-project-featured-card__media,
.fsb-home-projects-featured .fsb-project-featured-card--3 .fsb-project-featured-card__media {
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  width: 100% !important;
}

.fsb-home-projects-featured .fsb-project-featured-card--2 .fsb-project-featured-card__copy,
.fsb-home-projects-featured .fsb-project-featured-card--3 .fsb-project-featured-card__copy {
  max-width: 680px;
  padding-top: 26px !important;
}

.fsb-home-projects-featured .fsb-project-featured-card--2 h3,
.fsb-home-projects-featured .fsb-project-featured-card--3 h3 {
  font-size: clamp(2rem, 2.7vw, 3.8rem) !important;
  line-height: .93 !important;
  max-width: 16ch !important;
}

/* ---------- Agenda: exact visual grammar used on the principal Home. ---------- */
.fsb-home-agenda.sb-news-agenda {
  background: var(--fsb-black) !important;
  color: var(--fsb-white) !important;
  padding-block: clamp(90px, 11vw, 170px) !important;
}

.fsb-home-agenda .sb-news-agenda__header,
.fsb-home-agenda .sb-news-agenda__events,
.fsb-home-agenda .sb-news-agenda__cta {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1440px !important;
  width: calc(100% - (2 * var(--fsb-gutter))) !important;
}

.fsb-home-agenda .sb-news-agenda__header {
  display: grid !important;
  gap: clamp(38px, 6vw, 92px) !important;
  grid-template-columns: minmax(130px, .38fr) minmax(0, 1.62fr) !important;
  margin-bottom: clamp(64px, 8vw, 112px) !important;
}

.fsb-home-agenda .sb-news-agenda__title {
  color: var(--fsb-white) !important;
  font-family: var(--fsb-serif) !important;
  font-size: clamp(3.4rem, 5.6vw, 6.7rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.04em !important;
  line-height: .92 !important;
  margin: 0 !important;
}

.fsb-home-agenda .sb-news-agenda__events {
  border-top: 1px solid rgba(255,255,255,.22);
}

.fsb-home-agenda .sb-news-agenda__cta {
  border-top: 1px solid rgba(255,255,255,.22);
  margin-top: 12px !important;
  padding-top: 20px;
}
.fsb-home-agenda .sb-news-agenda__cta p { margin: 0 !important; }
.fsb-home-agenda .sb-news-agenda__cta a { color: var(--fsb-white) !important; text-decoration: none !important; }

.fsb-home-agenda .sb-calendar-event {
  align-items: start;
  border-bottom: 1px solid rgba(255,255,255,.22);
  color: var(--fsb-white);
  display: grid;
  gap: clamp(22px, 3vw, 48px);
  grid-template-columns: minmax(120px, .48fr) minmax(0, 1.42fr) 32px;
  padding: clamp(22px, 2.5vw, 34px) 0;
}
.fsb-home-agenda .sb-calendar-event__date,
.fsb-home-agenda .sb-calendar-event__time,
.fsb-home-agenda .sb-calendar-event__type,
.fsb-home-agenda .sb-calendar-event__place,
.fsb-home-agenda .sb-calendar-event__excerpt { color: rgba(255,255,255,.62); margin: 0 !important; }
.fsb-home-agenda .sb-calendar-event__date,
.fsb-home-agenda .sb-calendar-event__time,
.fsb-home-agenda .sb-calendar-event__type { font-size: clamp(.76rem, .9vw, .92rem); line-height: 1.35; }
.fsb-home-agenda .sb-calendar-event__time { margin-top: 7px !important; }
.fsb-home-agenda .sb-calendar-event__type { font-size: 10px; letter-spacing: .08em; margin-bottom: 10px !important; }
.fsb-home-agenda .sb-calendar-event__title {
  color: var(--fsb-white) !important;
  font-family: var(--fsb-sans) !important;
  font-size: clamp(1.45rem, 2.1vw, 2.7rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.025em !important;
  line-height: 1.02 !important;
  margin: 0 !important;
}
.fsb-home-agenda .sb-calendar-event__title a,
.fsb-home-agenda .sb-calendar-event__arrow a { color: var(--fsb-white) !important; text-decoration: none !important; }
.fsb-home-agenda .sb-calendar-event__place { font-size: .95rem; margin-top: 12px !important; }
.fsb-home-agenda .sb-calendar-event__excerpt { font-size: .92rem; line-height: 1.5; margin-top: 18px !important; max-width: 680px; }
.fsb-home-agenda .sb-calendar-event__arrow a { display: block; font-size: 1.2rem; text-align: right; }
.fsb-home-agenda .sb-upcoming-empty { color: rgba(255,255,255,.62); padding: 28px 0; }

@media (max-width: 1100px) {
  .fsb-home-projects-featured .fsb-project-featured-grid {
    grid-template-areas: "a" "b" "c" !important;
    grid-template-columns: 1fr !important;
  }
  .fsb-home-projects-featured .fsb-project-featured-card--1 {
    display: block !important;
    padding-bottom: 52px;
  }
  .fsb-home-projects-featured .fsb-project-featured-card--1 .fsb-project-featured-card__copy { padding-top: 28px !important; }
  .fsb-home-projects-featured .fsb-project-featured-card--2,
  .fsb-home-projects-featured .fsb-project-featured-card--3 {
    border-left: 0 !important;
    border-top: 1px solid var(--fsb-line) !important;
    padding: 44px 0 0 !important;
  }
}

@media (max-width: 900px) {
  .fsb-home-agenda .sb-news-agenda__header {
    gap: 32px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 640px) {
  /* Mobile hero becomes a single image-led field. The title belongs to the
     image, not to a separate black panel. */
  .fsb-home-collage-hero {
    display: block !important;
    height: 100svh !important;
    min-height: 620px !important;
    overflow: hidden;
    position: relative;
  }

  .fsb-home-visual {
    inset: 0;
    min-height: 0 !important;
    position: absolute;
    z-index: 1;
  }

  .fsb-home-visual::after {
    background:
      linear-gradient(180deg, rgba(0,0,0,.48) 0%, rgba(0,0,0,0) 18%),
      linear-gradient(180deg, rgba(0,0,0,0) 42%, rgba(0,0,0,.18) 57%, rgba(0,0,0,.92) 100%) !important;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 5;
  }

  .fsb-home-rail {
    align-items: flex-end !important;
    background: transparent !important;
    inset: 0;
    justify-content: flex-start !important;
    padding: 0 max(var(--sb-editorial-edge), env(safe-area-inset-right)) max(34px, env(safe-area-inset-bottom)) max(var(--sb-editorial-edge), env(safe-area-inset-left)) !important;
    position: absolute;
    text-align: left !important;
    z-index: 7;
  }

  .fsb-home-rail__copy { align-items: flex-start !important; max-width: 100%; }
  .fsb-home-rail__label { color: rgba(255,255,255,.72); margin-bottom: 11px !important; }
  .fsb-home-rail h1 {
    color: #fff !important;
    font-size: clamp(2.45rem, 9.2vw, 3.55rem) !important;
    letter-spacing: -.045em !important;
    line-height: .91 !important;
    max-width: 10.4ch !important;
    text-align: left !important;
  }
  .fsb-home-rail__descriptor {
    color: rgba(255,255,255,.78) !important;
    font-size: .78rem !important;
    line-height: 1.4 !important;
    margin-top: 18px !important;
    max-width: 27ch !important;
    text-align: left !important;
  }

  /* Give the collage enough presence behind the title while keeping the
     irregular photobook logic. */
  .fsb-collage-slot--a { height: 100% !important; width: 78% !important; }
  .fsb-collage-slot--b { height: 43% !important; right: -3% !important; top: 11% !important; width: 56% !important; }
  .fsb-collage-slot--c { bottom: 20% !important; height: 28% !important; right: 4% !important; width: 50% !important; }

  .fsb-home-projects-featured .fsb-section-head,
  .fsb-home-projects__canvas {
    width: 100% !important;
  }

  .fsb-home-projects-featured .fsb-section-head {
    padding-left: max(var(--sb-editorial-edge), env(safe-area-inset-left)) !important;
    padding-right: max(var(--sb-editorial-edge), env(safe-area-inset-right)) !important;
  }

  .fsb-home-projects__canvas { margin: 0 !important; max-width: none !important; }
  .fsb-home-projects-featured .fsb-project-featured-grid { gap: 0 !important; }
  .fsb-home-projects-featured .fsb-project-featured-card--1,
  .fsb-home-projects-featured .fsb-project-featured-card--2,
  .fsb-home-projects-featured .fsb-project-featured-card--3 {
    border-bottom: 1px solid var(--fsb-line) !important;
    border-left: 0 !important;
    border-top: 0 !important;
    display: block !important;
    padding: 0 !important;
  }
  .fsb-home-projects-featured .fsb-project-featured-card__media { aspect-ratio: 4 / 3 !important; width: 100% !important; }
  .fsb-home-projects-featured .fsb-project-featured-card__copy {
    box-sizing: border-box !important;
    max-width: none !important;
    padding: 30px max(var(--sb-editorial-edge), env(safe-area-inset-right)) 46px max(var(--sb-editorial-edge), env(safe-area-inset-left)) !important;
    width: 100% !important;
  }
  .fsb-home-projects-featured .fsb-project-featured-card h3 {
    font-size: clamp(2rem, 9.7vw, 3.2rem) !important;
    line-height: .94 !important;
    max-width: 15ch !important;
  }

  .fsb-home-agenda.sb-news-agenda { padding-block: 76px 86px !important; }
  .fsb-home-agenda .sb-news-agenda__header,
  .fsb-home-agenda .sb-news-agenda__events,
  .fsb-home-agenda .sb-news-agenda__cta {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: max(var(--sb-editorial-edge), env(safe-area-inset-left)) !important;
    padding-right: max(var(--sb-editorial-edge), env(safe-area-inset-right)) !important;
    width: 100% !important;
  }
  .fsb-home-agenda .sb-news-agenda__header { margin-bottom: 46px !important; }
  .fsb-home-agenda .sb-news-agenda__title { font-size: clamp(3rem, 13vw, 4.9rem) !important; }
  .fsb-home-agenda .sb-calendar-event {
    gap: 12px !important;
    grid-template-columns: minmax(0, 1fr) 26px !important;
    padding: 24px 0 !important;
  }
  .fsb-home-agenda .sb-calendar-event__meta { grid-column: 1 / -1; }
  .fsb-home-agenda .sb-calendar-event__title { font-size: clamp(1.7rem, 7.8vw, 2.5rem) !important; }
  .fsb-home-agenda .sb-calendar-event__arrow { grid-column: 2; grid-row: 2; }
}
