:root{
  --bg:#f8fafc; --surface:#fff; --border:#e5e7eb; --text:#0f172a; --muted:#64748b; --soft:#f1f5f9;
  --primary:#6d28d9; --primary-2:#7c3aed; --accent:#f59e0b; --good:#10b981; --bad:#ef4444;
  --radius:14px; --radius-sm:8px; --shadow:0 4px 14px rgba(15,23,42,.06); --shadow-lg:0 8px 24px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,sans-serif;font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1280px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.small{font-size:12px}

/* TOPBAR */
.topbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.topbar-inner{display:flex;align-items:center;gap:18px;padding:14px 20px}
.logo{font-weight:800;font-size:18px;display:flex;align-items:center;gap:8px;color:#0f172a}
.logo-dot{color:#f59e0b}
.logo-footer{color:#fff;font-size:18px;margin-bottom:10px}
.search{flex:1;max-width:520px;position:relative}
.search:before{content:"🔍";position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.7}
.search input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--border);border-radius:24px;background:#f8fafc;outline:none;font-size:14px}
.search input:focus{border-color:var(--primary-2);background:#fff}
.nav{display:flex;align-items:center;gap:18px}
.nav a{font-size:14px;color:#0f172a}
.nav a:hover{color:var(--primary)}
.link-muted{color:var(--muted) !important}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:24px;font-weight:600;border:1px solid transparent;cursor:pointer;font-size:14px;text-decoration:none}
.btn-primary{background:var(--primary);color:#fff !important}
.btn-primary:hover{background:var(--primary-2)}
.btn-outline{background:#fff;color:var(--text) !important;border-color:var(--border)}

/* HEADINGS */
h1{font-size:32px;margin:0 0 8px}
h2{font-size:22px;margin:0 0 14px}
h3{font-size:16px;margin:0 0 6px}
h4{font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;color:#0f172a}

/* BREADCRUMB */
.bc{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:14px 0;font-size:13px;color:var(--muted)}
.bc a{color:inherit}.bc a:hover{color:var(--text)}

/* CHIPS */
.chip{display:inline-block;background:var(--soft);color:#475569;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:500;margin-right:4px}
.chip-green{background:#d1fae5;color:#065f46}
.chip-amber{background:#fef3c7;color:#92400e}
.chip-blue{background:#dbeafe;color:#1e40af}

/* CARDS */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);transition:transform .15s,box-shadow .15s}
.card-photo{overflow:hidden}
.card-photo:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}

/* GRIDS */
.grid-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}
@media (max-width:920px){.grid-2{grid-template-columns:1fr}}

/* COUNTRY TILES */
.country-tile{display:block;color:#fff;border-radius:var(--radius);overflow:hidden;height:180px;position:relative;transition:transform .15s}
.country-tile:hover{transform:scale(1.02)}
.country-tile .label{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.country-tile h3{margin:0;font-size:18px;display:flex;align-items:center;gap:8px;color:#fff}
.country-tile p{margin:4px 0 0;font-size:12px;opacity:.9}

/* HERO */
.hero{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:32px;border-radius:18px;margin-bottom:20px}
.hero .bc{color:rgba(255,255,255,.8)}
.hero .bc a{color:inherit}

/* SIDEBAR */
.sidebar{position:sticky;top:80px;background:var(--soft);border-radius:var(--radius);padding:20px}
.sidebar .row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}
.sidebar .row span{color:var(--muted)}

/* TABS */
.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid var(--border);margin:24px 0 0}
.tabs a{padding:12px 18px;color:var(--muted);font-weight:500;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:14px}
.tabs a.active{color:#0f172a;font-weight:700;border-bottom-color:#0f172a}

/* FILTERS */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;padding:14px;background:var(--soft);border-radius:var(--radius)}
.filters select,.filters input[type=text]{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}
.filters label{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px}

/* FOOTER */
.footer{background:#0f172a;color:#cbd5e1;margin-top:60px;padding:48px 0 20px}
.footer h4{color:#fff}
.footer a{display:block;color:#cbd5e1;font-size:13px;padding:4px 0}
.footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-bottom:32px;border-bottom:1px solid #334155}
@media (max-width:780px){.footer-grid{grid-template-columns:1fr 1fr}}
.footer p{font-size:13px;line-height:1.6}
.footer-bottom{padding-top:20px;font-size:12px;color:#64748b;text-align:center}

/* STARS */
.stars{color:var(--accent)}
