@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--navy:#101e2d;--navy2:#1c3043;--amber:#ce8542;--amberlight:#eab77e;--paper:#f7f4ef;--cream:#eee9e1;--ink:#1a2b37;--muted:#69747b;--line:#dedbd4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:1240px;margin:auto;padding:0 42px}.skip-link{position:absolute;top:-60px;left:10px;background:white;padding:8px;z-index:20}.skip-link:focus{top:8px}.site-header{background:var(--navy);color:white;border-bottom:1px solid #ffffff24}.header-inner{height:90px;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:700;line-height:1.15;letter-spacing:.13em;white-space:nowrap}.brand small{display:block;font-size:12px;color:var(--amberlight);letter-spacing:.27em}.brand-mark{font-size:37px;color:var(--amber)}nav{display:flex;gap:30px;margin-left:auto}nav a{font-size:13px;color:#d2d8db}nav a:hover,nav a:focus{color:var(--amberlight)}.header-note{font-size:10px;letter-spacing:.18em;border-left:1px solid #ffffff3d;padding-left:22px;color:#9caeb7}.hero{background:var(--navy);color:#fff;overflow:hidden}.hero-grid{min-height:635px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-copy{padding:70px 0 80px;position:relative;z-index:2}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.21em;color:var(--amberlight);margin:0 0 30px}.eyebrow-line{display:inline-block;width:24px;height:1px;background:var(--amber);vertical-align:middle;margin-right:12px}.eyebrow-dark{color:#a56837}.hero h1,.section h2,.dialog-content h2{font:normal clamp(54px,6vw,94px)/1.02 'DM Serif Display',Georgia,serif;letter-spacing:-.025em;margin:0 0 30px}.hero h1 em,.section h2 em{color:var(--amber);font-weight:400}.hero-lead{font-size:22px;line-height:1.45;max-width:510px;color:#f1f2f0;margin:0 0 15px}.hero-detail{font-size:15px;max-width:470px;color:#aab8c0;margin:0 0 35px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:14px 22px;font-size:13px;font-weight:700}.button-primary{background:var(--amber);color:#1b1c1b}.button-primary:hover{background:var(--amberlight)}.hero-art{min-height:540px;position:relative;display:flex;align-items:center;justify-content:center}.orb{position:absolute;border-radius:50%;box-shadow:inset -24px -32px 38px #431a0855,0 30px 100px #0006;background:radial-gradient(circle at 30% 24%,#ffefb6 0,#f6c06d 13%,#d8852d 40%,#8e3d19 73%,#381b1d 100%)}.orb-one{width:330px;height:330px;transform:rotate(-25deg);border-radius:45% 55% 62% 38% / 42% 43% 57% 58%}.orb-two{width:135px;height:135px;right:0;top:80px;opacity:.75}.orb-three{width:72px;height:72px;left:10%;bottom:60px;opacity:.6}.hero-art-caption{position:absolute;bottom:10px;right:0;color:#91a0a8;font-size:10px;letter-spacing:.19em}.hero-foot{display:flex;justify-content:space-between;padding-bottom:26px;color:#91a0a8;font-size:11px;letter-spacing:.12em}.section{padding:115px 0}.intro-grid,.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.section h2{font-size:clamp(44px,4.6vw,70px)}.intro-copy{padding-top:45px;color:#4d5b63}.intro-copy p{margin:0 0 22px}.status{display:inline-block;margin-top:16px;padding:8px 12px;border:1px solid #b6a48b;color:#80613f;font-size:10px;font-weight:700;letter-spacing:.1em}.units{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:42px}.section-heading p:last-child{max-width:320px;color:#66727a;font-size:14px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid #dedad2;background:#fbfaf7;text-align:left;padding:0;cursor:pointer;display:flex;flex-direction:column;color:var(--ink);transition:transform .2s,box-shadow .2s}.card:hover,.card:focus-visible{transform:translateY(-5px);box-shadow:0 14px 35px #192e381a;outline-color:var(--amber)}.card-index{padding:20px 23px 12px;font-size:10px;letter-spacing:.16em;color:#8a785f}.card-art{height:175px;margin:0 20px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(130deg,#192f42,#284255)}.art-ring{width:125px;height:125px;border-radius:48% 52% 60% 40%;border:22px solid #c77b3b;box-shadow:inset 0 0 22px #8b401c,0 0 35px #d78c4955;transform:rotate(30deg)}.art-dot{position:absolute;width:25px;height:25px;border-radius:50%;background:#f1bf74;left:22%;top:20%}.card:nth-child(3n+2) .card-art{background:linear-gradient(140deg,#2e3c42,#485d59)}.card:nth-child(3n) .card-art{background:linear-gradient(140deg,#3a2830,#6b4a3a)}.card-body{padding:24px 23px 25px;display:flex;flex-direction:column;flex:1}.card-title{font:normal 26px/1.17 'DM Serif Display',Georgia,serif;margin-bottom:12px}.card-summary{font-size:13px;line-height:1.65;color:#68747a;flex:1}.card-action{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:24px;padding-top:16px;color:#9b602f;font-size:12px;font-weight:700}.catalog{background:var(--navy2);color:white}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.catalog p:not(.eyebrow){max-width:460px;color:#c0cbd1}.tag{display:inline-block;border:1px solid #d2a36c;color:#e6b981;font-size:11px;letter-spacing:.14em;padding:9px 15px}.book-visual{display:flex;justify-content:center;perspective:900px}.book{width:250px;height:345px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(125deg,#b7682d,#d99950 52%,#7b3e25);box-shadow:18px 20px 0 #0a1622,24px 30px 45px #0005;transform:rotate(-7deg);font:normal 35px/1.1 'DM Serif Display',Georgia,serif}.book small{font:700 10px 'DM Sans',sans-serif;letter-spacing:.13em}.visit-facts{border-top:1px solid var(--line)}.visit-facts div{padding:22px 0;border-bottom:1px solid var(--line)}.visit-facts span{display:block;font-size:10px;color:#956335;letter-spacing:.16em;font-weight:700}.visit-facts strong{display:block;font-size:17px;margin-top:7px;font-weight:500}.footer{background:#0c1722;color:#e6e8e7;padding:45px 0}.footer-inner{display:flex;justify-content:space-between;gap:35px;align-items:start}.footer-brand{font-weight:700;letter-spacing:.14em}.footer p{margin:6px 0;color:#b4c1c8;font-size:12px}.footer small{color:#899aa3;font-size:11px;max-width:330px;display:block}.footer a{color:var(--amberlight);font-size:12px}dialog{border:0;padding:0;width:min(880px,calc(100vw - 28px));max-height:calc(100vh - 35px);background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0007}dialog::backdrop{background:#07111bd9}.dialog-layout{display:grid;grid-template-columns:36% 64%;min-height:440px}.dialog-art{background:#23394a;position:relative;overflow:hidden;padding:30px;color:#d7a16b;font-size:10px;letter-spacing:.15em}.dialog-orb{width:185px;height:185px;position:absolute;top:32%;left:15%;border-radius:45% 60% 50% 45%;background:radial-gradient(circle at 25% 20%,#ffe1a0,#c57a30 48%,#5a261c)}.dialog-content{padding:55px 45px;position:relative}.dialog-content h2{font-size:43px}.dialog-content p{color:#53616a}.dialog-content .eyebrow{color:#9d6436}.dialog-close{position:absolute;right:20px;top:14px;border:0;background:none;font-size:34px;cursor:pointer;color:#243b4a}.dialog-summary{font-weight:700}a:focus-visible,button:focus-visible{outline:3px solid var(--amber);outline-offset:3px}@media(max-width:850px){.wrap{padding:0 23px}.header-inner{height:auto;min-height:80px;flex-wrap:wrap;gap:10px;padding-top:15px;padding-bottom:15px}nav{order:3;width:100%;justify-content:space-between;gap:12px}nav a{font-size:11px}.header-note{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:70px 0 10px}.hero-art{min-height:350px}.orb-one{width:230px;height:230px}.orb-two{width:80px;height:80px;right:12%}.intro-grid,.visit-grid,.catalog-grid{grid-template-columns:1fr;gap:20px}.intro-copy{padding-top:0}.section{padding:75px 0}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{display:block}.section-heading p:last-child{max-width:500px}.footer-inner{flex-wrap:wrap}.dialog-layout{grid-template-columns:1fr}.dialog-art{height:110px}.dialog-orb{width:80px;height:80px;top:15px;left:auto;right:50px}.dialog-content{padding:38px 25px}}@media(max-width:560px){.card-grid{grid-template-columns:1fr}.hero h1{font-size:60px}.hero-foot{gap:15px}.book{width:210px;height:295px}.dialog-content h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}

