:root{
  --teal-900:#0d4f4a;
  --teal-700:#14716a;
  --teal-500:#1ea193;
  --teal-100:#dff3f0;
  --teal-50:#f1faf8;
  --coral:#ff6f5e;
  --coral-soft:#ffe4df;
  --sand:#fbf5ec;
  --ink:#1a2624;
  --ink-soft:#3e4f4c;
  --line:#e2e8e6;
  --line-soft:#eef3f1;
  --gold:#c89134;
  --max:1180px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Source Sans 3','Source Sans Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--sand);
  line-height:1.55;
  font-size:17px;
}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
a{color:var(--teal-700);text-decoration:none}
a:hover{text-decoration:underline}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--teal-900);text-decoration:none}
.brand:hover{text-decoration:none}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--coral);color:#fff;font-size:18px;transform:rotate(-15deg)}
.brand-name span{color:var(--coral)}
.site-nav{display:flex;gap:22px;flex-wrap:wrap}
.site-nav a{color:var(--ink-soft);font-weight:500;font-size:15px}
.site-nav a:hover{color:var(--teal-700);text-decoration:none}

/* Hero */
.hero{
  position:relative;
  background:
    linear-gradient(180deg,rgba(13,79,74,.78) 0%,rgba(13,79,74,.55) 60%,rgba(13,79,74,.78) 100%),
    url('/static/hero.png') center/cover no-repeat;
  color:#fff;
  padding:90px 0 110px;
}
.hero-inner{max-width:780px}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:13px;color:var(--coral-soft);margin:0 0 14px}
.hero h1{font-family:'Fraunces','Source Serif Pro',Georgia,serif;font-weight:600;font-size:54px;line-height:1.05;margin:0 0 18px;letter-spacing:-.01em}
.hero p.lede{font-size:20px;line-height:1.5;color:#eaf3f1;margin:0 0 28px;max-width:640px}
.hero-search{display:flex;gap:8px;background:#fff;padding:8px;border-radius:14px;max-width:560px;box-shadow:0 18px 48px rgba(0,0,0,.18)}
.hero-search input{flex:1;border:0;font:inherit;font-size:16px;padding:12px 14px;color:var(--ink);background:transparent;outline:0}
.hero-search button{border:0;background:var(--coral);color:#fff;font-weight:600;font-size:15px;padding:12px 22px;border-radius:10px;cursor:pointer}
.hero-search button:hover{background:#e95d4d}
.hero-stats{display:flex;gap:42px;margin-top:36px;flex-wrap:wrap}
.hero-stats div strong{display:block;font-family:'Fraunces',Georgia,serif;font-size:30px;color:#fff;line-height:1.1}
.hero-stats div span{font-size:13px;color:var(--coral-soft);text-transform:uppercase;letter-spacing:.12em}

/* Sections */
section{padding:64px 0}
section.alt{background:#fff;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.section-head h2{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:34px;margin:0;letter-spacing:-.01em;color:var(--teal-900)}
.section-head .eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);font-weight:600;margin-bottom:6px}
.section-head p{margin:6px 0 0;color:var(--ink-soft);max-width:520px}
.section-head a.more{font-weight:600;color:var(--teal-700);font-size:15px}

/* Card grids */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}

.card{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
  display:flex;flex-direction:column;gap:8px;
}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(13,79,74,.08);border-color:var(--teal-100);text-decoration:none}
.card .iata{display:inline-block;background:var(--teal-900);color:#fff;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:6px;font-size:13px;align-self:flex-start}
.card .iata.coral{background:var(--coral)}
.card h3{margin:6px 0 0;font-family:'Fraunces',Georgia,serif;font-size:20px;font-weight:600;color:var(--teal-900)}
.card .meta{color:var(--ink-soft);font-size:14px}
.card p{margin:8px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.5}
.card .tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.tag{background:var(--teal-50);color:var(--teal-700);font-size:12px;padding:4px 10px;border-radius:99px;font-weight:600}
.tag.coral{background:var(--coral-soft);color:#b54838}
.tag.muted{background:#f0f1ed;color:var(--ink-soft)}

/* Detail page layout */
.detail{padding:48px 0 64px}
.detail-grid{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}
.detail h1{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:42px;margin:0 0 8px;color:var(--teal-900);letter-spacing:-.01em;line-height:1.1}
.detail .breadcrumb{font-size:13px;color:var(--ink-soft);margin-bottom:8px}
.detail .breadcrumb a{color:var(--ink-soft)}
.detail .lede{font-size:19px;color:var(--ink-soft);margin:0 0 24px;max-width:680px}
.detail-body p{margin:0 0 18px}
.detail-body h2{font-family:'Fraunces',Georgia,serif;font-size:26px;color:var(--teal-900);margin:36px 0 14px}
.detail-body h3{font-size:19px;color:var(--teal-900);margin:24px 0 10px}
.fact-table{width:100%;border-collapse:collapse;margin:18px 0 28px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fact-table th,.fact-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line-soft);font-size:15px;vertical-align:top}
.fact-table th{background:var(--teal-50);color:var(--teal-900);font-weight:600;width:36%;font-size:14px}
.fact-table tr:last-child th,.fact-table tr:last-child td{border-bottom:0}
.aside{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;position:sticky;top:88px}
.aside h3{margin:0 0 12px;font-family:'Fraunces',Georgia,serif;font-size:19px;color:var(--teal-900)}
.aside ul{margin:0;padding-left:0;list-style:none}
.aside li{padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:15px}
.aside li:last-child{border-bottom:0}
.aside li a{color:var(--ink)}
.aside .tag{margin-right:6px}
.aside .ad-slot{margin-top:18px;padding:18px;background:var(--teal-50);border:1px dashed var(--teal-100);border-radius:10px;text-align:center;color:var(--teal-700);font-size:12px;text-transform:uppercase;letter-spacing:.14em}

/* Article */
article.guide{max-width:760px}
article.guide .meta-row{display:flex;gap:14px;color:var(--ink-soft);font-size:14px;margin-bottom:18px}
article.guide .meta-row .pill{background:var(--coral-soft);color:#b54838;padding:3px 10px;border-radius:99px;font-weight:600;font-size:12px}
article.guide p{font-size:18px;line-height:1.7;color:#27302e;margin:0 0 22px}

/* Filters / search bar */
.filterbar{display:flex;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:24px;align-items:center}
.filterbar input,.filterbar select{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff}
.filterbar input{flex:1;min-width:240px}
.filterbar button{border:0;background:var(--coral);color:#fff;font-weight:600;padding:10px 20px;border-radius:8px;cursor:pointer}
.filterbar button:hover{background:#e95d4d}
.filterbar .summary{margin-left:auto;color:var(--ink-soft);font-size:14px}

/* Pagination */
.pagination{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:32px 0 0}
.pagination a,.pagination span{padding:8px 13px;border-radius:8px;border:1px solid var(--line);color:var(--ink);background:#fff;font-size:14px}
.pagination .current{background:var(--teal-900);color:#fff;border-color:var(--teal-900)}
.pagination a:hover{border-color:var(--teal-500);text-decoration:none}

/* Footer */
.site-footer{background:var(--teal-900);color:#bcd9d4;margin-top:48px;padding:48px 0 24px}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;margin-bottom:32px}
@media(max-width:700px){.footer-inner{grid-template-columns:1fr}}
.footer-brand strong{color:#fff;font-size:22px;font-family:'Fraunces',Georgia,serif}
.footer-brand p{margin-top:8px;font-size:14px;line-height:1.6;max-width:360px}
.footer-links h4{color:#fff;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.footer-links a{display:block;color:#bcd9d4;padding:4px 0;font-size:14px}
.footer-links a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:13px;color:#7fa9a3}
.footer-bottom p{margin:0}

/* Inline ad slots (visible placeholders for AdSense) */
.ad-inline{
  margin:32px 0;padding:22px;border:1px dashed var(--line);background:#fff;
  border-radius:12px;text-align:center;color:var(--ink-soft);font-size:13px;letter-spacing:.1em;text-transform:uppercase;
}

/* Country grid */
.chip-list{display:flex;gap:8px;flex-wrap:wrap}
.chip-list a{background:#fff;border:1px solid var(--line);padding:8px 14px;border-radius:99px;font-size:14px;color:var(--ink)}
.chip-list a:hover{border-color:var(--teal-500);background:var(--teal-50);text-decoration:none;color:var(--teal-900)}
.chip-list a span{color:var(--ink-soft);font-size:12px;margin-left:6px}
.chip-list a .flag{font-size:15px;margin-left:0;margin-right:2px}

/* Country detail facts */
.country-facts{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start;margin:0 0 32px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.country-facts .country-flag{width:240px;height:auto;border-radius:8px;border:1px solid var(--line);background:#f6f8f7;display:block}
.country-facts .fact-table{margin:0}
@media(max-width:700px){.country-facts{grid-template-columns:1fr}.country-facts .country-flag{width:160px}}
.country-hero h1 .flag-lg{font-size:.85em;margin-right:6px;vertical-align:-.05em}

/* Hero feature row */
.hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-50px;position:relative;z-index:5}
@media(max-width:780px){.hero-features{grid-template-columns:1fr}}
.hero-features .pillar{background:#fff;border-radius:16px;padding:28px;box-shadow:0 18px 40px rgba(13,79,74,.1);border:1px solid var(--line-soft)}
.hero-features .pillar .icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--coral-soft);color:var(--coral);font-size:20px;font-weight:700;margin-bottom:10px}
.hero-features .pillar h3{font-family:'Fraunces',Georgia,serif;font-size:21px;margin:0 0 6px;color:var(--teal-900)}
.hero-features .pillar p{margin:0;font-size:15px;color:var(--ink-soft)}

/* Image blocks */
.image-block{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff}
.image-block img{width:100%;display:block;height:auto}
.image-caption{padding:14px 18px;color:var(--ink-soft);font-size:13px}
.split{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
@media(max-width:780px){.split{grid-template-columns:1fr}}
.split h2{font-family:'Fraunces',Georgia,serif;color:var(--teal-900);font-size:30px;margin-top:0}

/* Country page */
.country-hero{background:linear-gradient(135deg,var(--teal-50),var(--sand));padding:48px 0;border-bottom:1px solid var(--line)}
.country-hero h1{font-family:'Fraunces',Georgia,serif;font-size:42px;color:var(--teal-900);margin:0 0 6px;letter-spacing:-.01em}
.country-hero p{margin:0;color:var(--ink-soft);font-size:17px;max-width:680px}

/* Lists for airport quick-table */
.list-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.list-table th,.list-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line-soft);font-size:15px}
.list-table th{background:var(--teal-50);color:var(--teal-900);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.list-table tr:hover td{background:var(--teal-50)}
.list-table .iata-col{font-weight:700;color:var(--teal-900);width:80px}

/* About / sources */
.prose{max-width:760px}
.prose h1{font-family:'Fraunces',Georgia,serif;color:var(--teal-900);font-size:38px;margin:0 0 14px;letter-spacing:-.01em}
.prose h2{font-family:'Fraunces',Georgia,serif;color:var(--teal-900);font-size:24px;margin:32px 0 12px}
.prose p{font-size:18px;line-height:1.7;color:#27302e}
.prose ul{padding-left:20px}
.prose li{margin-bottom:8px}

.callout{background:var(--coral-soft);border-left:4px solid var(--coral);padding:18px 22px;border-radius:0 10px 10px 0;margin:20px 0;font-size:15px}
.callout strong{color:#b54838}

.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.badge{padding:5px 12px;font-size:13px;border-radius:99px;background:var(--teal-50);color:var(--teal-700);font-weight:600;border:1px solid var(--teal-100)}
.badge.bad{background:#fdecec;color:#a33;border-color:#fbd2d2}
.badge.good{background:#e9f6ee;color:#2c7a3e;border-color:#cdebd6}
