/* ============================================================
   DORMITORIO JUVENIL — CSS ESPECÍFICO (CLON 1:1 DE LOCAL MADRID)
   Ruta: assets/css/proyectos/dormitorio_juvenil.css
   - Ordenado por bloques
   - Sin overrides sueltos al final
   - Medias agrupadas
   ============================================================ */

/* ============================================================
   0) VARIABLES / CONTROLES (TOCA AQUÍ)
   ============================================================ */
:root{
  /* Marca */
  --dj-terracota: #c7745c;
  --dj-antracita: #2f2f31;
  --dj-page-bg: #dcdcdc;
  --dj-rule: rgba(199,116,92,0.85);

  /* Encadre imagen hero */
  --dj-hero-fit: cover;
  --dj-hero-pos: 50% 55%;

  /* HERO (desktop) */
  --dj-hero-h: 720px;
  --dj-hero-minh: 520px;

  /* UI superior */
  --dj-top-gradient-a: rgba(0,0,0,0.34);
  --dj-top-gradient-b: rgba(0,0,0,0.00);
  --dj-ui-white: rgba(255,255,255,0.92);
  --dj-ui-white-soft: rgba(255,255,255,0.72);

  /* Caja flotante (desktop) */
  --dj-box-top: 60px;
  --dj-box-right: 80px;
  --dj-box-w: 360px;
  --dj-box-bg: rgba(233,233,231,0.93);
  --dj-box-border: rgba(199,116,92,0.40);
  --dj-box-blur: 3px;

  /* Flechas HERO */
  --dj-hero-arrow-size: 34px;
  --dj-hero-arrow-icon: 22px;
  --dj-hero-arrow-bg: rgba(255,255,255,0.82);
  --dj-hero-arrow-border: rgba(199,116,92,0.95);
  --dj-hero-arrow-x: 18px;

  /* Botones proyecto en HERO */
  --dj-hero-projbtn-h: 22px;
  --dj-hero-projbtn-px: 10px;
  --dj-hero-projbtn-fz: 9px;

  /* Posicionamiento CTA “siguiente/anterior proyecto” en hero */
  --dj-hero-cta-gap: 10px;
  --dj-hero-cta-top: calc(
    50% + (var(--dj-hero-arrow-size) / 2) + var(--dj-hero-cta-gap)
  );

  /* Dots */
  --dj-dots-bg: rgba(255,255,255,0.66);
  --dj-dots-border: rgba(199,116,92,0.60);
  --dj-dot-size: 8px;
  --dj-dot-gap: 8px;
  --dj-dots-pad-y: 6px;
  --dj-dots-pad-x: 10px;

  /* Contenido inferior */
  --dj-content-w: 920px;
  --dj-content-pad-x: 0px;

  /* Botones contenido */
  --dj-btn-h: 25px;
  --dj-btn-px: 14px;
  --dj-btn-fz: 10px;
  --dj-btn-letter: 0.12em;

  /* FULLSCREEN */
  --dj-fs-backdrop: rgba(40,40,40,0.96);
  --dj-fs-ui-bg: rgba(233,233,231,1);
  --dj-fs-ui-border: rgba(199,116,92,0.55);

  /* Flechas FS (DESKTOP base) */
  --dj-fs-arrow-size: 32px;
  --dj-fs-arrow-icon: 20px;

  /* Botón proyecto FS */
  --dj-fs-projbtn-h: 22px;
  --dj-fs-projbtn-px: 24px;
  --dj-fs-projbtn-fz: 12px;
  --dj-fs-projbtn-inset: 12px;
  --dj-fs-projbtn-bottom: 12px;

  /* Caption FS */
  --dj-fs-cap-bg: rgba(255,255,255,0.84);
  --dj-fs-cap-border: rgba(199,116,92,0.55);
  --dj-fs-cap-fz: 11px;
}

html, body{ background: var(--dj-page-bg); }

/* ============================================================
   1) HERO
   ============================================================ */
.page-project .dj-hero{
  position: relative;
  width: 100%;
  height: var(--dj-hero-h);
  min-height: var(--dj-hero-minh);
  overflow: hidden;
  background: var(--dj-page-bg);
  isolation: isolate;
}