/* Créditos institucionales: recuadros ajustados a cada logotipo. */
.footer-institutions{display:grid;gap:32px;margin-top:40px}
.institution-row{display:grid;gap:32px;align-items:start}
.institution-row-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
.institution-row-collaborators{grid-template-columns:repeat(3,minmax(0,1fr))}
.institution{display:grid;justify-items:center;align-content:start;gap:10px;min-width:0;text-align:center}
.footer .institution-role,.footer .institution-name{margin:0}
.footer .institution-role{color:var(--amberlight);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.institution-logo{display:inline-flex;align-items:center;justify-content:center;justify-self:center;width:max-content;height:85px;padding:10px;background:#fff}
.institution-logo img{display:block;height:65px;width:auto;max-width:none}
.footer .institution-name{font-size:12px;line-height:1.5}
.institution-name-council{white-space:nowrap}
@media(max-width:850px){.institution-row-collaborators{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-row-collaborators .institution:last-child{grid-column:1 / -1}}
@media(max-width:560px){.institution-row-primary,.institution-row-collaborators{grid-template-columns:minmax(0,1fr)}.institution-row-collaborators .institution:last-child{grid-column:auto}}

.card-subtitle{font-size:16px;font-weight:700;line-height:1.4;margin-bottom:12px}

/* Publicación: cubierta real y créditos editoriales secundarios. */
.catalog-copy{min-width:0}
.catalog p.catalog-subtitle{font-size:21px;line-height:1.4;color:var(--amberlight);margin-top:0}
.catalog p.catalog-authors{font-size:14px;line-height:1.8;color:#fff}
.catalog p.catalog-meta{color:#fff;font-size:14px}
.catalog-meta span{font-weight:700}
.catalog-cover{display:flex;justify-content:center;align-self:start;padding-top:42px}
.catalog-cover img{display:block;width:min(100%,280px);height:auto}
.catalog-download{max-width:100%;text-align:center;justify-content:center}
.catalog-credits{max-width:460px;margin-top:24px;font-size:14px;color:#c0cbd1}
.catalog-credits summary{cursor:pointer;color:var(--amberlight);padding:10px 0}
.catalog-credits summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.catalog-credits dl{margin:12px 0 0}
.catalog-credits dt{font-weight:700;color:#fff;margin-top:14px}
.catalog-credits dd{margin:3px 0 0}
@media(max-width:850px){.catalog-cover{grid-row:1;padding-top:0;margin-bottom:24px}.catalog-cover img{width:min(100%,230px)}}

/* Pestañas y relato del proyecto expositivo. */
.project-heading{max-width:850px;margin-bottom:48px}
.project-heading h2{font-size:clamp(36px,4.6vw,70px)}
.project-subtitle{font-size:21px;line-height:1.5;color:#956335;margin:0}
.project-narrative{max-width:780px}
.project-block{border-top:1px solid var(--line);padding:38px 0}
.project-block .eyebrow{margin-bottom:16px}
.project-block h3{font:normal clamp(28px,3vw,38px)/1.2 'DM Serif Display',Georgia,serif;margin:0 0 24px}
.project-block>p:not(.eyebrow),.project-process dd{color:#4d5b63}
.project-block>p:not(.eyebrow){margin:0 0 20px}
.project-process{margin:28px 0 0;padding-left:22px;border-left:2px solid var(--amber)}
.project-process dt{font-weight:700;margin-top:22px}
.project-process dd{margin:6px 0 0}
@media(max-width:560px){.project-block{padding:28px 0}.project-subtitle{font-size:18px}}

/* Recorrido virtual de la exposición */
.project-video { margin: 2rem 0; }
.project-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #101e2d; border-radius: 8px; }
.project-video figcaption { margin-top: 0.75rem; font-size: 0.9rem; line-height: 1.5; opacity: 0.75; }

/* Bafureira: cuatro bloques editoriales y fotografías futuras. */
.bafureira{scroll-margin-top:24px}
.bafureira-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:30px}
.bafureira-block{border-top:1px solid var(--line);padding-top:20px;min-width:0}
.bafureira-block h4{font:normal 27px/1.2 'DM Serif Display',Georgia,serif;margin:0 0 16px}
.bafureira-block p{color:#4d5b63;margin:0 0 16px}
.bafureira-photo{margin:24px 0 0}
.bafureira-photo img{display:block;max-width:100%;height:auto}
.bafureira-photo figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.dialog-project-link:not([hidden]){display:block;margin-top:22px;color:#9b602f;text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.bafureira-grid{grid-template-columns:minmax(0,1fr);gap:16px}}

/* Visor UE343: espacio estable, carga y controles accesibles. */
.ue343-section{margin-top:38px}
.ue343-section h4{font:normal 30px/1.2 'DM Serif Display',Georgia,serif;margin:0 0 20px}
.ue343-section>p{color:#4d5b63}
.ue343-frame{position:relative;background:var(--cream);border:1px solid var(--line)}
.ue343-frame model-viewer{display:block;width:100%;height:450px;touch-action:pan-y}
.ue343-status{padding:12px 18px;color:var(--ink);font-size:13px}
.ue343-status progress:not([hidden]){display:block;width:100%;margin-top:8px;accent-color:var(--amber)}
.ue343-toolbar{display:flex;gap:12px;flex-wrap:wrap;padding:14px 18px}
.ue343-toolbar button,.ue343-status button{border:1px solid var(--line);padding:10px 14px;background:var(--paper);color:var(--ink);cursor:pointer}
.ue343-toolbar button:disabled{opacity:.5;cursor:default}
.ue343-section .ue343-hint{font-size:13px;color:var(--muted);margin-top:10px}
.ue343-frame:fullscreen{display:flex;flex-direction:column;background:var(--paper);padding:16px;overflow:auto}
.ue343-frame:fullscreen model-viewer{flex:1;min-height:0;height:calc(100vh - 170px)}
@media(max-width:560px){.ue343-frame model-viewer{height:340px}.ue343-toolbar button{flex:1 1 auto}}


/* Fotografías del recorrido expositivo */
.card-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.card:hover .card-art img{
  transform:scale(1.035);
}
.unit-gallery{
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  gap:12px;
}
.unit-gallery-figure{
  margin:0;
  flex:1;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.unit-gallery-figure img{
  display:block;
  width:100%;
  max-height:420px;
  height:auto;
  object-fit:contain;
}
.dialog-art:has(.unit-gallery){
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:#23394a;
}
@media(max-width:850px){
  .dialog-art:has(.unit-gallery){
    height:auto;
    min-height:180px;
    max-height:340px;
  }
  .unit-gallery{
    flex-direction:row;
    align-items:center;
  }
  .unit-gallery-figure{
    min-width:0;
  }
  .unit-gallery-figure img{
    max-height:300px;
  }
}
@media(prefers-reduced-motion:reduce){
  .card-art img{
    transition:none;
  }
}


/* Galerías fotográficas del recorrido */
#unit-dialog{
  width:min(1100px,calc(100vw - 28px));
}

#unit-dialog .dialog-layout{
  grid-template-columns:55% 45%;
}

#unit-dialog .dialog-art{
  display:block;
  padding:18px;
  background:#1b2a36;
  color:#fff;
  letter-spacing:normal;
}

.exhibition-gallery{
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
}

.exhibition-gallery-stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:min(55vh,540px);
  min-height:250px;
  background:#14212b;
}

.exhibition-gallery-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  width:40px;
  height:40px;
  background:#101e2dcc;
  color:#fff;
  font-size:30px;
  cursor:pointer;
}

.gallery-previous{left:8px}
.gallery-next{right:8px}

.gallery-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
}

.gallery-expand{
  border:1px solid #ffffff66;
  background:transparent;
  color:#fff;
  padding:6px 12px;
  cursor:pointer;
  font-size:12px;
}

.gallery-thumbnails{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:6px;
}

.gallery-thumbnail{
  flex:0 0 68px;
  height:60px;
  padding:2px;
  border:2px solid transparent;
  background:transparent;
  cursor:pointer;
}

.gallery-thumbnail[aria-pressed="true"]{
  border-color:var(--amberlight);
}

.gallery-thumbnail img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

@media(max-width:850px){
  #unit-dialog .dialog-layout{
    grid-template-columns:1fr;
  }

  #unit-dialog .dialog-art{
    height:auto;
    max-height:none;
    padding:12px;
  }

  .exhibition-gallery-stage{
    height:40vh;
    min-height:220px;
  }
}


/* TEXTOS DEL CATÁLOGO EN EL VISOR */
@media (min-width: 851px) {
  #unit-dialog .dialog-layout {
    height: min(760px, calc(100dvh - 35px));
    min-height: 0;
  }

  #unit-dialog .dialog-art {
    min-height: 0;
  }

  #unit-dialog .dialog-content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
}

#unit-dialog .dialog-body {
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: break-word;
}

#unit-dialog .dialog-body p {
  margin: 0 0 1.15em;
}

