/**
 * Estilo: regionalismo editorial contemporáneo. Verde Acequia (#184B43), Lino y Arcilla;
 * composición de cauces y bloques editoriales. Evita contenedores que rompan el sticky header.
 */
@font-face { font-family:"DM Serif Display"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/dm-serif-regular.ttf") format("truetype"); }
@font-face { font-family:"DM Serif Display"; font-style:italic; font-weight:400; font-display:swap; src:url("../fonts/dm-serif-italic.ttf") format("truetype"); }
@font-face { font-family:"Manrope"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/manrope-400.ttf") format("truetype"); }
@font-face { font-family:"Manrope"; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/manrope-500.ttf") format("truetype"); }
@font-face { font-family:"Manrope"; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/manrope-600.ttf") format("truetype"); }
@font-face { font-family:"Manrope"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/manrope-700.ttf") format("truetype"); }
@font-face { font-family:"Manrope"; font-style:normal; font-weight:800; font-display:swap; src:url("../fonts/manrope-800.ttf") format("truetype"); }

:root { --green:#184b43; --green-deep:#102f2a; --cream:#f7f2e8; --paper:#fffdf8; --clay:#c9583c; --sun:#e8c64a; --ink:#19302c; --line:#d9d2c3; --muted:#62716b; --serif:"DM Serif Display", Georgia, serif; --sans:"Manrope", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.6; }
button, input { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
img { display:block; max-width:100%; }
.sr-only { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.content-band { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.eyebrow { margin:0 0 14px; color:var(--clay); font-size:11px; font-weight:800; letter-spacing:.15em; line-height:1.1; text-transform:uppercase; }
.eyebrow--light { color:var(--sun); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:400; line-height:1.03; letter-spacing:-.035em; }
h1,h2 { font-family:var(--serif); }
h1 em,h2 em { color:var(--clay); font-style:italic; }
.button { align-items:center; border:1px solid transparent; display:inline-flex; font-size:13px; font-weight:800; gap:9px; justify-content:center; letter-spacing:-.01em; min-height:48px; padding:0 19px; transition:transform .18s cubic-bezier(.23,1,.32,1),background .18s; }
.button:active { transform:scale(.97); }
.button--small { min-height:36px; padding:0 13px; font-size:12px; }
.button--green { background:var(--green); color:white; }
.button--sun { background:var(--sun); color:var(--green-deep); }
.button--terracotta { background:var(--clay); color:white; }
.button:hover { transform:translateY(-2px); }
.text-link { align-items:center; color:var(--green); display:inline-flex; font-size:13px; font-weight:800; gap:7px; position:relative; }
.text-link:after { background:var(--clay); bottom:-4px; content:""; height:2px; left:0; position:absolute; transform:scaleX(.35); transform-origin:left; transition:transform .2s; width:100%; }
.text-link:hover:after { transform:scaleX(1); }
.sale-strip { background:var(--clay); color:white; }
.sale-strip__inner { align-items:center; display:flex; font-size:11px; gap:18px; justify-content:space-between; min-height:34px; }
.sale-strip p { margin:0; }
.sale-strip p span { color:#ffe7d1; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.sale-strip__link { align-items:center; display:flex; font-weight:800; gap:4px; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.site-header { background:rgba(255,253,248,.96); border-bottom:1px solid rgba(25,48,44,.09); position:sticky; top:0; z-index:50; backdrop-filter:blur(14px); }
.site-header__inner { align-items:center; display:flex; height:76px; justify-content:space-between; }
.wordmark { align-items:center; display:inline-flex; font-family:var(--serif); font-size:29px; letter-spacing:-.07em; line-height:1; gap:8px; }
.wordmark img { height:29px; width:29px; object-fit:contain; }
.wordmark em { color:var(--clay); font-size:.68em; font-style:normal; letter-spacing:-.04em; }
.desktop-nav { align-items:center; display:flex; gap:27px; margin-left:55px; }
.desktop-nav a { color:#4f5e58; font-size:12px; font-weight:800; position:relative; }
.desktop-nav a:after { background:var(--clay); bottom:-8px; content:""; height:2px; left:0; position:absolute; transform:scaleX(0); transition:transform .18s; width:100%; }
.desktop-nav a:hover,.desktop-nav a.active { color:var(--green); }.desktop-nav a:hover:after,.desktop-nav a.active:after { transform:scaleX(1); }
.header-actions { align-items:center; display:flex; gap:13px; }.search-trigger,.mobile-menu-trigger { align-items:center; background:transparent; border:0; color:var(--green); display:flex; height:37px; justify-content:center; padding:0; width:37px; }.search-trigger:hover { color:var(--clay); }.mobile-menu-trigger { display:none; }
.mobile-nav { background:var(--green-deep); display:none; padding:18px 24px 25px; }.mobile-nav a { border-bottom:1px solid rgba(255,255,255,.14); color:white; display:flex; font-family:var(--serif); font-size:27px; justify-content:space-between; padding:13px 0; }.mobile-nav a span { color:var(--sun); font-family:var(--sans); font-size:10px; font-weight:800; letter-spacing:.1em; padding-top:9px; }.mobile-nav .mobile-nav__sale { color:var(--sun); font-family:var(--sans); font-size:13px; font-weight:800; padding-top:20px; }
.hero-home { background-position:center; background-size:cover; color:white; min-height:650px; overflow:hidden; position:relative; }.hero-home__texture { background-image:radial-gradient(rgba(255,255,255,.18) .75px, transparent .75px); background-size:7px 7px; inset:0; opacity:.12; pointer-events:none; position:absolute; }.hero-home__grid { align-items:flex-end; display:grid; grid-template-columns:minmax(0,1fr) 292px; min-height:570px; padding-bottom:88px; position:relative; }.hero-home__copy { max-width:760px; }.hero-home h1 { font-size:clamp(55px,7vw,102px); margin:0 0 25px; }.hero-home__lead { color:#e0e9e4; font-size:18px; line-height:1.55; max-width:530px; }.hero-home__buttons { align-items:center; display:flex; gap:24px; margin-top:32px; }.ghost-link { align-items:center; display:inline-flex; font-size:13px; font-weight:800; gap:7px; }.ghost-link--light { color:white; }.hero-home__sidecard { align-self:center; background:rgba(250,248,239,.93); color:var(--green-deep); margin-top:95px; padding:25px; transform:rotate(1.5deg); }.sidecard__mark { align-items:center; color:var(--clay); display:flex; font-size:10px; font-weight:800; gap:6px; letter-spacing:.12em; }.hero-home__sidecard h2 { font-family:var(--serif); font-size:28px; margin:17px 0 10px; }.hero-home__sidecard p { color:#4d5a55; font-size:12px; line-height:1.55; margin-bottom:21px; }.sidecard__link { align-items:center; display:flex; font-size:12px; font-weight:800; gap:7px; }.hero-home__baseline { align-items:center; bottom:28px; color:#e1e9e2; display:flex; font-size:10px; font-weight:800; gap:12px; letter-spacing:.1em; position:absolute; text-transform:uppercase; }.hero-home__baseline i { background:var(--sun); border-radius:50%; height:4px; width:4px; }
.signal-section { background:var(--cream); padding:95px 0; }.signal-section__grid { align-items:end; display:grid; grid-template-columns:1.25fr .95fr .5fr; gap:64px; }.signal-section h2,.section-heading h2 { font-size:clamp(38px,4.5vw,63px); margin:0; }.signal-section>div>p { color:#40534d; font-size:16px; margin:0; }.signal-section .text-link { align-self:end; }.agenda-ribbon { background:var(--green); color:white; padding:98px 0 105px; position:relative; }.agenda-ribbon:after { background:var(--green); bottom:-25px; clip-path:polygon(0 0,100% 0,100% 55%,92% 100%,81% 61%,69% 90%,55% 55%,41% 92%,27% 62%,13% 100%,0 56%); content:""; height:26px; position:absolute; width:100%; }.section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:48px; }.section-heading--light h2 { color:white; }.section-heading--light .text-link { color:var(--sun); }.section-heading--light .text-link:after { background:var(--sun); }.section-heading>p { color:#61716a; font-size:15px; margin:0; max-width:320px; }.event-list { border-top:1px solid rgba(255,255,255,.25); }.event-row { align-items:center; border-bottom:1px solid rgba(255,255,255,.25); display:grid; gap:24px; grid-template-columns:72px 1fr 175px 42px; padding:19px 0; transition:padding .2s; }.event-row:hover { padding-inline:10px; }.date-chip { align-items:center; display:flex; flex-direction:column; height:64px; justify-content:center; width:64px; }.date-chip b { font-family:var(--serif); font-size:25px; line-height:1; }.date-chip span { font-size:9px; font-weight:800; letter-spacing:.1em; }.date-chip--lime { background:#dce063; color:var(--green-deep); }.date-chip--clay { background:#d67258; color:white; }.date-chip--green { background:#86ad8d; color:var(--green-deep); }.event-category { color:var(--sun); font-size:9px; font-weight:800; letter-spacing:.13em; margin:0 0 3px; text-transform:uppercase; }.event-row h3 { font-family:var(--serif); font-size:25px; margin:0; }.event-place { align-items:center; color:#d7e1db; display:flex; font-size:12px; gap:5px; margin:0; }.round-arrow { align-items:center; border:1px solid rgba(255,255,255,.5); border-radius:50%; display:flex; height:38px; justify-content:center; transition:background .18s,color .18s; width:38px; }.round-arrow:hover { background:var(--sun); color:var(--green-deep); }
.routes-section { padding:130px 0 115px; }.route-grid { display:grid; grid-template-columns:1.06fr .82fr .82fr; gap:24px; }.route-card { background:#edf0e7; }.route-card__image { display:block; height:305px; overflow:hidden; position:relative; }.route-card__image img { height:100%; object-fit:cover; transition:transform .45s cubic-bezier(.23,1,.32,1); width:100%; }.route-card:hover .route-card__image img { transform:scale(1.05); }.route-card__image span { background:var(--paper); bottom:0; color:var(--green); font-size:10px; font-weight:800; left:0; padding:9px 11px; position:absolute; text-transform:uppercase; }.route-card__body { padding:25px; }.route-card__body h3 { font-size:29px; margin-bottom:11px; }.route-card__body h3 a:hover { color:var(--clay); }.route-card__body p { color:#586860; font-size:13px; min-height:62px; }.route-card--1 .route-card__body { padding:31px; }.route-card--1 .route-card__image { height:378px; }.route-card--1 .route-card__body h3 { font-size:37px; }
.market-feature { background:var(--paper); padding:0 0 135px; }.market-feature__grid { background:#ddc5a5; display:grid; grid-template-columns:1fr 1fr; }.market-feature__image { min-height:535px; position:relative; }.market-feature__image>img { height:100%; object-fit:cover; position:absolute; width:100%; }.market-stamp { align-items:center; background:var(--green); border-radius:50%; bottom:25px; color:var(--sun); display:flex; flex-direction:column; font-size:10px; font-weight:800; height:108px; justify-content:center; letter-spacing:.11em; line-height:1.5; position:absolute; right:-28px; text-align:center; transform:rotate(-7deg); width:108px; }.market-feature__copy { align-self:center; padding:60px 13%; }.market-feature__copy h2 { font-size:clamp(42px,4vw,61px); margin:0 0 24px; }.market-feature__copy>p { color:#4f5043; font-size:15px; }.market-stat { align-items:center; display:flex; gap:13px; margin:31px 0; }.market-stat b { color:var(--green); font-family:var(--serif); font-size:60px; line-height:.8; }.market-stat span { color:#52625c; font-size:11px; font-weight:800; line-height:1.4; text-transform:uppercase; }.market-links { display:flex; flex-wrap:wrap; gap:23px; }
.stories-section { background:var(--cream); padding:108px 0 122px; }.story-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px; }.story-card__image { display:block; height:240px; overflow:hidden; }.story-card__image img { height:100%; object-fit:cover; transition:transform .4s; width:100%; }.story-card:hover img { transform:scale(1.04); }.story-card>div { padding-top:17px; }.story-meta { color:#718079; display:flex; font-size:9px; font-weight:700; gap:9px; letter-spacing:.09em; margin:0 0 12px; text-transform:uppercase; }.story-meta span { color:var(--clay); }.story-card h3 { font-family:var(--serif); font-size:28px; margin:0 0 12px; }.story-card h3:hover { color:var(--clay); }.story-card>div>p:not(.story-meta) { color:#64736b; font-size:12px; line-height:1.65; }.story-card--1 { display:grid; grid-column:span 2; grid-template-columns:1.07fr 1fr; gap:25px; }.story-card--1 .story-card__image { height:100%; min-height:267px; }.story-card--1 h3 { font-size:38px; }
.newsletter-callout { background:var(--paper); padding:112px 0; }.newsletter-callout__grid { align-items:center; display:grid; grid-template-columns:1fr 1fr; gap:80px; }.newsletter-callout h2 { font-size:clamp(39px,4vw,58px); margin:0; }.newsletter-callout>div>div>p { color:#55675f; max-width:465px; }.newsletter-callout form { display:flex; margin:25px 0 11px; }.newsletter-callout input { background:var(--cream); border:1px solid var(--line); border-right:0; color:var(--green); min-height:48px; outline-color:var(--clay); padding:0 15px; width:100%; }.newsletter-callout small { color:#7c8882; font-size:10px; }.newsletter-callout small a { color:var(--green); font-weight:800; text-decoration:underline; }
.site-footer { background:var(--green-deep); color:white; }.footer-top { display:grid; grid-template-columns:1.05fr 1.7fr; gap:80px; padding:75px 0 58px; }.wordmark--footer { color:white; }.footer-brand>p { color:#c4d1ca; font-size:14px; line-height:1.65; max-width:310px; }.footer-mail { align-items:center; color:var(--sun); display:flex; font-size:13px; font-weight:800; gap:5px; margin-top:22px; }.footer-links { display:grid; gap:38px; grid-template-columns:1fr 1fr 1.25fr; }.footer-links>div { display:flex; flex-direction:column; gap:7px; }.footer-links a { color:#e4eae5; font-size:12px; }.footer-links a:hover { color:var(--sun); }.footer-title { color:var(--sun); font-size:10px; font-weight:800; letter-spacing:.11em; margin:0 0 8px; text-transform:uppercase; }.footer-note { color:#b7c5bd; font-size:12px; line-height:1.65; margin:0; }.footer-bottom { align-items:center; border-top:1px solid rgba(255,255,255,.15); color:#aebdb5; display:flex; font-size:10px; justify-content:space-between; padding:19px 0; }.footer-bottom p { margin:0; }.footer-bottom div { display:flex; gap:18px; }.footer-bottom a:hover { color:var(--sun); }
.section-intro { padding:105px 0 90px; }.section-intro--cream { background:var(--cream); }.section-intro--green { background:var(--green); color:white; }.section-intro--green .eyebrow { color:var(--sun); }.section-intro__grid { align-items:end; display:grid; gap:34px; grid-template-columns:.5fr 1.4fr .35fr; }.section-intro h1 { font-size:clamp(50px,6.2vw,86px); margin:0 0 21px; max-width:790px; }.section-intro p:not(.eyebrow) { color:#5b6b64; font-size:16px; margin:0; max-width:630px; }.section-intro--green p:not(.eyebrow) { color:#d2ded7; }.section-intro__line { align-self:end; background:var(--clay); height:1px; margin-bottom:8px; position:relative; }.section-intro__line span { background:var(--clay); border-radius:50%; height:9px; position:absolute; right:0; top:-4px; width:9px; }
.discover-lead { padding:105px 0; }.discover-lead__grid { align-items:center; display:grid; gap:80px; grid-template-columns:1fr .84fr; }.discover-lead__photo { height:460px; position:relative; }.discover-lead__photo img { height:100%; object-fit:cover; width:100%; }.photo-caption { background:var(--green); bottom:0; color:white; font-size:10px; font-weight:800; left:0; letter-spacing:.09em; padding:11px 14px; position:absolute; text-transform:uppercase; }.discover-lead h2 { font-size:clamp(43px,4.4vw,62px); margin:0 0 19px; }.discover-lead p:not(.eyebrow) { color:#586b62; font-size:15px; }.discover-lead .button { margin-top:16px; }.numbered-list { background:var(--green); color:white; padding:92px 0; }.numbered-list .eyebrow { color:var(--sun); }.numbered-list article { align-items:center; border-top:1px solid rgba(255,255,255,.24); display:grid; gap:28px; grid-template-columns:130px 1fr 42px; padding:30px 0; }.numbered-list article:last-child { border-bottom:1px solid rgba(255,255,255,.24); }.numbered-list article>span { color:var(--sun); font-family:var(--serif); font-size:52px; }.numbered-list h2 { font-size:37px; margin:0 0 5px; }.numbered-list article p { color:#cbdbd2; font-size:14px; margin:0; max-width:500px; }.numbered-list article a { align-items:center; border:1px solid #a2baad; border-radius:50%; display:flex; height:39px; justify-content:center; transition:.2s; width:39px; }.numbered-list article a:hover { background:var(--sun); color:var(--green); }.image-essay { background:var(--cream); padding:115px 0 150px; }.image-essay .content-band { display:grid; grid-template-columns:.75fr 1.25fr; position:relative; }.image-essay h2 { font-size:clamp(39px,4.3vw,59px); margin:0; max-width:405px; }.image-essay img { height:500px; object-fit:cover; width:100%; }.image-essay__note { align-items:flex-start; background:var(--clay); color:white; display:flex; gap:12px; padding:23px; position:absolute; bottom:-43px; left:7%; width:330px; }.image-essay__note p { font-size:12px; line-height:1.55; margin:0; }.image-essay__note b { color:#ffe3ca; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.agenda-page { padding:82px 0 125px; }.agenda-toolbar { align-items:end; display:flex; gap:30px; justify-content:space-between; margin-bottom:38px; }.agenda-toolbar h2 { font-size:42px; margin:0; }.filter-row,.market-filters,.route-filters { display:flex; flex-wrap:wrap; gap:8px; }.filter-row button,.market-filters button,.route-filters button { background:transparent; border:1px solid var(--line); color:#63736b; font-size:11px; font-weight:800; padding:9px 13px; }.filter-row button.is-active,.market-filters button.is-active,.route-filters button.is-active,.filter-row button:hover,.market-filters button:hover,.route-filters button:hover { background:var(--green); border-color:var(--green); color:white; }.agenda-page__grid { display:grid; gap:55px; grid-template-columns:1fr 300px; }.agenda-main-list { border-top:1px solid var(--line); }.agenda-item { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:20px; grid-template-columns:64px 1fr 42px; padding:20px 0; }.agenda-item h3 { font-family:var(--serif); font-size:28px; margin:0 0 6px; }.agenda-item__place { align-items:center; color:#60716a; display:flex; font-size:12px; gap:5px; margin:0; }.outline-circle { align-items:center; background:transparent; border:1px solid #a5b3aa; border-radius:50%; color:var(--green); display:flex; height:38px; justify-content:center; width:38px; }.outline-circle:hover { background:var(--sun); border-color:var(--sun); }.agenda-aside { align-self:start; background:var(--cream); padding:30px; }.agenda-aside h3 { font-family:var(--serif); font-size:33px; margin:0 0 14px; }.agenda-aside>p:not(.eyebrow) { color:#5f7068; font-size:13px; }.time-option { align-items:center; border-top:1px solid #d9d0c2; color:var(--green); display:flex; gap:12px; padding:15px 0; }.time-option span { display:flex; flex-direction:column; font-size:11px; line-height:1.45; }.time-option b { font-size:12px; }.agenda-aside .text-link { margin-top:12px; }
.routes-page { padding:95px 0 130px; }.route-feature-large { background:var(--cream); display:grid; grid-template-columns:1.05fr .95fr; }.route-feature-large__image { height:545px; position:relative; }.route-feature-large__image img { height:100%; object-fit:cover; width:100%; }.route-pin { align-items:center; background:var(--paper); bottom:0; color:var(--green); display:flex; font-size:10px; font-weight:800; gap:5px; left:0; padding:12px 15px; position:absolute; text-transform:uppercase; }.route-feature-large__copy { align-self:center; padding:55px 13%; }.route-feature-large h2 { font-size:clamp(44px,4.5vw,64px); margin:0 0 18px; }.route-feature-large__copy>p { color:#596961; font-size:14px; }.route-feature-large dl { display:grid; grid-template-columns:repeat(3,1fr); margin:28px 0; }.route-feature-large dl div { border-left:1px solid #c9c3b7; padding-left:10px; }.route-feature-large dt { color:#738079; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.route-feature-large dd { color:var(--green); font-family:var(--serif); font-size:22px; margin:0; }.route-filters { align-items:center; margin:48px 0 23px; }.route-filters span { color:var(--green); font-size:11px; font-weight:800; margin-right:8px; }.compact-route-list { border-top:1px solid var(--line); }.compact-route-list article { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:22px; grid-template-columns:145px 1fr 40px; padding:17px 0; }.compact-route-list img { height:93px; object-fit:cover; width:145px; }.compact-route-list p { color:var(--clay); font-size:9px; font-weight:800; letter-spacing:.1em; margin:0 0 4px; text-transform:uppercase; }.compact-route-list h3 { font-family:var(--serif); font-size:27px; margin:0; }.compact-route-list span { color:#61726a; font-size:12px; }.compact-route-list>a { align-items:center; border:1px solid #9eb0a5; border-radius:50%; display:flex; height:38px; justify-content:center; width:38px; }.compact-route-list>a:hover { background:var(--green); color:white; }.route-detail-hero { background-position:center; background-size:cover; color:white; min-height:560px; padding:56px 0 70px; }.back-link { color:var(--green); display:inline-block; font-size:12px; font-weight:800; margin-bottom:62px; }.route-detail-hero .back-link,.profile-hero .back-link { color:#e8eee7; }.route-detail-hero h1 { font-size:clamp(55px,6vw,87px); margin:0 0 21px; }.route-detail-hero p:not(.eyebrow) { color:#e0eae4; font-size:17px; max-width:520px; }.route-detail-body { padding:100px 0 125px; }.route-detail-body__grid { display:grid; gap:90px; grid-template-columns:240px minmax(0,1fr); max-width:1040px; }.route-detail-body aside { align-self:start; border-top:2px solid var(--clay); padding-top:17px; position:sticky; top:98px; }.route-detail-body aside>div { border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding:11px 0; }.route-detail-body aside span { color:#67776f; font-size:11px; }.route-detail-body aside b { font-family:var(--serif); font-size:17px; }.route-detail-body aside .button { font-size:11px; margin-top:20px; width:100%; }.route-detail-body article { max-width:650px; }.route-lead { color:var(--green); font-family:var(--serif); font-size:30px; line-height:1.25; }.route-detail-body article h2 { color:var(--green); font-size:39px; margin:47px 0 13px; }.route-detail-body article>p:not(.route-lead) { color:#596a62; font-size:15px; }.route-detail-callout { background:var(--cream); color:var(--green); display:flex; gap:13px; margin:30px 0 22px; padding:23px; }.route-detail-callout p { font-size:12px; line-height:1.55; margin:0; }.route-detail-callout b { color:var(--clay); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }.route-detail-body article>img { margin:32px 0; width:100%; }
.market-page { padding:88px 0 0; }.market-page__top { align-items:end; display:flex; justify-content:space-between; }.market-page h2 { font-size:clamp(43px,4.5vw,62px); margin:0; }.market-search { align-items:center; border-bottom:1px solid var(--green); display:flex; gap:9px; padding-bottom:7px; width:320px; }.market-search input { background:transparent; border:0; font-size:12px; outline:0; width:100%; }.market-filters { margin:43px 0 26px; }.market-card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:19px; }.market-card { background:var(--cream); }.market-card__image { display:block; height:255px; overflow:hidden; position:relative; }.market-card__image img { height:100%; object-fit:cover; transition:transform .4s; width:100%; }.market-card:hover img { transform:scale(1.05); }.market-card__image span { background:var(--paper); bottom:0; color:var(--green); font-size:9px; font-weight:800; left:0; letter-spacing:.07em; padding:8px 10px; position:absolute; text-transform:uppercase; }.market-card__body { padding:20px; }.tag-row { display:flex; flex-wrap:wrap; gap:5px; }.tag-row span { color:#718078; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.market-card h3 { font-size:28px; margin:10px 0 9px; }.market-card h3 a:hover { color:var(--clay); }.market-card p { color:#61726a; font-size:12px; line-height:1.55; min-height:38px; }.market-proposition { background:var(--clay); color:white; margin-top:107px; padding:92px 0; }.market-proposition .content-band { max-width:780px; text-align:center; }.market-proposition .eyebrow { color:#ffe5c9; }.market-proposition h2 { font-size:clamp(47px,5vw,68px); margin:0 0 20px; }.market-proposition p:not(.eyebrow) { color:#ffe5d5; margin:0 auto 25px; max-width:500px; }
.profile-hero { background:var(--green); color:white; padding:48px 0 78px; }.profile-hero__grid { align-items:center; display:grid; gap:80px; grid-template-columns:1fr .8fr; }.profile-hero h1 { font-size:clamp(60px,7vw,100px); margin:0 0 16px; }.profile-hero h1 em { color:var(--sun); }.profile-hero p:not(.eyebrow) { color:#dae4dc; font-size:16px; max-width:430px; }.profile-hero .button { margin-top:15px; }.profile-hero__image { height:370px; position:relative; }.profile-hero__image:after { border:1px solid var(--sun); content:""; inset:16px -16px -16px 16px; position:absolute; }.profile-hero__image img { height:100%; object-fit:cover; position:relative; width:100%; z-index:1; }.profile-body { padding:110px 0; }.profile-body__grid { display:grid; gap:110px; grid-template-columns:1fr 300px; max-width:1010px; }.profile-body h2 { font-size:clamp(42px,4.6vw,61px); margin:0 0 18px; }.profile-body article>p:not(.eyebrow) { color:#5e6e66; font-size:15px; max-width:570px; }.profile-facts { display:flex; gap:40px; margin-top:35px; }.profile-facts div { display:flex; gap:9px; }.profile-facts b { color:var(--clay); font-family:var(--serif); font-size:38px; line-height:1; }.profile-facts span { color:#67776f; font-size:10px; font-weight:800; line-height:1.35; text-transform:uppercase; }.profile-body aside { align-self:start; background:var(--cream); padding:28px; }.profile-body ul { list-style:none; margin:22px 0; padding:0; }.profile-body li { align-items:center; border-top:1px solid #d9d0c2; color:#506259; display:flex; font-size:12px; gap:8px; padding:12px 0; }.profile-body li svg { color:var(--clay); }.profile-body aside>a { align-items:center; color:var(--green); display:flex; font-size:12px; font-weight:800; gap:5px; }
.stories-page { padding:90px 0 125px; }.lead-story { align-items:center; background:var(--cream); display:grid; grid-template-columns:1.1fr .9fr; margin-bottom:70px; }.lead-story__image { display:block; height:465px; overflow:hidden; }.lead-story__image img { height:100%; object-fit:cover; width:100%; }.lead-story>div { padding:12%; }.lead-story h2 { font-size:clamp(39px,4vw,56px); margin:0 0 18px; }.lead-story>div>p:not(.story-meta) { color:#617169; font-size:14px; }.stories-list { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }.stories-list article>img { height:220px; object-fit:cover; width:100%; }.stories-list article>div { padding-top:17px; }.stories-list h3 { font-size:31px; margin:0 0 10px; }.stories-list h3:hover { color:var(--clay); }.stories-list article>div>p:not(.story-meta) { color:#63736b; font-size:12px; }.contribute-banner { background:var(--green); color:white; }.contribute-banner .content-band { align-items:center; display:flex; gap:19px; justify-content:center; padding:42px 0; }.contribute-banner svg { color:var(--sun); }.contribute-banner .eyebrow { color:var(--sun); margin:0 0 5px; }.contribute-banner h2 { font-family:var(--serif); font-size:28px; margin:0; }.contribute-banner .button { margin-left:50px; }
.sale-hero { background:var(--green-deep); color:white; overflow:hidden; padding:125px 0 135px; position:relative; }.sale-hero:after { background:radial-gradient(circle,rgba(232,198,74,.28) 0 1px,transparent 1.6px); background-size:12px 12px; content:""; height:280px; opacity:.55; position:absolute; right:5%; top:20%; width:280px; }.sale-hero .content-band { position:relative; z-index:1; }.sale-hero h1 { font-size:clamp(78px,11vw,165px); margin:0; }.sale-hero h1 em { color:var(--sun); font-style:normal; }.sale-hero__statement { color:#e3ebe5; font-family:var(--serif); font-size:clamp(24px,2.4vw,36px); line-height:1.25; margin:10px 0 31px; max-width:690px; }.sale-hero>div>div { display:flex; gap:20px; }.sale-intro { padding:112px 0; }.sale-intro__grid { display:grid; gap:90px; grid-template-columns:.8fr 1.1fr; }.sale-intro h2,.sale-reasons h2,.sale-models h2,.sale-includes h2 { font-size:clamp(42px,4.6vw,64px); margin:0; }.sale-intro p { color:#56675f; font-size:15px; }.sale-intro p b { color:var(--green); }.sale-reasons { background:var(--cream); padding:103px 0; }.sale-reasons h2 { margin-bottom:46px; }.reasons-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:19px; }.reasons-grid article { border-top:1px solid #a8b2a7; padding-top:15px; }.reasons-grid article>b { color:var(--clay); font-family:var(--serif); font-size:32px; }.reasons-grid h3 { font-family:var(--serif); font-size:27px; margin:11px 0 10px; }.reasons-grid p { color:#66766f; font-size:12px; line-height:1.6; }.sale-models { padding:110px 0; }.sale-models>.content-band { display:grid; gap:80px; grid-template-columns:.8fr 1.2fr; }.sale-models>div>div>p { color:#62726b; font-size:14px; }.sale-models article { align-items:center; border-top:1px solid var(--line); display:grid; gap:16px; grid-template-columns:45px 1fr 24px; padding:20px 0; }.sale-models article:last-child { border-bottom:1px solid var(--line); }.sale-models article>span { color:var(--clay); font-family:var(--serif); font-size:25px; }.sale-models article h3 { font-family:var(--serif); font-size:25px; margin:0 0 4px; }.sale-models article p { color:#63736c; font-size:12px; margin:0; }.sale-includes { background:var(--green); color:white; padding:103px 0; }.sale-includes .eyebrow { color:var(--sun); }.sale-includes>.content-band { display:grid; gap:80px; grid-template-columns:1fr 1fr; }.sale-include-list { padding-top:18px; }.sale-include-list p { align-items:flex-start; border-bottom:1px solid rgba(255,255,255,.2); color:#e4eee6; display:flex; font-size:14px; gap:10px; margin:0; padding:14px 0; }.sale-include-list svg { color:var(--sun); flex:none; margin-top:4px; }.sale-contact { background:var(--clay); color:white; padding:110px 0; text-align:center; }.sale-contact .content-band { max-width:760px; }.sale-contact .eyebrow { color:#ffe3c7; }.sale-contact h2 { font-size:clamp(48px,5vw,70px); margin:0 0 18px; }.sale-contact p:not(.eyebrow) { color:#ffe4d0; font-size:15px; }.sale-email { align-items:center; border-bottom:2px solid #ffe3c7; color:white; display:inline-flex; font-family:var(--serif); font-size:clamp(26px,3vw,39px); gap:9px; margin-top:15px; padding-bottom:3px; }
@media (max-width:900px) { .desktop-nav { gap:16px; margin-left:10px; }.content-band { width:min(100% - 36px, 1180px); }.hero-home__grid { grid-template-columns:1fr 250px; }.signal-section__grid { gap:30px; }.market-card-grid { grid-template-columns:repeat(2,1fr); }.market-feature__copy { padding:50px 10%; }.footer-top { gap:38px; }.footer-links { gap:20px; }.section-intro__grid { grid-template-columns:.4fr 1.4fr; }.section-intro__line { display:none; }.route-detail-body__grid { gap:50px; }.sale-intro__grid,.sale-models>.content-band { gap:45px; }.reasons-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px) { .content-band { width:calc(100% - 32px); }.sale-strip__inner { min-height:42px; }.sale-strip p { font-size:9px; line-height:1.25; }.sale-strip__link { font-size:10px; }.site-header__inner { height:64px; }.wordmark { font-size:26px; }.wordmark img { height:25px; width:25px; }.desktop-nav,.search-trigger,.header-actions .button { display:none; }.mobile-menu-trigger,.mobile-nav { display:flex; }.hero-home { min-height:650px; background-position:62% center; }.hero-home__grid { display:block; min-height:580px; padding-top:75px; }.hero-home h1 { font-size:57px; }.hero-home__lead { font-size:15px; }.hero-home__buttons { align-items:flex-start; flex-direction:column; gap:20px; margin-top:25px; }.hero-home__sidecard { bottom:48px; left:0; margin:0; max-width:250px; padding:18px; position:absolute; transform:rotate(1.2deg); }.hero-home__sidecard h2 { font-size:23px; margin:12px 0 5px; }.hero-home__sidecard p { display:none; }.hero-home__baseline { display:none; }.signal-section { padding:70px 0; }.signal-section__grid,.section-intro__grid { display:block; }.signal-section h2 { font-size:44px; margin-bottom:22px; }.signal-section .text-link { margin-top:20px; }.section-heading { align-items:flex-start; flex-direction:column; gap:17px; margin-bottom:30px; }.section-heading h2 { font-size:45px; }.event-row { gap:13px; grid-template-columns:53px 1fr 34px; }.event-row .date-chip { height:52px; width:52px; }.event-row .date-chip b { font-size:22px; }.event-row h3 { font-size:21px; line-height:1.15; }.event-place { display:none; }.round-arrow { height:32px; width:32px; }.routes-section { padding:92px 0 78px; }.route-grid,.story-grid { display:block; }.route-card { margin-bottom:20px; }.route-card__image,.route-card--1 .route-card__image { height:260px; }.route-card--1 .route-card__body { padding:24px; }.route-card--1 .route-card__body h3 { font-size:32px; }.market-feature { padding-bottom:86px; }.market-feature__grid,.newsletter-callout__grid,.discover-lead__grid,.route-feature-large,.lead-story,.profile-hero__grid { display:block; }.market-feature__image { min-height:350px; }.market-stamp { right:10px; }.market-feature__copy { padding:43px 28px; }.market-feature__copy h2 { font-size:47px; }.stories-section { padding:80px 0; }.story-card,.story-card--1 { display:grid; gap:0; grid-template-columns:125px 1fr; margin-bottom:21px; }.story-card__image,.story-card--1 .story-card__image { height:146px; min-height:0; }.story-card>div { padding:0 0 0 15px; }.story-card h3,.story-card--1 h3 { font-size:23px; margin-bottom:7px; }.story-card>div>p:not(.story-meta) { display:none; }.newsletter-callout { padding:75px 0; }.newsletter-callout h2 { font-size:46px; }.newsletter-callout form { display:block; }.newsletter-callout input { border:1px solid var(--line); margin-bottom:10px; }.newsletter-callout .button { width:100%; }.footer-top { display:block; padding:60px 0 37px; }.footer-brand { margin-bottom:42px; }.footer-links { grid-template-columns:1fr 1fr; }.footer-links>div:last-child { grid-column:span 2; }.footer-bottom { align-items:flex-start; flex-direction:column; gap:11px; }.section-intro { padding:72px 0 62px; }.section-intro h1 { font-size:53px; }.section-intro p:not(.eyebrow) { font-size:14px; }.discover-lead { padding:76px 0; }.discover-lead__photo { height:300px; margin-bottom:34px; }.discover-lead h2 { font-size:46px; }.numbered-list { padding:70px 0; }.numbered-list article { gap:15px; grid-template-columns:56px 1fr 34px; padding:21px 0; }.numbered-list article>span { font-size:35px; }.numbered-list h2 { font-size:29px; }.numbered-list article p { font-size:12px; }.numbered-list article a { height:32px; width:32px; }.image-essay { padding:78px 0 106px; }.image-essay .content-band { display:block; }.image-essay h2 { font-size:47px; margin-bottom:28px; }.image-essay img { height:300px; }.image-essay__note { bottom:-48px; left:18px; width:calc(100% - 36px); }.agenda-page { padding:64px 0 83px; }.agenda-toolbar,.market-page__top { align-items:flex-start; flex-direction:column; }.agenda-toolbar h2 { font-size:38px; }.agenda-page__grid { display:block; }.agenda-item h3 { font-size:23px; }.agenda-aside { margin-top:35px; }.routes-page { padding:70px 0 85px; }.route-feature-large__image { height:320px; }.route-feature-large__copy { padding:35px 25px; }.route-feature-large h2 { font-size:47px; }.route-feature-large dl { gap:12px; }.route-feature-large dd { font-size:17px; }.compact-route-list article { gap:12px; grid-template-columns:80px 1fr 32px; }.compact-route-list img { height:82px; width:80px; }.compact-route-list h3 { font-size:22px; }.compact-route-list span { display:none; }.compact-route-list>a { height:31px; width:31px; }.route-detail-hero { min-height:490px; padding:37px 0 45px; }.route-detail-hero .back-link,.profile-hero .back-link { margin-bottom:56px; }.route-detail-hero h1 { font-size:53px; }.route-detail-hero p:not(.eyebrow) { font-size:15px; }.route-detail-body { padding:72px 0; }.route-detail-body__grid { display:block; }.route-detail-body aside { position:static; margin-bottom:43px; }.route-detail-body article h2 { font-size:35px; }.route-lead { font-size:27px; }.market-page { padding-top:66px; }.market-page h2 { font-size:49px; }.market-search { margin-top:24px; width:100%; }.market-card-grid { grid-template-columns:1fr; }.market-card { display:grid; grid-template-columns:145px 1fr; }.market-card__image { height:100%; min-height:196px; }.market-card__body { padding:18px; }.market-card h3 { font-size:27px; }.market-proposition { margin-top:75px; padding:75px 0; }.profile-hero { padding:36px 0 67px; }.profile-hero h1 { font-size:64px; }.profile-hero__image { height:280px; margin-top:47px; }.profile-body { padding:75px 0; }.profile-body__grid { display:block; }.profile-body h2 { font-size:47px; }.profile-body aside { margin-top:42px; }.profile-facts { gap:19px; }.profile-facts b { font-size:31px; }.stories-page { padding:68px 0 76px; }.lead-story__image { height:290px; }.lead-story>div { padding:29px; }.lead-story h2 { font-size:42px; }.stories-list { display:block; }.stories-list article { display:grid; gap:15px; grid-template-columns:100px 1fr; margin-bottom:27px; }.stories-list article>img { height:120px; }.stories-list article>div { padding:0; }.stories-list h3 { font-size:25px; }.stories-list article>div>p:not(.story-meta) { display:none; }.contribute-banner .content-band { align-items:flex-start; flex-direction:column; padding:39px 0; }.contribute-banner .button { margin-left:0; }.sale-hero { padding:83px 0 95px; }.sale-hero h1 { font-size:83px; }.sale-hero__statement { font-size:27px; }.sale-intro,.sale-models { padding:76px 0; }.sale-intro__grid,.sale-models>.content-band,.sale-includes>.content-band { display:block; }.sale-intro h2,.sale-reasons h2,.sale-models h2,.sale-includes h2 { font-size:47px; margin-bottom:24px; }.sale-reasons,.sale-includes { padding:78px 0; }.reasons-grid { display:block; }.reasons-grid article { margin-bottom:21px; }.sale-models article h3 { font-size:23px; }.sale-include-list { padding-top:5px; }.sale-contact { padding:79px 0; }.sale-contact h2 { font-size:50px; } }
@media (prefers-reduced-motion:no-preference) { .hero-home__copy,.hero-home__sidecard { animation:rise .7s cubic-bezier(.23,1,.32,1) both; }.hero-home__sidecard { animation-delay:.12s; } @keyframes rise { from { opacity:0; transform:translateY(17px); } to { opacity:1; transform:translateY(0); } } }

/* Sistema de cauce: la acequia conecta navegación, agenda, rutas y selección local. */
.sale-strip { background:#eed0b7; color:var(--green-deep); }
.sale-strip p span { color:var(--clay); }
.site-header:after { background:linear-gradient(90deg,transparent 0 3%,var(--green) 3% 45%,var(--clay) 45% 59%,var(--green) 59% 97%,transparent 97%); bottom:-2px; clip-path:polygon(0 42%,18% 26%,36% 59%,52% 16%,69% 57%,84% 28%,100% 45%,100% 65%,84% 49%,69% 78%,52% 37%,36% 80%,18% 47%,0 61%); content:""; height:4px; left:0; opacity:.82; position:absolute; width:100%; }
.wordmark img { filter:drop-shadow(0 2px 0 rgba(232,198,74,.43)); height:34px; width:34px; }
.text-link:after { background:var(--clay); bottom:-5px; clip-path:polygon(0 35%,18% 13%,37% 69%,55% 26%,73% 77%,90% 21%,100% 42%,100% 78%,90% 58%,73% 100%,55% 49%,37% 92%,18% 36%,0 62%); height:4px; transform:scaleX(.45); }
.agenda-main-list { position:relative; }
.agenda-main-list:before { background:var(--green); bottom:22px; clip-path:polygon(41% 0,60% 0,72% 10%,58% 20%,39% 29%,23% 39%,40% 49%,63% 57%,76% 68%,58% 80%,40% 90%,52% 100%,33% 100%,19% 89%,41% 79%,59% 69%,43% 59%,20% 49%,27% 39%,46% 29%,59% 20%,42% 10%); content:""; left:31px; opacity:.35; position:absolute; top:22px; width:3px; z-index:0; }
.agenda-item { position:relative; z-index:1; }
.agenda-aside { position:relative; }
.agenda-aside:after { background:var(--clay); clip-path:polygon(0 50%,24% 16%,47% 71%,72% 25%,100% 50%,100% 74%,72% 49%,47% 95%,24% 40%,0 74%); content:""; height:4px; left:30px; position:absolute; top:22px; width:87px; }
.agenda-aside h3 { margin-top:25px; }
.route-detail-body article h2 { position:relative; }
.route-detail-body article h2:before { background:var(--clay); border-radius:50%; content:""; height:7px; left:-23px; position:absolute; top:12px; width:7px; }
.market-card:first-child .market-card__image:after { align-items:center; background:var(--green); border:2px solid var(--sun); border-radius:50%; color:var(--sun); content:"SELECCIÓN\A ZENETA"; display:flex; font-size:8px; font-weight:800; height:66px; justify-content:center; letter-spacing:.1em; line-height:1.45; position:absolute; right:12px; text-align:center; top:12px; transform:rotate(-9deg); white-space:pre; width:66px; }
@media (max-width:680px) { .wordmark img { height:28px; width:28px; }.agenda-main-list:before { left:25px; }.route-detail-body article h2:before { display:none; } }

/* Marca dominante: el dominio es el activo principal y ocupa la reserva disponible de cabecera. */
.site-header__inner { height:92px; }
.wordmark { font-size:43.5px; gap:12px; }
.wordmark img { height:51px; width:51px; }
@media (max-width:680px) { .site-header__inner { height:82px; }.wordmark { font-size:39px; gap:10px; }.wordmark img { height:42px; width:42px; } }

@media (max-width:680px) { .sale-strip p { font-size:0; }.sale-strip p span { font-size:10px; }.sale-strip__inner { gap:12px; } }

/* Interacciones autónomas: sin framework ni llamadas a red. */
.mobile-nav[hidden] { display:none !important; }
@media (max-width:680px) { .mobile-nav:not([hidden]) { display:flex; } }
.icon-sprite { display:none; }
.ui-icon { fill:none; flex:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; vertical-align:middle; }
