@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700&display=swap');
.course-announcement{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1.5rem;background:#ffdf4f;color:#012f47;padding:1.2rem clamp(20px,4vw,64px);font-size:1rem}.course-announcement strong{font-size:1.15rem}.course-announcement a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.1rem;border-radius:8px;background:#012f47;color:#fff;font-weight:800;text-decoration:none}.course-announcement span{flex:1 1 260px}@media(max-width:620px){.course-announcement{display:grid;gap:.7rem}.course-announcement a{width:100%}}
:root{--red:#df001b;--ink:#062b3b;--blue:#1488c9;--sky:#61c5ed;--yellow:#ffd719;--cream:#f5f0e6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:500 1rem/1.45 "DM Sans",sans-serif}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;top:-5rem;left:1rem;background:#fff;padding:.8rem;z-index:99}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);background:rgba(245,240,230,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30;border-bottom:1px solid #062b3b22}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:800;letter-spacing:-.04em}.brand img{width:45px;height:45px;object-fit:contain}.brand b{color:var(--red)}.site-nav{display:flex;align-items:center;gap:1.7rem;font-size:.9rem}.site-nav a{text-decoration:none}.site-nav a:hover{color:var(--red)}.nav-cta{background:var(--ink);color:#fff!important;padding:.75rem 1rem}.menu-button{display:none;background:none;border:1px solid var(--ink);padding:.6rem .8rem;font:700 .9rem "DM Sans"}
.hero{min-height:calc(100vh - 78px);position:relative;display:grid;grid-template-columns:45% 55%;align-items:center;overflow:hidden;padding:5vw clamp(20px,4vw,64px);isolation:isolate}.hero-word{position:absolute;top:-6vw;left:-1vw;font:400 clamp(10rem,25vw,27rem)/.8 "Archivo Black";letter-spacing:-.1em;color:#df001b0e;z-index:-1}.hero-copy{padding-right:4vw}.kicker{display:flex;align-items:center;gap:.65rem;font-size:.72rem;font-weight:800;letter-spacing:.16em}.kicker span{width:38px;height:4px;background:linear-gradient(90deg,var(--yellow) 0 40%,var(--blue) 40% 70%,var(--red) 70%)}.kicker.light{color:#fff}.hero h1,.route h2,.now h2,.spaces h2,.contact h2{font:400 clamp(3.7rem,7.2vw,8.3rem)/.84 "Archivo Black";letter-spacing:-.075em;margin:2rem 0}.hero h1 em,.route h2 em,.now h2 em{font-style:normal;color:var(--red)}.hero-intro{max-width:540px;font-size:clamp(1.05rem,1.4vw,1.35rem)}.hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:2rem}.button{background:var(--ink);color:#fff;text-decoration:none;padding:1rem 1.2rem;font-weight:700}.text-link{font-weight:700;text-underline-offset:.3rem}.hero-visual{position:relative}.hero-visual>img{width:100%;height:min(66vh,720px);object-fit:cover;clip-path:polygon(6% 0,100% 0,100% 88%,89% 100%,0 100%,0 10%)}.route-badge{position:absolute;right:-1rem;bottom:-1.5rem;background:var(--yellow);width:145px;height:145px;padding:1rem;display:flex;justify-content:space-between;align-items:flex-end}.route-badge strong{font:400 3.8rem/.8 "Archivo Black"}.route-badge span{font-size:.66rem;font-weight:800;text-transform:uppercase}.hero-mark{position:absolute;right:-5vw;top:3vh;width:18vw;max-width:260px;mix-blend-mode:multiply;z-index:2}.flag-route{position:absolute;left:0;bottom:0;width:47%;display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr 1fr;height:9px}.flag-route i:nth-child(1),.flag-route i:nth-child(4){background:var(--yellow)}.flag-route i:nth-child(2){background:var(--blue)}.flag-route i:nth-child(3),.flag-route i:nth-child(5){background:var(--red)}
.manifesto{padding:11vw clamp(20px,8vw,140px);display:grid;grid-template-columns:1fr 3.2fr;gap:5vw;background:#fff}.section-label{font-size:.73rem;font-weight:800;letter-spacing:.13em;line-height:1.4}.manifesto h2{font:400 clamp(3rem,6.6vw,7.5rem)/.9 "Archivo Black";letter-spacing:-.07em;margin:0}.manifesto h2 span{color:var(--red)}.manifesto>p:last-child{grid-column:2;max-width:680px;font-size:1.3rem;margin-top:2rem}
.route{background:var(--ink);color:#fff;position:relative;display:grid;grid-template-columns:1fr 1fr;padding:9vw clamp(20px,8vw,140px);gap:9vw;overflow:hidden}.route h2{font-size:clamp(3.2rem,6.2vw,7rem);position:sticky;top:150px}.route-list{list-style:none;margin:0;padding:0;position:relative;z-index:2}.route-list li{display:grid;grid-template-columns:90px 1fr;gap:1rem;padding:3rem 0;border-top:1px solid #ffffff38;opacity:.55;transition:.35s}.route-list li:hover,.route-list li.active{opacity:1;transform:translateX(8px)}.route-list b{font:400 3rem/1 "Archivo Black";color:var(--yellow)}.route-list small{letter-spacing:.13em;color:var(--sky);font-weight:800}.route-list h3{font:400 clamp(2.5rem,4vw,4.4rem)/1 "Archivo Black";letter-spacing:-.055em;margin:.6rem 0}.route-list p{max-width:520px;color:#c4d2d7;font-size:1.08rem}.route-line{position:absolute;width:170px;height:100%;left:47%;top:0}.route-line path{fill:none;stroke:var(--red);stroke-width:13;stroke-linecap:round}
.now{padding:10vw clamp(20px,5vw,80px)}.now-title,.spaces-intro{display:grid;grid-template-columns:1fr 2fr;margin-bottom:5vw}.now-title h2,.spaces h2{margin:0}.now-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:1rem}.now-grid article{min-height:510px}.feature-card{padding:2rem;display:flex;flex-direction:column}.feature-card>span,.photo-card span{font-size:.72rem;font-weight:800;letter-spacing:.14em}.feature-card h3{font:400 clamp(2rem,3.2vw,3.5rem)/.95 "Archivo Black";letter-spacing:-.05em;margin:3rem 0 1rem}.feature-card p{font-size:1.1rem}.feature-card a{margin-top:auto;font-weight:800}.yellow{background:var(--yellow)}.blue{background:var(--sky)}.photo-card{position:relative;overflow:hidden}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.photo-card:hover img{transform:scale(1.035)}.photo-card span{position:absolute;bottom:1rem;left:1rem;background:#fff;padding:.6rem .75rem}
.stories{display:grid;grid-template-columns:1.15fr .85fr;background:var(--red);color:#fff;min-height:760px}.story-photo{position:relative}.story-photo img{width:100%;height:100%;object-fit:cover}.story-photo span{position:absolute;left:2rem;bottom:2rem;background:var(--yellow);color:var(--ink);padding:.7rem 1rem;font-size:.72rem;font-weight:800;letter-spacing:.12em}.story-copy{padding:7vw;display:flex;flex-direction:column;justify-content:center}.story-copy blockquote{font:400 clamp(2.5rem,4.6vw,5rem)/.94 "Archivo Black";letter-spacing:-.055em;margin:4rem 0}
.spaces{background:#fff;padding:10vw clamp(20px,8vw,140px)}.spaces h2{font-size:clamp(3.5rem,7vw,7.4rem)}.space-list article{display:grid;grid-template-columns:100px 1fr 1fr;align-items:center;padding:2rem 0;border-top:2px solid var(--ink);transition:.25s}.space-list article:hover{background:var(--yellow);padding-left:1.2rem;padding-right:1.2rem}.space-list b{font:400 2.8rem "Archivo Black";color:var(--red)}.space-list h3{font:400 clamp(2rem,4vw,4rem)/1 "Archivo Black";letter-spacing:-.05em;margin:0}.space-list p{margin:.4rem 0}.space-list span{justify-self:end;text-align:right;max-width:250px}
.contact{position:relative;background:var(--blue);color:#fff;padding:9vw clamp(20px,8vw,140px);overflow:hidden;min-height:720px}.contact h2{font-size:clamp(5rem,12vw,13rem);margin:4rem 0;position:relative;z-index:2}.contact-actions{display:flex;gap:1rem;flex-wrap:wrap;position:relative;z-index:2}.contact-actions a{background:var(--yellow);color:var(--ink);padding:1rem 1.2rem;font-weight:800;text-decoration:none}.hours{font-size:1.05rem;margin-top:3rem;position:relative;z-index:2}.contact-mark{position:absolute;width:min(52vw,650px);right:-7vw;top:6%;opacity:.18;transform:rotate(8deg)}footer{background:var(--ink);color:#fff;padding:3rem clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:2rem}footer>p{text-align:center}footer>a:not(.brand){justify-self:end}footer small{grid-column:1/-1;border-top:1px solid #ffffff40;padding-top:1.5rem;color:#a9bcc4}.reveal{animation:rise .75s ease both}@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:980px){.menu-button{display:block}.site-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:1rem 20px 2rem;flex-direction:column;align-items:stretch}.site-nav.is-open{display:flex}.hero{grid-template-columns:1fr;padding-top:4rem}.hero-visual{margin-top:3rem}.hero-visual>img{height:55vw;min-height:380px}.manifesto,.route,.stories{grid-template-columns:1fr}.manifesto>p:last-child{grid-column:1}.route h2{position:static}.route-line{display:none}.now-title,.spaces-intro{grid-template-columns:1fr;gap:2rem}.now-grid{grid-template-columns:1fr 1fr}.now-grid article:last-child{grid-column:1/-1}.story-photo{min-height:520px}.space-list article{grid-template-columns:75px 1fr}.space-list span{grid-column:2;justify-self:start;text-align:left}}
@media(max-width:620px){.site-header{height:70px}.site-nav{top:70px}.hero{min-height:auto;padding-bottom:5rem}.hero h1{font-size:3.55rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual>img{height:420px}.route-badge{width:110px;height:110px}.manifesto{padding:7rem 20px}.manifesto h2{font-size:3.3rem}.route{padding:7rem 20px}.route h2{font-size:3.7rem}.route-list li{grid-template-columns:64px 1fr}.now{padding:7rem 20px}.now-grid{grid-template-columns:1fr}.now-grid article,.now-grid article:last-child{grid-column:auto;min-height:430px}.stories{display:flex;flex-direction:column}.story-copy{padding:5rem 24px}.story-copy blockquote{font-size:2.7rem;margin:3rem 0}.spaces{padding:7rem 20px}.spaces h2{font-size:3.7rem}.contact{padding:7rem 20px;min-height:560px}.contact h2{font-size:4.5rem}.contact-actions{flex-direction:column;align-items:flex-start}footer{grid-template-columns:1fr}footer>p{text-align:left}footer>a:not(.brand){justify-self:start}footer small{grid-column:1}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* La ruta como sistema de identidad */
.flag-route{display:none}.route-emblem{position:absolute;left:2vw;bottom:-18px;width:min(34vw,490px);height:auto;overflow:visible;z-index:4}.route-emblem path{fill:none;stroke-linecap:round}.emblem-base{stroke:#fff;stroke-width:28}.emblem-colors{stroke-width:18;stroke:var(--yellow);stroke-dasharray:22 0;filter:none}.route-emblem circle{fill:var(--cream);stroke:var(--red);stroke-width:10}.route-emblem circle:first-of-type{stroke:var(--yellow)}.route-emblem circle:nth-of-type(2){stroke:var(--blue)}.route-emblem circle:nth-of-type(3),.route-emblem circle:nth-of-type(4){stroke:var(--red)}
.route{display:block;padding:9vw clamp(20px,7vw,120px) 11vw}.route-head{display:grid;grid-template-columns:.65fr 1.35fr;column-gap:6vw;align-items:start}.route-head .kicker{grid-column:1}.route-head h2{grid-column:2;grid-row:1/3;position:static;margin:0;font-size:clamp(3.2rem,6vw,6.8rem)}.route-lead{grid-column:1;max-width:380px;color:#c4d2d7;font-size:1.05rem;margin-top:3rem}.journey-map{position:relative;min-height:1250px;margin-top:7rem}.journey-path{position:absolute;inset:0;width:100%;height:100%}.journey-path path{fill:none;stroke-linecap:round}.journey-shadow{stroke:#ffffff13;stroke-width:58}.journey-color{stroke:var(--yellow);stroke-width:34;stroke-dasharray:17 8 14 7 22 9 13 10;animation:routeFlow 18s linear infinite}.stations{list-style:none;margin:0;padding:0;position:absolute;inset:0}.station{position:absolute;width:min(390px,42%);background:#0d3a4c;border:1px solid #ffffff25;padding:1.4rem 1.5rem 1.6rem;box-shadow:0 20px 50px #00182155;transition:.3s}.station:before{content:"";position:absolute;width:22px;height:22px;border:9px solid var(--yellow);border-radius:50%;background:var(--ink);box-shadow:0 0 0 8px var(--ink)}.station b{display:block;font:400 2.25rem/1 "Archivo Black";color:var(--yellow);margin-bottom:1rem}.station small{color:var(--sky);font-weight:800;letter-spacing:.13em}.station h3{font:400 clamp(1.8rem,2.7vw,3rem)/1 "Archivo Black";letter-spacing:-.05em;margin:.55rem 0 .8rem}.station p{color:#c7d4d9;margin:0}.station:hover,.station.is-visible{background:var(--red);transform:translateY(-7px)}.station:hover small,.station.is-visible small{color:var(--yellow)}.s1{left:3%;top:0}.s1:before{right:-44px;top:35px}.s2{right:3%;top:15%}.s2:before{left:-47px;top:42px;border-color:var(--blue)}.s3{left:4%;top:33%}.s3:before{right:-48px;top:38px;border-color:var(--red)}.s4{right:2%;top:50%}.s4:before{left:-46px;top:36px;border-color:var(--yellow)}.s5{left:5%;top:68%}.s5:before{right:-47px;top:39px;border-color:var(--red)}.s6{right:1%;top:84%}.s6:before{left:-47px;top:35px;border-color:var(--yellow)}
@keyframes routeFlow{to{stroke-dashoffset:-220}}
@media(max-width:980px){.route-emblem{width:48vw;left:-2vw}.route-head{grid-template-columns:1fr}.route-head .kicker,.route-head h2,.route-lead{grid-column:1;grid-row:auto}.route-head h2{margin-top:2rem}.journey-map{min-height:auto;margin-top:5rem}.journey-path{left:6px;width:52px;height:100%}.journey-shadow{stroke-width:45}.journey-color{stroke-width:24}.stations{position:relative;display:grid;gap:1.2rem;padding-left:85px}.station{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%}.station:before{left:-82px!important;right:auto!important;top:35px!important}}
@media(max-width:620px){.route-emblem{width:70vw;left:-10vw;bottom:-4px}.route-head h2{font-size:3.45rem}.journey-map{margin-top:3.5rem}.stations{padding-left:62px}.journey-path{width:36px}.journey-shadow{stroke-width:34}.journey-color{stroke-width:19}.station{padding:1.2rem}.station:before{left:-61px!important;width:18px;height:18px;border-width:7px}.station h3{font-size:2rem}}

/* Dirección definitiva: umbrales, no líneas */
.hero{display:flex;align-items:center;min-height:calc(100vh - 78px);padding:clamp(45px,7vw,110px) clamp(20px,6vw,96px);color:#fff;background:var(--ink)}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#062b3bf2 0%,#062b3bd8 36%,#062b3b21 69%)}.hero-copy{position:relative;z-index:3;width:min(720px,52vw);padding:0}.hero .kicker,.route .kicker{display:block;color:#fff}.kicker:before{content:"";display:inline-block;width:34px;height:5px;background:var(--red);margin-right:10px;vertical-align:2px}.kicker span{display:none!important}.hero h1{font-size:clamp(3.8rem,6.8vw,7.8rem);margin:2rem 0}.hero h1 em{color:var(--yellow)}.hero-intro{color:#fff;font-size:clamp(1.05rem,1.5vw,1.35rem)}.hero .text-link{color:#fff}.hero-route-sign{position:absolute;z-index:4;right:5vw;bottom:4vw;background:var(--red);padding:1.1rem 1.3rem;transform:rotate(-2deg)}.hero-route-sign small,.hero-route-sign strong{display:block}.hero-route-sign small{letter-spacing:.14em}.hero-route-sign strong{font-size:1.25rem}.hero-b{position:absolute;right:-8vw;top:-10vw;width:min(38vw,520px);opacity:.13;z-index:2}.hero-word,.hero-visual,.hero-mark,.route-emblem,.journey-map,.journey-path,.flag-route{display:none!important}
.route{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(4rem,8vw,9rem);padding:10vw clamp(20px,8vw,140px);background:#12384a}.route-head{display:block;position:sticky;top:120px;align-self:start}.route-head h2{display:block;position:static;margin:2rem 0;font-size:clamp(3.2rem,5.4vw,6rem)}.route-lead{display:block;margin:0;max-width:380px}.route-progress{display:flex;align-items:baseline;margin-top:4rem;color:#fff}.route-progress strong{font:400 clamp(5rem,9vw,9rem)/.8 "Archivo Black";color:var(--yellow)}.route-progress span{font-size:1.5rem;margin-left:.5rem}.route-progress i{display:block;width:60px;height:5px;background:var(--red);margin-left:1.5rem}.stations{position:relative;inset:auto;display:grid;gap:clamp(5rem,9vw,9rem);padding:0}.station,.s1,.s2,.s3,.s4,.s5,.s6{position:relative!important;inset:auto!important;width:auto;min-height:58vh;padding:3rem clamp(1.4rem,3vw,3rem) 4rem;background:#f3eee4;color:var(--ink);border:0;box-shadow:none;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s;opacity:.68}.station:nth-child(even){margin-left:clamp(0px,5vw,72px)}.station:nth-child(2){background:#e9d77d}.station:nth-child(3){background:#f3d9d7}.station:nth-child(4){background:#dbe5ef}.station:nth-child(5){background:#2454a6;color:#fff}.station:nth-child(6){background:var(--red);color:#fff}.station:before{content:"B";position:absolute!important;left:auto!important;right:-.08em!important;top:auto!important;bottom:-.28em!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font:400 clamp(15rem,28vw,29rem)/.8 "Archivo Black";color:#ffffff24}.station:nth-child(-n+4):before{color:#062b3b10}.station b{font:400 clamp(5rem,8vw,8rem)/.8 "Archivo Black";color:inherit;opacity:.18}.station small{display:block;margin-top:3rem;color:inherit;font-weight:800;letter-spacing:.14em}.station h3{font:700 clamp(2.4rem,4.2vw,4.8rem)/.94 "DM Sans";letter-spacing:-.055em;margin:1rem 0 1.5rem;max-width:650px}.station p{color:inherit;max-width:650px;font-size:1.15rem}.station ul{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;padding:0;margin:2rem 0 0}.station li{border:1px solid currentColor;border-radius:999px;padding:.45rem .75rem;font-size:.78rem;font-weight:700}.station.is-visible{transform:translateY(-8px);opacity:1;background-color:inherit}.station.is-visible b{opacity:1;color:var(--red)}.station:nth-child(5).is-visible b,.station:nth-child(6).is-visible b{color:var(--yellow)}
@media(max-width:980px){.hero{min-height:820px;align-items:flex-end}.hero-copy{width:min(680px,90%)}.hero-shade{background:linear-gradient(0deg,#062b3bf5 0%,#062b3bbd 55%,#062b3b18 100%)}.hero-b{width:55vw}.route{grid-template-columns:1fr}.route-head{position:relative;top:auto}.route-progress{margin:3rem 0}.stations{padding:0}.station:nth-child(even){margin-left:0}.station{min-height:480px}}
@media(max-width:620px){.hero{min-height:780px;padding-bottom:4rem}.hero-copy{width:100%}.hero h1{font-size:3.45rem}.hero-route-sign{right:20px;top:95px;bottom:auto}.hero-b{width:80vw}.route{padding:7rem 20px}.route-head h2{font-size:3.35rem}.route-progress strong{font-size:5rem}.station{min-height:430px}.station h3{font-size:2.5rem}.station small{margin-top:2rem}}

/* Revisión de contraste, marca y fotografía */
:root{--red:#cf2e3a;--ink:#173e52;--blue:#356a87;--sky:#91c7dc;--yellow:#e7b82f;--cream:#f4efe7}.site-header{background:#f4efe7f5}.station{background:#f4efe7;color:#173e52}.station:nth-child(2){background:#ecd47d;color:#173e52}.station:nth-child(3){background:#ead5d2;color:#173e52}.station:nth-child(4){background:#d7e4e9;color:#173e52}.station:nth-child(5){background:#315f78;color:#fff}.station:nth-child(6){background:#c9333d;color:#fff}.station.is-visible{opacity:1;transform:translateY(-8px)}
.station:before{content:"";right:clamp(1rem,3vw,3rem)!important;bottom:clamp(1rem,2vw,2rem)!important;width:clamp(150px,22vw,300px)!important;height:clamp(150px,22vw,300px)!important;background:url('/assets/bmp-logo-red.png') center/contain no-repeat!important;opacity:.09}.station:nth-child(5):before,.station:nth-child(6):before{background-image:url('/assets/bmp-logo-white.png')!important;opacity:.13}.station.is-visible b{color:var(--red)}.station:nth-child(5).is-visible b,.station:nth-child(6).is-visible b{color:var(--yellow)}
.station ul{gap:0;margin-top:2.3rem;border-top:1px solid currentColor;padding-top:1rem;opacity:.78}.station li{border:0;border-radius:0;padding:.2rem 1rem .2rem 0;font-size:.8rem}.station li+li:before{content:"·";padding-right:1rem}.hero-route-sign{background:transparent;border-top:2px solid #fff;padding:1rem 0;transform:none}.photo-card:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#173e52c9)}.photo-card span{z-index:2;background:transparent;color:#fff;left:1.5rem;bottom:1.5rem;padding:0;font-size:.78rem}.feature-card>span{border-top:2px solid currentColor;padding-top:.8rem;display:block}.feature-card{color:#173e52}.feature-card.blue{background:#86bfd6;color:#173e52}
.human-moments{display:grid;grid-template-columns:.78fr 1.35fr .87fr;gap:clamp(.7rem,1.5vw,1.4rem);padding:clamp(4rem,8vw,9rem) clamp(20px,5vw,80px);background:#f4efe7}.human-moments figure{margin:0;display:flex;flex-direction:column}.human-moments figure:nth-child(2){margin-top:8vw}.human-moments img{width:100%;height:clamp(380px,48vw,720px);object-fit:cover}.human-moments figure:nth-child(2) img{height:clamp(330px,39vw,600px)}.human-moments figcaption{padding:1.2rem 0;border-bottom:1px solid #173e52}.human-moments b,.human-moments span{display:block}.human-moments b{font-size:clamp(1.2rem,2vw,1.8rem);letter-spacing:-.03em}.human-moments span{margin-top:.35rem;color:#456271}
.human-moments figure:first-child img{object-position:50% 38%}.human-moments figure:last-child img{object-position:58% 42%}.photo-card img{object-position:50% 45%}
@media(max-width:780px){.human-moments{grid-template-columns:1fr 1fr}.human-moments figure:nth-child(2){margin-top:0}.human-moments figure:nth-child(3){grid-column:1/-1}.human-moments img,.human-moments figure:nth-child(2) img{height:430px}}
@media(max-width:520px){.human-moments{grid-template-columns:1fr}.human-moments figure:nth-child(3){grid-column:auto}.human-moments img,.human-moments figure:nth-child(2) img{height:460px}.station:before{width:170px!important;height:170px!important}.hero-route-sign{display:none}}

/* Paleta oficial BMP: cinco tonos de marca + amarillo vibrante. */
:root{--burgundy:#780001;--red:#c10f1f;--cream:#fbf0d4;--ink:#012f47;--blue:#659cbb;--sky:#659cbb;--yellow:#ffd719;--white:#fbf0d4}
body,.human-moments{background:var(--cream);color:var(--ink)}
.site-header{background:#fbf0d4f5;border-bottom-color:#012f4722}
.manifesto,.spaces{background:var(--cream)}
.route{background:var(--ink)}
.route-lead{color:var(--cream)}
.station,.station:nth-child(4){background:var(--cream);color:var(--ink);opacity:1}
.station:nth-child(2){background:var(--blue);color:var(--ink)}
.station:nth-child(3){background:var(--red);color:var(--cream)}
.station:nth-child(5){background:var(--ink);color:var(--cream);border:1px solid var(--blue)}
.station:nth-child(6){background:var(--burgundy);color:var(--cream)}
.station.is-visible{background-color:inherit;opacity:1}
.station:nth-child(3).is-visible b,.station:nth-child(5).is-visible b,.station:nth-child(6).is-visible b{color:var(--yellow)}
.feature-card{color:var(--ink)}
.feature-card.blue{background:var(--blue);color:var(--ink)}
.yellow{background:var(--yellow)}
.stories{background:var(--red);color:var(--cream)}
.contact{background:var(--blue);color:var(--ink)}
.contact-actions a{background:var(--yellow);color:var(--ink)}
footer{background:var(--ink);color:var(--cream)}
.human-moments figcaption{border-bottom-color:var(--ink)}
.human-moments span{color:var(--ink)}

/* Contraste explícito por estación. */
.station:nth-child(1){background:var(--ink);color:var(--cream);border:1px solid var(--blue)}
.station:nth-child(1) b{color:var(--red);opacity:1}
.station:nth-child(1) small{color:var(--yellow)}
.station:nth-child(2){background:var(--blue);color:var(--ink)}
.station:nth-child(2) b{color:var(--burgundy);opacity:1}
.station:nth-child(2) small{color:var(--ink)}
.station:nth-child(3){background:var(--cream);color:var(--ink)}
.station:nth-child(3) b{color:var(--red);opacity:1}
.station:nth-child(3) small{color:var(--burgundy)}
.station:nth-child(4){background:var(--red);color:var(--cream)}
.station:nth-child(4) b{color:var(--yellow);opacity:1}
.station:nth-child(4) small{color:var(--cream)}
.station:nth-child(5){background:var(--ink);color:var(--cream);border:1px solid var(--blue)}
.station:nth-child(5) b{color:var(--yellow);opacity:1}
.station:nth-child(5) small{color:var(--cream)}
.station:nth-child(6){background:var(--burgundy);color:var(--cream)}
.station:nth-child(6) b{color:var(--yellow);opacity:1}
.station:nth-child(6) small{color:var(--cream)}
.station h3,.station p,.station ul{color:inherit;opacity:1}
.route-head:after{content:"";display:block;width:min(100%,470px);aspect-ratio:920/360;margin-top:3.5rem;background:url('/assets/isotipo-ruta-bmp.svg') center/contain no-repeat}
@media(max-width:980px){.route-head:after{width:min(100%,540px);margin:1rem 0 4rem}}

/* Dirección cromática depurada: blanco y azul como base; color solo como señal. */
:root{--cream:#fff;--white:#fff}
body,.site-header,.manifesto,.spaces,.human-moments{background:#fff}
.route{background:#fff;color:var(--ink)}
.route .kicker,.route-lead,.route-progress{color:var(--ink)}
.route-head:after{background-color:var(--ink);background-size:calc(100% - 2rem);border-left:8px solid var(--yellow)}
.stations{gap:clamp(2rem,5vw,5rem)}
.station{min-height:52vh;border:1px solid #012f4733}
.station:nth-child(1){background:var(--ink);color:#fff;border:0}
.station:nth-child(2),.station:nth-child(3),.station:nth-child(5){background:#fff;color:var(--ink);border:1px solid #012f4733}
.station:nth-child(2) b{color:var(--burgundy)}
.station:nth-child(2) small{color:var(--red)}
.station:nth-child(3) small{color:var(--ink)}
.station:nth-child(4){background:var(--blue);color:var(--ink);border:0}
.station:nth-child(4) b{color:var(--red)}
.station:nth-child(4) small{color:var(--ink)}
.station:nth-child(5) b{color:var(--red)}
.station:nth-child(5) small{color:var(--ink)}
.station:nth-child(6){background:var(--burgundy);color:#fff;border:0}
.station:nth-child(1):before,.station:nth-child(6):before{background-image:url('/assets/bmp-logo-white.png')!important}
.station:nth-child(2):before,.station:nth-child(3):before,.station:nth-child(4):before,.station:nth-child(5):before{background-image:url('/assets/bmp-logo-red.png')!important}
.now{background:#fff}
.feature-card.yellow,.feature-card.blue{background:#fff;color:var(--ink);border-top:8px solid var(--yellow)}
.feature-card.blue{border-top-color:var(--blue)}
.stories{background:#fff;color:var(--ink)}
.story-copy{border-top:8px solid var(--red)}
.story-copy blockquote{color:var(--red)}
.contact{background:var(--ink);color:#fff}

/* Isotipo de ruta extendido: recorrido largo, orgánico y con seis paradas. */
.route-head:after{width:min(100%,720px);aspect-ratio:1200/320;background-size:calc(100% - 2.5rem);border-left:0;border-bottom:6px solid var(--yellow)}
@media(max-width:980px){.route-head:after{width:100%;aspect-ratio:1200/320;margin:1.5rem 0 4rem;background-size:calc(100% - 1.5rem)}}

/* La ruta deja de ser un dibujo aislado y conecta físicamente las estaciones. */
.route{display:block;padding:clamp(6rem,9vw,9rem) clamp(20px,6vw,96px)}
.route-head{position:relative;top:auto;display:grid;grid-template-columns:.7fr 1.3fr;gap:1rem 6vw;max-width:1180px;margin:0 auto 5rem}
.route-head .kicker{grid-column:1}.route-head h2{grid-column:2;grid-row:1/4;margin:0}.route-lead{grid-column:1;margin:1.5rem 0 0}.route-progress{grid-column:1;margin:2rem 0 0}.route-head:after{display:none}
.route-map{--route-progress:0;--route-progress-pct:0%;position:relative;max-width:1240px;margin:0 auto;padding:4.7rem 2.5rem 7rem}
.transit-track{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.transit-track path{fill:none;stroke-linecap:square;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.track-base{stroke:var(--ink);stroke-width:9}
.track-progress{stroke:var(--red);stroke-width:9;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--route-progress));transition:stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1)}
.track-arrow{stroke:var(--ink);stroke-width:9}
.stations{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8.5rem 2.4rem;padding:0}
.station,.station:nth-child(even){min-height:310px;margin:0!important;padding:3.2rem 2rem 2.2rem;transform:none;border:1px solid #012f4733}
.station:nth-child(1){grid-column:1}.station:nth-child(2){grid-column:2}.station:nth-child(3){grid-column:3}
.station:nth-child(4){grid-column:3;grid-row:2}.station:nth-child(5){grid-column:2;grid-row:2}.station:nth-child(6){grid-column:1;grid-row:2}
.station:after{content:attr(data-step);position:absolute;top:0;left:50%;width:54px;height:54px;display:grid;place-items:center;transform:translate(-50%,-50%);border:8px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);font:800 .78rem/1 "DM Sans";box-shadow:0 0 0 6px #fff;z-index:4}
.station.is-complete:after{content:"✓";background:var(--red);border-color:var(--red);color:#fff}
.station.is-visible:after{background:var(--yellow);border-color:var(--red);color:var(--ink);box-shadow:0 0 0 6px #fff,0 0 0 10px #ffd71955}
.station.is-visible{transform:translateY(-5px)}
.route-continues{position:absolute;right:2.5rem;bottom:1.1rem;margin:0;color:var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.14em}
.route-continues span{color:var(--red);font-size:1.4rem;vertical-align:-2px}
@media(max-width:1023px) and (min-width:701px){.stations{grid-template-columns:repeat(2,minmax(0,1fr));gap:6rem 2rem}.station:nth-child(n){grid-column:auto;grid-row:auto}.transit-track{display:none}.station:after{left:2rem}.route-map{padding:4rem 1rem 6rem;border-left:9px solid var(--ink)}}
@media(max-width:700px){.route-head{display:block;margin-bottom:2rem}.route-head h2{margin:1.5rem 0}.route-map{padding:2rem 0 5rem 4.2rem;margin:0}.transit-track{display:none}.route-map:before,.route-map:after{content:"";position:absolute;left:24px;top:2.2rem;width:7px;height:calc(100% - 7.2rem);background:var(--ink)}.route-map:after{height:var(--route-progress-pct);max-height:calc(100% - 7.2rem);background:var(--red);transition:height .7s cubic-bezier(.2,.8,.2,1)}.stations{display:grid;grid-template-columns:1fr;gap:2.4rem}.station:nth-child(n){grid-column:auto;grid-row:auto;min-height:auto;padding:2.8rem 1.35rem 2rem}.station:after{left:-2.55rem;top:3.15rem;width:44px;height:44px;border-width:7px;box-shadow:0 0 0 5px #fff}.station.is-visible:after{box-shadow:0 0 0 5px #fff,0 0 0 9px #ffd71955}.route-continues{left:4.2rem;right:auto}}
@media(prefers-reduced-motion:reduce){.track-progress,.route-map:after,.station{transition:none}}

/* Ruta interactiva: una línea, seis aros y un panel de servicios. */
.route-map{--route-progress-pct:0%;--route-progress-width:0%;max-width:1240px;margin:0 auto;padding:1rem 0 5rem;overflow:visible}
.route-swipe-hint{display:none;margin:0;color:#5a6b72;font-size:.78rem;font-weight:800;letter-spacing:.04em}
.route-swipe-hint span{color:var(--red);font-size:1.1rem}
.transit-track{display:none}
.route-stops{position:relative;display:grid;grid-template-columns:repeat(6,1fr);align-items:start;gap:0;padding:2rem 0 4rem}
.route-stops:before,.route-stops:after{content:"";position:absolute;left:8.333%;top:66px;height:8px;width:83.334%;background:var(--ink);transform-origin:left center}
.route-stops:after{width:var(--route-progress-width);background:var(--red);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.route-stop{--stop-color:var(--red);position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1rem;border:0;background:transparent;color:var(--ink);padding:0 .5rem;cursor:pointer;font-family:"DM Sans",sans-serif}
.route-stop:nth-child(2){--stop-color:var(--blue)}.route-stop:nth-child(3){--stop-color:var(--yellow)}.route-stop:nth-child(4){--stop-color:var(--red)}.route-stop:nth-child(5){--stop-color:var(--blue)}.route-stop:nth-child(6){--stop-color:var(--burgundy)}
.route-stop>span{width:76px;height:76px;display:grid;place-items:center;border:10px solid var(--stop-color);border-radius:50%;background:#fff;color:var(--ink);font:800 .9rem/1 "DM Sans";transition:transform .3s,background .3s,border-color .3s}
.route-stop small{max-width:120px;min-height:2.5em;font-size:.7rem;font-weight:800;letter-spacing:.1em;line-height:1.25;text-align:center}
.route-stop:hover>span{transform:scale(1.08)}
.route-stop.is-complete>span{background:var(--red);border-color:var(--red);color:#fff}
.route-stop.is-current>span{background:var(--yellow);border-color:var(--ink);transform:scale(1.12);box-shadow:0 0 0 7px #ffd71955}
.route-stop:focus-visible{outline:0}.route-stop:focus-visible>span{outline:3px solid var(--red);outline-offset:6px}
.stations{display:block;padding:0;position:relative}
.station,.station:nth-child(n){display:grid;grid-template-columns:minmax(140px,.4fr) minmax(0,1.6fr);grid-template-rows:auto auto 1fr;column-gap:clamp(2rem,6vw,6rem);width:100%;min-height:360px;margin:0!important;padding:clamp(2rem,5vw,4.5rem);border:1px solid #012f4733;background:#fff;color:var(--ink);animation:stationReveal .45s ease both}
.station[hidden]{display:none}
.station:after{display:none}
.station>b{grid-row:1/4;align-self:start;font-size:clamp(5rem,10vw,9rem);color:var(--red)!important;opacity:1}
.station>small{grid-column:2;margin:0;color:var(--ink)!important}
.station>h3{grid-column:2;margin:.8rem 0 1rem}
.station>p,.station>ul{grid-column:2}
.station>ul{align-self:end}
.station:before{right:2rem!important;bottom:1rem!important}
.route-continues{right:0;bottom:1rem}
@keyframes stationReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:700px){.route-map{padding:0 0 4rem}.route-map:before,.route-map:after{display:none}.route-swipe-hint{display:flex;align-items:center;justify-content:space-between;gap:1rem}.route-stops{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem 0 2rem;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.route-stops:before,.route-stops:after{display:none}.route-stop{flex:0 0 92px;scroll-snap-align:start;padding:0 .2rem;gap:.7rem}.route-stop>span{width:54px;height:54px;border-width:7px;font-size:.75rem}.route-stop small{min-height:3em;font-size:.75rem;letter-spacing:.03em}.station,.station:nth-child(n){display:block;min-height:0;padding:2rem 1.35rem 2.5rem}.station[hidden]{display:none}.station>b{font-size:4.8rem}.station>small{margin-top:1.5rem}.station>h3{font-size:2.25rem}.route-continues{left:auto;right:0}}
@media(prefers-reduced-motion:reduce){.route-stops:after,.route-stop>span,.station{transition:none;animation:none}}

/* Acceso, B Card y acciones públicas. */
.access-hub{padding:clamp(6rem,10vw,10rem) clamp(20px,8vw,140px);background:#fff;color:var(--ink);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem)}
.access-intro h2{font:400 clamp(3.3rem,6vw,6.8rem)/.88 "Archivo Black";letter-spacing:-.07em;margin:1.8rem 0}.access-intro h2 span{color:var(--red)}.access-intro>p:not(.section-label){max-width:560px;font-size:1.15rem}.access-login{display:inline-flex;gap:2rem;margin-top:2rem;padding:1rem 1.2rem;background:var(--ink);color:#fff;text-decoration:none;font-weight:800}.access-login span{color:var(--yellow)}
.b-card{position:relative;align-self:center;min-height:390px;padding:2rem;background:var(--ink);color:#fff;box-shadow:18px 18px 0 var(--yellow);overflow:hidden}.b-card:after{content:"B";position:absolute;right:-.1em;bottom:-.25em;color:#ffffff12;font:400 18rem/.8 "Archivo Black"}.b-card-top,.b-card-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.68rem;font-weight:800;letter-spacing:.12em}.b-card-top img{width:48px}.b-card-name{position:relative;z-index:2;margin:3rem 0 4rem;font:400 clamp(2.3rem,4vw,4rem)/.9 "Archivo Black";letter-spacing:-.05em}.b-card-route{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;margin-bottom:3.5rem}.b-card-route:before{content:"";position:absolute;left:8%;right:8%;height:4px;background:#fff}.b-card-route i{position:relative;display:grid;place-items:center;justify-self:center;width:38px;height:38px;border:5px solid var(--blue);border-radius:50%;background:var(--ink);color:#fff;font:normal 700 .6rem "DM Sans"}.b-card-route i.done{border-color:var(--yellow);background:var(--red)}.b-card-footer a{color:var(--yellow);text-decoration:none}
.public-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.public-actions article{padding:2.5rem 3rem 2.5rem 0}.public-actions article+article{border-left:1px solid var(--ink);padding-left:3rem}.public-actions span{color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.13em}.public-actions h3{font:700 clamp(1.7rem,2.5vw,2.7rem)/.95 "DM Sans";letter-spacing:-.045em;margin:1rem 0}.public-actions p{font-size:1.05rem}.public-actions button,.public-action-link{display:inline-block;margin-top:1rem;border:0;background:transparent;color:var(--ink);padding:0;font:800 1rem "DM Sans";text-decoration:underline;text-underline-offset:.35rem;cursor:pointer}
.bmp-dialog{width:min(620px,calc(100% - 32px));max-height:90vh;border:0;padding:0;background:#fff;color:var(--ink);box-shadow:0 30px 100px #012f4766}.bmp-dialog::backdrop{background:#012f47cc;backdrop-filter:blur(5px)}.bmp-dialog form{position:relative;display:grid;gap:1rem;padding:clamp(2rem,5vw,4rem)}.bmp-dialog h2{font:400 clamp(2.5rem,5vw,4.5rem)/.9 "Archivo Black";letter-spacing:-.06em;margin:.5rem 0 1.5rem}.bmp-dialog label{display:grid;gap:.45rem;font-weight:800;font-size:.85rem}.bmp-dialog input,.bmp-dialog textarea,.bmp-dialog select{width:100%;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);padding:.9rem;font:500 1rem "DM Sans"}.dialog-close{position:absolute;right:1.2rem;top:1rem;border:0;background:none;color:var(--ink);font-size:2rem;cursor:pointer}.dialog-submit{margin-top:1rem;border:0;background:var(--red);color:#fff;padding:1rem 1.2rem;font:800 1rem "DM Sans";cursor:pointer}.form-privacy-summary{margin:-.5rem 0 .5rem;padding:1rem;background:#f3f0e8;font-size:.78rem;line-height:1.5}.form-consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}.form-consent input{width:auto;margin-top:.2rem}
@media(max-width:800px){.access-hub{grid-template-columns:1fr}.b-card{min-height:350px}.public-actions{display:block}.public-actions article{padding:2rem 0}.public-actions article+article{border-left:0;border-top:1px solid var(--ink);padding-left:0}.b-card-route i{width:32px;height:32px;border-width:4px}.b-card-footer{align-items:flex-end}.site-nav a[href="#mi-espacio"]{display:block}}

/* B Boarding Pass: tarjeta premium inspirada en el viaje, no documento administrativo. */
.b-card{aspect-ratio:1.58/1;min-height:0;padding:clamp(1.6rem,3vw,2.5rem);border-radius:28px;background:radial-gradient(circle at 92% 8%,var(--yellow) 0 12%,transparent 12.3%),radial-gradient(circle at 84% 14%,var(--red) 0 26%,transparent 26.3%),radial-gradient(circle at 8% 100%,var(--blue) 0 25%,transparent 25.3%),var(--ink);box-shadow:0 24px 70px #012f4733;color:#fff;isolation:isolate}
.b-card:before{content:"";position:absolute;z-index:-1;left:34%;top:-35%;width:52%;aspect-ratio:1;border:55px solid var(--red);border-radius:46% 54% 62% 38%;transform:rotate(28deg);opacity:.94}
.b-card:after{content:"";position:absolute;right:-55px;bottom:-70px;width:230px;height:230px;border:54px solid var(--blue);border-radius:50%;color:transparent}
.b-card-top{font-size:.7rem}.b-card-top img{width:44px;filter:drop-shadow(0 2px 6px #012f4755)}
.b-card-name{margin:clamp(1.8rem,4vw,3rem) 0 1.5rem;font-size:clamp(2.2rem,4vw,4.2rem);max-width:75%}
.b-card-meta{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:1rem;align-items:end;margin-bottom:clamp(1.5rem,3vw,2.5rem)}.b-card-meta p{margin:0}.b-card-meta small,.b-card-meta strong{display:block}.b-card-meta small{font-size:.56rem;letter-spacing:.16em;opacity:.72}.b-card-meta strong{margin-top:.25rem;font-size:.86rem;letter-spacing:.06em}.b-card-meta>span{color:var(--yellow);font-size:1.5rem}
.b-card-route{margin-bottom:clamp(1.5rem,3vw,2.5rem)}.b-card-route:before{height:3px}.b-card-route i{width:34px;height:34px;border-width:4px}
.b-card-footer{border-top:2px dashed #ffffff88;padding-top:1.2rem}.b-card-footer a{color:var(--yellow)}
@media(max-width:560px){.b-card{aspect-ratio:auto;min-height:420px;border-radius:22px}.b-card-name{max-width:90%}.b-card-meta{grid-template-columns:1fr auto 1fr}.b-card-meta p:last-child{display:none}.b-card-route i{width:28px;height:28px;border-width:3px}.b-card-footer{display:grid;gap:.7rem}.b-card:before{border-width:40px}}

/* Acceso directo a oportunidades laborales. */
.jobs-access{display:grid;grid-template-columns:1.05fr .95fr;min-height:720px;background:var(--ink);color:#fff}
.jobs-photo{position:relative;overflow:hidden}.jobs-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#012f47d9)}.jobs-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.jobs-photo span{position:absolute;z-index:2;left:2rem;bottom:2rem;padding:.7rem 1rem;background:var(--yellow);color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.12em}
.jobs-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,9rem)}.jobs-copy .section-label{color:var(--yellow)}.jobs-copy h2{font:400 clamp(3.2rem,5.5vw,6.5rem)/.88 "Archivo Black";letter-spacing:-.07em;margin:1.8rem 0}.jobs-copy h2 em{font-style:normal;color:var(--yellow)}.jobs-copy>p:not(.section-label){max-width:570px;font-size:clamp(1.05rem,1.4vw,1.25rem);color:#dce7eb}.jobs-button{display:inline-flex;align-self:flex-start;gap:2rem;margin-top:2rem;padding:1rem 1.25rem;background:var(--red);color:#fff;text-decoration:none;font-weight:800}.jobs-button span{color:var(--yellow)}.jobs-copy small{margin-top:1rem;color:#b9cbd2}
@media(max-width:980px){.site-nav{gap:1.1rem;font-size:.82rem}.jobs-access{grid-template-columns:1fr}.jobs-photo{min-height:520px}.jobs-copy{padding:5rem clamp(20px,8vw,80px)}}
@media(max-width:620px){.jobs-photo{min-height:420px}.jobs-photo span{left:1rem;bottom:1rem}.jobs-copy{padding:4.5rem 20px}.jobs-copy h2{font-size:3.25rem}}
.job-board{padding:clamp(4.5rem,8vw,8rem) clamp(20px,6vw,92px);background:#f3f0e8;color:var(--ink)}
.job-board-head{display:grid;grid-template-columns:1fr minmax(260px,430px);gap:3rem;align-items:end;padding-bottom:2.5rem;border-bottom:2px solid var(--ink)}
.job-board-head .section-label{color:var(--red);margin:0 0 1rem}.job-board-head h2{margin:0;font:400 clamp(3rem,6vw,6.5rem)/.9 "Archivo Black";letter-spacing:-.065em}.job-board-head>p{margin:0;font-size:1rem;line-height:1.6}
.job-list{display:grid}.job-card{display:grid;grid-template-columns:70px minmax(260px,1.3fr) minmax(260px,.85fr) auto;gap:clamp(1.5rem,3vw,3.5rem);align-items:start;padding:2.25rem 0;border-bottom:1px solid #99a5a9}
.job-number{font:400 1.1rem "Archivo Black";color:var(--red)}.job-company{margin:0 0 .55rem;color:var(--red);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.job-main h3{margin:0;font-size:clamp(1.55rem,2.1vw,2.35rem);line-height:1.05}.job-summary{max-width:650px;margin:1rem 0 0;line-height:1.55}.job-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1.25rem 0 0}.job-tags li{padding:.45rem .7rem;border:1px solid var(--ink);font-size:.76rem;font-weight:800}
.job-details{display:grid;gap:.85rem;margin:0}.job-details div{display:grid;grid-template-columns:75px 1fr;gap:.75rem}.job-details dt{color:#586b73;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.job-details dd{margin:0;font-size:.9rem;line-height:1.35}.job-apply{display:inline-flex;justify-content:space-between;gap:1.5rem;min-width:190px;padding:.95rem 1rem;background:var(--red);color:#fff;text-decoration:none;font-weight:800}.job-apply:hover,.job-apply:focus-visible{background:var(--ink)}.job-apply span{color:var(--yellow)}
.job-more{grid-column:2/-1;max-width:860px}.job-more summary{cursor:pointer;width:max-content;max-width:100%;font-weight:800;text-decoration:underline;text-underline-offset:.2em}.job-more summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}.job-more-content{padding:1rem 0 0;line-height:1.6}.job-more-content h4{margin:1.2rem 0 .4rem;font-size:1rem}.job-more-content p{margin:.4rem 0 1rem}.job-more-content ul{margin:.4rem 0 1rem;padding-left:1.4rem}.job-more-content li+li{margin-top:.4rem}.job-more-content a{color:var(--red);font-weight:800;overflow-wrap:anywhere}
.job-board-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem;padding:1.5rem 0;border-top:2px solid var(--ink)}.job-board-footer p{margin:0;font-size:1.1rem;font-weight:800}.job-board-footer a{color:var(--ink);font-weight:800}
@media(max-width:1050px){.job-card{grid-template-columns:55px 1fr 1fr}.job-apply{grid-column:2/-1;justify-self:start}.job-board-head{grid-template-columns:1fr}}
@media(max-width:700px){.job-card{grid-template-columns:38px 1fr;gap:1rem}.job-details,.job-apply{grid-column:2}.job-details{margin-top:.5rem}.job-board-footer{align-items:flex-start;flex-direction:column}}

/* Canales de contacto diferenciados por audiencia. */
.contact-actions a{display:grid;gap:.25rem}
.contact-actions a small{font-size:.62rem;letter-spacing:.09em}

/* Red de entidades: retícula institucional compacta y logos con escala visual uniforme. */
.support-network{padding:clamp(4rem,6vw,6rem) clamp(20px,8vw,140px);background:var(--ink);color:#fff}
.support-network-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);grid-template-areas:"label label" "title copy";column-gap:clamp(2rem,6vw,6rem);align-items:end;max-width:1480px;margin:0 auto clamp(2.25rem,4vw,3.5rem)}
.support-network-intro .section-label{grid-area:label;margin:0 0 1rem;color:var(--yellow)}
.support-network-intro h2{grid-area:title;max-width:900px;margin:0;font:400 clamp(2.8rem,5.2vw,5.2rem)/.94 "Archivo Black";letter-spacing:-.06em}
.support-network-intro h2 em{font-style:normal;color:var(--yellow)}
.support-network-intro>p:last-child{grid-area:copy;max-width:480px;margin:0 0 .35rem;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.55;color:#dce7eb}
.support-groups{max-width:1480px;margin:0 auto;overflow:hidden;background:#fff;color:var(--ink);border-top:7px solid var(--yellow);box-shadow:0 22px 55px #00182455}
.support-group{display:grid;grid-template-columns:clamp(155px,14vw,205px) minmax(0,1fr);gap:clamp(1rem,2vw,2rem);align-items:center;padding:clamp(1rem,1.6vw,1.4rem) clamp(1.1rem,2vw,2rem);background:#fff}
.support-group+.support-group{border-top:1px solid #d9e0e3}
.support-group>p{margin:0;color:var(--red);font-size:.72rem;font-weight:850;line-height:1.35;letter-spacing:.12em}
.support-group ul{display:grid;gap:0;list-style:none;margin:0;padding:0}
.support-group-funders ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.support-group-donors ul{grid-template-columns:repeat(6,minmax(0,1fr))}
.support-group-collaborators ul{grid-template-columns:repeat(4,minmax(0,1fr))}
.support-group li{min-width:0;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:.6rem .8rem;border-left:1px solid #edf0f2;text-align:center}
.support-group li:first-child{border-left:0}
.support-group li img{display:block;width:auto;height:auto;max-width:100%;max-height:64px;object-fit:contain;object-position:center;mix-blend-mode:multiply}
.support-group li span{max-width:185px;text-align:center;font-size:.78rem;font-weight:750;line-height:1.25}
.named-partner small{max-width:210px;margin-top:-.2rem;text-align:center;color:#56707a;font-size:.67rem;line-height:1.3}
.support-group li[data-logo="la-caixa"] img{max-width:145px;max-height:70px}
.support-group li[data-logo="global-payments"] img{max-width:190px;max-height:48px}
.support-group li[data-logo="unidad-parroquial"] img{max-height:52px}
.support-group li[data-logo="banc-aliments"] img{max-width:170px;max-height:50px}
.support-group li[data-logo="la-nau"] img{max-height:78px}
.support-group li[data-logo="mi-grano-arena"] img{max-width:132px;max-height:64px}
.support-group li[data-logo="santa-agnes"] img{max-height:58px}
.support-group li[data-logo="veritas"] img{max-height:66px}
.support-group li[data-logo="pont-solidari"] img{max-width:145px;max-height:58px}
.support-group li[data-logo="caritas"]{overflow:hidden}
.support-group li[data-logo="caritas"] img{max-height:72px;transform:scale(1.25)}
.support-group li[data-logo="need-u"] img{max-width:170px;max-height:54px}
.support-group li[data-logo="adep"]{overflow:hidden}
.support-group li[data-logo="adep"] img{max-height:76px;transform:scale(1.4)}
.support-group li[data-logo="fundacion-aurea"] img{max-width:165px;max-height:64px}
@media(max-width:1050px){
  .support-network-intro{grid-template-columns:1fr;grid-template-areas:"label" "title" "copy";gap:0}
  .support-network-intro>p:last-child{margin-top:1.25rem}
  .support-group{grid-template-columns:1fr;gap:.75rem}
  .support-group-donors ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .support-group-collaborators ul{grid-template-columns:repeat(4,minmax(0,1fr))}
  .support-group-donors li:nth-child(3n+1),.support-group-collaborators li:nth-child(4n+1){border-left:0}
}
@media(max-width:760px){
  .support-network{padding-top:3.5rem;padding-bottom:3.5rem}
  .support-network-intro{margin-bottom:2rem}
  .support-network-intro h2{font-size:clamp(2.35rem,12vw,3rem)}
  .support-group{padding:1.15rem .85rem;gap:.65rem}
  .support-group>p{text-align:center}
  .support-group-funders ul,.support-group-donors ul,.support-group-collaborators ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .support-group li{min-height:92px;padding:.55rem .45rem}
  .support-group li:nth-child(odd){border-left:0}
  .support-group li:nth-child(even){border-left:1px solid #edf0f2}
  .support-group-funders .named-partner{grid-column:1/-1;border-left:0;border-top:1px solid #edf0f2}
  .support-group li span{font-size:.75rem}
  .named-partner small{font-size:.65rem}
}

/* Acciones compactas: píldoras claras, táctiles y con respuesta inmediata. */
.nav-cta,.button,.text-link,.jobs-button,.job-apply,.access-login,.public-action-link,.public-actions button,.dialog-submit,.contact-actions a{
  border-radius:999px;
  min-height:46px;
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  padding:.72rem 1.05rem;
  line-height:1.15;
  text-decoration:none;
  cursor:pointer;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background-color .22s ease,color .22s ease;
  box-shadow:0 5px 0 #012f4730;
}
.nav-cta,.button,.access-login{background:var(--ink);color:#fff!important}
.text-link{border:1.5px solid var(--ink);background:transparent;color:var(--ink)}
.jobs-button,.job-apply,.dialog-submit{background:var(--red);color:#fff}
.contact-actions a{display:inline-flex;background:var(--yellow);color:var(--ink);padding:.8rem 1.1rem}
.public-actions button,.public-action-link{border:1.5px solid var(--ink);background:transparent;padding:.72rem 1.05rem;text-decoration:none}
.nav-cta:hover,.button:hover,.text-link:hover,.jobs-button:hover,.job-apply:hover,.access-login:hover,.public-action-link:hover,.public-actions button:hover,.dialog-submit:hover,.contact-actions a:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 0 #012f4738;
}
.nav-cta:active,.button:active,.text-link:active,.jobs-button:active,.job-apply:active,.access-login:active,.public-action-link:active,.public-actions button:active,.dialog-submit:active,.contact-actions a:active{
  transform:translateY(1px) scale(.98);
  box-shadow:0 2px 0 #012f4730;
}
.jobs-button span,.job-apply span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:var(--ink)}
@media(max-width:620px){
  .hero-actions{gap:.8rem}
  .nav-cta,.button,.text-link,.jobs-button,.job-apply,.access-login,.public-action-link,.public-actions button,.dialog-submit,.contact-actions a{min-height:44px;padding:.68rem .95rem}
  .menu-button{min-width:68px;min-height:44px}
  .manifesto>*{min-width:0}
  .manifesto h2{font-size:clamp(2.45rem,13vw,3.3rem);overflow-wrap:anywhere}
  .impact-intro h2,.support-network-intro h2{font-size:clamp(2.35rem,12vw,3rem);overflow-wrap:anywhere}
  .job-board-head>*{min-width:0}
  .job-board-head h2{font-size:clamp(2.35rem,12vw,3rem);overflow-wrap:anywhere}
  .contact{padding-left:20px;padding-right:20px}
  .contact h2{max-width:100%;font-size:clamp(2.75rem,13vw,4rem);line-height:.9;letter-spacing:-.06em}
  .contact-actions{width:100%}
  .contact-actions a{display:grid;width:100%;min-width:0;justify-content:start;justify-items:start;gap:.3rem;font-size:clamp(.86rem,4vw,1rem);white-space:normal;overflow-wrap:anywhere;word-break:normal}
  .contact-actions a small{display:block;max-width:100%;line-height:1.25}
}
@media(prefers-reduced-motion:reduce){.nav-cta,.button,.text-link,.jobs-button,.job-apply,.access-login,.public-action-link,.public-actions button,.dialog-submit,.contact-actions a{transition:none}}

/* Dirección y equipo: confianza institucional sin convertir la sección en un organigrama. */
.impact{padding:clamp(4.5rem,8vw,8rem) clamp(20px,8vw,140px);background:#fff;color:var(--ink)}
.impact-intro{display:grid;grid-template-columns:.55fr 1.25fr;column-gap:clamp(2rem,7vw,8rem);align-items:start;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.impact-intro .section-label{margin:0;color:var(--red)}
.impact-intro h2{margin:0;font:400 clamp(2.7rem,5.6vw,6rem)/.94 "Archivo Black";letter-spacing:-.06em}
.impact-intro h2 em{font-style:normal;color:var(--red)}
.impact-intro>p:last-child{grid-column:2;max-width:650px;margin:1.5rem 0 0;font-size:1rem;line-height:1.6;color:#45616e}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.impact-grid article{min-width:0;padding:clamp(1.4rem,2.8vw,2.6rem)}
.impact-grid article+article{border-left:1px solid #afbbc0}
.impact-grid strong,.impact-grid span,.impact-grid small{display:block}
.impact-grid strong{font:400 clamp(2.8rem,5.2vw,5.7rem)/1 "Archivo Black";letter-spacing:-.07em;color:var(--red);font-variant-numeric:tabular-nums}
.impact-grid span{margin-top:.9rem;font-size:1.05rem;font-weight:800;line-height:1.25}
.impact-grid small{margin-top:.55rem;color:#506a76;font-size:.86rem;line-height:1.45}
.impact-context{display:grid;grid-template-columns:.55fr 1.25fr;gap:clamp(2rem,7vw,8rem);padding:1.8rem 0;border-bottom:1px solid #afbbc0}
.impact-context strong{font-size:1rem;line-height:1.4;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
.impact-context p{max-width:760px;margin:0;font-size:1rem;line-height:1.65;color:#294b5a}
@media(max-width:900px){.impact-grid{grid-template-columns:repeat(2,1fr)}.impact-grid article:nth-child(3){border-left:0;border-top:1px solid #afbbc0}.impact-grid article:nth-child(4){border-top:1px solid #afbbc0}}
@media(max-width:620px){.impact-intro,.impact-context{display:block}.impact-intro h2{margin-top:1rem}.impact-intro>p:last-child{margin-top:1.2rem}.impact-grid{grid-template-columns:1fr}.impact-grid article+article,.impact-grid article:nth-child(3){border-left:0;border-top:1px solid #afbbc0}.impact-grid strong{font-size:3.6rem}.impact-context p{margin-top:1rem}}

.leadership{padding:clamp(5rem,9vw,9rem) clamp(20px,8vw,140px);background:var(--yellow);color:var(--ink)}
.leadership-intro{display:grid;grid-template-columns:.55fr 1.25fr;column-gap:clamp(2rem,7vw,8rem);align-items:start;margin-bottom:clamp(3rem,6vw,5.5rem)}
.leadership-intro .section-label{color:var(--red);margin:0}
.leadership-intro h2{margin:0;font:400 clamp(2.8rem,5.8vw,6.2rem)/.92 "Archivo Black";letter-spacing:-.065em}
.leadership-intro h2 em{font-style:normal;color:var(--red)}
.leadership-intro>p:last-child{grid-column:2;max-width:680px;margin:1.7rem 0 0;font-size:1.12rem;line-height:1.6}
.governance{padding:clamp(1.8rem,3vw,2.8rem) 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.governance h3{margin:0 0 1.6rem;font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
.governance-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.8rem)}
.governance-people article{display:grid;grid-template-columns:clamp(112px,11vw,156px) minmax(0,1fr);align-items:center;gap:clamp(1rem,1.6vw,1.4rem);min-width:0;padding:clamp(1rem,1.6vw,1.5rem);background:#fff;border:1px solid #062b3b20;box-shadow:0 12px 28px #062b3b14}
.leader-portrait{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#d8dee7;box-shadow:0 9px 18px #062b3b24}
.governance-people img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center}
.leader-ferran img{transform:translateY(-1.25%) scale(.98)}
.leader-wei img{transform:translateY(1.5%) scale(1.015)}
.governance p{margin:0;line-height:1.4}
.governance strong,.governance span{display:block}
.governance strong{font-size:clamp(1.02rem,1.25vw,1.22rem);line-height:1.2}
.governance span{margin-top:.5rem;font-size:.92rem;color:#294b5a}
.people-team{margin-top:clamp(3rem,6vw,5rem);padding:clamp(2rem,4vw,4rem);background:var(--ink);color:#fff}
.people-team-head{display:grid;grid-template-columns:.55fr 1.25fr;gap:clamp(2rem,7vw,8rem);align-items:end;margin-bottom:2.2rem}
.people-team-head .section-label{margin:0;color:var(--yellow)}
.people-team-head h3{margin:0;font:700 clamp(2rem,4vw,4.2rem)/1 "DM Sans";letter-spacing:-.045em}
.people-team-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.45)}
.people-team-grid article{padding:1.8rem 1.8rem 0 0}
.people-team-grid article+article{padding-left:1.8rem;border-left:1px solid rgba(255,255,255,.25)}
.people-team-grid span{display:block;margin-bottom:1rem;color:var(--yellow);font-size:.82rem;font-weight:800;letter-spacing:.08em}
.people-team-grid p{margin:0;font-size:1.05rem;line-height:1.65}
@media(max-width:1180px){.governance-people article{grid-template-columns:100px 1fr;padding:1rem}}
@media(max-width:900px){.governance-people{grid-template-columns:1fr}.governance-people article{grid-template-columns:clamp(104px,18vw,136px) 1fr}.governance-people{gap:1rem}}
@media(max-width:800px){.leadership-intro{display:block}.leadership-intro h2{margin:1rem 0}.leadership-intro>p:last-child{margin-top:1.4rem}.people-team-head{display:block}.people-team-grid{grid-template-columns:1fr}.people-team-grid article{padding:1.5rem 0}.people-team-grid article+article{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.25)}}
@media(max-width:390px){.leadership{padding-left:16px;padding-right:16px}.governance-people article{grid-template-columns:94px minmax(0,1fr);gap:.85rem;padding:.8rem}.governance strong{font-size:1rem}.governance span{font-size:.86rem}.people-team{padding:1.5rem}.site-nav a{font-size:1rem}}

/* Información legal permanente, legible y sin ventanas invasivas. */
.legal{padding:clamp(4rem,7vw,7rem) clamp(20px,8vw,140px);background:#f3f0e8;color:var(--ink)}
.legal>.section-label{color:var(--red)}
.legal>h2{margin:1rem 0 clamp(2rem,4vw,3.5rem);font:400 clamp(2.8rem,5.2vw,5.8rem)/.92 "Archivo Black";letter-spacing:-.06em}
.legal-grid{border-top:2px solid var(--ink)}
.legal details{border-bottom:1px solid #8d9ba1}
.legal summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;cursor:pointer;font-size:1.1rem;font-weight:800;list-style:none}
.legal summary::-webkit-details-marker{display:none}.legal summary span{font-size:1.8rem;transition:transform .2s}.legal details[open] summary span{transform:rotate(45deg)}
.legal details>div{max-width:880px;padding:0 0 1.8rem;line-height:1.65}.legal details p{margin:.65rem 0}.legal a{text-underline-offset:.2rem}
footer nav{justify-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}footer nav a{color:#fff}
@media(max-width:620px){footer nav{justify-self:start;justify-content:flex-start}}
.station-service-link{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:1.5rem;padding:.75rem 1rem;border:2px solid currentColor;border-radius:999px;color:inherit;font-weight:800;text-decoration:none}.station-service-link:hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* Información esencial visible desde el primer momento. */
.hero:has(.welcome-card){padding-top:clamp(40px,4vw,64px);padding-bottom:clamp(40px,4vw,64px)}.hero:has(.welcome-card) .hero-copy{width:min(780px,62vw)}.hero:has(.welcome-card) h1{margin:1.25rem 0;font-size:clamp(3.6rem,5.2vw,6rem)}
.welcome-card{width:min(100%,570px);margin-top:1.25rem;padding:1.15rem 1.25rem;color:var(--ink);background:rgba(255,255,255,.96);border-left:6px solid var(--yellow);box-shadow:0 14px 35px rgba(6,43,59,.22)}
.welcome-card h2{margin:0 0 .85rem;font:400 clamp(1.2rem,1.8vw,1.55rem)/1.1 "Archivo Black";letter-spacing:-.03em}
.welcome-card dl{display:grid;gap:.55rem;margin:0}.welcome-card dl div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:.7rem}.welcome-card dt{font-weight:800}.welcome-card dd{margin:0}.welcome-card a{display:inline-flex;align-items:center;color:var(--ink);font-weight:750;text-underline-offset:.2em}.welcome-card>p{margin:.8rem 0 0;padding-top:.8rem;border-top:1px solid rgba(6,43,59,.22);font-weight:700;line-height:1.4}

/* Empleo permanente con acceso a la bolsa dinámica y orientación personal. */
.jobs-access,.jobs-photo,.jobs-copy{min-width:0;max-width:100%}.jobs-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.jobs-actions .jobs-button{margin-top:0}.jobs-button-secondary{border:2px solid #fff;background:transparent;box-shadow:none}.jobs-button-secondary:hover,.jobs-button-secondary:focus-visible{background:#fff;color:var(--ink)}

/* Dos rutas de contacto claras según la persona que visita la web. */
.contact-route{min-height:auto}.contact-route h2{margin:3rem 0 clamp(2.5rem,5vw,4.5rem)}
.contact-route-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem)}
.contact-route-card{display:flex;flex-direction:column;min-width:0;padding:clamp(1.4rem,3.5vw,2.5rem);color:var(--ink);background:rgba(255,255,255,.97);border-top:7px solid var(--yellow)}
.contact-route-card.institutional{border-top-color:var(--red)}.contact-route-label{margin:0 0 1rem;color:var(--red);font-size:.75rem;font-weight:800;letter-spacing:.12em}.contact-route-card h3{margin:0 0 1rem;font:400 clamp(1.75rem,3vw,2.65rem)/1.05 "Archivo Black";letter-spacing:-.04em}.contact-route-card>p:not(.contact-route-label){margin:.25rem 0;line-height:1.6}.contact-route-card ul{margin:1rem 0 1.5rem;padding-left:1.25rem;line-height:1.65}.contact-route-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:auto}.contact-route-button,.contact-route-email{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1rem;color:var(--ink);border:2px solid var(--ink);text-decoration:none;font-weight:800}.contact-route-button.primary{color:#fff;background:var(--ink)}.contact-route-email{min-height:44px;padding:.65rem 0;border:0;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}

/* Redes visibles sin recargar la cabecera de escritorio. */
.site-nav .nav-social-link{display:none}footer nav a,.footer-social-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.45rem .2rem;text-underline-offset:.2em}
.footer-links .footer-icon-link{justify-content:flex-start;gap:.55rem;padding:.45rem .7rem .45rem .5rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;text-decoration:none;font-weight:750;transition:background-color .2s,border-color .2s,transform .2s}.footer-links .footer-icon-link:hover{background:rgba(255,255,255,.1);border-color:#fff;transform:translateY(-2px)}.footer-icon{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 2rem;color:var(--ink);background:var(--cream);border-radius:50%}.footer-icon-social{color:#fff;background:var(--red)}.footer-icon svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-icon .icon-fill{fill:currentColor;stroke:none}

/* Controles táctiles y foco visible WCAG AA. */
:is(.menu-button,.site-nav a,.button,.jobs-button,.job-apply,.contact-route-button,.contact-route-email,.footer-social-link,.welcome-card a){min-height:44px}
:is(.menu-button,.site-nav a,.button,.jobs-button,.job-apply,.contact-route-button,.contact-route-email,.footer-social-link,.welcome-card a):focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.feature-card a,.job-board-footer a,.b-card-footer a,.job-more summary{display:inline-flex;align-items:center;min-height:44px}

@media(max-width:980px){.site-nav .nav-social-link{display:flex;align-items:center;padding-top:.75rem;border-top:1px solid rgba(6,43,59,.18);font-size:1rem;font-weight:750}.jobs-actions{width:100%}.contact-route-grid{grid-template-columns:1fr}}
@media(max-width:620px){.course-announcement{padding:.75rem 20px}.course-announcement span{display:none}.hero:has(.welcome-card){min-height:820px;padding-top:2rem;padding-bottom:3rem}.hero:has(.welcome-card) .hero-copy{width:100%}.hero:has(.welcome-card) h1{margin:1rem 0;font-size:2.8rem}.hero:has(.welcome-card) .hero-actions{margin-top:1rem}.welcome-card{padding:.9rem 1rem}.welcome-card dl div{grid-template-columns:72px minmax(0,1fr);gap:.55rem}.jobs-actions,.jobs-actions .jobs-button,.contact-route-actions,.contact-route-button{width:100%}.jobs-actions .jobs-button{align-self:stretch;justify-content:space-between}.contact-route h2{margin:2.5rem 0}.contact-route-card{padding:1.25rem}.contact-route-button{justify-content:flex-start}.footer-links .footer-icon-link{width:auto}.site-nav .nav-social-link{width:100%}}

/* Información práctica visible que coincide con el marcado FAQ. */
.home-faq{padding:clamp(5rem,9vw,9rem) clamp(20px,8vw,140px);background:#fff;color:var(--ink)}.home-faq>h2{font-size:clamp(3.2rem,7vw,7rem);margin:1.5rem 0 3rem}.home-faq>div{max-width:900px;margin-left:auto}.home-faq details{padding:1.4rem 0;border-top:1px solid #012f4740}.home-faq summary{cursor:pointer;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:850}.home-faq p{max-width:720px}.footer-local{grid-column:1/-1;margin:0;padding-top:1.5rem;border-top:1px solid #ffffff40;color:#dbe8ec;line-height:1.6}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