#unit-dialog .dialog-body p:last-child {
  margin-bottom: 0;
}

#unit-dialog .dialog-summary[hidden] {
  display: none;
}

@media (max-width: 850px) {
  #unit-dialog .dialog-content {
    overflow: visible;
  }

  #unit-dialog .dialog-body {
    font-size: 14px;
  }
}

/* Proyecto: franjas editoriales con el mismo ritmo que Exposición. */
#panel-proyecto .project{padding:0}
#panel-proyecto .project>.wrap{max-width:none;padding:0}
#panel-proyecto .project-heading{max-width:1240px;margin:0 auto;padding:100px 42px 64px}
#panel-proyecto .project-narrative{max-width:none}
#panel-proyecto .project-block{border-top:0;padding:90px 0}
#panel-proyecto .project-block>:not(template){width:calc(100% - 84px);max-width:780px;margin-left:auto;margin-right:auto}
#panel-proyecto .project-block h3{font-size:clamp(32px,3.5vw,48px);line-height:1.15;margin-bottom:30px}
#panel-proyecto .project-band-ivory{background:var(--cream)}
#panel-proyecto .project-band-warm{background:var(--paper)}
#panel-proyecto .project-band-dark{background:var(--navy2);color:var(--paper)}
#panel-proyecto .project-band-dark>p:not(.eyebrow){color:#c0cbd1}
#panel-proyecto .project-band-dark>.eyebrow{color:var(--amberlight)}
#panel-proyecto .project-band-dark .project-video figcaption{color:#c0cbd1;opacity:1}
/* Componente editorial compartido; la acción será enlace al verificar su URL. */
.pepadb-placement{padding-top:48px;padding-bottom:48px}
.pepadb-editorial{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;max-width:1060px;margin:0 auto;padding:30px 34px;border-radius:12px;background:var(--amberlight);color:var(--navy);transition:background-color 200ms ease}
.pepadb-editorial:hover{background:#efc390}
.pepadb-editorial .pepadb-label{font-size:10px;font-weight:700;letter-spacing:.12em;margin:0 0 12px}
.pepadb-editorial h2{font:normal clamp(29px,3vw,38px)/1.15 'DM Serif Display',Georgia,serif;margin:0 0 14px}
.pepadb-copy>p:last-child{font-size:14px;line-height:1.65;max-width:650px;margin:0}
.pepadb-editorial .pepadb-action{font-size:13px;font-weight:700;max-width:190px;margin:0;line-height:1.6}
.pepadb-editorial a:focus-visible{outline:3px solid var(--navy);outline-offset:5px}
@media(max-width:850px){#panel-proyecto .project-heading{padding:75px 23px 48px}#panel-proyecto .project-block{padding:65px 0}#panel-proyecto .project-block>:not(template){width:calc(100% - 46px)}.pepadb-editorial{grid-template-columns:minmax(0,1fr);gap:22px;padding:26px}.pepadb-editorial .pepadb-action{max-width:none}}
@media(prefers-reduced-motion:reduce){.pepadb-editorial{transition:none}}

/* Miniatura real de PEPAdb: imagen completa, sin recortes. */
.pepadb-editorial{grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:18px 30px}
.pepadb-copy{grid-column:1;grid-row:1 / span 2}
.pepadb-map-link{display:block;grid-column:2;grid-row:1;width:100%;padding:6px;border-radius:10px;background:var(--paper);transition:transform 200ms ease}
.pepadb-map-link img{display:block;width:100%;height:auto}
.pepadb-map-link:hover,.pepadb-map-link:focus-visible{transform:scale(1.03)}
.pepadb-editorial .pepadb-action{grid-column:2;grid-row:2;max-width:none}
@media(max-width:850px){.pepadb-editorial{grid-template-columns:minmax(0,1fr)}.pepadb-copy,.pepadb-map-link,.pepadb-editorial .pepadb-action{grid-column:1;grid-row:auto}.pepadb-map-link{max-width:420px}}
@media(prefers-reduced-motion:reduce){.pepadb-map-link{transition:none}.pepadb-map-link:hover,.pepadb-map-link:focus-visible{transform:none}}

/* Navegación única y desplegable editorial del proyecto. */
.header-inner{height:auto;min-height:90px;gap:24px;padding-top:18px;padding-bottom:18px}
.main-nav{align-items:center;gap:18px;min-width:0}
.main-nav>a,.project-nav-item>a{padding:10px 0}
.main-nav a[aria-current]{color:var(--amberlight);text-decoration:underline;text-underline-offset:6px}
.project-nav-item{position:relative;display:flex;align-items:center;gap:6px}
.project-nav-toggle{border:0;background:transparent;color:var(--amberlight);padding:10px;cursor:pointer;line-height:1;min-width:36px;min-height:36px}
.project-subnav{position:absolute;right:0;top:100%;z-index:30;width:min(420px,calc(100vw - 46px));margin:0;padding:8px 18px;list-style:none;background:var(--navy2);color:var(--paper);box-shadow:0 12px 28px #07111b33}
.project-subnav:not([hidden]){animation:project-menu-open 180ms ease}
.project-subnav li+li{border-top:1px solid #ffffff24}
.project-subnav a{display:block;padding:13px 4px;font-size:13px;line-height:1.5;color:var(--paper)}
.project-subnav a:hover{color:var(--amberlight)}
#panel-proyecto h3[id],#panel-exposicion section[id]{scroll-margin-top:20px}
@keyframes project-menu-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.header-inner{flex-wrap:wrap}.main-nav{width:100%;justify-content:space-between;margin-left:0}}
@media(max-width:560px){.main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}.main-nav>a{font-size:12px;padding:8px 0}.project-nav-item{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0}.project-nav-item>a{font-size:12px}.project-subnav{position:static;grid-column:1 / -1;width:100%;box-shadow:none;padding:0 12px}.project-subnav a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.project-subnav:not([hidden]){animation:none}}

/* Inactive views must never generate layout or override the hidden state. */
#panel-exposicion[hidden],#panel-proyecto[hidden]{display:none!important}


/* AUDIOGUIDE COMPONENTS */

.audio-guide {
  background: #f5f2ec;
  color: #101e2d;
}

.audio-guide-intro {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 36px 0 28px;
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(16,30,45,.1);
  border-radius: 12px;
}

.audio-guide-symbol {
  display: grid;
  place-items: center;
  flex: 0 0 70px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #101e2d;
  color: #d8a568;
  font-size: 34px;
}

.audio-guide-intro h3 {
  margin: 0 0 10px;
  font-size: clamp(20px, 3vw, 28px);
}

.audio-guide-intro p {
  margin: 0;
  line-height: 1.7;
  max-width: 680px;
}

.audio-guide-list {
  display: grid;
  gap: 12px;
}

.audio-guide-empty {
  margin: 0;
  padding: 26px;
  border: 1px dashed rgba(16,30,45,.25);
  border-radius: 10px;
  text-align: center;
  color: #56616b;
}

.audio-track {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  background: #fff;
  border: 1px solid rgba(16,30,45,.1);
  border-radius: 10px;
}

.audio-track-number {
  flex: 0 0 42px;
  color: #9b602f;
  font-size: 20px;
  font-weight: 700;
}

.audio-track-info {
  flex: 1;
  min-width: 0;
}

.audio-track-title {
  margin: 0 0 5px;
  font-size: 18px;
  font-weight: 600;
}

.audio-track-duration {
  color: #66717a;
  font-size: 13px;
}

.audio-track-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.audio-track-actions button,
.audio-track-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #101e2d;
  border-radius: 6px;
  background: #101e2d;
  color: #fff;
  font: inherit;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
}

.audio-track-actions a {
  background: transparent;
  color: #101e2d;
}

.audio-track-actions button:hover,
.audio-track-actions button:focus-visible {
  background: #9b602f;
  border-color: #9b602f;
  color: #fff;
}

.audio-track-actions a:hover,
.audio-track-actions a:focus-visible {
  border-color: #9b602f;
  color: #9b602f;
}

@media (max-width: 600px) {
  .audio-guide-intro {
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
  }

  .audio-guide-symbol {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
    font-size: 25px;
  }

  .audio-track {
    flex-wrap: wrap;
    gap: 12px;
    padding: 18px;
  }

  .audio-track-number {
    flex-basis: 32px;
    font-size: 17px;
  }

  .audio-track-info {
    flex-basis: calc(100% - 50px);
  }

  .audio-track-actions {
    width: 100%;
  }

  .audio-track-actions button,
  .audio-track-actions a {
    flex: 1;
  }
}


/* AUDIO MINI PLAYER */

.audio-mini-player[hidden] {
  display: none !important;
}

.audio-mini-player {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px max(24px, env(safe-area-inset-right))
           calc(12px + env(safe-area-inset-bottom))
           max(24px, env(safe-area-inset-left));
  background: #101e2d;
  color: #fff;
  box-shadow: 0 -8px 30px rgba(0,0,0,.18);
}

.audio-mini-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.audio-mini-label {
  color: #d8a568;
  font-size: 10px;
  letter-spacing: .12em;
}

#audio-mini-title {
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.audio-mini-controls {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 0 1 420px;
}

.audio-mini-controls button {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}

.audio-mini-controls button:hover,
.audio-mini-controls button:focus-visible {
  border-color: #d8a568;
  color: #d8a568;
}

.audio-mini-progress {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

#audio-mini-seek {
  width: 100%;
  accent-color: #d8a568;
  cursor: pointer;
}

#audio-mini-time {
  font-size: 11px;
  color: #c5cbd1;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 600px) {
  .audio-mini-player {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  }

  .audio-mini-controls {
    flex-basis: auto;
    gap: 12px;
  }

  .audio-mini-label {
    font-size: 9px;
  }
}