.page-project .dj-hero__carousel{ position:absolute; inset:0; }

.page-project .dj-hero__viewport{
  position:absolute;
  inset:0;
  overflow:hidden;
  background: var(--dj-terracota);
  border-radius: 8px;
}

.page-project .dj-hero__track{
  display:flex;
  height:100%;
  margin:0;
  padding:0;
  list-style:none;
  transform:translateX(0%);
  transition:transform 480ms ease;
  will-change:transform;
}

@media (prefers-reduced-motion: reduce){
  .page-project .dj-hero__track{ transition:none; }
}

.page-project .dj-hero__slide{
  flex:0 0 100%;
  height:100%;
  position:relative;
}

/* =========================
   ZOOM HERO — IGUAL QUE HOME STAGING (1:1)
   ========================= */
.page-project .dj-hero__slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:var(--dj-hero-fit);
  object-position:var(--dj-hero-pos);
  background:var(--dj-page-bg);
  cursor:zoom-in;

  transform: scale(1);
  transition: transform 1800ms cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

/* Zoom SOLO en la slide activa */
.page-project .dj-hero__slide.is-active img{
  transform: scale(1.08);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .page-project .dj-hero__slide img{
    transition:none;
    transform:none;
  }
}
/* ============================================================
   2) UI SUPERIOR
   ============================================================ */
.page-project .dj-hero__top{
  position:absolute;
  top:0; left:0; right:0;
  z-index:9;
  pointer-events:none;
  padding:10px 0 8px;
  text-align:center;
  background: linear-gradient(to bottom, var(--dj-top-gradient-a), var(--dj-top-gradient-b));
}

.page-project .dj-hero__kicker{
  margin:0;
  font-size:14px;
  line-height:1;
  font-weight:500;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--dj-ui-white);
  text-shadow:0 1px 14px rgba(0,0,0,0.45);
}

.page-project .dj-hero__rule{
  width:100%;
  height:1px;
  margin:8px 0 7px;
  background:var(--dj-rule);
}

.page-project .dj-hero__city{
  margin:0;
  font-size:11px;
  line-height:1;
  font-weight:400;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--dj-ui-white-soft);
  text-shadow:0 1px 14px rgba(0,0,0,0.45);
}

/* ============================================================
   3) CAJA (desktop)
   ============================================================ */
.page-project .dj-hero__box{
  position:absolute;
  top: var(--dj-box-top);
  right: var(--dj-box-right);
  width:min(var(--dj-box-w), calc(100vw - 44px));
  padding:12px 14px;
  border:1px solid var(--dj-box-border);
  border-radius:4px;
  background: #ffffffeb;
  backdrop-filter: blur(var(--dj-box-blur));
  -webkit-backdrop-filter: blur(var(--dj-box-blur));
  z-index:8;
}

.page-project .dj-hero__title{
  margin:0 0 8px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(199,116,92,0.95);
}

.page-project .dj-hero__lead{
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:rgba(47,47,49,0.78);
  text-align:justify;
}
.page-project .dj-lead-surface{
font-weight: 600;
    color: rgba(199, 116, 92, 0.95);
    letter-spacing: 0.18em;
    text-align:center;
}

/* Lead del slide 1 */
.page-project .dj-leadLine{ margin:0 0 8px; text-align:center; }
.page-project .dj-lead-list{ margin:0; padding-left:18px;text-align: left; }
.page-project .dj-lead-list li{ margin:0 0 6px; text-align: left; }
.page-project .dj-lead-list li::marker{ color: var(--dj-terracota); }

.page-project .dj-lead-label{
  font-weight:600;
  color:rgba(199,116,92,0.95);
  letter-spacing:0.18em;
}

.page-project .dj-lead-value{
  font-weight:400;
  color:rgba(47,47,49,0.78);
}
*{
    box-sizing: box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-align: center;
}
/* ============================================================
   4) FLECHAS HERO (agrupadas abajo-dcha)
   ============================================================ */
.page-project .dj-hero__arrow{
  position:absolute;
  top:auto;
  left:auto;
  transform:none;
  bottom:18px;

  width:var(--dj-hero-arrow-size);
  height:var(--dj-hero-arrow-size);

  border-radius:4px;
  background:var(--dj-hero-arrow-bg);
  border:1px solid var(--dj-hero-arrow-border);

  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10;
  cursor:pointer;
}

