picture{display:contents}img{height:auto}
:root{--ink:#10242f;--sky:#08a7d5;--pale:#edf7fa;--line:#dce6e9;--muted:#647780}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:var(--ink);line-height:1.7;background:#fff}a{color:inherit;text-decoration:none}img{display:block;width:100%}.article-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);position:sticky;top:0;z-index:10;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:760;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sky);color:#fff}.accent{color:var(--sky)}.back{font-size:.8rem;font-weight:700;border-bottom:1px solid var(--ink)}.article-hero{padding:8rem 8vw 4rem;max-width:1500px;margin:auto}.kicker{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--sky)}h1{font-size:clamp(3rem,7vw,7rem);line-height:.92;letter-spacing:-.07em;max-width:1200px;margin:.3em 0;font-weight:620}.lead{font-size:clamp(1.2rem,2vw,1.65rem);max-width:760px;color:var(--muted)}.meta{display:flex;gap:1rem;margin-top:2rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.meta span{border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem}.hero-image{max-width:1500px;margin:0 auto 6rem;padding:0 4vw}.hero-image img{height:min(62vw,720px);object-fit:cover}.article-layout{max-width:1260px;margin:auto;padding:0 6vw 8rem;display:grid;grid-template-columns:220px minmax(0,760px);gap:8vw;justify-content:center}.contents{position:sticky;top:120px;align-self:start;border-top:2px solid var(--sky);padding-top:1.2rem}.contents small{display:block;font-weight:800;letter-spacing:.12em;margin-bottom:1rem}.contents a{display:block;color:var(--muted);font-size:.82rem;padding:.35rem 0}.contents a:hover{color:var(--sky)}.article-body h2{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.05;letter-spacing:-.05em;margin:3.5rem 0 1rem}.article-body h2:first-child{margin-top:0}.article-body p{font-size:1.08rem;color:#334b56}.article-body ul{padding:0;list-style:none}.article-body li{padding:1rem 0 1rem 2rem;border-top:1px solid var(--line);position:relative}.article-body li:before{content:"↗";position:absolute;left:0;color:var(--sky)}.article-body blockquote{margin:3rem 0;padding:2rem;border-left:4px solid var(--sky);background:var(--pale);font-size:1.35rem;line-height:1.45}.article-cta{background:var(--ink);color:#fff;padding:4rem;border-radius:2px;margin-top:4rem}.article-cta h2{margin:0 0 1rem;color:#fff}.article-cta p{color:#b8c9d0}.button{display:inline-flex;gap:1.5rem;align-items:center;margin-top:1rem;background:var(--sky);padding:.9rem 1.2rem;border-radius:999px;font-weight:750}.next-reading{border-top:1px solid var(--line);padding:3rem 6vw;display:flex;justify-content:space-between;gap:2rem;font-weight:700}.next-reading span{color:var(--sky)}footer{padding:3rem 6vw;background:#071d27;color:#fff;display:flex;justify-content:space-between;align-items:center}footer p{color:#9eb2ba;font-size:.8rem}@media(max-width:760px){.article-header{height:70px;padding:0 5vw}.back{font-size:0}.back:after{content:"← Volver";font-size:.75rem}.article-hero{padding:5rem 5.5vw 2.5rem}h1{font-size:3.25rem}.hero-image{padding:0;margin-bottom:4rem}.hero-image img{height:62vw}.article-layout{grid-template-columns:1fr;padding:0 5.5vw 5rem}.contents{display:none}.article-body h2{font-size:2.25rem}.article-cta{padding:2rem 1.5rem}.next-reading{display:grid;padding:2rem 5.5vw}footer{display:grid;gap:1rem;padding:2.5rem 5.5vw}}
/* Contenido ampliado */
.article-body h3{font-size:1.45rem;letter-spacing:-.03em;margin:2rem 0 .5rem}
.article-body strong{color:var(--ink)}
.article-body a{color:var(--sky);border-bottom:1px solid currentColor}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:2rem 0}
.gallery figure,.article-body figure.single{margin:0}
.gallery img{aspect-ratio:4/3;object-fit:cover}
.article-body figure.single{margin:2rem 0;max-width:420px}
.article-body figure.single img{aspect-ratio:3/4;object-fit:cover}
figcaption{font-size:.78rem;color:var(--muted);margin-top:.55rem;line-height:1.45}
.article-faq{margin-top:4rem}
.article-faq h2{margin-top:0!important}
.article-faq details{border-top:1px solid var(--line)}
.article-faq details:last-child{border-bottom:1px solid var(--line)}
.article-faq summary{list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem 0;font-weight:700;cursor:pointer}
.article-faq summary::-webkit-details-marker{display:none}
.article-faq summary span{color:var(--sky);font-size:1.5rem;transition:.3s;flex:none}
.article-faq details[open] summary span{transform:rotate(45deg)}
.article-faq details p{margin:-.3rem 2rem 1.3rem 0}
.button.ghost{background:transparent;border:1px solid rgba(255,255,255,.55);margin-left:.5rem}
.article-cta .button{margin-top:1rem}
.related{max-width:1260px;margin:0 auto;padding:0 6vw 5rem}
.related h2{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.04em;margin:0 0 1.5rem}
.related div{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.related a{display:grid;gap:.5rem;align-content:start;border-top:2px solid var(--sky);padding-top:1rem}
.related small{color:var(--sky);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.65rem}
.related strong{font-size:1.1rem;line-height:1.25}
.related span{color:var(--muted);font-size:.85rem}
.related a:hover strong{color:var(--sky)}
@media(max-width:760px){.related div{grid-template-columns:1fr}.gallery{gap:.6rem}.button.ghost{margin-left:0}}

/* flotantes en blog */
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:90;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:#08a7d5;color:#fff;font-size:1.35rem;box-shadow:0 10px 30px rgba(8,50,69,.22);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease,background .3s ease}
.back-to-top.visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{background:#10242f}
@media(max-width:900px){.route-band{grid-template-columns:1fr 1fr}.route-band>div{border-right:0;border-bottom:1px solid #cbd9dd}.route-band>div:nth-child(odd){border-right:1px solid #cbd9dd}.route-band .route-stat{margin-top:0;border-top:0}.route-band>a{margin-top:0}.back-to-top{right:18px;bottom:18px}}
@media(max-width:600px){.route-band{grid-template-columns:1fr}.route-band>div,.route-band>div:nth-child(odd){min-height:0;padding:1.15rem 0;border-right:0}.route-band .route-stat strong{font-size:1.65rem}.route-band>a{padding:1.25rem 0}.back-to-top{width:46px;height:46px;font-size:1.15rem}}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:91;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(8,50,69,.3);transition:transform .3s ease,box-shadow .3s ease}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 14px 34px rgba(8,50,69,.38)}
.back-to-top{bottom:92px}
@media(max-width:900px){.back-to-top{right:18px;bottom:84px}.whatsapp-float{right:18px;bottom:18px}}
@media(max-width:600px){.whatsapp-float{width:52px;height:52px}.back-to-top{bottom:80px}.slider-ui{right:calc(5vw + 64px)}}
footer .foot-links{display:grid;gap:.4rem;align-content:start}footer .foot-links strong{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.3rem}footer .foot-links a{font-size:.9rem;opacity:.85}
footer{flex-wrap:wrap;gap:2rem}footer .foot-links{order:3}footer p{order:2}
.guide-note{background:var(--pale);border-left:4px solid var(--sky);padding:1rem 1.2rem;font-size:.98rem!important;margin:0 0 2rem}

/* tarjetas de ciudades en vía pública */
.city-cards{display:flex;flex-wrap:wrap;margin:1.2rem -.5rem 2rem}
.city-card{width:33.33%;padding:.5rem;display:block;text-decoration:none!important;border:0!important;color:inherit}
.city-card picture{display:block}
.city-card img{width:100%;height:auto;display:block}
.city-card span{display:block;margin-top:.6rem;font-weight:700;font-size:1.05rem}
.city-card:hover span{color:var(--sky)}
@media(max-width:700px){.city-card{width:100%}}
@media(min-width:701px) and (max-width:1000px){.city-card{width:50%}}

/* v70: enlaces del pie con area de clic mas grande (se acierta al primer clic) */
.foot-links,footer .foot-links{gap:0}
.foot-links a,footer .foot-links a{display:block;padding:.4rem 0;position:relative;z-index:1}
.foot-links strong{padding-bottom:.3rem}

/* v82: icono nuevo del logo (el texto sigue siendo el original) */
.brand .brand-icon{display:block;width:36px;height:36px;flex:none}
.brand{gap:7px}
.brand{gap:7px}

.article-body figure.mock{margin:2rem 0}.article-body figure.mock img{width:100%;height:auto;border-radius:6px}

/* Publimark Travel: texto visible en el boton principal de contacto. */
.article-body a.button:not(.ghost){color:#fff;border-bottom:0;}
.article-body a.button:not(.ghost):hover,
.article-body a.button:not(.ghost):focus-visible,
.article-body a.button:not(.ghost):visited{color:#fff;}