/* AUDIO EXTRA CONTENT */

.dialog-audio-link[hidden],
.dialog-audio-extra[hidden] {
  display: none !important;
}

.dialog-audio-link {
  display: inline-flex;
  align-items: center;
  margin: 8px 0 18px;
  color: #9b602f;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.dialog-audio-link:hover,
.dialog-audio-link:focus-visible {
  color: #101e2d;
}

.dialog-audio-extra {
  margin-top: 28px;
  padding: 24px;
  background: #f5f2ec;
  border-left: 3px solid #b9854e;
  border-radius: 0 8px 8px 0;
  scroll-margin-top: 24px;
}

.dialog-audio-extra h3 {
  margin: 0 0 10px;
  color: #101e2d;
  font-size: 19px;
}

.dialog-audio-extra p {
  margin: 0 0 18px;
  color: #56616b;
  font-size: 14px;
  line-height: 1.6;
}

.dialog-audio-play {
  min-height: 44px;
  padding: 10px 20px;
  border: 0;
  border-radius: 6px;
  background: #101e2d;
  color: #fff;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}

.dialog-audio-play:hover,
.dialog-audio-play:focus-visible {
  background: #9b602f;
}

@media (max-width: 600px) {
  .dialog-audio-extra {
    margin-top: 22px;
    padding: 18px;
  }

  .dialog-audio-play {
    width: 100%;
  }
}


/* AUDIOGUIDE COLLAPSIBLE V1 */

.audio-guide.section {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.audio-guide-details {
  border: 1px solid rgba(110, 75, 40, .22);
  border-radius: 16px;
  overflow: hidden;
  background: #fffaf2;
}

.audio-guide-summary {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.3rem 1.6rem;
  cursor: pointer;
  list-style: none;
}

.audio-guide-summary::-webkit-details-marker {
  display: none;
}

.audio-guide-summary::marker {
  content: "";
}

.audio-guide-summary-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
}

.audio-guide-summary-text strong {
  font-size: 1.15rem;
  line-height: 1.3;
}

.audio-guide-summary-text > span {
  font-size: .9rem;
  opacity: .75;
}

.audio-guide-expand {
  font-size: 1.8rem;
  line-height: 1;
  transition: transform .2s ease;
}

.audio-guide-details[open] .audio-guide-expand {
  transform: rotate(180deg);
}

.audio-guide-summary:focus-visible {
  outline: 3px solid #a66b2b;
  outline-offset: -4px;
}

.audio-guide-content {
  padding: 0 1.6rem 1.6rem;
}

.audio-guide-content > p {
  margin: 0 0 1rem;
}

@media (max-width: 640px) {
  .audio-guide.section {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .audio-guide-summary {
    gap: .8rem;
    padding: 1rem;
  }

  .audio-guide-summary-text strong {
    font-size: 1rem;
  }

  .audio-guide-summary-text > span {
    font-size: .82rem;
  }

  .audio-guide-content {
    padding: 0 1rem 1rem;
  }
}

/* GALERÍAS MULTIMEDIA DE BAFUREIRA */
.bafureira-media[hidden],
.bafureira-media-expand[hidden] {
  display: none !important;
}

.bafureira-media {
  margin: 32px 0 44px;
  min-width: 0;
}

.bafureira-media > h4 {
  font: normal 27px/1.2 'DM Serif Display', Georgia, serif;
  margin: 0 0 18px;
}

.bafureira-media-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.bafureira-media-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(60vh, 580px);
  min-height: 260px;
  background: #14212b;
  overflow: hidden;
}

.bafureira-media-image,
.bafureira-media-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bafureira-media-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #101e2dcc;
  color: #fff;
  font-size: 30px;
  cursor: pointer;
  z-index: 2;
}

.bafureira-media-arrow.previous { left: 10px; }
.bafureira-media-arrow.next { right: 10px; }

.bafureira-media-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: #4d5b63;
}

