@font-face{font-family:'DM Serif Display';src:url('../fonts/dm-serif-display.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-800.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap;}
/* Sol de Segura: editorial mediterráneo, textura de cal y color usado para orientar la ciudad. */
:root { --ink: #17313a; --paper: #f8f5ed; --paper-2: #f1ece0; --river: #0d6683; --river-deep: #08495e; --pimento: #e75c37; --sun: #f1b938; --huerta: #5e815d; --line: #d9d2c5; --muted: #6a7472; --shadow: 0 16px 40px rgba(23,49,58,.10); --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.55; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .15; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.19'/%3E%3C/svg%3E"); z-index: 100; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { border: 0; }
.site-shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.sr-only { position: absolute; overflow: hidden; width: 1px; height: 1px; margin: -1px; clip: rect(0,0,0,0); white-space: nowrap; }
.sale-bar { position: relative; z-index: 20; background: var(--pimento); color: #fff8ef; font-size: 12px; letter-spacing: .01em; }
.sale-bar__inner { min-height: 39px; display: flex; gap: 12px; align-items: center; justify-content: center; }
.sale-bar__eyebrow { font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding-right: 12px; border-right: 1px solid rgba(255,255,255,.45); }
.sale-bar p { margin: 0; }
.sale-bar__link { margin-left: 4px; display: inline-flex; align-items: center; gap: 5px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.main-header { position: sticky; top: 0; z-index: 50; background: rgba(248,245,237,.96); border-bottom: 1px solid rgba(23,49,58,.12); backdrop-filter: blur(16px); box-shadow: 0 8px 22px rgba(23,49,58,.05); }
.main-header__inner { height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.city-mark { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; font-family: var(--serif); font-size: 23px; letter-spacing: -.05em; color: var(--ink); }
.city-mark img { width: 32px; height: 32px; object-fit: contain; }
.city-mark b { color: var(--river); font-weight: 400; }.mark-dot { color: var(--pimento); font-size: .78em; }
.main-header .city-mark { font-size:34.5px; }.main-header .city-mark img { width:48px; height:48px; }
.city-mark--compact { font-size: 22px; }.city-mark--compact img { width: 36px; height: 36px; }
.desktop-nav { display: flex; align-items: center; gap: 19px; margin-left: auto; white-space: nowrap; }
.desktop-nav a { position: relative; font-size: 12px; font-weight: 800; color: #4c5d61; transition: color .18s ease; }.desktop-nav a:hover,.desktop-nav a.is-active { color: var(--river); }.desktop-nav a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 2px; background: var(--pimento); }
.header-actions { display: flex; align-items: center; gap: 8px; }.header-search,.today-link { display: inline-flex; align-items: center; justify-content: center; height: 34px; border: 1px solid var(--line); transition: .18s ease; }.header-search { width: 34px; border-radius: 50%; color: var(--river); }.header-search:hover { background: var(--river); color: white; }.today-link { padding: 0 11px; gap: 5px; border-radius: 2px; font-size: 11px; font-weight: 800; color: var(--river); }.today-link:hover { background: #dbeef3; }.mobile-menu-trigger { display: none; background: transparent; color: var(--river); padding: 6px; }
.mobile-nav { border-top: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); }.mobile-nav .site-shell { padding: 12px 0 18px; display: grid; }.mobile-nav a { padding: 14px 0; border-bottom: 1px solid var(--line); display: flex; gap: 12px; align-items: center; font-weight: 800; color: var(--ink); }.mobile-nav a span { color: var(--pimento); font-size: 10px; }.mobile-nav a svg { margin-left: auto; }.mobile-nav a.mobile-nav__sale { color: var(--pimento); }
.eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 11px; font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }.eyebrow::before { content: ""; width: 22px; height: 2px; background: currentColor; }.eyebrow--blue { color: var(--river); }.eyebrow--amber { color: #c07c00; }
.section-heading { display: flex; justify-content: space-between; gap: 26px; align-items: end; margin-bottom: 28px; }.section-heading h2 { max-width: 650px; margin: 0; font: 400 clamp(31px,4vw,51px)/.98 var(--serif); letter-spacing: -.035em; }.section-heading p { max-width: 590px; margin: 13px 0 0; color: var(--muted); font-size: 15px; }.text-link { display: inline-flex; gap: 7px; align-items: center; flex: 0 0 auto; padding-bottom: 3px; color: var(--river); border-bottom: 1px solid var(--river); font-size: 12px; font-weight: 800; transition: gap .18s ease; }.text-link:hover { gap: 12px; }
.utility-tag { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid #cbd7d1; background: #f5faf5; color: #38623d; font-size: 10px; font-weight: 800; line-height: 1; }.place-line { display: flex; align-items: center; gap: 5px; margin: 0; color: #5e6b6c; font-size: 12px; }
.hero { position: relative; min-height: 555px; display: grid; align-items: end; overflow: hidden; color: white; background: #31545d; }.hero__image { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(11,42,52,.8) 0%,rgba(11,42,52,.42) 45%,rgba(11,42,52,.1) 100%),url('../images/hero.webp') center/cover; }.hero::after { content: ""; position:absolute; height: 110px; left: -4%; right: -4%; bottom: -50px; background: var(--paper); border-radius: 50% 50% 0 0/100% 100% 0 0; }.hero__content { position: relative; z-index: 1; padding: 100px 0 92px; }.hero__content .eyebrow { color: #fbd36b; }.hero h1 { max-width: 760px; margin: 0; font: 400 clamp(48px,7vw,86px)/.91 var(--serif); letter-spacing: -.055em; }.hero h1 em { color: #ffcf5b; font-style: italic; }.hero__intro { max-width: 550px; margin: 22px 0 0; font-size: 17px; line-height: 1.6; color: #f5f5ed; }.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; }.button-primary,.button-secondary { min-height: 45px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 800; font-size: 12px; transition: transform .16s ease, background .16s ease; }.button-primary { background: var(--pimento); color: white; }.button-primary:hover { background: #c94325; }.button-secondary { background: rgba(255,255,255,.16); color: white; border: 1px solid rgba(255,255,255,.55); }.button-secondary:hover { background: white; color: var(--river); }.button-primary:active,.button-secondary:active { transform: scale(.97); }
.hero__weather { position: absolute; right: 0; bottom: 98px; z-index: 1; padding: 13px 0 13px 20px; border-left: 1px solid rgba(255,255,255,.5); text-align: right; }.hero__weather b { display: block; font: 400 40px/1 var(--serif); }.hero__weather span { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.page-hero { position: relative; overflow: hidden; background: var(--river-deep); color: white; padding: 75px 0 72px; }.page-hero--warm { background: #b8482d; }.page-hero--green { background: #486a4b; }.page-hero::after { content:""; position:absolute; width: 320px; height: 320px; right: -100px; top:-170px; border: 35px solid rgba(255,255,255,.1); border-radius: 50%; }.page-hero__inner { position:relative; z-index:1; }.page-hero .eyebrow { color: #f7cb55; }.page-hero h1 { max-width: 780px; margin: 0; font: 400 clamp(47px,6.3vw,78px)/.93 var(--serif); letter-spacing: -.05em; }.page-hero p:not(.eyebrow) { max-width: 640px; margin: 18px 0 0; color: rgba(255,255,255,.88); font-size: 16px; }.page-hero__trail { display: flex; gap: 9px; align-items: center; margin-bottom: 24px; color: #b7d2d9; font-size: 11px; font-weight: 700; }.page-hero__trail a { text-decoration: underline; text-underline-offset: 3px; }
.section { padding: 88px 0; }.section--paper { background: var(--paper-2); }.section--ink { background: var(--ink); color: white; }.section--tight { padding: 60px 0; }
.home-intro { padding: 52px 0 84px; }.home-intro__grid { display:grid; grid-template-columns: 1.25fr .75fr; gap: 65px; align-items:end; }.home-intro h2 { max-width: 660px; margin: 0; font: 400 clamp(34px,4.4vw,58px)/1 var(--serif); letter-spacing: -.045em; }.home-intro p { margin:0 0 4px; color: var(--muted); font-size:16px; }.home-intro p b { color: var(--river); }
.agenda-rail { display:grid; grid-template-columns: repeat(3,1fr); gap: 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.event-card { position:relative; min-height: 185px; display:flex; gap:15px; padding: 25px 21px; border-right:1px solid var(--line); background: var(--paper); transition: transform .18s ease,box-shadow .18s ease; }.event-card:last-child { border-right:0; }.event-card:hover { z-index:2; transform: translateY(-5px); box-shadow: var(--shadow); }.event-date { min-width: 40px; color: var(--river); text-align:center; }.event-date b { display:block; font:400 34px/.8 var(--serif); }.event-date span { display:block; margin-top:7px; font-size:9px; font-weight:800; letter-spacing:.1em; }.event-card__body { min-width:0; }.event-card__type { margin:0 0 8px; color:var(--pimento); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }.event-card h3 { margin:0 0 8px; font:400 21px/1.03 var(--serif); letter-spacing:-.02em; }.event-card__detail { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }.event-card--blue { border-top:4px solid var(--river); }.event-card--amber { border-top:4px solid var(--sun); }.event-card--green { border-top:4px solid var(--huerta); }.event-card--coral { border-top:4px solid var(--pimento); }
.home-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:25px; }.image-feature { position:relative; min-height:460px; display:flex; align-items:end; padding:28px; overflow:hidden; color:#fff; background:#574943; }.image-feature::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(9,31,37,.82),rgba(9,31,37,.08) 65%),url('../images/cultura.webp') center/cover; transition:transform .4s ease; }.image-feature:hover::before { transform:scale(1.025); }.image-feature__content { position:relative; }.image-feature h3 { max-width:560px; margin:0; font:400 43px/.98 var(--serif); letter-spacing:-.035em; }.image-feature p { max-width:475px; margin:14px 0 0; color:rgba(255,255,255,.88); font-size:14px; }.image-feature .utility-tag { margin-bottom:15px; background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.5); color:white; }
.story-stack { display:grid; gap:0; background:var(--paper); border:1px solid var(--line); }.story-link { position:relative; padding: 25px 24px; border-bottom:1px solid var(--line); transition:background .18s ease; }.story-link:last-child { border-bottom:0; }.story-link:hover { background:#fffdf8; }.story-link__category { margin:0 0 8px; color:var(--pimento); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.story-link h3 { margin:0; font:400 28px/1.01 var(--serif); letter-spacing:-.03em; }.story-link p:not(.story-link__category) { margin:10px 34px 0 0; color:var(--muted); font-size:12px; }.story-link__meta { display:block; margin-top:13px; color:var(--river); font-size:10px; font-weight:800; }.story-link svg { position:absolute; right:23px; top:30px; color:var(--river); }
.territory-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.territory-card { position:relative; min-height:172px; padding:22px; overflow:hidden; border:1px solid var(--line); background:var(--paper); transition:transform .18s ease,box-shadow .18s ease; }.territory-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }.territory-card::after { content:""; position:absolute; width:105px; height:105px; right:-42px; bottom:-58px; border:18px solid currentColor; border-radius:50%; opacity:.18; }.territory-card h3 { position:relative; z-index:1; max-width:210px; margin:0; font:400 27px/.98 var(--serif); letter-spacing:-.03em; }.territory-card p { position:relative; z-index:1; margin:10px 0 19px; color:var(--muted); font-size:12px; }.territory-card span { position:relative; z-index:1; color:currentColor; font-size:10px; font-weight:800; }.territory-card--blue { color:var(--river); }.territory-card--coral { color:var(--pimento); }.territory-card--amber { color:#c28100; }.territory-card--green { color:var(--huerta); }.territory-card--olive { color:#63793a; }.territory-card--clay { color:#a65c3c; }
.data-split { display:grid; grid-template-columns:.78fr 1.22fr; gap:32px; align-items:stretch; }.data-panel { padding:29px; background:var(--river); color:white; }.data-panel h3 { margin:15px 0 6px; font:400 38px/1 var(--serif); letter-spacing:-.04em; }.data-panel p { margin:0; color:#d8eef1; font-size:13px; }.data-stat { display:flex; align-items:baseline; gap:8px; padding:22px 0; margin-top:18px; border-top:1px solid rgba(255,255,255,.3); }.data-stat b { font:400 55px/.8 var(--serif); color:#ffd15c; }.data-stat span { font-size:11px; max-width:130px; }.city-note { display:grid; grid-template-columns:.55fr 1fr; gap:26px; align-items:center; padding:32px; background:#e3edf0; }.city-note h3 { margin:0; font:400 34px/.98 var(--serif); letter-spacing:-.04em; }.city-note p { margin:0; color:#52676e; font-size:13px; }
.mini-map { position:relative; min-height:255px; overflow:hidden; background:#c8dde2; border:10px solid #e3edf0; }.mini-map::before,.mini-map::after { content:""; position:absolute; background:rgba(255,255,255,.55); transform:rotate(-35deg); }.mini-map::before { width:300px;height:23px;left:-20px;top:73px; }.mini-map::after { width:250px;height:15px;right:-40px;bottom:63px; }.mini-map__river { position:absolute; width:380px; height:72px; top:94px; left:-45px; border-top:19px solid var(--river); border-radius:50%; transform:rotate(-12deg); }.mini-map__point { position:absolute; width:14px;height:14px;border:4px solid var(--pimento);border-radius:50%;background:#fff;z-index:2; }.mini-map__point--one { top:73px;left:42%; }.mini-map__point--two { top:152px;left:59%; }.mini-map__point--three { top:183px;left:27%; }.mini-map strong,.mini-map em,.mini-map i { position:absolute;z-index:2;color:var(--river-deep);font:400 18px var(--serif); }.mini-map strong { top:120px;left:16%; transform:rotate(-10deg);}.mini-map em{top:47px;left:51%;}.mini-map i{bottom:25px;left:57%;}
.newsletter-band { background:var(--pimento); color:#fff7ed; }.newsletter-band__inner { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; padding:60px 0; align-items:center; }.newsletter-band .eyebrow { color:#ffe08c; }.newsletter-band h2 { max-width:650px; margin:0; font:400 clamp(35px,4vw,55px)/.97 var(--serif); letter-spacing:-.04em; }.newsletter-band p { margin:13px 0 0; max-width:550px; font-size:14px; color:#ffece0; }.newsletter-form { display:grid; grid-template-columns:1fr auto; gap:0; }.newsletter-form input { width:100%; min-height:48px; padding:0 14px; border:0; color:var(--ink); outline:0; }.newsletter-form button { min-height:48px; padding:0 16px; background:var(--ink); color:white; display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800; }.newsletter-form small { grid-column:1/-1; margin-top:8px; color:#ffe7d9; font-size:10px; }
.directory-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.place-card { display:flex; flex-direction:column; min-height:250px; padding:22px; border:1px solid var(--line); background:var(--paper); transition:transform .18s ease,box-shadow .18s ease; }.place-card:hover { transform:translateY(-4px);box-shadow:var(--shadow); }.place-card__top { display:flex; justify-content:space-between;gap:10px;align-items:start; }.place-card__kind { margin:0;color:var(--pimento);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em; }.place-card__price { color:var(--river);font-size:14px;font-weight:800; }.place-card h3 { margin:17px 0 7px;font:400 29px/1 var(--serif);letter-spacing:-.035em; }.place-card__area { margin:0;color:var(--river);font-size:11px;font-weight:800; }.place-card__description { margin:13px 0 auto;color:var(--muted);font-size:12px; }.place-card .utility-tag { align-self:start;margin-top:17px; }
.feature-photo { position:relative; min-height:360px; display:flex;align-items:end; padding:27px;overflow:hidden;color:white;background:#453a2b; }.feature-photo::before { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,40,39,.78),rgba(20,40,39,.02)),url('../images/huerta.webp') center/cover; }.feature-photo--market::before { background:linear-gradient(0deg,rgba(25,34,31,.78),rgba(25,34,31,.05)),url('../images/mercado.webp') center/cover; }.feature-photo__content {position:relative;}.feature-photo h2 {max-width:620px;margin:0;font:400 clamp(38px,4.5vw,60px)/.96 var(--serif);letter-spacing:-.045em;}.feature-photo p {max-width:535px;margin:14px 0 0;color:#f2f2e8;font-size:14px;}
.article-layout { display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:65px; }.article-copy { max-width:740px; }.article-copy h2 {margin:40px 0 14px;font:400 36px/1.04 var(--serif);letter-spacing:-.035em;}.article-copy p {margin:0 0 18px;color:#41565b;font-size:16px;}.article-copy .lead {font:400 26px/1.3 var(--serif);color:var(--ink);letter-spacing:-.018em;}.article-aside {align-self:start;position:sticky;top:104px;padding-left:24px;border-left:2px solid var(--sun);}.article-aside h3 {margin:0 0 14px;font:400 25px/1 var(--serif);}.article-aside a {display:block;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;color:var(--river);}
.facts-strip {display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}.fact {padding:21px;border-right:1px solid var(--line);}.fact:last-child{border:0;}.fact b{display:block;font:400 34px/1 var(--serif);color:var(--river);}.fact span{display:block;margin-top:7px;color:var(--muted);font-size:11px;}
.faq-list {border-top:1px solid var(--line);}.faq-item {display:grid;grid-template-columns:1fr 1.1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line);}.faq-item h3{margin:0;font:400 25px/1.05 var(--serif);letter-spacing:-.03em;}.faq-item p{margin:0;color:var(--muted);font-size:13px;}
.sale-page-hero {padding:85px 0;background:var(--ink);color:white;}.sale-page-hero__grid {display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}.sale-page-hero .eyebrow{color:#ffd35e;}.sale-page-hero h1{margin:0;font:400 clamp(47px,6vw,78px)/.91 var(--serif);letter-spacing:-.055em;}.sale-page-hero p{max-width:590px;margin:22px 0 0;color:#d9e5e1;font-size:16px;}.sale-card {padding:28px;background:#f6f1e5;color:var(--ink);box-shadow:18px 18px 0 var(--pimento);}.sale-card h2{margin:0;font:400 32px/1 var(--serif);letter-spacing:-.03em;}.sale-card p{margin:10px 0 20px;color:#5e6a69;font-size:12px;}.sale-form{display:grid;gap:10px;}.sale-form input,.sale-form textarea{width:100%;padding:12px;border:1px solid #cfc7b7;background:white;color:var(--ink);outline-color:var(--river);font-size:13px;}.sale-form textarea{min-height:80px;resize:vertical;}.sale-form button{min-height:46px;background:var(--pimento);color:white;font-weight:800;font-size:12px;}.sale-card small{display:block;margin-top:11px;color:#63706d;font-size:10px;}.sale-card small a{color:var(--river);font-weight:800;text-decoration:underline;}
.site-footer {background:var(--ink);color:#eaf1ed;}.footer-top {display:grid;grid-template-columns:1.2fr .5fr .58fr .9fr;gap:38px;padding:64px 0 50px;}.footer-brand p {max-width:280px;margin:17px 0 0;color:#b9c9c8;font-size:12px;}.site-footer .city-mark {color:white;}.site-footer .city-mark b{color:#80d0e3;}.footer-col h3 {margin:0 0 14px;color:#f1c24c;font-size:10px;letter-spacing:.15em;text-transform:uppercase;}.footer-col a {display:block;margin:8px 0;color:#c8d5d4;font-size:12px;}.footer-col a:hover,.footer-email:hover{color:#fff;}.footer-contact {padding-left:25px;border-left:1px solid rgba(255,255,255,.18);}.footer-contact__label{margin:0 0 12px;color:#f1c24c;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}.footer-email,.footer-social{display:flex;align-items:center;gap:8px;margin-top:10px;color:#eaf1ed;font-size:12px;font-weight:700;}.footer-social{color:#b9c9c8;font-weight:500;}.footer-bottom{padding:18px 0;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:20px;color:#9fb3b2;font-size:10px;}.footer-bottom p{margin:0;}.footer-bottom div{display:flex;gap:17px;}.footer-bottom a:hover{text-decoration:underline;}
@media (prefers-reduced-motion:no-preference){.hero__content,.page-hero__inner{animation:rise .55s cubic-bezier(.23,1,.32,1) both;}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
@media (max-width:1080px){.desktop-nav{gap:12px;}.desktop-nav a{font-size:11px;}.today-link{display:none;}.footer-top{grid-template-columns:1.2fr .65fr .65fr;}.footer-contact{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;}.home-grid,.data-split{grid-template-columns:1fr;}.article-layout{gap:40px;}.article-aside{display:none;}}
@media (max-width:800px){.site-shell{width:min(100% - 32px,1240px);}.sale-bar__inner{justify-content:space-between;gap:12px;min-height:44px;line-height:1.25;}.sale-bar__eyebrow{display:block;padding-right:0;border-right:0;font-size:9px;}.sale-bar p{display:none;}.sale-bar__link{margin-left:auto;font-size:10px;}.main-header__inner{height:80px;}.city-mark{font-size:20px;}.city-mark img{width:29px;height:29px;}.main-header .city-mark{font-size:30px;}.main-header .city-mark img{width:44px;height:44px;}.desktop-nav,.header-search{display:none;}.mobile-menu-trigger{display:inline-flex;}.hero{min-height:615px;}.hero__content{padding:72px 0 98px;}.hero h1{font-size:54px;}.hero__weather{display:none;}.home-intro{padding:43px 0 65px;}.home-intro__grid,.newsletter-band__inner,.sale-page-hero__grid{grid-template-columns:1fr;gap:24px;}.agenda-rail{grid-template-columns:1fr;}.event-card{border-right:0;border-bottom:1px solid var(--line);min-height:0;}.event-card:last-child{border-bottom:0;}.section{padding:62px 0;}.section-heading{align-items:start;flex-direction:column;gap:16px;}.territory-grid,.directory-grid{grid-template-columns:1fr 1fr;}.facts-strip{grid-template-columns:1fr 1fr;}.fact:nth-child(2){border-right:0;}.fact:nth-child(-n+2){border-bottom:1px solid var(--line);}.faq-item{grid-template-columns:1fr;gap:10px;}.footer-top{grid-template-columns:1fr 1fr;gap:32px 20px;}.footer-brand{grid-column:1/-1;}.footer-contact{grid-column:1/-1;}.page-hero{padding:59px 0 57px;}.page-hero h1{font-size:52px;}.article-copy .lead{font-size:24px;}.image-feature h3{font-size:36px;}.city-note{grid-template-columns:1fr;}.sale-card{box-shadow:10px 10px 0 var(--pimento);}}
@media (max-width:520px){.sale-bar p{max-width:205px;}.sale-bar__link{max-width:80px;line-height:1.1;text-align:right;justify-content:end;}.sale-bar__link svg{display:none;}.hero h1{font-size:46px;}.hero__intro{font-size:15px;}.button-primary,.button-secondary{width:100%;}.territory-grid,.directory-grid{grid-template-columns:1fr;}.home-grid{gap:16px;}.image-feature{min-height:385px;padding:21px;}.story-link h3{font-size:26px;}.newsletter-form{grid-template-columns:1fr;gap:8px;}.newsletter-form button{justify-content:center;}.newsletter-form small{grid-column:auto;}.footer-top{grid-template-columns:1fr;}.footer-brand{grid-column:auto;}.footer-contact{grid-column:auto;}.footer-bottom{flex-direction:column;}.footer-bottom div{flex-wrap:wrap;}.page-hero h1{font-size:45px;}.page-hero p:not(.eyebrow){font-size:14px;}.facts-strip{grid-template-columns:1fr;}.fact,.fact:nth-child(2){border-right:0;}.fact:not(:last-child){border-bottom:1px solid var(--line);}.section-heading h2{font-size:38px;}.feature-photo h2{font-size:42px;}.article-copy h2{font-size:33px;}}

/* Sol de Segura — refuerzo del meandro como sistema de orientación, no decoración aislada. */
.section-heading { position:relative; padding-bottom:10px; }
.section-heading .text-link { position:relative; z-index:1; }
.river-trace { position:absolute; left:0; right:0; bottom:-10px; height:25px; display:flex; align-items:center; overflow:hidden; pointer-events:none; opacity:.58; }
.river-trace::before,.river-trace::after,.river-trace i { content:""; display:block; flex:0 0 116px; height:26px; border-top:2px solid var(--river); border-radius:50%; transform:translateY(10px); }
.river-trace i:nth-child(1) { margin-left:34%; transform:translateY(-6px); }
.river-trace i:nth-child(2) { border-color:var(--pimento); transform:translateY(10px); }
.river-trace i:nth-child(3) { border-color:var(--huerta); transform:translateY(-6px); }
.river-trace::after { transform:translateY(10px); }
.utility-tag img { width:12px; height:12px; object-fit:contain; }
.page-hero--warm { background:#34555e; }
.page-hero::before { content:""; position:absolute; inset:0; opacity:.10; background-image:url("data:image/svg+xml,%3Csvg width='220' height='90' viewBox='0 0 220 90' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-15 62 C20 15 47 103 84 52 S148 5 235 47' fill='none' stroke='%23fff7df' stroke-width='2'/%3E%3Cpath d='M-10 78 C29 29 73 111 113 66 S175 17 229 49' fill='none' stroke='%23fff7df' stroke-width='1'/%3E%3C/svg%3E"); background-size:220px 90px; }
.territory-grid { grid-template-columns:1.12fr .9fr .98fr; }
.territory-card:nth-child(3n+2) { margin-top:26px; }
.territory-card::after { display:none; }
.territory-card::before { content:""; position:absolute; left:0; right:0; bottom:-2px; height:37px; opacity:.22; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 360 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-10 24 C35 -5 72 50 120 20 S205 -8 250 21 S321 46 380 12' fill='none' stroke='%230d6683' stroke-width='5'/%3E%3C/svg%3E"); background-size:cover; background-position:center; }
.directory-grid { grid-template-columns:1.07fr .93fr 1fr; }
.place-card { position:relative; overflow:hidden; }
.place-card:nth-child(3n+2) { margin-top:21px; }
.place-card::after { content:""; position:absolute; bottom:-18px; right:-15px; width:145px; height:43px; opacity:.13; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 45' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-10 30 C26 3 61 50 99 22 S151 3 190 24' fill='none' stroke='%230d6683' stroke-width='5'/%3E%3C/svg%3E"); }
.place-card__top,.place-card h3,.place-card__area,.place-card__description,.place-card .utility-tag { position:relative; z-index:1; }
.mini-map__mark { position:absolute; z-index:3; width:22px; height:22px; filter:drop-shadow(0 2px 1px rgba(0,0,0,.16)); }
.mini-map__point--one { top:67px; left:41%; }
.agenda-layout { display:grid; grid-template-columns:minmax(0,1fr) 235px; gap:0; align-items:stretch; }
.agenda-side-note { display:flex; flex-direction:column; border:1px solid var(--line); border-left:0; background:#e3edf0; }
.agenda-side-note .mini-map { min-height:188px; border-width:0 0 8px; }
.agenda-side-note > div { padding:20px; }
.agenda-side-note h3 { margin:0; font:400 26px/1 var(--serif); letter-spacing:-.03em; }
.agenda-side-note p { margin:10px 0 0; color:#50646b; font-size:12px; }
.footer-top { position:relative; }
.footer-top::before { content:""; position:absolute; top:20px; left:0; right:0; height:24px; opacity:.38; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 700 35' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-20 24 C45 -8 90 47 160 19 S285 -7 352 19 S490 47 550 17 S645 -7 730 18' fill='none' stroke='%2380d0e3' stroke-width='2'/%3E%3C/svg%3E"); background-repeat:repeat-x; background-size:700px 35px; }
@media (max-width:1080px){.agenda-layout{grid-template-columns:1fr;}.agenda-side-note{display:grid;grid-template-columns:280px 1fr;border-left:1px solid var(--line);border-top:0;}.agenda-side-note .mini-map{border-width:0 8px 0 0;min-height:170px;}}
@media (max-width:800px){.section-heading .river-trace{bottom:-14px;}.territory-card:nth-child(3n+2),.place-card:nth-child(3n+2){margin-top:14px;}.agenda-side-note{grid-template-columns:1fr;}.agenda-side-note .mini-map{border-width:0 0 8px;min-height:165px;}}
@media (max-width:520px){.territory-grid,.directory-grid{grid-template-columns:1fr;}.territory-card:nth-child(3n+2),.place-card:nth-child(3n+2){margin-top:0;}}

.legal-hero { background: var(--river-deep); }
.legal-section { background: var(--paper); }
.legal-content { max-width: 780px; padding: 8px 0 12px; }
.legal-content h2 { margin: 42px 0 13px; font: 400 clamp(29px,3.5vw,43px)/1 var(--serif); letter-spacing: -.035em; color: var(--ink); }
.legal-content h2:first-of-type { margin-top: 0; }
.legal-content p { max-width: 720px; margin: 0 0 18px; color: #41565b; font-size: 16px; line-height: 1.65; }
.legal-content .eyebrow { margin-bottom: 15px; }
.legal-content .legal-email { color: var(--river); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 520px) { .legal-section { padding: 56px 0; } .legal-content h2 { margin-top: 34px; font-size: 34px; } .legal-content p { font-size: 15px; } }

.mobile-nav{display:none}.mobile-nav.is-open{display:block}
