:root{--color-bg: #eef2f0;--color-surface: #f7faf8;--color-text: #14201c;--color-muted: #4a5a54;--color-accent: #1f6f5b;--color-accent-dark: #155445;--color-border: #d5ddd8;--color-map: #dfe8e4;--font-sans: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--font-serif: "Fraunces", Georgia, "Times New Roman", serif;--radius: 6px;--shadow: 0 1px 0 rgb(20 32 28 / 6%)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:1.05rem;line-height:1.65;color:var(--color-text);background:var(--color-bg)}.container{width:min(960px,92vw);margin-inline:auto}a{color:var(--color-accent)}a:hover{color:var(--color-accent-dark)}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;flex-wrap:wrap}.logo{display:inline-flex;align-items:center;gap:.65rem;font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--color-text)}.logo-mark{width:2.25rem;height:2.25rem;flex-shrink:0;display:block}.logo-text{font-family:var(--font-serif);letter-spacing:-.02em}.site-header nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center}.site-header nav a{text-decoration:none;font-size:.95rem;color:var(--color-muted)}.site-header nav a:hover{color:var(--color-accent)}.btn-donate{background:var(--color-accent)!important;color:#fff!important;padding:.35rem .85rem;border-radius:var(--radius)}.lang-switch{font-weight:600;border:1px solid var(--color-border);padding:.25rem .5rem;border-radius:var(--radius)}main.container{padding:2.5rem 0 4rem}.main-wide{padding:0 0 4rem}.home-hero{text-align:center;padding:2.5rem 0 1.5rem}.home-mark{width:4.5rem;height:4.5rem;margin:0 auto 1.25rem;display:block}.home-brand{font-family:var(--font-serif);font-size:clamp(2.2rem,6vw,3.4rem);font-weight:700;margin:0 0 .75rem;line-height:1.1;letter-spacing:-.02em}.home-tagline{font-family:var(--font-sans);font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:400;color:var(--color-muted);max-width:34rem;margin:0 auto 1.25rem;line-height:1.45}.home-intro{max-width:38rem;margin:0 auto 1.75rem;font-size:1.05rem;line-height:1.65;color:var(--color-text);text-align:left}.hero-actions{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}.travel-map{margin:2rem auto 2.5rem;max-width:64rem}.travel-map__intro{padding:0 0 1rem}.travel-map__intro h2{font-family:var(--font-serif);font-size:1.5rem;margin:0 0 .35rem}.travel-map__intro p{margin:0 0 1rem;color:var(--color-muted)}.travel-map__toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.travel-map__legend{list-style:none;display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;margin:0;padding:0;font-size:.9rem;color:var(--color-muted)}.travel-map__legend .dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.4rem;vertical-align:middle;border:2px solid #fff;box-shadow:0 0 0 1px #0000001f}.dot--live{background:#1f6f5b}.dot--visited{background:#2c4a6e}.dot--planned{background:#8a939c}.travel-map__shell{border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:#f3f4f2;box-shadow:0 8px 28px #14201c14}.travel-map__frame{height:min(62vh,520px);width:100%;z-index:1}.travel-map__frame .leaflet-container{font:inherit;background:#eceeea}.ani-map-marker{background:transparent!important;border:none!important}.ani-map-marker__inner{display:flex;flex-direction:column;align-items:center;gap:.15rem;filter:drop-shadow(0 2px 4px rgb(0 0 0 / 25%))}.ani-map-marker__inner svg{display:block;width:26px;height:26px}.ani-map-marker--planned .ani-map-marker__inner svg{width:20px;height:20px;opacity:.85}.ani-map-marker__label{font-size:.7rem;font-weight:600;line-height:1.1;color:var(--color-text);background:#f7faf8eb;padding:.12rem .35rem;border-radius:4px;white-space:nowrap;max-width:7.5rem;overflow:hidden;text-overflow:ellipsis}.home-destinations{padding-top:.5rem}.home-destinations h2{font-family:var(--font-serif);font-size:1.35rem;margin:0 0 1rem}.home-dest-list{display:grid;gap:.85rem}.home-dest{display:grid;gap:.2rem;padding:1rem 0;border-top:1px solid var(--color-border);text-decoration:none;color:inherit}.home-dest:last-child{border-bottom:1px solid var(--color-border)}.home-dest strong{font-size:1.1rem}.home-dest span{color:var(--color-muted);font-size:.95rem}.home-dest__label{font-size:.75rem!important;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent)!important}.home-dest--live strong{color:var(--color-accent-dark)}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:var(--radius);text-decoration:none;font-weight:600}.btn-primary{background:var(--color-accent);color:#fff}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.card h2{margin-top:0;font-size:1.25rem}.legal-content h2{font-size:1.15rem;margin-top:2rem}.legal-content h2:first-child{margin-top:0}.contact-form{display:grid;gap:1rem;max-width:32rem}.contact-form label{display:grid;gap:.35rem;font-weight:500}.contact-form input,.contact-form textarea{font:inherit;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.contact-form textarea{min-height:140px;resize:vertical}.contact-form button{font:inherit;font-weight:600;padding:.75rem 1.5rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer}.contact-form button:hover{background:var(--color-accent-dark)}.notice{background:#fff8e6;border:1px solid #f0dfa0;border-radius:var(--radius);padding:1rem 1.25rem;margin:1.5rem 0;font-size:.95rem}.site-footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:2rem 0;margin-top:2rem}.footer-inner{text-align:center}.footer-inner nav{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin:1rem 0}.footer-inner nav a{text-decoration:none;color:var(--color-muted)}.copyright{font-size:.85rem;color:var(--color-muted)}.page-title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);margin:0 0 1rem}.lead{font-size:1.15rem;color:var(--color-muted);margin-bottom:2rem}.card-img{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:calc(var(--radius) - 2px);margin:0 0 1rem;display:block}.card-muted{color:var(--color-muted);font-size:.9rem;margin-bottom:0}.article{max-width:42rem}.article-kicker{font-size:.9rem;color:var(--color-muted);margin:0 0 .5rem}.article-kicker a{text-decoration:none}.article h2{font-family:var(--font-serif);font-size:1.45rem;margin:2.5rem 0 1rem}.article-hero,.article-figure{margin:1.75rem 0}.article-hero img,.article-figure img,.article-gallery img{width:auto;max-width:min(100%,420px);height:auto;max-height:520px;object-fit:contain;border-radius:var(--radius);display:block;margin-inline:auto;background:var(--color-surface);box-shadow:var(--shadow)}.article-figure--half img{max-width:min(100%,320px)}.article-gallery img{max-width:100%;max-height:280px;width:100%;object-fit:cover}.article-hero figcaption,.article-figure figcaption,.article-gallery figcaption{font-size:.9rem;color:var(--color-muted);margin-top:.5rem}.article-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.75rem 0}.article-gallery figure{margin:0}.table-wrap{overflow-x:auto;margin:1rem 0 1.5rem}.article table{width:100%;border-collapse:collapse;font-size:.95rem}.article th,.article td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--color-border)}.article th{font-weight:600}.faq dt{font-weight:600;margin-top:1.25rem}.faq dd{margin:.35rem 0 0;color:var(--color-muted)}.affiliate-note{font-size:.95rem;color:var(--color-muted);border-left:3px solid var(--color-accent);padding-left:1rem}.article-back{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:.95rem}