.bafureira-media-expand {
  display: inline-block;
  padding: 7px 12px;
  border: 1px solid #a5a9a8;
  color: inherit;
  text-decoration: none;
  font-size: 13px;
}

.bafureira-media-thumbnails {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0 8px;
}

.bafureira-media-thumbnail {
  flex: 0 0 82px;
  height: 68px;
  padding: 3px;
  border: 2px solid transparent;
  background: #14212b;
  color: #fff;
  cursor: pointer;
}

.bafureira-media-thumbnail[aria-pressed="true"] {
  border-color: #b78b49;
}

.bafureira-media-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bafureira-media-thumbnail span {
  font-size: 12px;
}

.bafureira-media-caption {
  margin: 2px 0 0;
  color: #34424a;
  font-size: 14px;
  line-height: 1.5;
}

.bafureira-media-credits {
  margin: 0;
  color: #68747a;
  font-size: 12px;
}

@media (max-width: 560px) {
  .bafureira-media-stage {
    height: 38vh;
    min-height: 220px;
  }

  .bafureira-media > h4 {
    font-size: 24px;
  }

  .bafureira-media-thumbnail {
    flex-basis: 70px;
    height: 60px;
  }
}


/* PORTADA FOTOGRÁFICA — SECCIÓN 00 */
.hero {
    background-color: #101E2D;
    background-image:
        linear-gradient(
            90deg,
            #101E2D 0%,
            rgba(16,30,45,.97) 22%,
            rgba(16,30,45,.85) 42%,
            rgba(16,30,45,.35) 68%,
            rgba(16,30,45,.05) 100%
        ),
        url("../assets/ambar-portada.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero .hero-art {
    visibility: hidden;
}

@media (max-width: 850px) {
    .hero {
        background-image:
            linear-gradient(
                90deg,
                rgba(16,30,45,.97),
                rgba(16,30,45,.70)
            ),
            url("../assets/ambar-portada.webp");
    }

    .hero .hero-art {
        display: none;
    }
}

/* PORTADA 00 — Contraste del enlace inferior */
.hero .hero-foot a {
    color: #101E2D;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(255,255,255,.35);
}

.hero .hero-foot a:hover,
.hero .hero-foot a:focus-visible {
    text-decoration: underline;
}

/* IDENTIDAD TIPOGRÁFICA QUANTA2S */

@font-face {
    font-family: 'Nasalization';
    src: url('../assets/fonts/nasalization-rg.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

.quanta-wordmark {
    font-family: 'Nasalization', sans-serif;
    font-weight: 400;
    letter-spacing: .025em;
    white-space: nowrap;
    color: inherit;
}

.quanta-wordmark sup {
    color: #C62828;
    font-size: .65em;
    vertical-align: super;
    line-height: 0;
}

/* CRÉDITOS DE LA EXPOSICIÓN Y DE LA WEB */

.exhibition-credits {
    background: #F4F0E8;
    color: #101E2D;
    padding: 90px 0 110px;
}

.exhibition-credits h2 {
    color: #101E2D;
}

.credits-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 90px;
    margin-top: 55px;
}

.credits-column h3 {
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    color: #101E2D;
    border-bottom: 2px solid #C58A42;
    padding-bottom: 18px;
    margin-bottom: 30px;
}

.credits-list {
    margin: 0;
}

.credits-list dt {
    margin-top: 28px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #956335;
}

.credits-list dd {
    margin: 8px 0 0;
    font-size: 15px;
    line-height: 1.85;
    color: #263746;
}

@media (max-width: 850px) {
    .credits-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .exhibition-credits {
        padding: 65px 0;
    }
}

/* CRÉDITOS — LISTA ÚNICA A DOS COLUMNAS */

.exhibition-credits .credits-grid {
    display: block;
    column-count: 2;
    column-gap: 90px;
}

.exhibition-credits .credits-list {
    display: contents;
}

.exhibition-credits .credits-list dt {
    break-after: avoid;
    break-inside: avoid;
}

.exhibition-credits .credits-list dd {
    break-inside: avoid;
    margin-bottom: 26px;
}

@media (max-width: 850px) {
    .exhibition-credits .credits-grid {
        column-count: 1;
    }
}

/* FOOTER MODERNO — LA MAGIA DEL ÁMBAR */

.footer.footer-modern {
  background: #101e2d;
  color: #f4f0e8;
  padding: 80px 0 0;
}

.footer-modern-top {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, .65fr);
  gap: clamp(50px, 8vw, 130px);
  padding-bottom: 70px;
}

.footer-modern-kicker,
.footer-modern-heading {
  color: #d6a267;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  margin: 0 0 22px;
}

.footer-modern-title {
  font-family: Georgia, serif;
  font-size: clamp(38px, 4.5vw, 68px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.025em;
  color: #f4f0e8;
}

.footer-modern-title span {
  color: #d6a267;
}

.footer-modern-subtitle {
  margin: 20px 0 42px;
  color: #c5cdd3;
  font-size: clamp(15px, 1.4vw, 19px);
  line-height: 1.6;
}

.footer-modern-group {
  display: flex;
  align-items: center;
  gap: 30px;
  padding-top: 32px;
  border-top: 1px solid rgba(244,240,232,.17);
}

.footer-modern-quanta-logo {
  display: block;
  width: clamp(110px, 12vw, 170px);
  height: auto;
  max-height: 170px;
  object-fit: contain;
  flex-shrink: 0;
}

.footer-modern-group-text {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-modern-group-text .quanta-wordmark {
  font-size: clamp(24px, 3vw, 40px);
  color: #f4f0e8;
}

.footer-modern-group-text small {
  font-size: 12px;
  letter-spacing: .06em;
  color: #abb9c4;
}

.footer-modern-nav {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.footer-modern-nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 11px 0;
  color: #e5e8ea;
  text-decoration: none;
  border-bottom: 1px solid rgba(244,240,232,.11);
  font-size: 14px;
  transition: color .2s ease;
}

.footer-modern-nav a span {
  color: #d6a267;
}

.footer-modern-nav a:hover,
.footer-modern-nav a:focus-visible {
  color: #e7ae68;
}

.footer-modern-institutions {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(250px, .85fr);
  gap: 55px;
  padding-top: 36px;
  padding-bottom: 58px;
  border-top: 1px solid rgba(244,240,232,.2);
}

.footer-modern-institutions h3 {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 0 32px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  color: #d6a267;
}

.footer-modern-institutions h3::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(214,162,103,.38);
}

.footer-modern-logos {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}

.footer-modern-institution {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.footer-modern-institution img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 78px;
  object-fit: contain;
  background: #fff;
  padding: 8px;
  border-radius: 4px;
  box-sizing: border-box;
}

.footer-modern-institution span {
  color: #b9c5ce;
  font-size: 12px;
  line-height: 1.5;
}

.footer-modern-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  padding-top: 24px;
  padding-bottom: 28px;
  border-top: 1px solid rgba(244,240,232,.2);
}

.footer-modern-bottom p {
  margin: 0;
  font-size: 11px;
  letter-spacing: .035em;
  color: #aebcc7;
}

.footer-modern-bottom .quanta-wordmark {
  color: #f4f0e8;
}

.footer-modern-separator {
  padding: 0 9px;
  color: #d6a267;
}

.footer-modern-bottom a {
  color: #d6a267;
  font-size: 12px;
  text-decoration: none;
  white-space: nowrap;
}

.footer-modern-bottom a:hover {
  text-decoration: underline;
}

@media (max-width: 850px) {
  .footer.footer-modern {
    padding-top: 55px;
  }

  .footer-modern-top,
  .footer-modern-institutions {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .footer-modern-top {
    padding-bottom: 55px;
  }

  .footer-modern-group {
    gap: 20px;
  }

  .footer-modern-institutions {
    padding-bottom: 45px;
  }

  .footer-modern-logos {
    flex-wrap: wrap;
    justify-content: center;
    gap: 28px;
  }

  .footer-modern-institution {
    flex: 0 1 150px;
  }

  .footer-modern-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .footer-modern-title {
    font-size: 37px;
  }

  .footer-modern-group-text .quanta-wordmark {
    font-size: 22px;
  }

  .footer-modern-quanta-logo {
    width: 95px;
  }

  .footer-modern-institution {
    flex-basis: 125px;
  }

  .footer-modern-institution img {
    height: 65px;
  }
}


/* FOOTER — LOGOTIPOS BLANCOS SOBRE AZUL */

.footer-modern-institution img {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    width: auto;
    max-width: 100%;
    height: 90px;
    object-fit: contain;
}

.footer-modern-collaborators .footer-modern-logos {
    align-items: center;
    gap: 42px;
}

.footer-modern-funding .footer-modern-institution img {
    height: 100px;
}

@media (max-width: 850px) {
    .footer-modern-institution img {
        height: 76px;
    }

    .footer-modern-funding .footer-modern-institution img {
        height: 85px;
    }
}


/* =====================================================
   NAVEGACIÓN RESPONSIVE — MENÚ HAMBURGUESA
   ===================================================== */

.mobile-nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  width: 48px;
  height: 48px;
  padding: 10px;
  margin-left: auto;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 6px;
  background: transparent;
  color: white;
  cursor: pointer;
}

.hamburger-line {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--amberlight);
  border-radius: 2px;
  transition: transform .2s ease, opacity .2s ease;
}

