/* Memoria del Agua — página interior de territorio
 * Escritorio: medidas tomadas del archivo de diseño (mesa de 1920 px).
 * --u equivale a 1 px del diseño y escala con el ancho de la ventana.
 */
@font-face{font-family:'WS';src:url('./work-sans-light-CKoeL49S.woff2') format("woff2"),url('./work-sans-light-CKoeL49S.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:'WS';src:url('./work-sans-regular-PwgV4gwY.woff2') format("woff2"),url('./work-sans-regular-PwgV4gwY.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'WS';src:url('./work-sans-black-CyAGzcUN.woff2') format("woff2"),url('./work-sans-black-CyAGzcUN.otf') format('opentype');font-weight:900;font-display:swap}
@font-face{font-family:'Doto';src:url('./doto-variable.woff2') format("woff2"),url('./doto-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Quicksand';src:url('./quicksand-variable-DE2wFU7n.woff2') format("woff2"),url('./quicksand-variable-DE2wFU7n.ttf') format('truetype');font-weight:300 700;font-display:swap}

:root{
  --u:calc(min(100vw,2400px) / 1920);
  --blue:#007DBA;
  --pink:#FF959C;
  --pink-soft:#FFBCC0;
  --cyan:#7FF0FF;
  --lime:#F5FFB7;
  --mid:#3083CD;
  --track:#FFE5E5;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{background:#fff;scroll-behavior:smooth;scroll-snap-type:y proximity;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--blue);font-family:'WS','Work Sans',system-ui,sans-serif;font-weight:300;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,p,figure{margin:0}
.pixel{font-family:'Doto','Consolas',monospace;font-weight:700;letter-spacing:.02em}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
#territorio{background:#fff}

/* Transición nativa entre páginas: el mapa y el recorrido también la activan.
   Si sólo una de las dos páginas la tiene, el navegador la aborta a medias. */
@view-transition{navigation:auto}

/* ---------- Entrada / salida (zoom inmersivo) ----------
   La cortina es del mismo color que la del mapa: el mapa se acerca y se cubre,
   la página nueva aparece ya cubierta y la cortina se levanta mientras la portada
   se aleja suavemente. Sólo se anima la cortina y la foto (liviano). */
.t-curtain{position:fixed;inset:0;z-index:100;background:#f6d8df;pointer-events:none;opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1)}
body.is-entering .t-curtain{opacity:1;transition:none}
body.is-leaving .t-curtain{opacity:1;pointer-events:auto;transition-duration:.35s}
.t-hero-img img{transform:scale(1);transition:transform 1.4s var(--ease)}
body.is-entering .t-hero-img img{transform:scale(1.12);transition:none}
body.is-leaving .t-hero-img img{transform:scale(1.06);transition:transform .4s cubic-bezier(.55,0,.7,.4)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;scroll-snap-type:none}
  .t-curtain,.t-hero-img img{transition:none!important;transform:none!important}
}

/* ---------- Encabezado ---------- */
.t-header{position:relative;height:calc(150 * var(--u));background:var(--pink);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;padding:0 calc(50 * var(--u)) 0 calc(98 * var(--u))}
.t-brand{padding-top:calc(37 * var(--u));display:flex;flex-direction:column;gap:calc(9 * var(--u))}
.t-logo img{width:calc(542 * var(--u));height:auto}
.t-tagline{font-family:'Quicksand',sans-serif;font-weight:300;font-size:max(calc(23.65 * var(--u)),9px);text-transform:uppercase;letter-spacing:.005em;line-height:1}
.t-back{display:flex;align-items:center;gap:calc(14 * var(--u));margin-top:calc(70 * var(--u));text-decoration:none;font-size:max(calc(30 * var(--u)),12px)}
.t-back svg{width:calc(56 * var(--u));min-width:20px;height:auto}
.t-back:hover span{text-decoration:underline;text-underline-offset:.2em}

.t-tabs{display:grid;grid-template-columns:512.188fr 469.271fr 469.271fr 469.271fr auto;height:calc(70 * var(--u));font-size:max(calc(20 * var(--u)),10px)}
.t-tab{display:flex;align-items:center;gap:calc(22 * var(--u));padding-left:calc(22 * var(--u));text-decoration:none;background:var(--cyan);color:var(--blue);white-space:nowrap;overflow:hidden;transition:filter .2s}
.t-tab b{font-weight:700;font-size:max(calc(40 * var(--u)),16px);line-height:1}
.t-tab:hover{filter:brightness(1.04)}
.t-tab.is-current{background:var(--blue);color:var(--lime)}
.t-tab-scroll{background:var(--pink-soft);color:#fff;padding-left:calc(105 * var(--u));gap:calc(40 * var(--u))}
.t-tab-scroll svg{width:calc(40 * var(--u));min-width:16px;height:auto}

/* ---------- Portada ---------- */
.t-hero{position:relative;height:calc(860 * var(--u));overflow:hidden;background:#0a8a7a}
.t-hero-img,.t-hero-img img{width:100%;height:100%}
.t-hero-img img{object-fit:cover}
.t-hero-num{position:absolute;left:calc(92 * var(--u));top:calc(16 * var(--u));font-size:calc(406 * var(--u));line-height:1;color:var(--lime);font-weight:900;letter-spacing:-.04em;pointer-events:none}

.t-intro{display:grid;grid-template-columns:960fr 960fr;padding:calc(105 * var(--u)) calc(100 * var(--u)) 0}
.t-kicker{font-size:calc(50 * var(--u));line-height:1;margin-bottom:calc(14 * var(--u))}
.t-intro h1{font-weight:900;font-size:calc(135 * var(--u));line-height:calc(110 * var(--u));letter-spacing:-.01em}
.t-intro-text{padding-top:calc(-2 * var(--u));max-width:calc(780 * var(--u));font-size:max(calc(32 * var(--u)),15px);line-height:1.2;display:flex;flex-direction:column}
.t-pdf{align-self:flex-end;display:inline-flex;align-items:center;gap:calc(18 * var(--u));margin-top:calc(46 * var(--u));margin-right:calc(-60 * var(--u));font-size:max(calc(30 * var(--u)),12px);text-decoration:none}
.t-pdf svg{width:calc(35 * var(--u));min-width:14px;height:auto}
.t-pdf:not(.is-disabled):hover{text-decoration:underline}
.t-pdf.is-disabled{opacity:.55;cursor:default}

.t-diagram{--dw:1610;margin:calc(40 * var(--u)) auto 0;width:calc(var(--dw) * var(--u))}
.t-diagram img{width:100%;height:auto}

.t-question{padding:calc(60 * var(--u)) calc(100 * var(--u)) 0}
.t-question h2{font-weight:900;color:var(--pink);font-size:calc(200 * var(--u));line-height:calc(180 * var(--u));max-width:calc(1650 * var(--u));letter-spacing:-.01em}

.t-keys{padding:calc(110 * var(--u)) calc(100 * var(--u)) 0;display:flex;flex-direction:column;gap:calc(60 * var(--u))}
.t-keys h3{font-size:max(calc(40 * var(--u)),14px);font-weight:700;line-height:1;margin-bottom:calc(22 * var(--u))}
.t-concepts{font-size:calc(80 * var(--u));line-height:calc(96 * var(--u));max-width:calc(1480 * var(--u))}
.t-processes{font-weight:900;font-size:max(calc(48 * var(--u)),16px);line-height:1.2;max-width:calc(1620 * var(--u))}

/* ---------- Audio ---------- */
.t-audio{--p:0;display:flex;align-items:center;gap:calc(50 * var(--u));padding:calc(80 * var(--u)) calc(100 * var(--u)) calc(150 * var(--u))}
.t-play{flex:none;width:calc(150 * var(--u));height:calc(150 * var(--u));min-width:48px;min-height:48px;border:0;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .2s var(--ease)}
.t-play:hover{transform:scale(1.05)}
.t-play svg{width:48%;height:48%;margin-left:4%}
.t-audio.is-playing .t-play svg{margin-left:0}
.t-audio-body{flex:none;width:calc(1300 * var(--u))}
.t-wave{display:flex;align-items:flex-end;gap:calc(4 * var(--u));height:calc(70 * var(--u));margin-bottom:calc(6 * var(--u))}
.t-wave i{flex:1;background:var(--blue);opacity:.9;min-height:2px}
.t-wave i.on{opacity:1}
.t-wave i:not(.on){background:#5aa6d4}
.t-track{position:relative;height:calc(15 * var(--u));min-height:5px;background:var(--track)}
.t-track-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--p) * 100%);background:var(--blue)}
.t-track-head{position:absolute;top:50%;left:calc(var(--p) * 100%);width:calc(8 * var(--u));min-width:3px;height:calc(40 * var(--u));min-height:14px;background:var(--blue);transform:translate(-50%,-50%)}
.t-track input{position:absolute;inset:-14px 0;width:100%;height:calc(100% + 28px);margin:0;opacity:0;cursor:pointer}
.t-audio-meta{display:flex;justify-content:space-between;margin-top:calc(26 * var(--u));font-size:max(calc(40 * var(--u)),14px);line-height:1}

/* ---------- Carruseles: cada uno es una caja del alto de la pantalla ----------
   --k escala el contenido para que quepa en ancho Y en alto (pantallas bajas o anchas).
   Números siempre arriba a la derecha y flechas abajo a la derecha, dentro de la pantalla. */
.t-carousel{
  --h:calc(max(100svh,520px) - var(--bar-h,0px));
  --k:min(var(--u),calc(var(--h) / 1080));
  position:relative;height:var(--h);overflow:hidden;
  background:var(--bg);color:var(--fg);
  scroll-snap-align:start;scroll-snap-stop:normal;
}
.t-viewport{height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;outline-offset:-6px}
.t-viewport::-webkit-scrollbar{display:none}
.t-viewport.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.t-viewport.is-dragging img{pointer-events:none}
.t-strip{display:flex;height:100%}
.t-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;display:flex;overflow:hidden}

.s-intro{padding:0 calc(50 * var(--k))}
.s-intro-head{flex:0 0 52.6%;align-self:center;padding-bottom:calc(60 * var(--k))}
.s-big{font-weight:900;font-size:calc(130 * var(--k));line-height:.77;letter-spacing:-.01em}
.s-question{margin-top:calc(42 * var(--k));font-size:max(calc(38 * var(--k)),13px);line-height:1.1}
.s-intro-text{align-self:center;max-width:calc(780 * var(--k));max-height:calc(100% - 260 * var(--k));overflow-y:auto;font-size:max(calc(32 * var(--k)),14px);line-height:1.4375}

.s-photo{flex:0 0 55.2%;height:100%;overflow:hidden;background:rgba(0,0,0,.08)}
.s-photo img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}
.s-body{flex:1;min-width:0;display:flex;flex-direction:column;padding:calc(160 * var(--k)) calc(100 * var(--k)) calc(150 * var(--k))}
.s-title{font-weight:900;font-size:calc(61 * var(--k));line-height:1.15;letter-spacing:-.005em}
.s-text{margin-top:calc(26 * var(--k));max-width:calc(670 * var(--k));font-size:max(calc(32 * var(--k)),14px);line-height:1.4375;overflow-y:auto;min-height:0}
.s-credit{margin-top:auto;padding-top:calc(20 * var(--k));max-width:calc(660 * var(--k));font-size:max(calc(20 * var(--k)),11px);line-height:1.2;overflow-wrap:anywhere;font-weight:400}

.s-refs{margin-left:auto;width:50%;padding-top:calc(160 * var(--k));padding-right:calc(100 * var(--k));padding-bottom:calc(130 * var(--k));overflow-y:auto}
.s-refs-text{margin-top:calc(28 * var(--k));font-size:max(calc(18 * var(--k)),12px);line-height:1.35;font-weight:400}
.s-ref+.s-ref{margin-top:calc(26 * var(--k))}
.s-ref h4{margin:0 0 calc(4 * var(--k));font-weight:900;font-size:1em}
.s-ref p{font-weight:300}
.s-ref .s-ref-src{margin-top:calc(4 * var(--k));opacity:.85;font-style:italic}
/* Citas literarias en la mitad izquierda de la diapositiva de referencias */
.s-quotes{position:absolute;left:calc(96 * var(--k));top:calc(140 * var(--k));bottom:calc(120 * var(--k));width:calc(48% - 150 * var(--k));display:flex;flex-direction:column;justify-content:center;gap:calc(70 * var(--k));overflow-y:auto}
.s-quote{margin:0}
.s-quote p{font-size:max(calc(40 * var(--k)),17px);line-height:1.2;font-weight:300}
.s-quote cite{display:block;margin-top:calc(16 * var(--k));font-style:normal;font-size:max(calc(28 * var(--k)),13px);font-weight:400}

.t-dots,.t-arrows{position:absolute;right:calc(50 * var(--k));display:flex;gap:calc(2.2 * var(--k));z-index:2}
.t-dots{top:calc(50 * var(--k))}
.t-arrows{bottom:calc(50 * var(--k))}
.t-dots button,.t-arrows button,.t-count{height:calc(50 * var(--k));min-height:32px;border:0;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:max(calc(26.67 * var(--k)),12px);font-weight:700}
.t-dots button,.t-arrows button{width:calc(50 * var(--k));min-width:32px;padding:0;cursor:pointer;transition:background .2s,color .2s}
.t-dots button[aria-current="true"]{background:#fff;color:var(--blue)}
.t-dots button:hover:not([aria-current="true"]),.t-arrows button:hover:not(:disabled){background:#005f8f}
.t-arrows button:disabled{opacity:.45;cursor:default}
.t-arrows svg{width:72%;height:auto}
.t-count{width:calc(103.7 * var(--k));min-width:66px}
.t-closing{scroll-snap-align:start}

/* ---------- Cierre ---------- */
.t-closing{padding:calc(170 * var(--u)) calc(100 * var(--u)) calc(160 * var(--u));color:var(--mid)}
.t-closing h2{font-weight:900;font-size:calc(61 * var(--u));line-height:calc(66 * var(--u));max-width:calc(560 * var(--u));margin-bottom:calc(30 * var(--u))}
.t-closing-text{columns:2;column-gap:calc(140 * var(--u));font-size:max(calc(20 * var(--u)),14px);line-height:1.2;font-weight:400}
.t-closing-text p{break-inside:avoid}

/* ---------- Pie ---------- */
.t-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(80 * var(--u));padding:calc(50 * var(--u)) calc(100 * var(--u)) calc(70 * var(--u)) calc(70 * var(--u));border-top:1px solid #eef5f9}
.t-footer-logos{width:calc(870 * var(--u));height:auto}
.t-footer-side{display:flex;flex-direction:column;align-items:flex-end;padding-top:calc(5 * var(--u));font-size:max(calc(30 * var(--u)),12px);line-height:1.15;text-align:right}
.t-footer-side a{display:flex;align-items:center;gap:calc(18 * var(--u));text-decoration:none;margin-bottom:calc(14 * var(--u))}
.t-footer-side a svg{width:calc(62 * var(--u));min-width:22px;height:auto}
.t-footer-side a:hover span{text-decoration:underline;text-underline-offset:.2em}
/* Enlaces externos del pie (Web Arquitectura USS, IG, Ciencia Pública): se ven igual que el diseño.
   Con mouse: cambian a rosado y se subrayan al pasar. En pantallas táctiles (sin "pasar el mouse"):
   un subrayado punteado muy suave avisa que se pueden tocar, y al tocar cambian a rosado. */
.t-footer-side .t-pie-link{display:inline;margin:0;color:inherit;text-decoration:none;transition:color .2s ease}
.t-footer-side .t-pie-link:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
@media (hover:hover){
  .t-footer-side .t-pie-link:hover{color:var(--pink);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
}
@media (hover:none){
  .t-footer-side .t-pie-link{text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:.25em;text-decoration-thickness:1px;-webkit-tap-highlight-color:transparent}
  .t-footer-side .t-pie-link:active{color:var(--pink)}
}
.t-footer-side hr{align-self:stretch;width:calc(395 * var(--u));margin:calc(14 * var(--u)) 0 calc(24 * var(--u)) auto;border:0;border-top:2px solid var(--blue)}

/* ==========================================================================
   Celular y tablet vertical
   ========================================================================== */
@media (max-width:820px){
  :root{--m:calc(100vw / 390)}
  .t-header{height:auto;padding:calc(16 * var(--m)) 16px calc(14 * var(--m));align-items:center}
  .t-brand{padding-top:0;gap:5px}
  .t-logo img{width:calc(210 * var(--m))}
  .t-tagline{font-size:calc(8.6 * var(--m))}
  .t-back{margin-top:0;font-size:13px;gap:6px;padding:8px 0 8px 8px}
  .t-back svg{width:22px}
  .t-back span{max-width:4.6em;line-height:1.05;text-align:left}

  /* Tipografía pixelada más gruesa en pantallas chicas: se lee mejor */
  .pixel{font-weight:900}
  .t-tabs{grid-template-columns:repeat(3,1fr) 54px;height:auto;font-size:11px}
  .t-tab-scroll{display:none}
  .t-tab{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:9px 10px 10px;white-space:normal;line-height:1.1;min-height:56px}
  .t-tab b{font-size:20px}

  .t-hero{height:auto;aspect-ratio:4/3}
  .t-hero-num{left:12px;top:4px;font-size:calc(150 * var(--m))}

  .t-intro{grid-template-columns:1fr;gap:20px;padding:36px 16px 0}
  .t-kicker{font-size:18px;margin-bottom:6px}
  .t-intro h1{font-size:calc(52 * var(--m));line-height:.86}
  .t-intro-text{max-width:none;font-size:17px;line-height:1.35}
  .t-pdf{margin:18px 0 0;font-size:15px;gap:8px;padding:6px 0}
  .t-pdf svg{width:16px}

  .t-diagram{width:auto;margin:28px 0 0}
  .t-question{padding:36px 16px 0}
  .t-question h2{font-size:calc(50 * var(--m));line-height:.92;max-width:none}
  .t-keys{padding:40px 16px 0;gap:28px}
  .t-keys h3{font-size:16px;margin-bottom:10px}
  .t-concepts{font-size:26px;line-height:1.18;max-width:none}
  .t-processes{font-size:17px;line-height:1.3;max-width:none}

  .t-audio{gap:16px;padding:36px 16px 56px}
  .t-play{width:60px;height:60px}
  .t-audio-body{flex:1;min-width:0;width:auto}
  .t-wave{height:34px;gap:2px}
  .t-wave i:nth-child(2n){display:none}
  .t-audio-meta{font-size:14px;margin-top:10px}

  /* Carrusel en celular: caja de pantalla completa. Números arriba, flechas abajo,
     foto ocupa el espacio que deja el texto; si el texto es largo, se desplaza dentro. */
  .t-carousel{--h:calc(100svh - var(--bar-h,0px));display:flex;flex-direction:column;min-height:0}
  .t-dots{position:static;order:-1;flex:none;justify-content:flex-end;padding:12px 16px 10px;flex-wrap:wrap}
  .t-arrows{position:static;flex:none;justify-content:flex-end;padding:10px 16px 14px}
  .t-dots button,.t-arrows button{width:44px;height:44px;min-width:0;font-size:14px}
  .t-count{height:44px;width:76px;font-size:14px}
  /* Con 6 diapositivas los números caben justo; en pantallas muy angostas se achican */
  .t-dots{gap:2px}
  .t-viewport{flex:1;min-height:0;height:auto}
  .t-slide{flex-direction:column}

  .s-intro{padding:8px 16px 0;overflow-y:auto}
  .s-intro-head{flex:none;align-self:stretch;padding-bottom:0}
  .s-big{font-size:calc(58 * var(--m));line-height:.86}
  .s-question{margin-top:14px;font-size:15px}
  .s-intro-text{align-self:stretch;max-width:none;max-height:none;overflow:visible;padding:20px 0 16px;font-size:17px;line-height:1.4}

  .s-photo{flex:1 1 0;min-height:32%;height:auto;margin:0}
  .s-body{flex:0 1 auto;min-height:0;padding:16px 16px 6px;overflow-y:auto}
  .s-title{font-size:28px}
  .s-text{margin-top:8px;max-width:none;font-size:16px;line-height:1.4;overflow:visible}
  .s-credit{margin-top:12px;padding-top:0;max-width:none;font-size:11px}

  .s-referencias{overflow-y:auto}
  .s-refs{margin:0;width:auto;padding:8px 16px 16px;overflow:visible}
  .s-refs-text{font-size:15px;margin-top:12px}
  .s-ref+.s-ref{margin-top:18px}
  .s-quotes{position:static;width:auto;padding:8px 16px 4px;gap:18px;overflow:visible;order:2}
  .s-quote p{font-size:19px}
  .s-quote cite{font-size:13px;margin-top:6px}


  .t-closing{padding:56px 16px 56px}
  .t-closing h2{font-size:34px;line-height:1.02;max-width:none;margin-bottom:20px}
  .t-closing-text{columns:1;font-size:16px;line-height:1.35}

  .t-footer{flex-direction:column-reverse;align-items:stretch;gap:32px;padding:32px 16px 40px}
  .t-footer-logos{width:calc(100% + 24px);max-width:none;margin:0 -12px}
  .t-footer-side{font-size:15px}
  .t-footer-side a{gap:10px;margin-bottom:10px}
  .t-footer-side a svg{width:26px}
  .t-footer-side hr{width:60%;margin:6px 0 14px auto}
}
@media (max-width:360px){
  .t-dots button{width:38px;height:40px}
  .t-tab span{font-size:10px}
}

/* ==========================================================================
   Impresión / PDF ("Descargar pdf" descarga la página generada con estos estilos)
   Documento continuo de una columna: sin navegación, audio ni botones,
   y los carruseles con todas sus diapositivas una debajo de otra.
   ========================================================================== */
.i-print-only{display:none}
@media print{
  @page{size:A4;margin:0}
  :root{--u:calc(794px / 1920);--m:calc(794px / 390)}
  html,body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;scroll-snap-type:none}
  .t-curtain,.t-tabs,.i-tabs,.t-back,.t-pdf,.t-audio,.t-dots,.t-arrows,.t-footer-side a:not(.t-pie-link),.i-video-play{display:none!important}
  .i-print-only{display:block;margin:6px 16px 0;font-size:12px;color:#3083CD}
  .t-hero-img img,.i-hero img{transform:none!important;transition:none!important}
  section,figure,.t-slide,.s-ref,.i-refs-list li{break-inside:avoid}
  h1,h2,h3{break-after:avoid}
  .t-carousel{height:auto!important;overflow:visible;break-inside:auto}
  .t-viewport{height:auto!important;overflow:visible!important}
  .t-strip{display:block!important;height:auto!important}
  .t-slide{height:auto!important;min-height:0;flex-direction:column;overflow:visible!important;padding:0 0 18px}
  .t-slide+.t-slide{border-top:1px solid rgba(255,255,255,.35)}
  .s-photo{flex:none!important;height:auto!important;min-height:0!important;aspect-ratio:16/9;margin:0}
  .s-photo img{height:100%}
  .t-slide.s-referencias,.i-refs,.t-closing{break-inside:auto}
  .s-ref,.s-quote{break-inside:avoid}
  .s-intro-text,.s-text,.s-body,.s-referencias,.s-intro{overflow:visible!important;max-height:none!important}
  .t-closing-text{columns:2}
  .i-block{break-inside:auto}
  .i-video-poster{pointer-events:none}
}
/* "desliza para recorrer" lleva al título del territorio */
.t-intro{scroll-snap-align:start;scroll-margin-top:16px}

/* ---------- Barra de navegación anclada (territorios e investigaciones) ----------
   Queda fija arriba al bajar por la página. Sólo usa position:sticky (sin JavaScript
   en el scroll), así que no afecta la fluidez. */
.t-tabs,.i-tabs{position:sticky;top:0;z-index:30;transition:box-shadow .25s ease}
.t-tabs.is-stuck,.i-tabs.is-stuck{box-shadow:0 6px 18px rgba(0,94,130,.16)}
/* Los saltos internos (ej. "desliza para recorrer") dejan espacio para la barra fija */
html{scroll-padding-top:var(--bar-h,0px)}
.t-intro,.i-intro{scroll-margin-top:12px}

@media print{.t-tabs,.i-tabs{position:static;box-shadow:none}}

/* Botón "mapa" en la barra anclada (volver al mapa desde cualquier punto de la página) */
.t-tab-map{background:var(--blue);color:#fff;padding:0 calc(28 * var(--u)) 0 calc(22 * var(--u));gap:calc(14 * var(--u))}
.t-tab-map svg{width:calc(34 * var(--u));min-width:18px;height:auto}
.t-tab-map:hover{filter:none;background:#005f8f}
.t-tab-scroll.is-up{background:var(--blue)}
@media (max-width:820px){
  .t-tab-map{align-items:center;justify-content:center;padding:0;gap:2px;font-size:10px}
  .t-tab-map svg{width:22px}
}
@media print{.t-tab-map,.i-map{display:none!important}}
/* Foco de teclado dentro de los botones de la barra anclada (sin sobresalir por debajo) */
.t-tabs a:focus,.i-tabs a:focus{outline:none}
.t-tabs a:focus-visible,.i-tabs a:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
