:root{--ink:#172126;--muted:#607079;--line:#d8e1e3;--paper:#f7faf9;--white:#fff;--teal:#006d77;--teal-dark:#064f58;--coral:#d55a3b;--shadow:0 18px 45px rgba(21,37,43,.18)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:22px;align-items:center;padding:14px clamp(18px,4vw,54px);background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;background:var(--teal);color:#fff;font-size:.78rem;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.76rem}nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}nav a{padding:8px 10px;border-radius:6px;color:var(--muted);font-size:.92rem;font-weight:800;text-decoration:none}nav a:hover{background:#e8f0ef;color:var(--ink)}.hero{min-height:560px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(9,29,35,.86),rgba(9,29,35,.55)),url("https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=1600&q=80") center/cover;color:#fff}.hero>div,.section{width:min(1180px,calc(100% - 36px));margin:0 auto}.kicker{margin:0 0 10px;color:#ffb08b;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}h1{max-width:10ch;margin:0 0 20px;font-size:clamp(3rem,7vw,6rem);line-height:.92}h2{margin:0 0 18px;font-size:clamp(1.9rem,4vw,3rem);line-height:1.04}.hero p{max-width:62ch;color:rgba(255,255,255,.86);font-size:1.15rem}.search-box{max-width:620px;margin-top:28px}.search-box label{display:block;margin-bottom:8px;font-weight:900}.search-box input{width:100%;min-height:50px;border:0;border-radius:8px;padding:12px 14px;font:inherit}.section{padding:72px 0;border-bottom:1px solid var(--line)}.section>.kicker{color:var(--coral)}.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.airport-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px}.airport-card span{color:var(--coral);font-weight:900}.airport-card h3{margin:4px 0 8px}.airport-card p{color:var(--muted)}.airport-card a{display:inline-flex;margin-top:4px;border-radius:6px;background:var(--teal);color:#fff;text-decoration:none;font-weight:900;padding:9px 11px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}th{background:#eef5f4;color:var(--teal-dark);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.muted{color:var(--muted)}footer{padding:28px clamp(18px,4vw,54px);background:#122429;color:rgba(255,255,255,.78)}footer p{width:min(1180px,100%);margin:0 auto}@media(max-width:900px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{align-items:flex-start;flex-direction:column}nav{justify-content:flex-start}}@media(max-width:620px){.cards-grid{grid-template-columns:1fr}h1{font-size:clamp(3rem,16vw,4.4rem)}}

#google_translate_element {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.goog-te-banner-frame,
.goog-te-gadget,
.goog-te-balloon-frame,
.skiptranslate iframe {
  display: none !important;
}

body {
  top: 0 !important;
}


.section-copy {
  max-width: 760px;
  color: var(--muted);
  font-size: 1.03rem;
}

.map-section {
  width: 100%;
  padding: 72px 0 0;
}

.map-section > .kicker,
.map-section > h2,
.map-section > .section-copy {
  width: min(1180px, calc(100% - 36px));
  margin-left: auto;
  margin-right: auto;
}

.map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 16px;
  align-items: stretch;
  width: 100%;
  margin-top: 26px;
}

#airportMap {
  min-height: calc(100svh - 132px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  background: #d8e8e8;
  z-index: 1;
}

#airportMap .leaflet-interactive {
  cursor: pointer;
  touch-action: manipulation;
}

@media (pointer: coarse) {
  #airportMap .leaflet-tooltip {
    font-size: .95rem;
    font-weight: 800;
  }
}

.route-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 18px;
  align-self: stretch;
  margin: 0 16px 16px 0;
}

.route-panel h3 {
  margin: 0 0 16px;
  font-size: 1.15rem;
}

.route-slots {
  display: grid;
  gap: 12px;
}

.route-slots div {
  display: grid;
  gap: 4px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.route-slots span {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.route-slots strong {
  min-height: 42px;
  font-size: .98rem;
}

.connection-modes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 14px;
}

.mode-button {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f4f8f7;
  color: var(--teal-dark);
  font: inherit;
  font-size: .86rem;
  font-weight: 900;
  cursor: pointer;
}

.mode-button.active {
  border-color: var(--teal);
  background: var(--teal);
  color: #fff;
}

.connection-advice {
  margin-top: 14px;
  border: 1px solid #f1c2ae;
  border-radius: 8px;
  background: #fff6f1;
  padding: 12px;
}

.connection-advice strong {
  display: block;
  color: var(--coral);
  font-size: .92rem;
}

.connection-advice p {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: .9rem;
}

.risk-list {
  display: grid;
  gap: 7px;
  margin: 12px 0 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: .88rem;
}

.route-actions {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}

.route-link,
.route-panel button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  border: 0;
  border-radius: 6px;
  background: var(--teal);
  color: #fff;
  font: inherit;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.route-link.secondary {
  background: var(--coral);
}

.route-link.kiwi {
  background: #2d5b7f;
}

.route-link.disabled {
  pointer-events: none;
  opacity: .48;
}

.route-panel button {
  width: 100%;
  margin-top: 12px;
  background: #e8f0ef;
  color: var(--teal-dark);
}

.leaflet-popup-content a {
  color: var(--teal);
  font-weight: 900;
}

.airport-code-button {
  border: 0;
  border-radius: 6px;
  background: var(--teal);
  color: #fff;
  font: inherit;
  font-size: .78rem;
  font-weight: 900;
  cursor: pointer;
  padding: 7px 8px;
}

.airport-code-button {
  min-width: 48px;
  background: #fff2ec;
  color: var(--coral);
  letter-spacing: .04em;
}

.airport-code-button:hover,
.airport-code-button:focus-visible {
  background: var(--coral);
  color: #fff;
  outline: 2px solid rgba(213, 90, 59, .25);
  outline-offset: 2px;
}

.region-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0 24px;
}

.region-nav a {
  border-radius: 6px;
  background: #e8f0ef;
  color: var(--teal-dark);
  padding: 8px 10px;
  font-weight: 900;
  text-decoration: none;
}

.region-block {
  padding-top: 26px;
}

.region-block > h3 {
  margin: 0 0 12px;
  font-size: 1.35rem;
}

.country-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.country-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 18px;
}

.country-card h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
}

.country-card ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.country-card li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  color: var(--muted);
}

.country-card strong {
  color: var(--coral);
  font-size: 0.86rem;
  letter-spacing: 0.04em;
}

@media(max-width:900px){
  .map-layout{grid-template-columns:1fr}
  #airportMap{min-height:68svh}
  .route-panel{margin:0 18px 18px}
  .country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .map-section{padding-top:54px}
  #airportMap{min-height:62svh}
  .country-grid{grid-template-columns:1fr}
}

@media(max-width:900px) and (orientation:landscape){
  .map-layout{grid-template-columns:minmax(0,1fr) 300px}
  #airportMap{min-height:calc(100svh - 118px)}
  .route-panel{margin:0 14px 14px 0}
}

/* SEO FAQ */
.seo-faq {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  padding: 72px 0;
  border-top: 1px solid var(--line, #d8e1e3);
}

.seo-faq .section-heading {
  max-width: 760px;
  margin-bottom: 24px;
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.faq-grid article {
  border: 1px solid var(--line, #d8e1e3);
  border-radius: 8px;
  background: var(--white, #fff);
  padding: 18px;
}

.faq-grid h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  line-height: 1.22;
}

.faq-grid p {
  margin: 0;
  color: var(--muted, #607079);
}

@media (max-width: 980px) {
  .faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .seo-faq {
    width: min(100% - 28px, 520px);
    padding: 52px 0;
  }

  .faq-grid {
    grid-template-columns: 1fr;
  }
}
