.weather-section{border-top:1px solid var(--line);padding:18px 0 62px}
.section-intro{max-width:690px;color:var(--muted);margin:-7px 0 24px}
.weather-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px}
.weather-status{font-size:.86rem;color:var(--muted);margin:0}
.refresh-weather{border:1px solid var(--navy);background:transparent;color:var(--navy);border-radius:999px;padding:8px 15px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer}
.refresh-weather:hover,.refresh-weather:focus-visible{background:var(--navy);color:white}
.refresh-weather:disabled{opacity:.55;cursor:wait}
.weather-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.weather-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;min-height:190px;box-shadow:0 8px 28px rgba(9,45,81,.04)}
.weather-city{color:var(--navy);font-weight:800;font-size:1rem;margin:0 0 14px}
.weather-now{display:flex;align-items:center;gap:13px;margin-bottom:8px}
.weather-icon{font-size:2.35rem;line-height:1}
.weather-temp{font:700 2.5rem Georgia,serif;color:var(--navy);line-height:1}
.weather-description{font-size:.93rem;font-weight:700;margin:0 0 7px}
.weather-detail{font-size:.82rem;color:var(--muted);margin:0}
.weather-source{font-size:.79rem;color:var(--muted);margin:18px 0 0}
.weather-source a{color:#006f78;text-underline-offset:3px}
.curiosities{background:#eaf4f1;padding:48px 0 62px}
.curiosity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.curiosity-card{display:flex;flex-direction:column;background:#fff;border:1px solid #cbdedc;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(9,45,81,.05)}
.curiosity-art{height:140px;padding:20px;display:flex;align-items:flex-end;color:#fff;font:700 2rem Georgia,serif;line-height:1.1;letter-spacing:-.03em}
.visual-cenote{background:radial-gradient(circle at 70% 20%,#69d5c3 0 13%,transparent 14%),linear-gradient(125deg,#082e52,#1b9c9c)}
.visual-manglar{background:radial-gradient(circle at 78% 30%,#b4d57f 0 13%,transparent 14%),linear-gradient(125deg,#1d5960,#5ea36c)}
.visual-coral{background:radial-gradient(circle at 75% 20%,#f6bd78 0 13%,transparent 14%),linear-gradient(125deg,#a04461,#f17b67)}
.curiosity-body{display:flex;flex-direction:column;flex:1;padding:22px}
.curiosity-body h3{font:700 1.42rem/1.2 Georgia,serif;color:var(--navy);letter-spacing:-.02em;margin:8px 0 10px}
.curiosity-body p{color:#526a78;margin:0 0 22px}
.section-link{display:inline-block;margin-top:20px;color:#006f78;font-weight:800;text-decoration:none}
.section-link:hover{text-decoration:underline}
.blog-hero{padding:48px 0 30px}
.blog-hero h1{font:700 clamp(2.3rem,5vw,4rem)/1.1 Georgia,serif;color:var(--navy);letter-spacing:-.04em;margin:10px 0}
.blog-hero p{max-width:660px;color:var(--muted);font-size:1.1rem;margin:0}
.blog-list{padding-bottom:70px}
.article .topic-tag{display:inline-block;background:#e7f3f0;color:#006f78;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:900px){.weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.curiosity-grid{grid-template-columns:1fr}.weather-section{padding-bottom:48px}.curiosities{padding:38px 0 48px}.blog-hero{padding-top:32px}}
@media(max-width:500px){.weather-grid{grid-template-columns:1fr}.weather-card{min-height:0}.masthead .wrap{flex-wrap:wrap}.nav{width:100%;justify-content:space-between;gap:8px}}
