@font-face{font-family:Lufga;src:url("assets/fonts/lufga-regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Lufga;src:url("assets/fonts/lufga-semibold.ttf") format("truetype");font-weight:600;font-display:swap}
:root{font-family:Lufga,Arial,sans-serif;--blue:#0877b9;--deep:#052f4c;--yellow:#ffc515;--cyan:#20b9e7;--orange:#ff7a18}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#062f4d;color:#fff}a{color:inherit}.back{position:fixed;z-index:20;top:1.1rem;left:1.1rem;padding:.72rem .9rem;background:#fff;color:#07314c;font-size:.72rem;font-weight:600;text-decoration:none;box-shadow:0 .4rem 1.5rem #00162835}.back--dark{background:#052f4c;color:#fff;border:1px solid #ffffff40}

/* Selector */
.gallery-page{min-height:100svh;padding:clamp(2rem,5vw,5rem);background:#f2f6f8;color:#102f40}.gallery-header{display:grid;grid-template-columns:8rem 1fr;align-items:center;gap:2rem;max-width:80rem;margin:0 auto 2.5rem}.gallery-header img{width:7rem;height:7rem;object-fit:contain;padding:.8rem;background:#0877b9}.gallery-header p,.gallery-card p{text-transform:uppercase;letter-spacing:.13em;font-size:.69rem;font-weight:600}.gallery-header p{margin:0 0 .5rem;color:#0877b9}.gallery-header h1{margin:0;font-size:clamp(2.4rem,5vw,5rem);line-height:.92;letter-spacing:-.055em}.gallery-header span{display:block;margin-top:.8rem;color:#56717e}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:80rem;margin:auto}.gallery-card{position:relative;min-height:30rem;display:flex;align-items:flex-end;padding:2rem;overflow:hidden;text-decoration:none;isolation:isolate}.gallery-card:before,.gallery-card:after{content:"";position:absolute;inset:0}.gallery-card:before{z-index:-2;background-size:cover;background-position:center;transition:transform .5s ease}.gallery-card:after{z-index:-1;background:linear-gradient(transparent 20%,#021d31e8 88%)}.gallery-card:hover:before{transform:scale(1.04)}.gallery-card--essential:before{background-image:url("assets/images/vecinos.jpg")}.gallery-card--postcard:before{background-image:url("assets/images/turismo.jpg")}.gallery-card--civic:before{background-image:linear-gradient(#0877b9bb,#0877b9bb),url("assets/images/vecinos.jpg")}.gallery-number{position:absolute;top:1.4rem;right:1.4rem;font-size:.7rem;letter-spacing:.15em}.gallery-card p{margin:0 0 .5rem;color:#8be9ff}.gallery-card h2{margin:0;font-size:clamp(2.5rem,4vw,4.3rem);letter-spacing:-.06em}.gallery-card div>span{display:block;max-width:17rem;margin-top:.65rem;color:#d8e8ee;line-height:1.5}.gallery-card b{display:inline-block;margin-top:1.3rem;padding-bottom:.3rem;border-bottom:2px solid var(--yellow);font-size:.78rem}

/* Esencial */
.essential{position:relative;min-height:100svh;display:grid;place-items:center;padding:8rem 2rem 3rem;isolation:isolate;background:var(--portal-background,url("assets/images/vecinos.jpg")) center/cover}.essential:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(#001b2e80,#001b2eaa),radial-gradient(circle at center,#0877b922,#001523cc)}.essential-brand{position:absolute;top:1.6rem;left:50%;transform:translateX(-50%)}.essential-brand img{width:8rem;height:7rem;object-fit:contain}.essential-copy{text-align:center}.essential-copy>p{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#a2e9ff}.essential h1{margin:0;font-size:clamp(3.4rem,7.5vw,8rem);line-height:.82;letter-spacing:-.065em;text-wrap:balance}.essential-copy>span{display:block;margin:1.3rem 0 2rem;color:#e6f2f6}.essential nav{display:grid;grid-template-columns:repeat(2,minmax(16rem,20rem));justify-content:center;gap:.75rem;text-align:left}.essential nav a{position:relative;display:grid;padding:1.1rem 3rem 1.1rem 1.2rem;background:#fff;color:#092f46;text-decoration:none}.essential nav a+ a{background:var(--yellow)}.essential nav small{font-size:.65rem;color:#58717e}.essential nav strong{margin-top:.25rem;font-size:1.15rem}.essential nav b{position:absolute;right:1.1rem;top:50%;font-size:1.3rem;transform:translateY(-50%)}

/* Postal */
.postcard{position:relative;min-height:100svh;padding:2rem clamp(1.3rem,4vw,4rem) 2.5rem;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;background:url("assets/images/turismo.jpg") 62% center/cover}.postcard:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#001d32c7 0%,#00243a45 55%,transparent 100%),linear-gradient(0deg,#0018278c,transparent 50%)}.postcard header{display:flex;justify-content:flex-end;align-items:center;gap:1.2rem}.postcard header img{width:7rem;height:6rem;object-fit:contain}.postcard header p{max-width:10rem;margin:0;font-size:.68rem;line-height:1.4;text-transform:uppercase;letter-spacing:.12em}.postcard-title p{margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#9be9ff}.postcard-title h1{margin:0;font-size:clamp(5rem,11vw,11rem);line-height:.7;letter-spacing:-.08em}.postcard nav{align-self:flex-end;display:grid;grid-template-columns:repeat(2,minmax(17rem,23rem));gap:1px;background:#ffffff55}.postcard nav a{position:relative;display:grid;grid-template-columns:2rem 1fr 2rem;align-items:center;gap:1rem;padding:1.4rem;background:#fff;color:#0b334a;text-decoration:none}.postcard nav a+ a{background:#0877b9;color:#fff}.postcard nav>a>span{font-size:.65rem;letter-spacing:.13em}.postcard nav div{display:grid}.postcard nav small{font-size:.66rem;opacity:.7}.postcard nav strong{margin-top:.2rem;font-size:1.15rem}.postcard nav b{font-size:1.3rem}

/* Institucional */
.civic{min-height:100svh;display:grid;grid-template-columns:minmax(27rem,43%) 1fr}.civic-copy{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:2rem clamp(2rem,5vw,5rem) 3.5rem;background:#0877b9;overflow:hidden}.civic-copy:after{content:"";position:absolute;width:24rem;height:24rem;right:-15rem;top:22%;border:4rem solid #17b7e4;border-radius:50%;opacity:.55}.civic-copy>img{position:relative;z-index:2;width:8rem;height:7.5rem;object-fit:contain}.civic-copy>div,.civic-copy nav{position:relative;z-index:2}.civic-copy>div>p{margin:0 0 .8rem;color:var(--yellow);text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.civic-copy h1{max-width:9ch;margin:0;font-size:clamp(3.2rem,5.5vw,6rem);line-height:.84;letter-spacing:-.065em}.civic-copy>div>span{display:block;max-width:31rem;margin-top:1.4rem;color:#d8eef8;line-height:1.55}.civic-copy nav{display:grid;gap:.55rem;margin-top:2rem}.civic-copy nav a{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border:1px solid #ffffff80;text-decoration:none}.civic-copy nav a:first-child{background:var(--yellow);border-color:var(--yellow);color:#093047}.civic-copy nav span{display:grid}.civic-copy nav small{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.civic-copy nav strong{margin-top:.18rem;font-size:1.05rem}.civic-copy nav b{font-size:1.4rem}.civic-photo{position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:2.5rem;background:url("assets/images/vecinos.jpg") center/cover;isolation:isolate}.civic-photo:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(transparent 52%,#001b2d9e)}.civic-photo>span{font-size:clamp(3rem,7vw,8rem);font-weight:600;line-height:.8;letter-spacing:-.07em}.civic-photo>p{margin:0;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem}

@media(max-width:850px){.gallery-grid{grid-template-columns:1fr}.gallery-card{min-height:22rem}.civic{grid-template-columns:1fr}.civic-copy{min-height:62svh;padding-top:5.5rem}.civic-photo{min-height:38svh}.postcard nav{grid-template-columns:1fr}.postcard-title{margin-top:auto;margin-bottom:2rem}.essential nav{grid-template-columns:1fr;width:min(100%,24rem)}}
@media(max-width:580px){.back{top:.65rem;left:.65rem}.gallery-page{padding:1.2rem}.gallery-header{grid-template-columns:4.5rem 1fr;gap:1rem;padding-top:2rem}.gallery-header img{width:4.5rem;height:4.5rem}.gallery-card{min-height:19rem}.essential{padding:7rem 1rem 1rem}.essential-brand img{width:6rem;height:5rem}.essential h1{font-size:3.5rem}.essential nav a{padding:.85rem 2.5rem .85rem 1rem}.postcard{padding:4.8rem 1rem 1rem}.postcard header{display:none}.postcard-title h1{font-size:5rem}.postcard nav{width:100%}.postcard nav a{padding:1rem}.civic-copy{padding:5rem 1.2rem 1.3rem}.civic-copy>img{width:6rem;height:5.5rem}.civic-copy h1{font-size:3.35rem}.civic-photo{min-height:32svh;padding:1.2rem}.civic-photo>span{font-size:3.2rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* El contenido visible replica la portada original; las diferencias son solo de composición. */
.essential nav{margin-top:2rem}.essential nav strong{margin-top:0}.postcard header{gap:0}.postcard-title h1{max-width:9ch;font-size:clamp(4rem,8vw,8rem);line-height:.78}.postcard nav strong{margin-top:0}.civic-copy nav strong{margin-top:0}
