:root{--primary:#e60023;--primary-pressed:#cc001f;--ink:#000;--body:#33332e;--mute:#62625b;--ash:#91918c;--stone:#c8c8c1;--on-dark:#fff;--canvas:#fff;--surface-soft:#fbfbf9;--surface-card:#f6f6f3;--secondary-bg:#e5e5e0;--surface-dark:#262622;--hairline:#dadad3;--hairline-soft:#e5e5e0;--focus-outer:#435ee5;--must:#15654a;--want:#8a5a12;--seasonal:#7e238b;--r-md:16px;--r-lg:32px;--r-full:9999px;--sp-xxs:4px;--sp-xs:6px;--sp-sm:8px;--sp-md:12px;--sp-lg:16px;--sp-xl:24px;--sp-xxl:32px;--sp-section:64px;--fs-display:70px;--ls-display:-1.2px;--fs-h-xl:28px;--ls-h-xl:-1.2px;--fs-h-lg:22px;--fs-h-md:18px;--fs-body:16px;--fs-sm:14px;--fs-caption:12px;--text:var(--body);--text-muted:var(--mute);--border:var(--hairline)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--surface-soft);color:var(--body);min-height:100vh;font-family:Inter,-apple-system,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.4;display:flex}.sidebar{background:var(--canvas);width:260px;color:var(--body);border-right:1px solid var(--hairline);z-index:100;height:100vh;padding:0;transition:transform .3s;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-header{border-bottom:1px solid var(--hairline);padding:24px 20px 16px}.sidebar-header .wordmark{letter-spacing:-1.2px;color:var(--primary);font-size:22px;font-weight:700;text-decoration:none;display:block}.sidebar-header p{color:var(--mute);margin-top:4px;font-size:12px}.sidebar nav{padding:12px 0}.sidebar nav a{color:var(--body);border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar nav a:hover{color:var(--ink);background:var(--surface-card)}.sidebar nav a.active{color:var(--ink);background:var(--surface-card);border-left-color:var(--primary)}.sidebar nav a .nav-icon{text-align:center;flex-shrink:0;width:22px;font-size:16px}.sidebar nav a .nav-count{color:var(--mute);background:var(--secondary-bg);border-radius:var(--r-full);margin-left:auto;padding:2px 7px;font-size:11px}.lang-switcher{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:6px;padding:14px 20px;display:flex}.lang-switcher .lang-label{text-transform:uppercase;letter-spacing:.6px;color:var(--ash);margin-right:2px;font-size:11px;font-weight:700}.lang-switcher a{text-transform:uppercase;letter-spacing:.5px;color:var(--body);border-radius:var(--r-full);border:1px solid var(--hairline);padding:4px 10px;font-size:12px;font-weight:700;text-decoration:none}.lang-switcher a:hover{background:var(--surface-card);color:var(--ink)}.lang-switcher a[aria-current=true]{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}.hamburger{z-index:200;background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-md);cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:none;position:fixed;top:14px;left:14px}.main{flex-direction:column;flex:1;min-width:0;min-height:100vh;margin-left:260px;display:flex}.content{flex:1;width:100%;min-width:0;max-width:1100px;margin:0 auto;padding:56px 32px 80px}.section{margin-bottom:var(--sp-section);scroll-margin-top:24px;display:block}.page-title{color:var(--ink);letter-spacing:-1px;margin-bottom:12px;font-size:34px;font-weight:700;line-height:1.15}.section-title{font-size:var(--fs-h-xl);color:var(--ink);letter-spacing:var(--ls-h-xl);margin-bottom:8px;font-weight:700;line-height:1.2}.filter-bar:empty{border:none;margin:0;padding:0;display:none}.section-subtitle{font-size:var(--fs-sm);color:var(--mute);margin-bottom:40px}.citable-summary{font-size:var(--fs-body);color:var(--body);max-width:720px;margin-bottom:24px;line-height:1.6}.citable-summary strong{color:var(--ink);font-weight:600}.last-updated{font-size:var(--fs-caption);color:var(--ash);margin-bottom:32px}.hub-intro{font-size:var(--fs-body);color:var(--body);max-width:680px;margin-bottom:8px;line-height:1.5}.hub-intro strong{color:var(--ink);font-weight:600}.hub-label{text-transform:uppercase;letter-spacing:.8px;color:var(--mute);margin:32px 0 12px;font-size:12px;font-weight:700}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.hub-card{background:var(--surface-card);border-radius:var(--r-md);border:1px solid var(--hairline);cursor:pointer;color:inherit;padding:18px 20px;text-decoration:none;transition:background .15s;display:block}.hub-card:hover{background:var(--secondary-bg)}.hub-card-icon{margin-bottom:10px;font-size:22px;line-height:1}.hub-card-title{font-size:var(--fs-body);color:var(--ink);font-weight:600;line-height:1.3}.hub-card-sub{color:var(--mute);margin-top:3px;font-size:13px;line-height:1.4}.hub-marquee{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.marquee-card{background:var(--surface-card);border-radius:var(--r-md);border:1px solid var(--hairline);cursor:pointer;color:inherit;flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;transition:background .15s;display:flex}.marquee-card:hover{background:var(--secondary-bg)}.marquee-name{font-size:var(--fs-body);color:var(--ink);font-weight:600;line-height:1.3}.marquee-hook{color:var(--mute);font-size:13px;line-height:1.4}.marquee-section{color:var(--ink);margin-top:4px;font-size:12px;font-weight:700}.hub-legend{flex-wrap:wrap;gap:14px 28px;display:flex}.legend-item{color:var(--body);align-items:center;gap:8px;font-size:13px;display:flex}.legend-item .priority-badge{margin-bottom:0}.filter-bar{border-bottom:1px solid var(--hairline);background:0 0;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;padding:0 0 20px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-group label{color:var(--mute);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:12px;font-weight:600}.filter-btn{border-radius:var(--r-full);border:1px solid var(--hairline);background:var(--surface-card);cursor:pointer;color:var(--ink);white-space:nowrap;padding:8px 16px;font-size:13px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.filter-btn:hover{background:var(--secondary-bg)}.filter-btn.active{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}.filter-btn.must-active{background:var(--must);color:#fff;border-color:var(--must)}.filter-btn.want-active{background:var(--want);color:#fff;border-color:var(--want)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.place-card{background:var(--surface-card);border-radius:var(--r-md);border:1px solid var(--hairline);padding:20px;transition:background .15s;position:relative}.place-card:hover{background:var(--canvas)}.priority-badge{border-radius:var(--r-full);letter-spacing:.5px;margin-bottom:8px;padding:3px 11px;font-size:11px;font-weight:700;display:inline-block}.priority-badge.must{background:var(--must);color:#fff}.priority-badge.want{background:var(--want);color:#fff}.priority-badge.seasonal{background:var(--seasonal);color:#fff}.card-name-es{font-size:var(--fs-h-md);color:var(--ink);font-weight:700;line-height:1.3}.card-name-ru{color:var(--text-muted);margin-bottom:10px;font-size:13px}.card-meta{color:var(--text-muted);margin-bottom:8px;font-size:13px;line-height:1.5}.card-meta span{margin-right:4px;display:inline-block}.card-why{color:var(--text);margin-bottom:10px;font-size:13px;line-height:1.5}.card-tags{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.chip{border-radius:var(--r-full);background:var(--canvas);color:var(--body);border:1px solid var(--hairline);white-space:normal;overflow-wrap:anywhere;max-width:100%;padding:4px 10px;font-size:12px}.card-link{color:var(--ink);background:var(--secondary-bg);border-radius:var(--r-full);align-items:center;gap:5px;padding:7px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.card-link:hover{background:var(--stone)}.card-notes{color:var(--text-muted);border-top:1px solid var(--border);margin-top:8px;padding-top:8px;font-size:12px;font-style:italic}.food-meta-row{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.food-meta-item{color:var(--text-muted);font-size:12px}.food-meta-item strong{color:var(--text)}.route-card{background:var(--surface-card);border-radius:var(--r-md);border:1px solid var(--hairline);margin-bottom:16px;padding:24px}.route-header{cursor:pointer}.route-title{color:var(--ink);font-size:18px;font-weight:700}.route-subtitle{color:var(--text-muted);margin:4px 0 10px;font-size:14px;font-style:italic}.route-meta{color:var(--text-muted);margin-bottom:8px;font-size:13px}.route-tags{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.route-toggle{color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:13px;font-weight:700;display:inline-flex}.route-toggle:hover{text-decoration:underline}.route-body{border-top:1px solid var(--border);margin-top:16px;padding-top:16px;display:block}.route-body.collapsed{display:none}.stop{margin-bottom:20px;padding-left:32px;position:relative}.stop:before{content:attr(data-num);background:var(--must);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;left:0}.stop:not(:last-child):after{content:"";background:var(--border);width:2px;position:absolute;top:28px;bottom:-16px;left:11px}.stop-name{color:var(--ink);font-size:15px;font-weight:600}.stop-location{color:var(--text-muted);font-size:12px}.stop-desc{color:var(--text);margin-top:4px;font-size:13px;line-height:1.5}.stop-details{color:var(--text-muted);margin-top:4px;font-size:12px}.stop-transition{color:var(--must);margin-top:4px;font-size:12px;font-weight:600}.route-section-title{color:var(--ink);align-items:center;gap:6px;margin:16px 0 8px;font-size:14px;font-weight:700;display:flex}.route-food-item,.route-alt-item{color:var(--text);margin-bottom:4px;padding-left:6px;font-size:13px;line-height:1.5}.route-warning{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--r-md);color:var(--body);margin-top:12px;padding:10px 14px;font-size:12px}.month-card{background:var(--canvas);border-radius:var(--r-md);border:1px solid var(--hairline);margin-bottom:12px;overflow:hidden}.month-header{cursor:pointer;justify-content:space-between;align-items:center;padding:16px 20px;transition:background .15s;display:flex}.month-header:hover{background:var(--surface-card)}.month-name{color:var(--ink);font-size:18px;font-weight:700}.month-temp{color:var(--text-muted);margin-left:8px;font-size:13px;font-weight:400}.month-arrow{color:var(--text-muted);font-size:14px;transition:transform .2s;transform:rotate(90deg)}.month-card.collapsed .month-arrow{transform:rotate(0)}.month-body{padding:0 20px 20px;display:block}.month-card.collapsed .month-body{display:none}.month-subsection{margin-bottom:20px}.month-subsection:last-child{margin-bottom:0}.month-subsection-title{color:var(--ink);letter-spacing:-.2px;margin-bottom:10px;font-size:16px;font-weight:700}.month-subsection-content{color:var(--text);font-size:13px;line-height:1.5}.event-block{margin-bottom:12px}.event-block:last-child{margin-bottom:0}.event-head{color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:600;line-height:1.4}.event-body{color:var(--text);white-space:pre-line;font-size:13px;line-height:1.5}.ab-table{border-collapse:separate;border-spacing:0;background:var(--canvas);border-radius:var(--r-md);border:1px solid var(--hairline);width:100%;overflow:hidden}.ab-table th{background:var(--surface-card);color:var(--ink);text-align:left;border-bottom:1px solid var(--hairline);padding:14px 16px;font-size:14px;font-weight:700}.ab-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:14px 16px;font-size:13px;line-height:1.5}.ab-table tr:last-child td{border-bottom:none}.ab-table tr:hover td{background:var(--surface-card)}.ab-trap{color:var(--want);font-weight:700}.ab-alt{color:var(--must)}.key-card{background:var(--canvas);border-radius:var(--r-md);border:1px solid var(--hairline);margin-bottom:12px;overflow:hidden}.key-header{cursor:pointer;align-items:center;gap:12px;padding:16px 20px;transition:background .15s;display:flex}.key-header:hover{background:var(--surface-card)}.key-number{background:var(--must);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.key-title{color:var(--ink);flex:1;font-size:16px;font-weight:700}.key-arrow{color:var(--text-muted);font-size:14px;transition:transform .2s;transform:rotate(90deg)}.key-card.collapsed .key-arrow{transform:rotate(0)}.key-body{color:var(--text);white-space:pre-line;padding:0 20px 20px 64px;font-size:14px;line-height:1.7;display:block}.key-card.collapsed .key-body{display:none}.trip-transport{color:var(--must);margin-bottom:6px;font-size:12px;font-weight:600}.monthly-table{border-collapse:separate;border-spacing:0;background:var(--canvas);border-radius:var(--r-md);border:1px solid var(--hairline);width:100%;margin-top:24px;overflow:hidden}.monthly-table th{background:var(--surface-card);color:var(--ink);text-align:left;border-bottom:1px solid var(--hairline);padding:12px 16px;font-size:14px;font-weight:700}.monthly-table td{border-bottom:1px solid var(--border);padding:12px 16px;font-size:13px}.faq-item{border-bottom:1px solid var(--hairline);padding:16px 0}.faq-item:last-child{border-bottom:none}.faq-q{color:var(--ink);margin-bottom:6px;font-size:15px;font-weight:700}.faq-a{color:var(--text);font-size:14px;line-height:1.6}@media (width<=900px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.hamburger{display:flex}.main{margin-left:0}.content{padding:72px 24px 48px}.card-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{flex-direction:column;align-items:stretch}.ab-table{display:block;overflow-x:auto}}@media (width<=500px){.content{padding:64px 16px 40px}.card-grid{grid-template-columns:1fr}.section-title{font-size:24px}.filter-btn,.card-link{padding-top:12px;padding-bottom:12px}}.no-results{text-align:center;color:var(--text-muted);padding:40px;font-size:15px}.sidebar-overlay{z-index:99;background:#0006;display:none;position:fixed;inset:0}.sidebar-overlay.active{display:block}.count-badge{background:var(--secondary-bg);color:var(--mute);border-radius:var(--r-full);vertical-align:middle;margin-left:8px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.site-footer{border-top:1px solid var(--hairline-soft);color:var(--ash);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;padding:28px 32px;font-size:13px;display:flex}.site-footer a{color:var(--body);border-bottom:1px solid var(--hairline);text-decoration:none}.site-footer a:hover{color:var(--ink)}.site-footer .lang-switcher{border-top:none;padding:0}.landing{flex-direction:column;min-height:100vh;display:flex}.landing-top{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:16px;padding:20px 32px;display:flex}.landing-top .wordmark-lg{letter-spacing:-.5px;color:var(--primary);font-size:18px;font-weight:700;text-decoration:none}.landing-top .lang-switcher{border-top:none;padding:0}.landing-main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:56px 32px 64px}.landing-hero{margin-bottom:40px}.landing-hero h1{letter-spacing:-1.2px;color:var(--ink);margin-bottom:14px;font-size:clamp(30px,5vw,44px);font-weight:700;line-height:1.1}.landing-hero p{color:var(--mute);max-width:620px;font-size:17px;line-height:1.5}.landing-eyebrow{letter-spacing:2.5px;text-transform:uppercase;color:var(--primary);margin-bottom:14px;font-size:12px;font-weight:700}.landing-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.landing-card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);color:inherit;flex-direction:column;gap:8px;padding:26px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.landing-card:hover{border-color:var(--stone);transform:translateY(-3px);box-shadow:0 8px 28px #2626221a}.landing-card .eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--ash);font-size:11px;font-weight:600}.landing-card h2{letter-spacing:-.3px;color:var(--ink);font-size:22px;font-weight:700}.landing-card .meta{color:var(--mute);font-size:14px}.breadcrumb{color:var(--mute);margin-bottom:20px;font-size:13px}.breadcrumb a{color:var(--body);border-bottom:1px solid var(--hairline);text-decoration:none}.breadcrumb a:hover{color:var(--ink)}@media (width<=600px){.landing-top{padding:16px 20px}.landing-main{padding:40px 20px 48px}}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}
