@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Libre+Baskerville:wght@400;700&display=swap');

:root {
  --ink: #183047;
  --muted: #506678;
  --paper: #f7f6ec;
  --aqua: #e1f3f3;
  --aqua-deep: #d0e8e8;
  --green: #8bb916;
  --orange: #ef5b24;
  --line: rgba(24, 48, 71, .17);
  --white: #fffdf6;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: 'DM Sans', sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
.skip-link { position: absolute; left: -999px; top: 12px; z-index: 100; background: var(--ink); color: white; padding: 12px 16px; }
.skip-link:focus { left: 12px; }
.site-header { min-height: 80px; width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 16px max(24px, calc((100vw - var(--max))/2)); background: rgba(255,253,246,.94); border-bottom: 1px solid var(--line); }
.wordmark { text-decoration: none; display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.wordmark-seal { width: 42px; height: 42px; border: 2px solid var(--green); border-radius: 50%; display: grid; place-items: center; color: var(--ink); font: 700 1.25rem 'Libre Baskerville', serif; flex: 0 0 auto; }
.wordmark strong, .footer-brand strong { display: block; letter-spacing: .12em; font-size: .83rem; }
.wordmark small { display: block; margin-top: 4px; letter-spacing: .12em; color: var(--muted); font-size: .62rem; }
.header-note { font-size: .82rem; color: var(--muted); letter-spacing: .03em; text-align: right; }
.hero { background: var(--aqua); overflow: hidden; }
.hero-inner { max-width: var(--max); margin-inline: auto; padding: clamp(40px, 5vw, 76px) 24px clamp(44px, 6vw, 84px); display: grid; grid-template-columns: minmax(0, .88fr) minmax(450px, 1.12fr); gap: clamp(36px, 5vw, 72px); align-items: center; }
.hero-copy { max-width: 510px; }
.eyebrow, .mundo-kicker { text-transform: uppercase; letter-spacing: .16em; color: var(--orange); font-size: .72rem; font-weight: 700; margin: 0 0 15px; }
.hero h1 { font: 700 clamp(3rem, 5.2vw, 5.2rem)/1.03 'Libre Baskerville', Georgia, serif; letter-spacing: -.055em; margin: 0 0 24px; }
.hero h1 span { color: #243e53; }
.hero-copy p:not(.eyebrow) { font-size: 1rem; line-height: 1.75; color: #43596a; margin: 0 0 14px; }
.hero-copy .hero-lead { font-size: 1.08rem !important; line-height: 1.8 !important; color: #32485b !important; }
.hero-link { display: inline-flex; align-items: center; gap: 22px; padding: 13px 22px; margin-top: 8px; border-radius: 999px; background: var(--orange); color: white; text-decoration: none; font-weight: 700; box-shadow: 0 3px 0 rgba(24,48,71,.12); transition: transform .15s ease, background .15s ease; }
.hero-link:hover { background: #d94b19; transform: translateY(-1px); }
.hero-highlights { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; padding-top: 26px; margin-top: 28px; border-top: 1px solid rgba(24,48,71,.2); }
.hero-highlights strong { display: block; font: 700 clamp(1.05rem, 1.7vw, 1.45rem) 'Libre Baskerville', serif; }
.hero-highlights span { display: block; color: var(--muted); font-size: .68rem; margin-top: 5px; line-height: 1.4; }
.map-panel { min-width: 0; background: #dff4f4; border: 1px solid rgba(24,48,71,.16); padding: clamp(10px, 1.3vw, 18px); box-shadow: 0 18px 44px rgba(26,62,77,.09); }
.map-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #5d7380; font-size: .65rem; letter-spacing: .15em; font-weight: 700; padding: 4px 6px 12px; }
.regional-map-svg { display: block; width: 100%; height: auto; border-radius: 8px; }
.map-caption { margin: 12px 7px 4px; font-size: .77rem; line-height: 1.6; color: #536b78; }
.quick-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 26px; padding: 17px 22px; background: var(--white); border-bottom: 1px solid var(--line); }
.quick-links a { font-size: .78rem; font-weight: 600; color: var(--muted); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
.quick-links a:hover, .quick-links a:focus-visible { color: var(--orange); border-color: var(--orange); }
.guide-section { padding: clamp(52px, 6.5vw, 88px) 24px; border-bottom: 1px solid var(--line); background: var(--paper); }
.guide-section:nth-of-type(even) { background: var(--white); }
.guide-container { width: min(100%, 990px); margin-inline: auto; }
.mundo-section-heading { margin: 0 0 30px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.mundo-section-heading .mundo-kicker { margin-bottom: 10px; }
.mundo-section h2 { font: 700 clamp(2rem, 4vw, 3rem)/1.2 'Libre Baskerville', Georgia, serif; letter-spacing: -.04em; margin: 0; color: var(--ink); }
.mundo-section h3 { font: 700 1.25rem/1.4 'Libre Baskerville', Georgia, serif; margin: 30px 0 10px; color: #3a6d1a; }
.mundo-section .mundo-card { margin: 0 0 1.25rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.mundo-section .mundo-card p, .mundo-section .mundo-card li { font: 400 clamp(1.16rem, 1.6vw, 1.34rem)/1.75 'EB Garamond', Garamond, serif; color: #263c4d; text-align: justify; text-justify: inter-word; hyphens: auto; overflow-wrap: break-word; margin: 0; }
.mundo-section .mundo-card p + p { margin-top: 1.1em; }
.mundo-section .mundo-card ul { padding-left: 1.45rem; margin: 10px 0 22px; }
.mundo-section .mundo-card li { padding-left: 3px; }
.mundo-section .mundo-card li + li { margin-top: .65em; }
.mundo-section .mundo-facts-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); background: #fbfcf7; }
.mundo-section .mundo-facts, .mundo-section .mundo-festivals { width: 100%; min-width: 440px; border-collapse: collapse; color: var(--ink); font: 400 1.12rem/1.55 'EB Garamond', Garamond, serif; }
.mundo-section .mundo-facts th, .mundo-section .mundo-facts td, .mundo-section .mundo-festivals th, .mundo-section .mundo-festivals td { padding: .85rem 1rem; border-bottom: 1px solid rgba(24,48,71,.12); vertical-align: top; text-align: left; }
.mundo-section .mundo-facts th, .mundo-section .mundo-festivals th { color: #426616; font-weight: 700; background: rgba(139,185,22,.075); }
.mundo-section .mundo-facts th { width: 33%; }
.mundo-section .mundo-facts tr:last-child th, .mundo-section .mundo-facts tr:last-child td, .mundo-section .mundo-festivals tr:last-child th, .mundo-section .mundo-festivals tr:last-child td { border-bottom: 0; }
.mundo-section .mundo-festivals { min-width: 560px; }
.mundo-section .mundo-festivals td { text-align: justify; text-justify: inter-word; }
.valley-map-figure { margin: 44px 0 0; border-top: 1px solid var(--line); padding-top: 28px; }
.valley-map-figure img { display: block; width: min(100%, 660px); height: auto; margin-inline: auto; border: 1px solid rgba(24,48,71,.18); }
.valley-map-figure figcaption { max-width: 660px; margin: 12px auto 0; font-size: .8rem; line-height: 1.6; color: var(--muted); }
.site-footer { background: #173047; color: #eef5f2; padding: 30px 24px 20px; }
.footer-inner { width: min(100%, var(--max)); margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.footer-brand { display: flex; align-items: center; gap: 11px; }
.footer-brand .wordmark-seal { color: #eef5f2; border-color: var(--green); }
.footer-brand span:not(.wordmark-seal) { display: block; color: #c4d0d3; margin-top: 5px; font-size: .73rem; }
.footer-inner p, .footer-note { margin: 0; color: #c4d0d3; font-size: .76rem; }
.footer-inner > a { color: #f0b26a; text-decoration: none; font-size: .8rem; font-weight: 600; }
.footer-note { width: min(100%, var(--max)); margin: 22px auto 0; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.15); }
@media (max-width: 980px) { .hero-inner { grid-template-columns: 1fr; max-width: 760px; } .hero-copy { max-width: 100%; } .map-panel { max-width: 680px; width: 100%; margin-inline: auto; } }
@media (max-width: 620px) { .site-header { align-items: flex-start; padding: 14px; } .header-note { max-width: 120px; line-height: 1.5; font-size: .72rem; } .wordmark-seal { width: 36px; height: 36px; } .wordmark strong { font-size: .72rem; } .wordmark small { font-size: .55rem; } .hero-inner { padding-inline: 17px; gap: 30px; } .hero h1 { font-size: clamp(2.65rem, 12vw, 4.3rem); } .hero-highlights { gap: 10px; } .hero-highlights span { font-size: .62rem; } .map-panel-heading { font-size: .56rem; } .quick-links { gap: 4px 15px; } .quick-links a { font-size: .72rem; } .guide-section { padding: 48px 18px; } .mundo-section .mundo-card p, .mundo-section .mundo-card li { text-align: left; line-height: 1.7; } .mundo-section .mundo-facts, .mundo-section .mundo-festivals { font-size: 1rem; } .mundo-section .mundo-facts th, .mundo-section .mundo-facts td, .mundo-section .mundo-festivals th, .mundo-section .mundo-festivals td { padding: .65rem .7rem; } .footer-inner { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition-duration: .01ms !important; } }