.page-project .dj-hero__arrow span{
  font-size:var(--dj-hero-arrow-icon);
  line-height:1;
  color:var(--dj-terracota);
  transform:translateY(-1px);
}

.page-project .dj-hero__arrow--next{ right:18px; }
.page-project .dj-hero__arrow--prev{
  right: calc(18px + var(--dj-hero-arrow-size) + 10px);
}

.page-project .dj-hero__arrow:focus{ outline:none; }
.page-project .dj-hero__arrow:focus-visible{
  outline: 2px solid var(--dj-terracota);
  outline-offset: 3px;
}

/* ============================================================
   5) BOTONES PROYECTO EN HERO (solo visibles cuando JS añade .is-visible)
   ============================================================ */
.page-project .dj-hero__prevProj,
.page-project .dj-hero__nextProj{
  position:absolute;
  z-index:10;

  display:none;
  align-items:center;
  justify-content:center;

  height:var(--dj-hero-projbtn-h);
  padding:0 var(--dj-hero-projbtn-px);
  border-radius:4px;

  border:1px solid rgba(199,116,92,0.85);
  background: rgba(255,255,255,0.92);
  color: var(--dj-terracota);

  font-size:var(--dj-hero-projbtn-fz);
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;

  top: auto;
bottom: 64px; /* ajusta 52–76px según lo quieras de “respirado” */
}

.page-project .dj-hero__prevProj{ left:var(--dj-hero-arrow-x); }
.page-project .dj-hero__nextProj{ right:var(--dj-hero-arrow-x); }

.page-project .dj-hero__prevProj.is-visible,
.page-project .dj-hero__nextProj.is-visible{ display:inline-flex; }

.page-project .dj-hero__prevProj:hover,
.page-project .dj-hero__nextProj:hover{
  text-decoration: none;
}

/* ============================================================
   6) DOTS
   ============================================================ */
.page-project .dj-hero__dots{
  position:absolute;
  left:50%;
  bottom:6px;
  transform:translateX(-50%);

  display:flex;
  gap:var(--dj-dot-gap);
  padding: var(--dj-dots-pad-y) var(--dj-dots-pad-x);

  border-radius:4px;
  border:1px solid var(--dj-dots-border);
  background: var(--dj-dots-bg);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);

  z-index:10;
}

.page-project .dj-hero__dot{
  width:var(--dj-dot-size);
  height:var(--dj-dot-size);
  border-radius:999px;
  border:1px solid rgba(199,116,92,0.60);
  background: rgba(255,255,255,0.72);
  cursor:pointer;
}

.page-project .dj-hero__dot.is-active{
  background:var(--dj-terracota);
  border-color: rgba(199,116,92,0.95);
}

/* ============================================================
   7) META MÓVIL
   ============================================================ */
.page-project .dj-mobileMeta{
  display:none;
  width:min(var(--dj-content-w), calc(100% - var(--dj-content-pad-x)));
  margin:0 auto 0;
  border:1px solid rgba(199,116,92,0.20);
  background: rgba(255,255,255,0.93);
  backdrop-filter: blur(var(--dj-box-blur));
  -webkit-backdrop-filter: blur(var(--dj-box-blur));
  border-radius:8px;
}

.page-project .dj-mobileMeta__title{
  margin:8px 0 6px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(199,116,92,0.95);
  text-align:center;
}

.page-project .dj-mobileMeta__lead{
      margin: 0 15px 12px;
    font-size: 10px;
    line-height: 1.55;
    color: rgba(47, 47, 49, 0.72);
    text-align: justify;
}

/* ============================================================
   8) CONTENIDO
   ============================================================ */
.page-project .dj-main{
  background:transparent;
  margin-top:10px;
}

.page-project .dj-wrap{
  width:min(var(--dj-content-w), calc(100% - var(--dj-content-pad-x)));
  margin:15px auto 8px;
  font-size:13px;
  letter-spacing:0.16em;
  text-align:center;
  font-weight:400;
}

.page-project .dj-section{ padding:0; text-align:center; }