.mobile-nav-toggle[aria-expanded="true"]
.hamburger-line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.mobile-nav-toggle[aria-expanded="true"]
.hamburger-line:nth-child(2) {
  opacity: 0;
}

.mobile-nav-toggle[aria-expanded="true"]
.hamburger-line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

@media (max-width: 1000px) {

  .site-header .header-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    min-height: 76px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .site-header .brand {
    min-width: 0;
  }

  .mobile-nav-toggle {
    display: flex;
  }

  .site-header .main-nav {
    display: none;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: 12px 0 0;
    padding: 12px 0;
    gap: 0;
    border-top: 1px solid rgba(255,255,255,.18);
  }

  .site-header .main-nav.mobile-open {
    display: flex;
  }

  .site-header .main-nav > a,
  .site-header .project-nav-item > a {
    display: block;
    padding: 13px 8px;
    font-size: 14px;
    color: #e8edf0;
  }

  .site-header .project-nav-item {
    display: grid;
    grid-template-columns: minmax(0,1fr) 48px;
    align-items: center;
    gap: 0;
    width: 100%;
  }

  .site-header .project-nav-toggle {
    min-width: 44px;
    min-height: 44px;
  }

  .site-header .project-subnav {
    position: static;
    grid-column: 1 / -1;
    width: 100%;
    padding: 0 12px;
    margin: 0;
    box-shadow: none;
    background: var(--navy2);
  }

  .site-header .project-subnav a {
    display: block;
    padding: 12px 8px;
    font-size: 13px;
    line-height: 1.5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hamburger-line {
    transition: none;
  }
}

/* QR navigation */
.qr-target {
  outline: 3px solid #c58b39;
  outline-offset: 5px;
  border-radius: 8px;
}
