@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;src:url('fonts/dm-serif-display-italic.ttf') format('truetype');font-display:swap}@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;src:url('fonts/dm-serif-display.ttf') format('truetype');font-display:swap}@font-face{font-family:'Manrope';font-style:normal;font-weight:400;src:url('fonts/manrope-400.ttf') format('truetype');font-display:swap}@font-face{font-family:'Manrope';font-style:normal;font-weight:500;src:url('fonts/manrope-500.ttf') format('truetype');font-display:swap}@font-face{font-family:'Manrope';font-style:normal;font-weight:600;src:url('fonts/manrope-600.ttf') format('truetype');font-display:swap}@font-face{font-family:'Manrope';font-style:normal;font-weight:700;src:url('fonts/manrope-700.ttf') format('truetype');font-display:swap}@font-face{font-family:'Manrope';font-style:normal;font-weight:800;src:url('fonts/manrope-800.ttf') format('truetype');font-display:swap}
/* Cartografía Viva: azules de rambla, caliza luminosa y acentos de secano para un diario territorial sobrio y contemporáneo. */







:root { --background: #f7f4ec; --foreground: #172b37; --primary: #153f59; --primary-foreground: #fffdf8; --border: #d9d3c6; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--foreground); font-family: "Manrope", sans-serif; font-size: 15px; line-height: 1.55; }
body, button, input, textarea { font-family: "Manrope", sans-serif; }
button, input, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -0.04em; }
.container { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.site-shell { overflow: clip; }
.sale-strip { background: #dfa52a; color: #182f3d; font-size: 11px; letter-spacing: 0.01em; }
.sale-strip-inner { width: min(1240px, calc(100% - 48px)); min-height: 36px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.sale-strip strong { font-weight: 800; }
.sale-link { font-weight: 800; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
.site-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid #d9d3c6; background: rgba(247, 244, 236, 0.96); backdrop-filter: blur(14px); }
.header-inner { width: min(1240px, calc(100% - 48px)); height: 78px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: grid; grid-template-columns: 39px auto; grid-template-rows: 30px 13px; align-items: center; column-gap: 9px; flex: 0 0 auto; }
.brand-mark { width: 38px; height: 38px; grid-row: span 2; object-fit: contain; }
.brand-word { font: 31px/0.95 "DM Serif Display", serif; letter-spacing: -0.06em; }
.brand-sub { font-size: 8px; letter-spacing: .18em; font-weight: 800; color: #60717a; }
.desktop-nav { height: 100%; display: flex; align-items: center; gap: 21px; }
.nav-link { height: 100%; display: flex; align-items: center; font-size: 12px; font-weight: 700; color: #4b5d66; position: relative; white-space: nowrap; }
.nav-link::after { content: ""; width: 0; height: 2px; position: absolute; bottom: -1px; left: 0; background: #153f59; transition: width .18s var(--ease-out, ease-out); }
.nav-link:hover, .nav-link.is-active { color: #153f59; }
.nav-link:hover::after, .nav-link.is-active::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 13px; }
.live-status { font-size: 11px; font-weight: 800; color: #153f59; text-transform: uppercase; letter-spacing: .08em; display: flex; align-items: center; gap: 6px; }
.live-status span, .ticker-label i, .subsection-heading i { width: 7px; height: 7px; background: #dc532d; border-radius: 50%; display: inline-block; }
.icon-button { background: transparent; border: 0; padding: 4px; color: #153f59; display: grid; place-items: center; }
.mobile-menu { display: none; }
.mobile-nav { display: none; }
.home-ticker { border-bottom: 1px solid #d9d3c6; background: #fffdf8; }
.ticker-inner { min-height: 42px; display: flex; align-items: center; gap: 20px; font-size: 11px; }
.ticker-label { color: #153f59; font-weight: 800; letter-spacing: .11em; display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.ticker-inner p { margin: 0; color: #5c6c73; flex: 1; }
.ticker-inner p a { font-weight: 800; color: #153f59; display: inline-flex; gap: 5px; align-items: center; }
.ticker-date { font-size: 10px; letter-spacing: .1em; color: #819098; }
.home-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(285px, .7fr); gap: 34px; padding-top: 36px; padding-bottom: 78px; }
.hero-story { min-height: 570px; position: relative; overflow: hidden; background: #153f59; }
.hero-story > img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; filter: saturate(.8); }
.hero-caption-card { position: absolute; left: 0; bottom: 0; width: min(88%, 650px); padding: 29px 33px 31px; background: #fffdf8; }
.eyebrow { color: #a35c1e; font-size: 10px; font-weight: 800; letter-spacing: .15em; margin-bottom: 11px; }
.eyebrow.light { color: #edc86a; }
.hero-caption-card .eyebrow span { color: #aebac0; margin: 0 4px; }
.hero-caption-card h1 { max-width: 570px; font: 46px/1.02 "DM Serif Display", serif; margin-bottom: 14px; color: #173447; }
.hero-caption-card p:not(.eyebrow) { max-width: 580px; color: #51626b; margin-bottom: 18px; }
.text-link { color: #153f59; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; gap: 7px; border-bottom: 1px solid #153f59; padding-bottom: 3px; }
.text-link.dark { color: #173447; border-color: #173447; }
.hero-rail { border-top: 2px solid #153f59; }
.rail-title { height: 53px; display: flex; align-items: center; gap: 12px; color: #153f59; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.rail-line { height: 1px; background: #d9d3c6; flex: 1; }
.editorial-card { background: #fffdf8; transition: transform .18s ease-out, box-shadow .18s ease-out; }
.editorial-card:hover { transform: translateY(-3px); box-shadow: 0 11px 22px rgba(22, 56, 76, .08); }
.editorial-card.compact { background: transparent; box-shadow: none; transform: none; border-top: 1px solid #d9d3c6; padding: 18px 0; }
.editorial-card.compact:first-of-type { border-top: 0; }
.card-image-wrap { display: block; overflow: hidden; aspect-ratio: 1.44; }
.card-image { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.editorial-card:hover .card-image { transform: scale(1.035); }
.card-content { padding: 19px 20px 18px; }
.compact .card-content { padding: 0; }
.story-meta { display: flex; gap: 9px; align-items: center; font-size: 10px; color: #708087; margin-bottom: 10px; }
.place-pill { font-size: 9px; color: #153f59; font-weight: 800; letter-spacing: .12em; background: #e4edf0; padding: 4px 6px; }
.editorial-card h3 { font: 25px/1.08 "DM Serif Display", serif; margin-bottom: 9px; color: #173447; }
.compact h3 { font-size: 21px; }
.editorial-card p { font-size: 12px; color: #66757d; line-height: 1.55; }
.card-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 17px; font-size: 10px; color: #7b888e; }
.card-bottom span { display: flex; align-items: center; gap: 4px; }
.card-arrow { width: 31px; height: 31px; display: grid; place-items: center; color: #153f59; border: 1px solid #c4d3d7; border-radius: 50%; transition: background .18s ease, color .18s ease; }
.card-arrow:hover { background: #153f59; color: white; }
.rail-all { color: #153f59; display: flex; gap: 7px; align-items: center; font-size: 12px; font-weight: 800; padding-top: 7px; }
.municipal-strip { background: #153f59; color: white; padding: 73px 0 77px; position: relative; }
.municipal-strip::before, .footer-map-line { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: repeating-linear-gradient(90deg, #d8a52c 0 32px, transparent 32px 45px); opacity: .9; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 32px; }
.section-heading h2, .agenda-top h2 { font: 42px/1 "DM Serif Display", serif; color: #173447; margin: 0; }
.section-heading h2 em, .agenda-top h2 em, .field-copy h2 em, .economy-intro h2 em, .municipality-copy h2 em, .living-hero h2 em, .sale-hero h1 em, .sale-overview h2 em, .sale-asset h2 em, .sale-contact h2 em { font-style: italic; font-weight: 400; }
.municipal-strip .section-heading h2 { color: #fffdf8; }
.section-note { max-width: 290px; margin: 0; color: #718087; font-size: 13px; }
.municipal-grid { display: grid; grid-template-columns: repeat(6, 1fr); }
.municipal-card { min-height: 185px; padding: 19px 16px 15px; border: solid rgba(255,255,255,.19); border-width: 1px 0 1px 1px; display: flex; flex-direction: column; transition: background .18s ease; }
.municipal-card:last-child { border-right: 1px solid rgba(255,255,255,.19); }
.municipal-card:hover { background: rgba(255,255,255,.08); }
.municipal-number { color: #e9bd52; font-size: 10px; letter-spacing: .1em; }
.municipal-card h3 { font: 25px/1 "DM Serif Display", serif; margin: auto 0 7px; }
.municipal-card p { color: #b7c6cc; font-size: 11px; margin-bottom: 13px; }
.municipal-card > span:last-child { color: #e9bd52; font-size: 10px; display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.main-editorial { padding: 87px 0 95px; }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.field-feature { background: #244f56; color: white; padding: 70px 0; }
.field-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 8vw; align-items: center; }
.field-visual { position: relative; min-height: 390px; }
.field-visual img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.field-stamp { position: absolute; left: -10px; bottom: 25px; padding: 12px; background: #e1b04c; color: #173447; font-size: 10px; font-weight: 800; letter-spacing: .1em; line-height: 1.3; }
.field-copy { padding: 24px 0; }
.field-copy h2, .economy-intro h2 { font: 48px/1.03 "DM Serif Display", serif; margin-bottom: 18px; color: white; }
.field-copy > p:not(.eyebrow), .economy-intro > p { max-width: 490px; color: #d6e0dd; font-size: 14px; }
.data-row { display: flex; gap: 26px; border-top: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); padding: 18px 0; margin: 27px 0; }
.data-row div { display: flex; flex-direction: column; }
.data-row strong { font: 31px/1 "DM Serif Display", serif; color: #e9bd52; }
.data-row span { color: #c8d6d3; font-size: 10px; max-width: 95px; margin-top: 4px; }
.button-light, .button-ink { border: 0; display: inline-flex; align-items: center; gap: 9px; padding: 12px 15px; font-size: 11px; font-weight: 800; transition: transform .16s ease, background .16s ease; }
.button-light { color: #173447; background: #fffdf8; }
.button-ink { color: #fffdf8; background: #153f59; }
.button-ink:hover, .button-light:hover { transform: translateY(-2px); }
.agenda-home { padding: 91px 0 82px; }
.agenda-top { display: flex; justify-content: space-between; align-items: end; margin-bottom: 31px; }
.agenda-list { border-top: 1px solid #c8c2b6; }
.agenda-row { min-height: 80px; display: grid; grid-template-columns: 70px 115px 1fr 230px 28px; align-items: center; gap: 16px; padding: 13px 3px; border-bottom: 1px solid #d9d3c6; transition: padding .18s ease, background .18s ease; }
.agenda-row:hover { padding-left: 10px; background: #f0ece2; }
.calendar-date { display: flex; flex-direction: column; line-height: 1; }
.calendar-date b { font: 29px/1 "DM Serif Display", serif; color: #153f59; }
.calendar-date span { font-size: 9px; letter-spacing: .11em; font-weight: 800; color: #aa6123; margin-top: 4px; }
.agenda-type { font-size: 10px; font-weight: 800; letter-spacing: .09em; color: #aa6123; }
.agenda-row h3 { font: 21px/1.05 "DM Serif Display", serif; margin: 0; }
.agenda-place { color: #6c7a80; display: flex; align-items: center; gap: 5px; font-size: 11px; }
.agenda-arrow { color: #153f59; }
.membership-band { background: #e1b04c; padding: 31px 0; }
.membership-inner { display: grid; grid-template-columns: 68px 1fr auto; align-items: center; gap: 22px; }
.membership-icon { width: 55px; height: 55px; border: 1px solid rgba(23,52,71,.42); border-radius: 50%; display: grid; place-items: center; color: #153f59; }
.membership-band .eyebrow { color: #745420; margin-bottom: 4px; }
.membership-band h2 { font: 28px/1 "DM Serif Display", serif; margin: 0 0 5px; }
.membership-band p:not(.eyebrow) { margin: 0; color: #5d522e; font-size: 12px; }
.portal-cta { padding: 78px 0 100px; display: grid; grid-template-columns: 90px 1fr 350px; gap: 29px; align-items: center; }
.portal-cta-mark { width: 64px; height: 64px; border-radius: 50%; border: 1px solid #9baeb4; display: grid; place-items: center; color: #153f59; }
.portal-cta h2 { font: 39px/1 "DM Serif Display", serif; margin: 0; }
.portal-cta h2 em { font-style: italic; font-weight: 400; }
.portal-cta-copy p { font-size: 13px; color: #66757d; margin-bottom: 13px; }
.page-wrap { padding-top: 55px; padding-bottom: 93px; }
.page-intro { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 65px; padding: 0 0 44px; border-bottom: 2px solid #153f59; }
.page-intro h1 { font: 58px/.98 "DM Serif Display", serif; color: #173447; margin: 0 0 18px; max-width: 760px; }
.intro-copy { max-width: 640px; color: #5e6d74; font-size: 15px; margin: 0; }
.page-intro-aside { align-self: end; }
.intro-stat { border-left: 1px solid #c2cbc9; padding-left: 17px; display: flex; flex-direction: column; }
.intro-stat b { color: #153f59; font: 45px/1 "DM Serif Display", serif; }
.intro-stat span { color: #65757b; font-size: 11px; max-width: 150px; }
.section-rule { padding: 38px 0 72px; }
.feature-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 27px; }
.editorial-card.feature { display: grid; grid-template-columns: 1.1fr .9fr; }
.feature .card-image-wrap { aspect-ratio: auto; min-height: 385px; }
.feature .card-content { padding: 28px; align-self: end; }
.feature h3 { font-size: 38px; }
.pulse-panel { background: #e5eceb; padding: 29px 28px; }
.pulse-panel h2 { font: 31px/1.05 "DM Serif Display", serif; margin-bottom: 18px; }
.pulse-link { display: grid; grid-template-columns: 28px 1fr 18px; gap: 9px; padding: 14px 0; border-top: 1px solid #bccbc9; align-items: center; }
.pulse-link span { color: #a75e23; font-size: 10px; font-weight: 800; }
.pulse-link p { margin: 0; font: 17px/1.1 "DM Serif Display", serif; }
.pulse-panel .button-ink { margin-top: 22px; }
.feed-section { padding-top: 6px; }
.subsection-heading { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; border-bottom: 1px solid #c9c2b7; }
.subsection-heading h2 { margin: 0; font: 27px/1 "DM Serif Display", serif; }
.subsection-heading > span { font-size: 10px; color: #a7582c; font-weight: 800; display: flex; align-items: center; gap: 6px; letter-spacing: .1em; }
.feed-story { display: grid; grid-template-columns: 115px 1fr 34px; gap: 21px; align-items: center; padding: 21px 0; border-bottom: 1px solid #d9d3c6; }
.feed-time { font-size: 10px; color: #79888e; display: flex; gap: 5px; align-items: center; }
.feed-story .eyebrow { margin-bottom: 6px; }
.feed-story h3 { margin: 0 0 5px; font: 25px/1.05 "DM Serif Display", serif; }
.feed-story p:not(.eyebrow) { margin: 0; color: #697980; font-size: 12px; }
.municipality-hero { margin: 38px 0 80px; display: grid; grid-template-columns: 1.15fr .85fr; background: #e3eceb; }
.municipality-map { min-height: 365px; position: relative; overflow: hidden; background: #163e57; background-image: linear-gradient(30deg, transparent 46%, rgba(238,202,107,.23) 47%, rgba(238,202,107,.23) 49%, transparent 50%), linear-gradient(132deg, transparent 35%, rgba(255,255,255,.08) 36%, rgba(255,255,255,.08) 37%, transparent 38%); }
.map-path { position: absolute; width: 120%; height: 130px; border-top: 4px solid #e0b147; border-radius: 50%; transform: rotate(13deg); top: 115px; left: -45px; }
.map-dot { position: absolute; color: #fffdf8; font-size: 10px; font-weight: 800; background: #ae6324; padding: 5px 8px; }
.dot-one { left: 37%; top: 48%; }.dot-two { left: 56%; top: 30%; }.dot-three { left: 68%; top: 17%; }.dot-four { left: 17%; top: 62%; }.dot-five { left: 15%; top: 82%; }
.map-caption { position: absolute; bottom: 18px; left: 20px; color: #c9d8dc; font-size: 10px; display: flex; gap: 6px; align-items: center; letter-spacing: .08em; }
.municipality-copy { padding: 42px 40px; }
.municipality-copy h2 { font: 36px/1.02 "DM Serif Display", serif; margin-bottom: 15px; }
.municipality-copy > p:not(.eyebrow) { color: #576b72; font-size: 13px; }
.topic-cloud { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }.topic-cloud span { padding: 5px 8px; border: 1px solid #b6c6c5; font-size: 10px; color: #294a59; }
.town-catalog { padding-top: 7px; }.town-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #d1cbc0; border: 1px solid #d1cbc0; }
.town-card { min-height: 225px; padding: 18px; background: #fffdf8; position: relative; display: flex; flex-direction: column; transition: background .2s ease; }.town-card:hover { background: #f1ece0; }
.town-index { color: #aa6123; font-size: 10px; font-weight: 800; margin-bottom: auto; }.town-card > svg { color: #153f59; margin-bottom: 22px; }.town-card h3 { margin: 0 0 4px; font: 27px/1 "DM Serif Display", serif; }.town-card p { color: #68777d; font-size: 11px; margin: 0 0 15px; }.town-card > div { display: flex; justify-content: space-between; align-items: center; font-size: 10px; color: #6d7c81; }.town-card > div a { color: #153f59; }
.field-page-feature { position: relative; min-height: 500px; overflow: hidden; margin: 38px 0 40px; }.field-page-feature > img { width: 100%; height: 500px; object-fit: cover; filter: saturate(.8); }.field-page-card { position: absolute; right: 0; bottom: 0; width: min(48%, 500px); padding: 30px; background: #fffdf8; }.field-page-card h2 { font: 37px/1.04 "DM Serif Display", serif; margin-bottom: 13px; }.field-page-card p:not(.eyebrow) { color: #65767c; font-size: 13px; }
.insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 42px 0 85px; }.insight-card { border-top: 2px solid #244f56; padding: 20px 0; }.insight-card > svg { color: #244f56; margin-bottom: 28px; }.insight-card h3 { font: 26px/1 "DM Serif Display", serif; margin-bottom: 8px; }.insight-card p:not(.eyebrow) { color: #68777e; font-size: 12px; max-width: 280px; }.insight-card a { font-size: 11px; color: #153f59; font-weight: 800; display: inline-flex; gap: 5px; align-items: center; margin-top: 13px; }
.split-stories { border-top: 1px solid #c9c1b4; padding-top: 32px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 50px; }.split-stories h2 { font: 36px/1 "DM Serif Display", serif; }.split-stories h2 em { font-style: italic; font-weight: 400; }.split-story-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.split-story-list .editorial-card { border-top: 1px solid #c9c1b4; }.split-story-list .compact { padding-top: 12px; }
.economy-signal { margin: 38px 0 79px; background: #153f59; color: white; padding: 53px; display: grid; grid-template-columns: 1fr .85fr; gap: 45px; }.economy-icons { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 12px; }.economy-icons div { min-height: 148px; border: 1px solid rgba(255,255,255,.22); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; color: #f1ce73; }.economy-icons span { font-size: 10px; color: #d3e0e2; letter-spacing: .1em; }
.business-directory { margin-bottom: 84px; }.profile-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: #d1cbc0; border: 1px solid #d1cbc0; }.profile-card { display: grid; grid-template-columns: 50px 1fr 28px; gap: 15px; padding: 21px; background: #fffdf8; align-items: center; }.profile-icon { background: #dce7e5; color: #153f59; height: 43px; width: 43px; border-radius: 50%; display: grid; place-items: center; font: 22px "DM Serif Display", serif; }.profile-card h3 { font: 26px/1 "DM Serif Display", serif; margin: 0 0 5px; }.profile-card p:not(.eyebrow) { font-size: 11px; color: #64747a; margin: 0; }.profile-card .eyebrow { margin-bottom: 5px; font-size: 8px; }.profile-card > a { color: #153f59; }
.sponsor-module { border-top: 2px solid #dba72f; border-bottom: 1px solid #d1cbc0; padding: 35px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 75px; }.sponsor-module h2 { font: 35px/1 "DM Serif Display", serif; margin: 0; }.sponsor-module h2 em { font-style: italic; font-weight: 400; }.sponsor-module p:not(.eyebrow) { color: #64747b; font-size: 13px; }
.living-hero { margin: 38px 0 40px; min-height: 465px; display: grid; grid-template-columns: 1.05fr .95fr; background: #8e5a38; color: white; }.living-hero img { width: 100%; height: 465px; object-fit: cover; }.living-hero > div { padding: 58px 49px; display: flex; flex-direction: column; align-items: flex-start; }.living-hero h2 { font: 43px/1.02 "DM Serif Display", serif; margin-bottom: 17px; }.living-hero p:not(.eyebrow) { font-size: 13px; color: #f2e6d6; max-width: 390px; }.living-hero .button-light { margin-top: auto; }
.collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #d4ccc0; border: 1px solid #d4ccc0; margin-bottom: 80px; }.collection-card { padding: 27px; min-height: 245px; background: #fffdf8; }.collection-card > svg { color: #9e5929; margin-bottom: 30px; }.collection-card h3 { font: 27px/1 "DM Serif Display", serif; margin-bottom: 8px; }.collection-card p:not(.eyebrow) { color: #68777e; font-size: 12px; }.collection-card a { font-size: 11px; color: #153f59; display: inline-flex; gap: 6px; align-items: center; font-weight: 800; margin-top: 14px; }
.more-living .section-heading { align-items: end; }.agenda-feature { min-height: 460px; margin: 38px 0 47px; position: relative; overflow: hidden; }.agenda-feature > img { height: 460px; width: 100%; object-fit: cover; }.agenda-feature-card { position: absolute; bottom: 0; left: 0; max-width: 490px; background: #fffdf8; padding: 28px; }.agenda-feature-card h2 { font: 37px/1.04 "DM Serif Display", serif; margin-bottom: 10px; }.agenda-feature-card p:not(.eyebrow) { color: #64757c; font-size: 13px; }
.calendar-section { margin-bottom: 66px; }.calendar-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 21px; }.calendar-heading > div:first-child { display: flex; align-items: center; gap: 10px; color: #153f59; }.calendar-heading h2 { font: 32px/1 "DM Serif Display", serif; margin: 0; }.filter-pills { display: flex; gap: 6px; }.filter-pills span { font-size: 10px; color: #66767c; border: 1px solid #c8c2b7; padding: 5px 8px; }.filter-pills .is-selected { color: white; background: #153f59; border-color: #153f59; }.agenda-list.expanded .agenda-row { min-height: 92px; }.agenda-submit { padding: 37px; background: #e3eceb; display: flex; justify-content: space-between; align-items: center; gap: 30px; }.agenda-submit h2 { font: 34px/1 "DM Serif Display", serif; margin-bottom: 7px; }.agenda-submit p:not(.eyebrow) { max-width: 600px; margin: 0; color: #607177; font-size: 13px; }
.article-page { padding-top: 45px; padding-bottom: 87px; }.article-head { max-width: 960px; }.back-link { color: #153f59; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; gap: 6px; margin-bottom: 34px; }.article-kicker { display: flex; align-items: center; gap: 10px; font-size: 11px; color: #6a7b82; margin-bottom: 16px; }.article-head h1 { font: 64px/.98 "DM Serif Display", serif; max-width: 900px; color: #173447; margin-bottom: 22px; }.article-lead { max-width: 800px; font: 24px/1.27 "DM Serif Display", serif; color: #566a73; letter-spacing: -.02em; }.article-byline { border-top: 1px solid #d8d0c4; border-bottom: 1px solid #d8d0c4; padding: 13px 0; display: flex; align-items: center; gap: 8px; color: #617177; font-size: 10px; }.article-byline > span:nth-child(3) { display: flex; align-items: center; gap: 4px; }.article-byline div { margin-left: auto; display: flex; gap: 4px; }.article-byline button { background: transparent; border: 0; padding: 4px; color: #153f59; }.article-hero { margin: 35px 0 55px; }.article-hero img { width: 100%; height: min(60vw, 615px); object-fit: cover; display: block; }.article-hero figcaption { width: min(1240px, calc(100% - 48px)); margin: 8px auto 0; color: #77868b; font-size: 10px; }.article-layout { display: grid; grid-template-columns: minmax(0, 690px) 240px; justify-content: space-between; gap: 60px; }.article-body { font-size: 16px; color: #354a55; }.article-body p { margin-bottom: 20px; }.article-body .first-paragraph { font: 27px/1.32 "DM Serif Display", serif; letter-spacing: -.02em; color: #244553; }.article-body blockquote { border-left: 3px solid #dba72f; padding: 10px 0 10px 21px; font: 30px/1.15 "DM Serif Display", serif; color: #153f59; margin: 33px 0; }.article-note { background: #e5eceb; padding: 20px 22px; margin: 30px 0; }.article-note .eyebrow { margin-bottom: 7px; }.article-note p:not(.eyebrow) { margin: 0; font: 20px/1.2 "DM Serif Display", serif; color: #244753; }.aside-box { padding: 18px 0; border-top: 2px solid #153f59; }.aside-box h3 { font: 24px/1 "DM Serif Display", serif; }.aside-box a { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid #d8d0c4; padding: 11px 0; font: 14px/1.15 "DM Serif Display", serif; color: #254755; }.aside-box.pale { margin-top: 25px; padding: 18px; background: #e6ece9; border: 0; }.aside-box.pale p:not(.eyebrow) { color: #586c71; font-size: 12px; }.aside-box.pale a { border: 0; font: 11px "Manrope", sans-serif; font-weight: 800; color: #153f59; padding-bottom: 0; }.article-related { margin-top: 86px; padding-top: 35px; border-top: 1px solid #c9c2b7; }
.guide-page { padding: 46px 0 90px; }.guide-head { display: grid; grid-template-columns: 1fr 250px; gap: 65px; padding-bottom: 40px; }.guide-head h1 { font: 58px/.98 "DM Serif Display", serif; max-width: 790px; color: #173447; }.guide-head > div > p:not(.eyebrow) { color: #5b6e76; font-size: 15px; max-width: 680px; }.guide-facts { align-self: end; border-left: 1px solid #c1cbc9; padding-left: 18px; display: grid; gap: 16px; }.guide-facts span { display: flex; gap: 8px; align-items: center; color: #3d5c68; font-size: 12px; }.guide-hero { position: relative; height: 465px; margin-bottom: 55px; }.guide-hero img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.78) saturate(.75); }.guide-hero > div { position: absolute; left: 0; bottom: 0; width: 210px; height: 210px; padding: 22px; color: white; background: #153f59; display: flex; flex-direction: column; justify-content: space-between; }.guide-hero span { letter-spacing: .16em; font-size: 9px; font-weight: 800; }.guide-hero b { font: 31px/.94 "DM Serif Display", serif; }.guide-layout { max-width: 1000px; margin: auto; display: grid; grid-template-columns: minmax(0, 650px) 225px; gap: 75px; }.guide-body { font-size: 16px; color: #354b55; }.guide-body h2 { font: 35px/1 "DM Serif Display", serif; color: #173f4e; margin: 36px 0 16px; }.guide-list { padding: 0; list-style: none; }.guide-list li { border-top: 1px solid #d6cfc3; padding: 16px 0; display: grid; grid-template-columns: 34px 1fr 24px; gap: 10px; align-items: start; }.guide-list li span { font: 21px "DM Serif Display", serif; color: #a96228; }.guide-list li p { margin: 0; }.guide-list li svg { color: #36706f; }.guide-aside { padding-top: 38px; }.guide-aside > div:first-child { padding: 17px; border: 1px solid #d4cdc1; }.guide-aside a { display: block; border-top: 1px solid #ded7cb; padding: 9px 0; color: #294957; font-size: 12px; }.guide-tip { margin-top: 21px; padding: 20px; background: #e3ecea; }.guide-tip p:not(.eyebrow) { font: 21px/1.1 "DM Serif Display", serif; margin: 0; color: #234657; }.guide-next { max-width: 1000px; margin: 70px auto 0; padding: 32px 0; border-top: 2px solid #dba72f; display: flex; justify-content: space-between; align-items: center; }.guide-next h2 { font: 36px/1 "DM Serif Display", serif; margin: 0; }
.sale-page { padding-bottom: 92px; }.sale-hero { background: #153f59; color: white; padding: 75px 0; position: relative; overflow: hidden; }.sale-hero::after { content: ""; position: absolute; width: 1000px; height: 400px; border: 2px solid rgba(234,191,73,.3); border-radius: 50%; right: -400px; top: 50px; transform: rotate(-18deg); }.sale-hero-grid { display: grid; grid-template-columns: 1fr 250px; align-items: end; position: relative; z-index: 1; }.sale-hero h1 { font: 72px/.9 "DM Serif Display", serif; margin: 0 0 22px; }.sale-hero > .container p:not(.eyebrow) { max-width: 510px; color: #ccdadc; font-size: 15px; }.sale-coordinate { justify-self: end; width: 202px; padding: 18px; border: 1px solid rgba(255,255,255,.32); display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-size: 10px; color: #eed88a; }.sale-coordinate i { grid-column: span 2; border-top: 1px solid rgba(255,255,255,.25); }.sale-coordinate b { grid-column: span 2; font: 25px/.9 "DM Serif Display", serif; color: white; }.sale-overview { padding: 85px 0 75px; display: grid; grid-template-columns: .9fr 1fr; gap: 110px; }.sale-overview h2, .sale-asset h2, .sale-contact h2 { font: 47px/1 "DM Serif Display", serif; }.sale-overview > div:last-child p { color: #53666e; font-size: 15px; }.sale-asset { display: grid; grid-template-columns: 1.1fr .9fr; margin-bottom: 90px; background: #e4ecea; }.asset-copy { padding: 48px; }.advantage-list { margin-top: 28px; }.advantage-list > div { display: flex; gap: 11px; align-items: start; border-top: 1px solid #c1ceca; padding: 12px 0; }.advantage-list svg { color: #a45c25; flex: 0 0 auto; }.advantage-list p { margin: 0; color: #39545c; font-size: 13px; }.asset-panel { background: #244f56; padding: 43px; display: flex; flex-direction: column; justify-content: center; }.asset-panel > div { display: grid; grid-template-columns: 87px 1fr; gap: 12px; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.2); }.asset-panel strong { color: #e9bd52; font-size: 10px; letter-spacing: .13em; }.asset-panel span { color: #d6e0df; font-size: 13px; }.sale-contact { display: grid; grid-template-columns: .88fr 1.12fr; gap: 90px; }.sale-contact-copy > p:not(.eyebrow) { color: #586a72; font-size: 14px; }.sale-contact-copy a { color: #153f59; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }.contact-detail { display: flex; gap: 8px; align-items: center; color: #375661; margin-top: 12px; font-size: 13px; }.sale-form { padding: 30px; background: #fffdf8; border: 1px solid #d7cfc2; display: grid; gap: 16px; }.sale-form label { display: grid; gap: 6px; font-size: 11px; font-weight: 800; color: #3e565f; }.sale-form input, .sale-form textarea { background: #f7f4ec; border: 1px solid #d5d0c4; padding: 10px; color: #173447; resize: vertical; }.sale-form input:focus, .sale-form textarea:focus { outline: 2px solid #e0ad45; outline-offset: 1px; }.sale-form .button-ink { justify-self: start; }.sale-form > p { font-size: 10px; color: #77868b; margin: 0; }.not-found { min-height: 55vh; padding: 110px 0; }.not-found h1 { max-width: 650px; font: 63px/.98 "DM Serif Display", serif; }.not-found p:not(.eyebrow) { color: #687980; font-size: 15px; margin-bottom: 24px; }
.site-footer { position: relative; background: #153f59; color: #f9f6ef; padding-top: 66px; }.footer-inner { width: min(1240px, calc(100% - 48px)); margin: auto; display: grid; grid-template-columns: 1.4fr .6fr .6fr .9fr; gap: 40px; padding-bottom: 52px; }.footer-brand h2 { font: 35px/1 "DM Serif Display", serif; margin-bottom: 12px; }.footer-brand > p:not(.eyebrow) { color: #b8c9ce; font-size: 12px; max-width: 280px; }.footer-cta { color: #edc86a; font-size: 11px; font-weight: 800; display: inline-flex; gap: 6px; margin-top: 9px; }.footer-column { display: flex; flex-direction: column; gap: 8px; }.footer-heading { color: #e9bd52; letter-spacing: .13em; font-size: 9px; font-weight: 800; margin-bottom: 8px; }.footer-column a, .footer-column span { color: #c8d4d6; font-size: 11px; }.footer-contact a, .footer-contact span { display: flex; gap: 6px; align-items: center; }.footer-note { color: #91aab2; font-size: 10px; margin-top: 9px; }.footer-bottom { border-top: 1px solid rgba(255,255,255,.16); width: min(1240px, calc(100% - 48px)); margin: auto; padding: 17px 0; display: flex; justify-content: space-between; gap: 25px; color: #8ea6ae; font-size: 9px; }
@media (prefers-reduced-motion: no-preference) { .editorial-card, .municipal-card, .town-card, .agenda-row, .button-light, .button-ink { transition-duration: .18s; transition-timing-function: cubic-bezier(.23,1,.32,1); } }
@media (max-width: 1050px) { .desktop-nav { gap: 13px; }.nav-link { font-size: 11px; }.home-hero { grid-template-columns: 1.35fr .8fr; }.municipal-grid { grid-template-columns: repeat(3, 1fr); }.municipal-card { border-right: 1px solid rgba(255,255,255,.19); }.municipal-card:nth-child(n+4) { border-top: 0; }.article-layout { grid-template-columns: minmax(0, 1fr) 205px; gap: 45px; }.sale-overview, .sale-contact { gap: 65px; } }
@media (max-width: 780px) { .container, .header-inner, .sale-strip-inner, .footer-inner, .footer-bottom { width: min(100% - 32px, 1240px); }.sale-strip-inner { min-height: 42px; font-size: 9px; }.sale-strip-inner > span { max-width: 62%; }.header-inner { height: 68px; }.brand { grid-template-columns: 33px auto; grid-template-rows: 26px 11px; }.brand-mark { width: 32px; height: 32px; }.brand-word { font-size: 27px; }.desktop-nav, .desktop-search, .live-status { display: none; }.mobile-menu { display: grid; }.mobile-nav { display: grid; position: absolute; top: 68px; left: 0; width: 100%; padding: 10px 16px 16px; background: #f7f4ec; border-bottom: 1px solid #d9d3c6; }.mobile-nav a { padding: 10px 2px; border-bottom: 1px solid #d9d3c6; font-weight: 800; font-size: 12px; }.ticker-date { display: none; }.ticker-inner { min-height: 38px; }.ticker-inner p { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.home-hero { grid-template-columns: 1fr; padding-top: 22px; padding-bottom: 49px; }.hero-story, .hero-story > img { min-height: 455px; }.hero-caption-card { width: 93%; padding: 20px; }.hero-caption-card h1 { font-size: 35px; }.hero-caption-card p:not(.eyebrow) { font-size: 12px; }.hero-rail { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.rail-title, .rail-all { grid-column: span 3; }.editorial-card.compact { padding: 10px 0; }.compact h3 { font-size: 18px; }.story-meta { display: block; }.story-meta > span:last-child { display: none; }.municipal-strip { padding: 50px 0; }.section-heading, .agenda-top { align-items: start; }.section-heading h2, .agenda-top h2 { font-size: 35px; }.section-note { display: none; }.municipal-grid { grid-template-columns: repeat(2, 1fr); }.municipal-card { min-height: 150px; }.municipal-card:nth-child(3), .municipal-card:nth-child(4) { border-top: 0; }.main-editorial, .agenda-home { padding: 60px 0; }.story-grid { grid-template-columns: 1fr; }.field-feature { padding: 48px 0; }.field-layout { grid-template-columns: 1fr; gap: 30px; }.field-visual, .field-visual img { min-height: 290px; }.field-copy h2, .economy-intro h2 { font-size: 39px; }.data-row { gap: 15px; }.agenda-row { grid-template-columns: 47px 1fr 20px; gap: 10px; }.agenda-type, .agenda-place { display: none; }.agenda-row h3 { font-size: 19px; }.membership-inner { grid-template-columns: 52px 1fr; gap: 13px; }.membership-inner .button-ink { grid-column: span 2; justify-self: start; }.membership-band h2 { font-size: 24px; }.portal-cta { padding: 58px 0; grid-template-columns: 55px 1fr; gap: 14px; }.portal-cta-mark { width: 48px; height: 48px; }.portal-cta h2 { font-size: 33px; }.portal-cta-copy { grid-column: span 2; }.page-wrap { padding-top: 39px; }.page-intro { grid-template-columns: 1fr; gap: 22px; padding-bottom: 33px; }.page-intro h1 { font-size: 46px; }.page-intro-aside { display: none; }.feature-layout, .editorial-card.feature { grid-template-columns: 1fr; }.feature .card-image-wrap { min-height: 260px; }.feature h3 { font-size: 33px; }.pulse-panel { padding: 24px 20px; }.feed-story { grid-template-columns: 1fr 30px; gap: 13px; }.feed-time { grid-column: span 2; }.feed-story h3 { font-size: 23px; }.municipality-hero, .living-hero { grid-template-columns: 1fr; }.municipality-map { min-height: 280px; }.municipality-copy { padding: 31px 22px; }.town-grid, .insight-grid, .collection-grid { grid-template-columns: 1fr; }.town-card { min-height: 185px; }.field-page-feature, .field-page-feature > img { min-height: 430px; height: 430px; }.field-page-card { width: 92%; padding: 20px; }.field-page-card h2 { font-size: 30px; }.insight-grid { margin-bottom: 58px; }.split-stories { grid-template-columns: 1fr; gap: 10px; }.split-story-list { grid-template-columns: 1fr; }.economy-signal { grid-template-columns: 1fr; padding: 32px 23px; margin-bottom: 57px; }.economy-icons div { min-height: 105px; }.profile-grid { grid-template-columns: 1fr; }.sponsor-module { grid-template-columns: 1fr; gap: 20px; }.living-hero img { height: 340px; }.living-hero > div { padding: 36px 24px; }.living-hero h2 { font-size: 37px; }.agenda-feature, .agenda-feature > img { min-height: 420px; height: 420px; }.agenda-feature-card { width: 93%; padding: 20px; }.calendar-heading { align-items: start; gap: 15px; flex-direction: column; }.article-page { padding-top: 31px; }.article-head h1 { font-size: 48px; }.article-lead { font-size: 21px; }.article-byline { flex-wrap: wrap; }.article-byline div { margin-left: 0; }.article-hero { margin: 27px 0 35px; }.article-hero img { height: 330px; }.article-layout { grid-template-columns: 1fr; gap: 25px; }.article-body { font-size: 15px; }.article-body .first-paragraph { font-size: 24px; }.article-body blockquote { font-size: 27px; }.article-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.aside-box.pale { margin-top: 0; }.article-related { margin-top: 57px; }.guide-head { grid-template-columns: 1fr; gap: 20px; }.guide-head h1 { font-size: 47px; }.guide-facts { display: none; }.guide-hero { height: 360px; }.guide-hero > div { width: 155px; height: 155px; }.guide-hero b { font-size: 25px; }.guide-layout { grid-template-columns: 1fr; gap: 10px; }.guide-aside { display: none; }.guide-next { margin-top: 50px; flex-direction: column; align-items: start; gap: 18px; }.guide-next h2 { font-size: 31px; }.sale-hero { padding: 57px 0; }.sale-hero-grid { grid-template-columns: 1fr; }.sale-hero h1 { font-size: 57px; }.sale-coordinate { display: none; }.sale-overview, .sale-contact { grid-template-columns: 1fr; gap: 18px; padding: 60px 0; }.sale-overview h2, .sale-asset h2, .sale-contact h2 { font-size: 39px; }.sale-asset { grid-template-columns: 1fr; margin-bottom: 60px; }.asset-copy, .asset-panel { padding: 31px 23px; }.footer-inner { grid-template-columns: 1fr 1fr; gap: 31px; }.footer-brand { grid-column: span 2; }.footer-bottom { display: block; }.footer-bottom span { display: block; margin-bottom: 5px; } }
@media (max-width: 440px) { .sale-strip-inner > span { display: none; }.sale-strip-inner { justify-content: center; }.ticker-label { display: none; }.hero-rail { display: block; }.hero-rail .editorial-card.compact:not(:nth-of-type(2)) { display: none; }.municipal-grid { grid-template-columns: 1fr 1fr; }.article-aside { grid-template-columns: 1fr; }.footer-inner { grid-template-columns: 1fr; }.footer-brand { grid-column: auto; } }


svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.15em}.card-bottom svg,.card-arrow svg,.text-link svg,.agenda-row>svg,.sale-form button svg{width:1em;height:1em}.brand-word{font-size:29px}.mobile-nav[hidden]{display:none!important}
/* Ajuste de fidelidad para la composición móvil de la portada. */
@media (max-width: 780px) {
  html, body { overflow-x: hidden !important; }
  .home-hero .hero-story { height: 455px !important; min-height: 455px !important; overflow: hidden !important; }
  .home-hero .hero-story > img { height: 455px !important; min-height: 455px !important; object-fit: cover !important; }
  .home-hero .hero-caption-card { display: block !important; position: absolute !important; z-index: 2 !important; left: 0 !important; bottom: 0 !important; width: 93% !important; padding: 20px !important; overflow: hidden !important; }
  .home-hero .hero-caption-card h1 { width: 280px !important; max-width: 100% !important; margin-right: 0 !important; font-size: 35px !important; line-height: 1.02 !important; white-space: normal !important; overflow-wrap: break-word !important; word-break: normal !important; }
  .home-hero .hero-caption-card p { width: 280px !important; max-width: 100% !important; white-space: normal !important; overflow-wrap: break-word !important; }
}


/* Ajuste de marca para igualar la cabecera de MANUS. */
.brand {
  grid-template-columns: 59px auto;
  grid-template-rows: 39px 16px;
}

/* En PHP el logo no lleva la clase brand-mark; se selecciona directamente. */
.brand > img,
.brand-mark {
  width: 59px;
  height: 59px;
  grid-row: 1 / span 2;
  object-fit: contain;
}

.brand-word {
  font-size: 47px;
}

@media (max-width: 780px) {
  .brand {
    grid-template-columns: 33px auto;
    grid-template-rows: 26px 11px;
  }

  .brand > img,
  .brand-mark {
    width: 32px;
    height: 32px;
  }

  .brand-word {
    font-size: 27px;
  }
}

@media (min-width: 781px) and (max-width: 1100px) {
  .brand {
    grid-template-columns: 45px auto;
    grid-template-rows: 32px 13px;
  }

  .brand > img,
  .brand-mark {
    width: 45px;
    height: 45px;
  }

  .brand-word {
    font-size: 35px;
  }
}

a.brand {
  align-items: center;
}

.brand-sub {
  line-height: 1;
}

/* Fin del ajuste de marca. */



/* Corrección final responsive: valores de móvil de MANUS. */
@media (max-width: 900px) {
  .brand {
    grid-template-columns: 33px auto !important;
    grid-template-rows: 26px 11px !important;
  }

  .brand > img,
  .brand-mark {
    width: 32px !important;
    height: 32px !important;
    grid-row: 1 / span 2 !important;
  }

  .brand-word {
    font-size: 27px !important;
    line-height: .95 !important;
  }

  .brand-sub {
    font-size: 7px !important;
    line-height: 1 !important;
  }
}


/* Ajuste móvil ampliado: igualar la presencia visual de MANUS. */
@media (max-width: 900px) {
  .brand {
    grid-template-columns: 45px auto !important;
    grid-template-rows: 32px 13px !important;
    column-gap: 9px !important;
  }

  .brand > img,
  .brand-mark {
    width: 44px !important;
    height: 44px !important;
    grid-row: 1 / span 2 !important;
  }

  .brand-word {
    font-size: 35px !important;
    line-height: .95 !important;
  }

  .brand-sub {
    font-size: 8px !important;
    letter-spacing: .16em !important;
  }
}