.page-project .dj-h2{
  margin:25px 15px 15px;
  font-size:15px;
  letter-spacing:0.22em;
  color:var(--dj-terracota);
  text-align:center;
  font-weight:500;
}

.page-project .dj-p{
  margin:0 15px 15px;
  color:rgba(47,47,49,0.70);
  font-size:13px;
  line-height:1.4;
  text-align:left;
  font-weight:400;
}

.page-project .dj-p--big{
  color:rgba(47,47,49,0.92);
  font-size:13px;
  text-align:center;
  font-weight:400;
}

.page-project .dj-center{
  display:flex;
  justify-content:center;
  align-items:center;
}

/* ============================================================
   8.1) BOTONES (base + variantes)
   ============================================================ */
.page-project .dj-btn{
  margin:6px 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: var(--dj-btn-h);
  padding: 0 var(--dj-btn-px);
  border-radius:4px;

  border:1px solid rgba(199,116,92,0.78);
  background:#ffffff;
  color:var(--dj-terracota);

  text-decoration:none;
  font-size: var(--dj-btn-fz);
  letter-spacing: var(--dj-btn-letter);
  text-transform:uppercase;
  white-space:nowrap;

  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, font-weight 180ms ease;
}

.page-project .dj-btn:hover{ text-decoration:none; }

/* VER DETALLE */
.page-project .dj-section--portfolio .dj-btn{
  background: rgba(255,255,255,0.96);
  border-color: rgba(184,107,75,0.92);
  color: rgba(184,107,75,0.92);
}
.page-project .dj-section--portfolio .dj-btn:hover{
  background: #b86b4b;
    border-color: rgba(184, 107, 75, 0.98);
    color: #ffffff;
    font-weight: 600;
}

/* CUÃ‰NTAME TU PROYECTO */
.page-project .dj-btn--solid{
  background: rgba(184,107,75,0.92);
  border-color: rgba(184,107,75,0.92);
  color: rgba(255,255,255,0.95);
}
.page-project .dj-btn--solid:hover{
  background: #ffffff;
  border-color: rgba(184,107,75,0.92);
  color: rgba(184,107,75,0.98);
  font-weight: 700;
}
.page-project .dj-btn--big{
  height: 45px;
  padding: 0 30px;
      background: #c7745c;
    border-color: rgba(199, 116, 92, 0.95);
  color: rgba(255, 255, 255, 0.95);
}

/* ============================================================
   8.2) CTA
   ============================================================ */
.page-project .dj-ctaLine{
  margin:14px 15px 13px;
  text-align:center;
  font-weight:400;
  color:rgba(47,47,49,0.92);
  font-size:13px;
  line-height:1.55;
}

.page-project .dj-ctaQ{
  color:var(--dj-terracota);
  font-weight:600;
letter-spacing: 0.22em;
font-size: 15px;
}

/* ============================================================
   8.3) CONTACTO
   ============================================================ */
.page-project .dj-directTitle{
  margin:10px 15px;
  text-align:center;
  color: rgba(47,47,49,0.74);
  font-weight:400;
  font-size:13px;
  line-height:1.6;
}

.page-project .dj-directTitle strong{
  color:var(--dj-terracota);
  font-weight: 500;
  letter-spacing:0.08em;
}

.page-project .dj-directGrid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 6px;
  justify-items:center;
  font-weight:500;
  font-size: 12px;
  line-height:1.1;
  text-align:left;
  color: rgba(47,47,49,0.54);
}

.page-project .dj-directItem{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:max-content;
  margin:0 auto;
  text-align:center;
  text-decoration:none;
}

.page-project .dj-directItem:hover .dj-directText{
  text-decoration: underline;
  text-decoration-color: rgba(199,116,92,0.35);
  text-underline-offset: 3px;
}

.page-project .dj-ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 18px;
}

.page-project .dj-icoSvg{
  width:18px;
  height:18px;
  fill:var(--dj-terracota);
  display:block;
}

.page-project .dj-directText{
  display:inline-block;
  line-height:1;
  font-size:12px;
  letter-spacing:0.10em;
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: rgba(47,47,49,0.58);
}

/* ============================================================
   8.4) CIERRE
   ============================================================ */
.page-project .dj-end{ padding:10px 0 0; }

