/* Laboratorio de Informática Biomédica — dirección editorial universitaria.
   Los colores derivan del logotipo ya existente; no se redefine la marca. */
:root {
  --paper:#ffffff;
  --off-white:#f7f8f8;
  --ink:#15293d;
  --ink-soft:#566774;
  --rule:#d8e0e4;
  --institutional-blue:#30529c;
  --institutional-cyan:#00b0ce;
  --deep:#0d2840;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font:16px/1.7 var(--sans);color:var(--ink);background:var(--paper);margin:0;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:3px solid #007b96;outline-offset:4px}
::selection{background:#bcebf2;color:#092334}
.shell{width:min(1236px,calc(100% - 92px));margin-inline:auto}
.micro-label,.section-kicker,.hero-pretitle,.area-type,.pub-kind,.breadcrumbs,.hero-issue{
  font-family:var(--sans);font-size:.72rem;font-weight:750;letter-spacing:.105em;text-transform:uppercase
}
.skip{position:fixed;z-index:200;top:-120px;left:16px;background:white;color:#123;padding:12px 18px;border:2px solid var(--institutional-blue)}
.skip:focus{top:12px}
.institution-bar{background:#eef1f3;border-bottom:1px solid #e0e7e9;font-size:.7rem;letter-spacing:.035em;color:#546671;font-weight:650}
.institution-inner{display:flex;align-items:center;justify-content:space-between;min-height:34px;gap:18px}
.institution-inner a{text-decoration:none;color:inherit}
.institution-inner a:hover{text-decoration:underline}
.institution-divider{color:#99a9b4;padding-inline:10px}
.site-header{position:sticky;z-index:50;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--rule);backdrop-filter:blur(10px)}
.header-layout{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;flex:none;max-width:205px}
.brand img{width:200px;height:auto;max-height:72px;object-fit:contain;object-position:left}
.desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.desktop-nav a,.mobile-menu nav a{display:inline-flex;align-items:center;min-height:47px;padding:10px 11px;font-size:.76rem;font-weight:730;letter-spacing:.005em;text-decoration:none;color:#243a4d;white-space:nowrap;position:relative}
.desktop-nav a:after{content:"";position:absolute;left:11px;right:11px;bottom:3px;height:2px;background:var(--institutional-blue);transform:scaleX(0);transform-origin:left;transition:transform .17s}
.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
.desktop-nav a[aria-current=page]{color:var(--institutional-blue)}
.desktop-nav a:last-child{border:1px solid var(--rule);margin-left:6px;padding-inline:15px}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{font-size:.85rem;min-height:46px;display:flex;align-items:center;gap:20px;padding:8px 16px;cursor:pointer;border:1px solid var(--rule);list-style:none;font-weight:700}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu nav{position:absolute;right:0;top:calc(100% + 9px);z-index:60;display:flex;flex-direction:column;background:white;border:1px solid var(--rule);box-shadow:0 17px 40px #0c223026;min-width:min(320px,calc(100vw - 32px));padding:11px}
.mobile-menu nav a{display:flex;border-bottom:1px solid #e7ecee;font-size:.89rem;padding-inline:14px}
.mobile-menu nav a[aria-current=page]{background:#f1f6f8;color:var(--institutional-blue)}
.notice{background:#eff7f9;color:#315160;font-size:.75rem;letter-spacing:.005em;border-bottom:1px solid #d1e6ed}
.notice .container{width:min(1236px,calc(100% - 92px));margin:auto;display:flex;flex-wrap:wrap;column-gap:8px;padding:9px 0}
.notice b{color:#254f65}
main{display:block}
h1,h2,h3,h4{margin:0;letter-spacing:-.025em;color:inherit}
#contenido:focus{outline:none}
.section-kicker{display:flex;align-items:center;gap:22px;border-top:1px solid var(--rule);padding-top:23px;color:#4c6171;letter-spacing:.13em}
.section-kicker span:first-child{font-variant-numeric:tabular-nums;color:var(--institutional-blue);font-weight:850}
.text-link,.large-link{font-size:.94rem;font-weight:760;text-decoration:none;display:inline-flex;gap:18px;align-items:center;min-height:48px;border-bottom:1px solid currentColor}
.text-link span,.large-link span,.hero-action span,.area-link span{transition:transform .2s}
.text-link:hover span,.large-link:hover span,.hero-action:hover span,.area-link:hover span{transform:translate(3px,-3px)}

/* Portada: composición específica, no colección de tarjetas. */
.editorial-hero{background:var(--deep);color:white;position:relative;overflow:hidden}
.editorial-hero:before{content:"";position:absolute;left:-12%;top:-40%;width:68%;height:140%;background:radial-gradient(circle at 65% 50%,#21516f40,transparent 66%);pointer-events:none}
.editorial-hero .shell{position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:5.5%;min-height:645px;align-items:center;padding-top:68px;padding-bottom:62px}
.hero-narrative{padding-bottom:7px}
.hero-pretitle{display:flex;align-items:center;gap:15px;color:#a9c1d1;margin:0 0 35px;font-size:.71rem}
.hero-mark{display:inline-block;width:29px;height:2px;background:var(--institutional-cyan)}
.editorial-hero h1{font-family:var(--serif);font-size:clamp(3.4rem,5.3vw,5.95rem);letter-spacing:-.052em;font-weight:400;line-height:1.035;max-width:11ch;color:#fff}
.hero-deck{font-size:clamp(1.03rem,1.4vw,1.16rem);line-height:1.8;max-width:510px;color:#cfdee7;margin:35px 0}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}
.hero-action{min-height:52px;padding:11px 0;border-bottom:2px solid #51c5d8;text-decoration:none;color:white;font-size:.91rem;font-weight:750;display:inline-flex;align-items:center;gap:22px}
/* Sobre el hero oscuro, el enlace adopta el celeste de su subrayado en hover y foco. */
.editorial-hero .hero-action:is(:hover,:focus-visible){color:#51c5d8;border-bottom-color:#51c5d8}
.hero-issue{letter-spacing:.03em;color:#91aab9;font-size:.66rem}
.hero-work{margin:0;position:relative;align-self:center;max-width:100%;padding-top:38px}
.hero-picture{width:100%;height:385px;background:#061421;overflow:hidden;border:1px solid #365466;position:relative;box-shadow:22px 24px 0 -9px #25506b}
.hero-picture img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92;object-position:center}
.hero-work figcaption{font-size:.74rem;line-height:1.6;color:#c0d1db;display:flex;justify-content:space-between;gap:22px;max-width:100%;margin-top:27px}
.work-caption-index{color:#6cd0df;text-transform:uppercase;font-weight:800;font-size:.69rem;letter-spacing:.07em;flex:0 0 auto}
.hero-footnote{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #345068;min-height:73px;gap:25px;font-size:.73rem;letter-spacing:.08em;color:#9cb4c6;text-transform:uppercase}
.hero-footnote strong{color:#e7f5f9;padding-left:7px}
.hero-footnote a{display:flex;align-items:center;gap:10px;color:#d8ecf2;text-decoration:none;min-height:44px}
.hero-footnote a:hover{color:white}
.areas-section{padding:111px 0 122px}
.section-introduction{display:grid;grid-template-columns:1.3fr .7fr;gap:10%;align-items:end;margin:52px 0 65px}
.section-introduction h2,.knowledge-heading h2,.people-intro h2{font:400 clamp(2.6rem,4.7vw,5rem)/1.11 var(--serif);letter-spacing:-.046em}
.section-introduction h2 em,.knowledge-heading h2 em{color:var(--institutional-blue);font-weight:400}
.section-introduction p{font-size:1rem;color:var(--ink-soft);margin:0 0 7px;line-height:1.82}
.area-index-list{border-top:1px solid var(--rule)}
.area-row{display:grid;grid-template-columns:110px 1fr auto;gap:35px;align-items:start;padding:47px 0 53px;border-bottom:1px solid var(--rule)}
.area-number{font-size:1.13rem;font-variant-numeric:tabular-nums;color:var(--institutional-blue);font-weight:760;padding-top:10px}
.area-type{color:#617481}
.area-row h3{font:400 clamp(2.35rem,4vw,4.55rem)/1.075 var(--serif);letter-spacing:-.042em;margin:18px 0 20px}
.area-row p{max-width:580px;color:var(--ink-soft);font-size:1rem;margin:0}
.area-row .area-keywords{margin-top:25px;font-size:.77rem;font-weight:770;color:#365e74;letter-spacing:.02em}
.area-keywords span{padding-inline:7px;color:#c2ced4}
.area-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--rule);padding:15px 19px;min-width:176px;text-decoration:none;font-size:.79rem;font-weight:730;line-height:1.2;min-height:53px;margin-top:9px}
.area-link:hover{border-color:var(--institutional-blue);color:var(--institutional-blue)}
.research-editorial{background:#f0f3f4;padding:100px 0 112px}
.research-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:10%;padding-top:62px}
.research-intro h2{font:400 clamp(2.5rem,4.2vw,4.4rem)/1.15 var(--serif);letter-spacing:-.04em}
.research-intro p{color:var(--ink-soft);max-width:415px;line-height:1.8;margin:25px 0 26px}
.research-link{display:inline-flex;align-items:center;gap:24px;min-height:46px;border-bottom:1px solid var(--institutional-blue);color:var(--institutional-blue);text-decoration:none;font-weight:770;font-size:.86rem}
.research-list{border-top:1px solid #bac9cf}
.research-list a{display:grid;grid-template-columns:38px 1fr 20px;align-items:start;gap:20px;padding:29px 2px;border-bottom:1px solid #bac9cf;text-decoration:none;min-height:124px}
.research-list a:hover strong{color:var(--institutional-blue)}
.research-no{font-size:.76rem;font-weight:820;color:var(--institutional-blue);padding-top:5px}
.research-list strong{font:400 clamp(1.2rem,1.65vw,1.52rem)/1.3 var(--serif);display:block}
.research-list small{display:block;color:var(--ink-soft);font-size:.8rem;margin-top:9px}
.research-list a>span:last-child{color:var(--institutional-blue);font-size:1.14rem}
.featured-work{padding:110px 0 120px}
.featured-layout{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:9%;padding-top:61px}
.featured-media{padding:15px 16px 0 0}
.featured-media-frame{position:relative;background:#e8eff3;min-height:500px}
.featured-media-frame img{position:absolute;left:7%;top:8%;width:83%;height:80%;object-fit:contain;box-shadow:0 16px 40px #17304416;background:white}
.media-edge-label{position:absolute;right:11px;bottom:12px;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#526471}
.featured-copy>.micro-label{color:var(--institutional-blue)}
.featured-copy h2{font:400 clamp(3.15rem,5.2vw,5.25rem)/1.07 var(--serif);margin:14px 0 18px}
.featured-copy .featured-lead{font:400 1.55rem/1.4 var(--serif);color:#234058;margin:0 0 20px}
.featured-copy>p:not(.micro-label):not(.featured-lead){color:var(--ink-soft);max-width:490px;line-height:1.83}
.featured-copy>.large-link{margin-top:19px}
.featured-secondary{margin-top:58px;border-top:1px solid var(--rule);display:grid;gap:0}
.featured-secondary>span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#607584;font-weight:760;padding:19px 0 12px}
.featured-secondary a{text-decoration:none;font-size:.89rem;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:46px;border-bottom:1px solid #e4e9ec}
.featured-secondary a:hover{color:var(--institutional-blue)}
.knowledge-section{background:#fafbfb;padding:110px 0 115px}
.knowledge-heading{display:flex;align-items:end;justify-content:space-between;gap:42px;margin:54px 0 61px}
.knowledge-heading p{max-width:490px;color:var(--ink-soft);margin:22px 0 0}
.publication-list{border-top:1px solid var(--rule)}
.publication-list>a{display:grid;grid-template-columns:110px 1fr 30px;align-items:start;gap:22px;min-height:171px;padding:29px 0 30px;border-bottom:1px solid var(--rule);text-decoration:none}
.publication-list>a:hover strong{color:var(--institutional-blue)}
.pub-year{font:400 1.45rem/1.5 var(--serif);color:#527186}
.pub-kind{display:block;color:var(--institutional-blue);font-size:.65rem;margin-bottom:12px}
.pub-entry strong{font:400 clamp(1.17rem,1.7vw,1.57rem)/1.45 var(--serif);max-width:890px;display:block}
.pub-entry small{font-size:.77rem;color:var(--ink-soft);display:block;margin-top:12px}
.pub-arrow{color:var(--institutional-blue);font-size:1.2rem;align-self:center}
.people-preview{padding:110px 0 110px}
.people-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:49px 0 44px}
.people-intro p{max-width:600px;color:var(--ink-soft);margin:23px 0 0}
.people-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 25px;align-items:stretch}
.people-strip>.people-member{grid-column:span 2;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;border-top:1px solid var(--rule);padding-top:14px;overflow-wrap:break-word}
/* Tres retratos arriba y dos centrados abajo: cada tarjeta conserva el mismo ancho. */
@media(min-width:861px){
  .people-strip > .people-member:nth-child(4){grid-column:2 / span 2}
  .people-strip > .people-member:nth-child(5){grid-column:4 / span 2}
}
.people-strip img{width:min(100%,285px);height:auto;object-fit:contain;object-position:center;display:block;align-self:center;filter:saturate(.72)}

.people-strip strong{width:min(100%,285px);font:400 1.33rem/1.3 var(--serif);padding-top:16px}
.people-strip span{font-size:.73rem;color:var(--ink-soft);margin-top:5px}
.home-bottom-link{border-top:1px solid var(--rule);background:#f0f3f4;padding:25px 0}
.home-bottom-link .shell{display:flex;align-items:center;justify-content:space-between;gap:25px}
.home-bottom-link .shell>span{font-size:.85rem;font-weight:700;color:#4e6575}

/* Páginas interiores: jerarquía editorial y contenido escaneable. */
.inner-hero{background:#f4f6f6;padding:39px 0 80px;border-bottom:1px solid var(--rule)}
.breadcrumbs{display:flex;align-items:center;gap:18px;color:#657986;text-transform:none;letter-spacing:.005em;font-size:.73rem}
.breadcrumbs a{min-height:46px;display:inline-flex;align-items:center;padding:10px 7px;margin-left:-7px;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr);align-items:end;gap:12%;margin-top:48px}
.inner-hero h1{font:400 clamp(3rem,5.3vw,5.75rem)/1.07 var(--serif);letter-spacing:-.048em;max-width:14ch}
.inner-hero .eyebrow{margin:0 0 15px;color:var(--institutional-blue)}
.inner-lead{font-size:1.15rem;line-height:1.78;color:#526775;margin:0;max-width:500px}
.section{padding:90px 0}
.section.soft{background:#f3f5f5}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}
.section-head h2,.split h2{font:400 clamp(2.2rem,3.8vw,3.75rem)/1.18 var(--serif);letter-spacing:-.038em}
.section-head .section-intro{margin:17px 0 0;color:var(--ink-soft);max-width:660px}
.section-head .more{margin-bottom:5px}
.more{min-height:47px;display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #638195;text-decoration:none;white-space:normal;font-weight:720;font-size:.85rem;color:#244b67;padding:5px 0}
.more:hover{color:var(--institutional-blue)}
.grid{display:grid;column-gap:32px;row-gap:29px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{border:none;border-top:1px solid #b9c9d2;border-radius:0;background:transparent;overflow:visible}
.card-body{padding:22px 6px 20px 0}
.card .index{font-family:var(--sans);font-size:.74rem;color:var(--institutional-blue);font-weight:850;letter-spacing:.07em;margin:0 0 27px}
.card .pill{font-size:.68rem;color:#607987;background:transparent;border:1px solid var(--rule);padding:5px 8px;margin-bottom:15px;border-radius:0}
.card h3{font:400 clamp(1.28rem,1.75vw,1.75rem)/1.3 var(--serif);letter-spacing:-.025em}
.card p{margin:14px 0 18px;color:var(--ink-soft);line-height:1.75;font-size:.94rem}
.card-img{width:100%;height:235px;object-fit:cover;border:1px solid #e3e9ee;margin-top:12px;border-radius:0;background:#edf2f4;display:block}
.card a{font-size:.82rem}
.card:hover h3{color:var(--institutional-blue)}
.content{max-width:920px;font-size:1.06rem;line-height:1.85}
.content p{color:var(--ink-soft)}
.feature-list,.records{display:grid;gap:0;border-top:1px solid var(--rule)}
.feature,.record{border:none;border-bottom:1px solid var(--rule);border-radius:0;padding:27px 0;background:transparent}
.feature h3,.record h3{font:400 clamp(1.28rem,1.8vw,1.78rem)/1.35 var(--serif)}
.feature p,.record p{font-size:.94rem;color:var(--ink-soft);line-height:1.8}
.feature-number{background:#e9f1f4;border-radius:0;color:var(--institutional-blue)}
.record .eyebrow{color:var(--institutional-blue)}
.archive-note{border:1px solid var(--rule);border-left:3px solid var(--institutional-blue);background:#fafbfb;border-radius:0;padding:21px 25px;margin-top:34px}
.archive-note p{font-size:.86rem;margin:0 0 7px;color:var(--ink-soft)}
.archive-note .more{font-size:.8rem;min-height:42px}
.placeholder{border:none;border-left:2px solid #a5b9c4;background:#f5f7f8;border-radius:0;padding:19px 24px}
.placeholder strong{display:block;font-size:.85rem;font-weight:750;color:#3e5868}
.placeholder p{margin:7px 0 0;color:#6b7c87;font-size:.85rem}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:8%}
.split p{color:var(--ink-soft)}
.page-simulacion .split>div:first-child{padding-top:16px}
.page-simulacion .feature-list{border:0;gap:12px}
.page-simulacion .placeholder{border-left:3px solid #7b9daf}
.page-software .grid.three{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
.page-software .card{display:grid;grid-template-columns:43% 57%;min-height:235px;align-items:stretch}
.page-software .card-img{height:100%;min-height:225px;object-fit:cover;margin-top:0}
.page-software .card-body{padding:25px 18px 18px 24px}
.page-software .card h3{font-size:1.45rem}
.page-integrantes .profile{display:flex;align-items:start;gap:19px}
.page-integrantes .profile .avatar{background:#e9f1f4;border-radius:0;color:var(--institutional-blue)}
.page-integrantes .flag{background:transparent;border-radius:0;color:#647b89}
.page-contacto .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.contact-box{background:transparent;border:1px solid var(--rule);border-radius:0;padding:32px}
.contact-box dt{text-transform:uppercase;color:#5d7180;font-size:.74rem;letter-spacing:.09em}
.contact-box dd{font-family:var(--serif);font-size:1.27rem;margin:7px 0 24px}
.contact-box a{min-height:44px;display:inline-flex;align-items:center}
.band{background:var(--deep);color:white}
.band h2{font-family:var(--serif);font-weight:400}

/* Pie editorial institucional. */
.site-footer{background:var(--deep);color:#d4e1e9}
.footer-main{display:grid;grid-template-columns:1.15fr 1fr;gap:13%;padding:79px 0 84px}
.footer-identity .micro-label{color:#8eafc0}
.footer-identity h2{font:400 clamp(2rem,3vw,3.2rem)/1.17 var(--serif);color:white;max-width:560px;margin:25px 0 20px}
.footer-identity p{color:#aec3d0;max-width:490px;font-size:.88rem}
.footer-identity img{margin-top:24px;width:119px;max-height:65px;object-fit:contain;background:white;padding:7px}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.footer-links>div{display:flex;flex-direction:column;align-items:start;gap:9px}
.footer-links .micro-label{color:#a7bfce;margin-bottom:13px}
.footer-links a,.footer-links div>span:not(.micro-label){font-size:.83rem;line-height:1.8;text-decoration:none;color:#d6e5ee;min-height:36px;display:inline-flex;align-items:center}
.footer-links a:hover{text-decoration:underline}
.footer-legal{border-top:1px solid #375166}
.footer-legal .shell{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:20px 0;font-size:.71rem;color:#9bb6c5}

/* Responsive sobrio: preserve typographic hierarchy without overflow. */
@media(max-width:1210px){
  .desktop-nav a{font-size:.71rem;padding-inline:8px}
  .hero-grid{gap:4%}
  .editorial-hero h1{font-size:clamp(3.2rem,5.3vw,5.7rem)}
}
@media(max-width:1080px){
  .desktop-nav{display:none}
  .mobile-menu{display:block}
  .hero-grid{min-height:570px}
  .hero-picture{height:325px}
  .hero-work figcaption{flex-wrap:wrap;gap:5px}
  .area-row{grid-template-columns:65px 1fr auto;gap:20px}
  .featured-media-frame{min-height:400px}
}
@media(max-width:860px){
  .shell{width:min(100% - 50px,680px)}
  .hero-grid{grid-template-columns:1fr;padding:60px 0 58px;gap:44px}
  .hero-narrative{padding:0}
  .editorial-hero h1{font-size:clamp(3.15rem,8vw,5rem);max-width:13ch}
  .hero-deck{margin:26px 0}
  .hero-work{padding-top:0}
  .hero-picture{height:350px}
  .hero-footnote span:nth-child(2){display:none}
  .section-introduction{grid-template-columns:1fr;gap:16px;margin:42px 0}
  .section-introduction p{max-width:610px}
  .research-layout{grid-template-columns:1fr;gap:40px}
  .research-intro{max-width:660px}
  .featured-layout{grid-template-columns:1fr;gap:45px}
  .featured-media-frame{min-height:440px}
  .knowledge-heading,.people-intro{align-items:start}
  .people-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:31px}
  .people-strip>.people-member{grid-column:auto}
  .people-strip>.people-member:last-child{grid-column:1 / -1;width:calc(50% - 12px);min-width:0;justify-self:center}
  .inner-hero-grid{grid-template-columns:1fr;gap:17px;margin-top:31px}
  .inner-hero h1{max-width:17ch}
  .footer-main{grid-template-columns:1fr;gap:47px}
  .page-software .grid.three{grid-template-columns:1fr}
  .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:590px){
  .shell{width:calc(100% - 36px)}
  .institution-inner{min-height:32px;font-size:.62rem}
  .institution-inner>a{display:none}
  .header-layout{min-height:75px}
  .brand img{width:178px}
  .notice .container{width:calc(100% - 36px)}
  .hero-grid{padding-top:47px;gap:37px}
  .hero-pretitle{font-size:.63rem;margin-bottom:22px}
  .editorial-hero h1{font-size:clamp(2.75rem,10.2vw,3.65rem)}
  .hero-picture{height:245px;box-shadow:12px 14px 0 -5px #25506b}
  .hero-issue{width:100%}
  .hero-work figcaption{display:block}
  .work-caption-index{display:block}
  .hero-footnote{font-size:.65rem;gap:12px}
  .hero-footnote span:first-child{display:none}
  .hero-footnote a{min-height:52px}
  .areas-section,.research-editorial,.featured-work,.knowledge-section,.people-preview{padding:72px 0 79px}
  .section-introduction h2,.knowledge-heading h2,.people-intro h2{font-size:clamp(2.4rem,9vw,3.3rem)}
  .area-row{grid-template-columns:46px 1fr;gap:13px;padding:32px 0}
  .area-number{font-size:.95rem}
  .area-row h3{font-size:2.58rem}
  .area-link{grid-column:2;justify-self:start;margin-top:0}
  .research-layout{padding-top:39px}
  .research-intro h2{font-size:2.75rem}
  .research-list a{gap:10px;grid-template-columns:27px 1fr 18px;padding:25px 0}
  .featured-layout{padding-top:40px}
  .featured-media{padding:0}
  .featured-media-frame{min-height:330px}
  .featured-copy h2{font-size:3.4rem}
  .featured-secondary{margin-top:34px}
  .knowledge-heading,.people-intro{flex-direction:column;gap:20px;margin:36px 0}
  .publication-list>a{grid-template-columns:1fr 22px;gap:6px;padding:25px 0}
  .pub-year{grid-column:1/-1;font-size:1.1rem}
  .pub-entry strong{font-size:1.32rem}
  .people-strip{gap:17px}
  .people-strip strong{font-size:1.17rem}
  .home-bottom-link .shell{align-items:flex-start;flex-direction:column;gap:8px}
  .inner-hero{padding:23px 0 48px}
  .inner-hero h1{font-size:clamp(2.8rem,10vw,3.6rem)}
  .inner-lead{font-size:1rem}
  .section{padding:65px 0}
  .section-head{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:32px}
  .section-head h2{font-size:2.38rem}
  .grid.two,.grid.three,.split,.page-contacto .contact-grid{grid-template-columns:1fr}
  .page-software .card{grid-template-columns:37% 63%;min-height:210px}
  .page-software .card-img{min-height:190px}
  .page-software .card-body{padding:17px 8px 14px 17px}
  .page-software .card h3{font-size:1.25rem}
  .page-software .card p{font-size:.78rem;line-height:1.5}
  .footer-main{padding:65px 0}
  .footer-links{gap:16px}
  .footer-identity h2{font-size:2.36rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Profundidad editorial: área de simulación y equipo real del archivo. */
.section>.container{width:min(1236px,calc(100% - 92px))}
.desktop-nav a{font-size:.82rem;padding-inline:10px}
.footer-links a,.footer-links div>span:not(.micro-label){min-height:44px}
.institution-inner a{min-height:44px;display:inline-flex;align-items:center}
.institution-inner{min-height:44px}
.simulation-story{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:9%;align-items:center;margin-top:40px}
.simulation-prose h3{font:400 clamp(2.15rem,3.4vw,3.35rem)/1.17 var(--serif);max-width:520px}
.simulation-prose p{color:var(--ink-soft);font-size:1rem;line-height:1.86;max-width:510px}
.simulation-prose .more{margin-top:8px}
.simulation-artifact{margin:0;background:#edf3f6;padding:25px 25px 17px}
.simulation-artifact img{width:100%;aspect-ratio:1.6;object-fit:contain;display:block;background:white;border:1px solid #dae2e7}
.simulation-artifact figcaption{font-size:.73rem;color:#5a7180;margin-top:12px}
.pending-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.pending-ledger .placeholder{padding:24px 23px;min-height:190px;background:#f3f6f7}
.pending-ledger .placeholder strong{font-size:.9rem}
.team-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 25px}
.team-person{min-width:0;border-top:1px solid var(--rule);padding-top:15px}
.team-person img{width:100%;height:305px;object-fit:cover;object-position:center 28%;display:block;filter:saturate(.78)}
.team-info{padding-top:18px}
.team-info h3{font:400 1.63rem/1.24 var(--serif);letter-spacing:-.025em}
.team-info p{color:var(--ink-soft);font-size:.86rem;line-height:1.65;margin:11px 0 12px}
.team-info span{font-size:.72rem;letter-spacing:.015em;color:#52768b}
@media(max-width:1210px){.desktop-nav a{font-size:.76rem;padding-inline:8px}}
@media(max-width:860px){
 .section>.container{width:min(100% - 50px,680px)}
 .simulation-story{grid-template-columns:1fr;gap:28px}
 .pending-ledger{grid-template-columns:1fr;gap:12px}
 .pending-ledger .placeholder{min-height:auto}
 .team-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}
 .team-person img{height:230px}
}
@media(max-width:590px){
 .section>.container{width:calc(100% - 36px)}
 .simulation-artifact{padding:12px 12px 8px}
 .simulation-prose h3{font-size:2.55rem}
 .team-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 15px}
 .team-person img{height:205px}
 .team-info h3{font-size:1.25rem}
 .team-info p{font-size:.77rem}
}

/* Nueve destinos directos, sin menús desplegables anidados. */
@media(max-width:1340px){.desktop-nav{display:none}.mobile-menu{display:block}}
/* Introducción institucional y líneas de investigación escaneables. */
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.about-story .micro-label{color:var(--institutional-blue);margin:0 0 20px}
.about-story h2{font:400 clamp(2.35rem,3.7vw,3.8rem)/1.15 var(--serif);letter-spacing:-.04em}
.about-story-text{padding-top:43px}
.about-story-text p{color:var(--ink-soft);line-height:1.87;margin:0 0 20px}
.about-areas{border-top:1px solid var(--rule)}
.about-areas>a{display:grid;grid-template-columns:65px 1fr 25px;align-items:center;gap:30px;border-bottom:1px solid var(--rule);padding:27px 0;min-height:103px;text-decoration:none}
.about-areas>a span:first-child{font-size:.8rem;font-weight:800;color:var(--institutional-blue)}
.about-areas>a strong{font:400 clamp(1.4rem,2.4vw,2.3rem)/1.3 var(--serif)}
.about-areas>a span:last-child{font-size:1.2rem;color:var(--institutional-blue)}
.about-areas>a:hover strong{color:var(--institutional-blue)}
@media(max-width:860px){.about-story{grid-template-columns:1fr;gap:15px}.about-story-text{padding-top:0}}
@media(max-width:590px){.about-areas>a{grid-template-columns:29px 1fr 22px;gap:14px;padding:24px 0;min-height:92px}}
/* Bibliografía académica: el año, la referencia y el DOI tienen funciones distintas. */
.scholar-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.scholar-entry{display:grid;grid-template-columns:130px 1fr;align-items:start;gap:26px;padding:34px 0 39px;border-bottom:1px solid var(--rule)}
.scholar-year{font:400 1.45rem var(--serif);color:#59738a}
.scholar-entry h3{font:400 clamp(1.4rem,2vw,1.9rem)/1.34 var(--serif);letter-spacing:-.025em;max-width:880px}
.scholar-entry p{font-size:.86rem;color:var(--ink-soft);margin:12px 0}
.scholar-entry a{display:inline-flex;align-items:center;gap:15px;font-size:.82rem;text-decoration:none;font-weight:780;color:var(--institutional-blue);border-bottom:1px solid currentColor;min-height:44px}
.scholar-entry a:hover{text-decoration:underline}
.citation-pending{font-size:.76rem;color:#617481}
@media(max-width:590px){.scholar-entry{grid-template-columns:1fr;gap:8px;padding:26px 0}.scholar-year{font-size:1.1rem}.scholar-entry h3{font-size:1.37rem}}
/* Noticias de archivo como sección periodística, no catálogo de tarjetas. */
.home-news{background:#f0f3f4;padding:85px 0 103px}
.home-news-header{display:flex;align-items:end;justify-content:space-between;gap:36px;margin:47px 0 45px}
.home-news-header h2{font:400 clamp(2.6rem,4.2vw,4.4rem)/1.12 var(--serif);letter-spacing:-.045em}
.home-news-header h2 em{color:var(--institutional-blue);font-weight:400}
.home-news-header p{color:var(--ink-soft);max-width:580px;margin:17px 0 0}
.news-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.news-editorial-grid article{border-top:1px solid #aebfc9;padding-top:23px}
.news-editorial-grid time{display:block;font-size:.72rem;letter-spacing:.09em;color:var(--institutional-blue);font-weight:800;text-transform:uppercase}
.news-editorial-grid h3{font:400 clamp(1.4rem,1.9vw,1.82rem)/1.26 var(--serif);margin:19px 0 11px}
.news-editorial-grid p{font-size:.87rem;color:var(--ink-soft);line-height:1.75}
@media(max-width:860px){.news-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:590px){.home-news{padding:70px 0}.home-news-header{align-items:flex-start;flex-direction:column;gap:10px;margin:35px 0}.home-news-header h2{font-size:2.65rem}.news-editorial-grid{grid-template-columns:1fr;gap:17px}}
/* Teléfonos estrechos: el logotipo conserva proporción y el menú no empuja el viewport. */
@media(max-width:420px){
  .header-layout{gap:8px;min-width:0}
  .brand{min-width:0;flex:0 1 auto}
  .brand img{width:148px;max-width:100%}
  .mobile-menu{flex:0 0 auto}
  .mobile-menu summary{font-size:.76rem;gap:8px;padding:7px 10px;min-height:42px}
  .mobile-menu nav{min-width:min(290px,calc(100vw - 24px))}
  .inner-hero h1,.editorial-hero h1{overflow-wrap:normal}
  .scholar-entry h3,.record h3,.publication-list strong{overflow-wrap:anywhere}
}