.page-project .dj-ruleBleed{
  height:1px;
  background:var(--dj-rule);
  position:relative;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  margin:0;
}

.page-project .dj-siteLine{
  text-align:center;
  padding:10px 0;
  font-size:12px;
  letter-spacing:0.10em;
  color:rgba(47,47,49,0.78);
}

.page-project .dj-siteLink{ color:inherit; text-decoration:none; }

.page-project .dj-siteLink:hover{
  text-decoration: underline;
  text-decoration-color: rgba(199,116,92,0.35);
  text-underline-offset: 3px;
}

.page-project .dj-bannerBleed{
  width:100vw;
  margin-left:50%;
  transform:translateX(-50%);
  padding:0;
  line-height:0;
  overflow:hidden;
  margin-bottom:-60px;
}

.page-project .dj-bannerBleed img{
  width:100%;
  height:auto;
  display:block;
  margin:0;
}

/* ============================================================
   9) FULLSCREEN
   ============================================================ */
.page-project .dj-fs{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}

.page-project .dj-fs.is-open{ display:block; }

.page-project .dj-fs__backdrop{
  position:absolute;
  inset:0;
  background: var(--dj-fs-backdrop);
}

.page-project .dj-fs__stage{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:12px;
  padding:12px;
}

.page-project .dj-fs__frame{
  position:relative;
  width:min(96vw, 1280px);
  display:flex;
  justify-content:center;
  align-items:center;
}

.page-project .dj-fs__img{
  width:100%;
  height:auto;
  max-height: calc(100vh - 190px);
  object-fit:contain;
  object-position:center;
  background:transparent;
  border-radius:8px;
}

.page-project .dj-fs__close{
  position:absolute;
  top:30px;
  right:30px;
  width:32px;
  height:32px;
  border-radius:4px;
  border:1px solid var(--dj-fs-ui-border);
  background:var(--dj-fs-ui-bg);
  color:var(--dj-terracota);
  font-size:18px;
  line-height:1;
  cursor:pointer;
  z-index:5;
}

.page-project .dj-fs__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:var(--dj-fs-arrow-size);
  height:var(--dj-fs-arrow-size);
  border-radius:4px;
  border:1px solid var(--dj-fs-ui-border);
  background:var(--dj-fs-ui-bg);
  color:var(--dj-terracota);
  font-size:var(--dj-fs-arrow-icon);
  line-height:1;
  cursor:pointer;
  z-index:4;
}

.page-project .dj-fs__arrow--prev{ left:12px; }
.page-project .dj-fs__arrow--next{ right:12px; }

.page-project .dj-fs__prevProj,
.page-project .dj-fs__nextProj{
  position:absolute;
  z-index:4;

  display:none;
  align-items:center;
  justify-content:center;

  height:var(--dj-fs-projbtn-h);
  padding:0 var(--dj-fs-projbtn-px);
  border-radius:4px;
  border:1px solid rgba(199,116,92,0.85);
  background:var(--dj-fs-ui-bg);
  color: var(--dj-terracota);

  font-size:var(--dj-fs-projbtn-fz);
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;

  bottom: var(--dj-fs-projbtn-bottom);
}

.page-project .dj-fs__prevProj{ left: var(--dj-fs-projbtn-inset); }
.page-project .dj-fs__nextProj{ right: var(--dj-fs-projbtn-inset); }

.page-project .dj-fs__prevProj.is-visible,
.page-project .dj-fs__nextProj.is-visible{ display:inline-flex; }

.page-project .dj-fs__prevProj:hover,
.page-project .dj-fs__nextProj:hover{
  text-decoration: underline;
  text-decoration-color: rgba(199,116,92,0.35);
  text-underline-offset: 3px;
}

.page-project .dj-fs__cap{
  max-width:min(760px, calc(100vw - 24px));
  padding:7px 12px;
  border-radius:4px;
  border:1px solid var(--dj-fs-cap-border);
  background:var(--dj-fs-cap-bg);
  color:var(--dj-terracota);
  font-size:var(--dj-fs-cap-fz);
  letter-spacing:0.06em;
  text-align:center;
}

/* ============================================================
   10) AJUSTES “GLOBAL SYSTEM” (sin tocar cabecera)
   ============================================================ */
.topbar .brand,
.topbar .brand:hover,
.topbar .brand:focus,
.topbar .brand:active{
  text-decoration:none;
  border-bottom:0;
  box-shadow:none;
  background-image:none;
}

.topbar .brand .brand-name,
.topbar .brand .brand-sub{
  text-decoration:none;
}

/* En páginas de proyecto Particulares: regla a sangre en terracota */
.page-project--par .rule--bleed{ background: var(--dj-rule); }

/* ============================================================
   11) RESPONSIVE (AGRUPADO)
   ============================================================ */

/* Desktop: “respirar” por los lados (viewport centrado) */
@media (min-width: 981px){
  .page-project .dj-hero__viewport{
    width: min(94vw, 1400px);
    margin: 0 auto;
  }

  /* Caja abajo-izquierda */
  .page-project .dj-hero__box{
    top: auto;
    right: auto;
    left: 22px;
    bottom: 22px;
  }
}

/* <=980 */
@media (max-width: 980px){
  :root{
    --dj-box-right: 18px;
    --dj-box-w: 300px;
  }

  .page-project .dj-hero__arrow{ bottom: 14px; }
  .page-project .dj-hero__arrow--next{ right: 14px; }
  .page-project .dj-hero__arrow--prev{
    right: calc(14px + var(--dj-hero-arrow-size) + 10px);
  }

  .page-project .dj-hero__dots{ bottom: 10px; }
}

/* <=760 */
@media (max-width: 760px){

  /* HERO móvil: viewport 16:9 */
  .page-project .dj-hero{
    height:auto;
    min-height:0;
  }

  .page-project .dj-hero__carousel{ position:relative; inset:auto; }

  .page-project .dj-hero__viewport{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    border-radius: 8px;
  }

  .page-project .dj-hero__track{ height:100%; }
  .page-project .dj-hero__slide{ height:100%; }
  .page-project .dj-hero__slide img{ height:100%; }

  /* UI superior */
  .page-project .dj-hero__kicker{ font-size:8px; }
  .page-project .dj-hero__city{ font-size:6px; }
  .page-project .dj-hero__rule{ margin:5px 0 5px; }

  /* Variables móvil */
  :root{
    --dj-hero-arrow-size: 26px;
    --dj-hero-arrow-icon: 17px;
    --dj-hero-arrow-x: 14px;
    --dj-hero-cta-gap: 8px;

    --dj-hero-projbtn-h: 16px;
    --dj-hero-projbtn-px: 10px;
    --dj-hero-projbtn-fz: 8px;

    --dj-dot-size: 5px;
    --dj-dot-gap: 5px;
    --dj-dots-pad-y: 4px;
    --dj-dots-pad-x: 8px;

    --dj-fs-arrow-size: 24px;
    --dj-fs-arrow-icon: 16px;

    --dj-fs-projbtn-h: 16px;
    --dj-fs-projbtn-px: 10px;
    --dj-fs-projbtn-fz: 8px;

    --dj-fs-cap-fz: 9px;
  }

  .page-project .dj-hero__box{ display:none; }
  .page-project .dj-mobileMeta{ display:block; }

  /* Botón “siguiente proyecto” en hero */
  .page-project .dj-hero__nextProj{
    top:auto;
    bottom:45px;
    right: var(--dj-hero-arrow-x);
    left:auto;
    z-index:12;
  }

  /* Fullscreen */
  .page-project .dj-fs__img{
    max-height: calc(100vh - 210px);
  }

  .page-project .dj-fs__cap{
    padding: 5px 9px;
    max-width: min(560px, calc(100vw - 24px));
    letter-spacing: 0.05em;
  }

  .page-project .dj-fs__prevProj,
  .page-project .dj-fs__nextProj{
    background: rgba(233,233,231,0.92);
    border-color: rgba(199,116,92,0.65);
  }
}
.footer-banner--bleed img {
    width: 100%;
    min-height: 50%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: var(--banner-pos);
    transform: translateY(var(--banner-shift-y));
    transition: transform 260ms ease;
}

@media (max-width: 800px) {
    .footer-banner--bleed img {
        width: 100%;
        height: 50%;
        display: block;
        object-fit: cover;
        object-position: 50% 51%;
        transform: none;
    }
}