
.vc-home{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  background:#fff;
}
.vc-home .vc-hero-copy-wrap,
.vc-home .vc-flight-search,
.vc-home .vc-compare-grid,
.vc-home .vc-support-grid,
.vc-home .vc-problem-grid,
.vc-home .vc-claim-overview-grid,
.vc-home .vc-step-flow,
.vc-home .vc-airline-grid-showcase{
  width:100%;
  min-width:0;
  max-width:100%;
}
.vc-home .vc-compare-panel,
.vc-home .vc-support-card,
.vc-home .vc-problem-card,
.vc-home .vc-claim-steps-panel,
.vc-home .vc-compensation-panel,
.vc-home .vc-step-card,
.vc-home .vc-airline-card,
.vc-home .vc-faq-item,
.vc-home .vc-faq-cta{
  min-width:0;
  max-width:100%;
}

.vc-home .vc-eyebrow{
  display:block;
  margin-bottom:10px;
  font-size:12px;
  line-height:1.3;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:none;
}

/* Hero */
.vc-hero{
  padding:60px 0 50px;
  background:var(--vc-blue);
  color:#fff;
}
.vc-hero-grid{display:block}
.vc-hero-copy-wrap{max-width:780px}
.vc-hero .vc-eyebrow{color:rgba(255,255,255,.80)}
.vc-hero h1{
  max-width:760px;
  margin:0 0 16px;
  color:#fff;
  font-size:clamp(54px,6.4vw,80px);
  line-height:.98;
  letter-spacing:-.055em;
}
.vc-hero-copy{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.90);
  font-size:18px;
  line-height:1.55;
}
.vc-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}
.vc-benefits li{
  display:flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:14px;
  font-weight:750;
}
.vc-check{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#55d9a4;
  color:#fff;
}
.vc-check .vc-icon{width:14px;height:14px}

.vc-flight-search{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  max-width:100%;
  margin-top:32px;
  padding:14px 14px 14px 20px;
  border-radius:var(--vc-radius-lg);
  background:#fff;
  color:var(--vc-navy);
  text-decoration:none;
  box-shadow:0 18px 44px rgba(0,45,120,.18);
}
.vc-flight-search-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  flex:0 0 auto;
  border-radius:16px;
  background:transparent;
  color:var(--vc-blue);
  overflow:hidden;
}
.vc-flight-search-icon .vc-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
/* Only the built-in default plane gets the soft blue tile. */
.vc-flight-search-icon:has(.vc-default-plane-icon){
  background:#eaf3ff;
}
.vc-flight-search-icon .vc-default-plane-icon{
  display:block;
  width:30px;
  height:30px;
  flex:none;
  color:var(--vc-blue);
}
.vc-flight-search-text{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
.vc-flight-search-text strong{font-size:18px}
.vc-flight-search-text small{
  overflow:hidden;
  color:var(--vc-text);
  font-size:14px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.vc-flight-search-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:54px;
  padding:0 24px;
  border-radius:var(--vc-radius-sm);
  background:var(--vc-blue);
  color:#fff;
  font-size:14px;
  font-weight:850;
  white-space:nowrap;
}
.vc-flight-search-button .vc-icon{width:17px;height:17px}

/* Homepage visual language — a single canonical definition for each component. */
.vc-home {
  --home-ink:#102b4e;
  --home-muted:#526780;
  --home-line:#e1e8f0;
  --home-soft:#f7f9fc;
  --home-accent:#075ec9;
  --home-radius:14px;
  --home-gutter:clamp(56px,7vw,96px);
}
.vc-home .vc-section {padding:var(--home-gutter) 0}
.vc-home .vc-section-heading {max-width:740px;margin:0 0 38px;text-align:left}
.vc-home .vc-section-heading .vc-eyebrow {color:var(--home-accent);margin-bottom:12px}
.vc-home .vc-section-heading h2 {margin:0 0 14px;color:var(--home-ink);font-size:clamp(32px,3.65vw,47px);line-height:1.12;letter-spacing:-.042em}
.vc-home .vc-section-heading p {max-width:590px;margin:0;color:var(--home-muted);font-size:16px;line-height:1.7}
.vc-home .vc-compare-section {background:#fff}
.vc-home .vc-compare-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--home-line);border-radius:var(--home-radius)}
.vc-home .vc-compare-panel {min-width:0;padding:35px 38px 38px;background:#fff}
.vc-home .vc-compare-panel--primary {background:#f1f7ff;border-right:1px solid #d9e7f7}
.vc-home .vc-compare-tag {display:inline-block;margin-bottom:17px;color:var(--home-accent);font-size:12px;font-weight:750;letter-spacing:.035em}
.vc-home .vc-compare-panel--muted .vc-compare-tag {color:#738398}
.vc-home .vc-compare-panel h3 {margin:0 0 10px;color:var(--home-ink);font-size:26px;letter-spacing:-.03em;line-height:1.2}
.vc-home .vc-compare-lead {min-height:50px;max-width:390px;margin:0 0 23px;color:var(--home-muted);font-size:15px;line-height:1.65}
.vc-home .vc-compare-points {margin:0;padding:0;list-style:none}
.vc-home .vc-compare-points li {display:grid;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:12px;padding:16px 0;border-top:1px solid rgba(15,65,125,.11)}
.vc-home .vc-compare-points li:last-child {padding-bottom:0}
.vc-home .vc-compare-mark {display:grid;place-items:center;width:21px;height:21px;margin-top:1px;border-radius:50%;background:#d7f3e5;color:#11734e}
.vc-home .vc-compare-points--negative .vc-compare-mark {background:#eef1f5;color:#8392a4}
.vc-home .vc-compare-mark .vc-icon {width:13px;height:13px}
.vc-home .vc-compare-points li>div {display:grid;gap:4px}
.vc-home .vc-compare-points strong {color:var(--home-ink);font-size:15px;font-weight:750}
.vc-home .vc-compare-points li>div>span {color:var(--home-muted);font-size:14px;line-height:1.55}
/* Services: understated editorial columns rather than three oversized cards. */
.vc-home .vc-support-section {background:var(--home-soft)}
.vc-home .vc-support-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}
.vc-home .vc-support-card {display:flex;flex-direction:column;align-items:flex-start;gap:25px;min-width:0;padding:31px 30px 35px;text-decoration:none;color:var(--home-ink);transition:background .18s ease}
.vc-home .vc-support-card:first-child {padding-left:0}
.vc-home .vc-support-card:last-child {padding-right:0}
.vc-home .vc-support-card+.vc-support-card {border-left:1px solid var(--home-line)}
.vc-home .vc-support-icon {display:grid;place-items:center;width:43px;height:43px;border:1px solid #cfe0f5;border-radius:12px;color:var(--home-accent);background:#eaf3ff}
.vc-home .vc-support-icon .vc-icon {width:22px;height:22px}
.vc-home .vc-support-card h3 {margin:0 0 10px;color:var(--home-ink);font-size:20px;line-height:1.25;letter-spacing:-.025em}
.vc-home .vc-support-card p {margin:0;max-width:320px;color:var(--home-muted);font-size:14px;line-height:1.7}
/* Problems: useful link rows, not a wall of decorative tiles. */
.vc-home .vc-problems-section {background:#fff}
.vc-home .vc-problem-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vc-home .vc-problem-card {display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:start;column-gap:20px;row-gap:12px;min-width:0;padding:27px;border:1px solid var(--home-line);border-radius:var(--home-radius);background:#fff;color:var(--home-ink);text-decoration:none;transition:border-color .18s ease,background .18s ease}
.vc-home .vc-problem-icon {grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#edf4fc;color:var(--home-accent)}
.vc-home .vc-problem-icon .vc-icon,.vc-home .vc-problem-icon .vc-default-plane-icon {width:23px;height:23px;display:block}
.vc-home .vc-problem-card>div {grid-column:2/4}
.vc-home .vc-problem-card h3 {margin:0 0 8px;color:var(--home-ink);font-size:20px;line-height:1.25;letter-spacing:-.025em}
.vc-home .vc-problem-card p {margin:0;max-width:390px;color:var(--home-muted);font-size:14px;line-height:1.65}
.vc-home .vc-problem-link {grid-column:2/4;display:inline-flex;align-items:center;gap:8px;color:var(--home-accent);font-size:13px;font-weight:800}
.vc-home .vc-problem-link .vc-icon {width:15px;height:15px}
/* One strong CTA surface alongside a clean compensation table. */
.vc-home .vc-claim-overview-section {background:var(--home-soft)}
.vc-home .vc-claim-overview-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.vc-home .vc-claim-steps-panel,.vc-home .vc-compensation-panel {display:flex;flex-direction:column;min-width:0;padding:36px;border-radius:var(--home-radius)}
.vc-home .vc-claim-steps-panel {background:var(--vc-blue);color:#fff}
.vc-home .vc-compensation-panel {border:1px solid var(--home-line);background:#fff}
.vc-home .vc-claim-steps-panel .vc-eyebrow {color:#c9e3ff}
.vc-home .vc-compensation-panel .vc-eyebrow {color:var(--home-accent)}
.vc-home .vc-claim-steps-panel h2,.vc-home .vc-compensation-panel h2 {margin:0 0 13px;font-size:clamp(27px,2.8vw,36px);line-height:1.15;letter-spacing:-.038em}
.vc-home .vc-compensation-panel h2 {color:var(--home-ink)}
.vc-home .vc-claim-steps-panel>p,.vc-home .vc-compensation-panel>p {margin:0;font-size:15px;line-height:1.65}
.vc-home .vc-claim-steps-panel>p {color:#d5e8ff}
.vc-home .vc-compensation-panel>p {color:var(--home-muted)}
.vc-home .vc-about-stats {display:grid;gap:0;margin:27px 0 30px}
.vc-home .vc-about-stat {display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.24)}
.vc-home .vc-about-number {grid-row:1/3;display:grid;place-items:center;align-self:start;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:800}
.vc-home .vc-about-stat strong {color:#fff;font-size:15px;line-height:1.4}
.vc-home .vc-about-stat small {margin-top:3px;color:#d5e8ff;font-size:13px;line-height:1.55}
.vc-home .vc-claim-panel-button,.vc-home .vc-cta-band-button {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:9px;background:#fff;color:var(--vc-blue);font-size:14px;font-weight:800;text-decoration:none}
.vc-home .vc-claim-panel-button {align-self:flex-start;margin-top:auto}
.vc-home .vc-compensation-scale {margin:25px 0 21px;border-top:1px solid var(--home-line)}
.vc-home .vc-compensation-row {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid var(--home-line)}
.vc-home .vc-compensation-row>div:first-child {display:grid;gap:5px}
.vc-home .vc-compensation-row strong {color:var(--home-ink);font-size:15px}
.vc-home .vc-compensation-row span {color:var(--home-muted);font-size:13px}
.vc-home .vc-compensation-row b {color:var(--vc-blue);font-size:29px;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.vc-home .vc-compensation-note {margin-top:auto;color:var(--home-muted);font-size:12px;line-height:1.6}
/* Steps: single continuous timeline rather than another card grid. */
.vc-home .vc-process-redesign {background:#fff}
.vc-home .vc-step-flow {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:44px;border-top:1px solid var(--home-line)}
.vc-home .vc-step-card {min-width:0;padding:28px 28px 15px 0}
.vc-home .vc-step-card+.vc-step-card {padding-left:28px;border-left:1px solid var(--home-line)}
.vc-home .vc-step-pill {display:block;margin-bottom:24px;color:var(--home-accent);font-size:34px;font-weight:750;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.vc-home .vc-step-card h3 {margin:0 0 11px;color:var(--home-ink);font-size:21px;line-height:1.3;letter-spacing:-.025em}
.vc-home .vc-step-card p {margin:0;color:var(--home-muted);font-size:14px;line-height:1.7}
.vc-home .vc-step-arrow {display:none}
.vc-home .vc-cta-band {display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:19px;margin-top:42px;padding:23px 27px;border-radius:var(--home-radius);background:#edf5ff}
.vc-home .vc-cta-band-icon {display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#d7eaff;color:var(--vc-blue)}
.vc-home .vc-cta-band-icon .vc-icon {display:grid;place-items:center;width:100%;height:100%}
.vc-home .vc-cta-band-icon .vc-default-plane-icon {width:26px;height:26px;color:var(--vc-blue)}
.vc-home .vc-cta-band-copy strong {display:block;margin-bottom:5px;color:var(--home-ink);font-size:17px}
.vc-home .vc-cta-band-copy p {margin:0;color:var(--home-muted);font-size:14px;line-height:1.5}
.vc-home .vc-cta-band-button {background:var(--vc-blue);color:#fff}
/* Remaining homepage elements use the same tokens. */
.vc-home .vc-airlines-section {background:var(--home-soft)}
.vc-home .vc-airline-grid-showcase {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vc-home .vc-airline-card {display:flex;align-items:center;justify-content:center;min-width:0;min-height:116px;padding:18px;border:1px solid var(--home-line);border-radius:var(--home-radius);background:#fff;overflow:hidden}
.vc-home .vc-airline-logo {display:block;width:auto;height:auto;max-width:85%;max-height:72px;margin:auto;object-fit:contain}
.vc-home .vc-faq-wrap {max-width:880px;margin:0 auto}
.vc-home .vc-faq-list {display:grid;gap:10px}
.vc-home .vc-faq-item {overflow:hidden;border:1px solid var(--home-line);border-radius:var(--home-radius);background:#fff}
.vc-home .vc-faq-item summary {position:relative;display:block;padding:22px 58px 22px 24px;color:var(--home-ink);font-size:16px;font-weight:750;line-height:1.5;list-style:none;cursor:pointer}
.vc-home .vc-faq-item summary::-webkit-details-marker {display:none}
.vc-home .vc-faq-item summary::after {content:'+';position:absolute;top:50%;right:24px;transform:translateY(-50%);color:var(--vc-blue);font-size:24px;font-weight:400}
.vc-home .vc-faq-item[open] summary::after {content:'−'}
.vc-home .vc-faq-answer {padding:0 24px 24px}
.vc-home .vc-faq-answer p {margin:0;color:var(--home-muted);font-size:15px;line-height:1.75}
.vc-home .vc-faq-answer a {color:var(--vc-blue)}
.vc-home .vc-faq-cta {display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:24px;padding:26px 28px;border:1px solid var(--home-line);border-radius:var(--home-radius);background:var(--home-soft)}
.vc-home .vc-faq-cta>div {display:grid;gap:6px}
.vc-home .vc-faq-cta strong {font-size:17px;color:var(--home-ink)}
.vc-home .vc-faq-cta span {color:var(--home-muted);font-size:14px;line-height:1.5}
.vc-home .vc-faq-cta a {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:9px;background:var(--vc-blue);color:#fff;font-size:14px;font-weight:800;white-space:nowrap;text-decoration:none}
@media (hover:hover) and (pointer:fine) {
  .vc-home .vc-support-card:hover {background:#edf4fc}
  .vc-home .vc-problem-card:hover {border-color:#aec9e9;background:#fbfdff}
}
.vc-home a:focus-visible,.vc-home .vc-faq-item summary:focus-visible {outline:3px solid var(--home-accent);outline-offset:3px}
@media (max-width:1050px) {
  .vc-home .vc-claim-overview-grid {grid-template-columns:1fr}
  .vc-home .vc-airline-grid-showcase {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px) {
  .vc-home {--home-gutter:52px}
  .vc-home .vc-section-heading {margin-bottom:27px}
  .vc-home .vc-section-heading h2 {font-size:clamp(29px,8vw,38px)}
  .vc-home .vc-section-heading p {font-size:15px}
  .vc-home .vc-compare-grid,.vc-home .vc-support-grid,.vc-home .vc-problem-grid,.vc-home .vc-step-flow {grid-template-columns:1fr}
  .vc-home .vc-compare-panel {padding:26px 24px}
  .vc-home .vc-compare-panel--primary {border-right:0;border-bottom:1px solid #d9e7f7}
  .vc-home .vc-compare-lead {min-height:0}
  .vc-home .vc-support-card,.vc-home .vc-support-card:first-child,.vc-home .vc-support-card:last-child {flex-direction:row;gap:17px;padding:22px 0}
  .vc-home .vc-support-card+.vc-support-card {border-left:0;border-top:1px solid var(--home-line)}
  .vc-home .vc-support-icon {flex:none}
  .vc-home .vc-problem-card {padding:22px;column-gap:15px}
  .vc-home .vc-claim-steps-panel,.vc-home .vc-compensation-panel {padding:27px 24px}
  .vc-home .vc-step-flow {margin-top:26px}
  .vc-home .vc-step-card,.vc-home .vc-step-card+.vc-step-card {padding:24px 0;border-left:0;border-bottom:1px solid var(--home-line)}
  .vc-home .vc-step-pill {margin-bottom:12px;font-size:29px}
  .vc-home .vc-cta-band {grid-template-columns:1fr;gap:13px;margin-top:25px;padding:23px}
  .vc-home .vc-cta-band-icon {display:none}
  .vc-home .vc-cta-band-button {width:100%}
  .vc-home .vc-airline-grid-showcase {gap:10px}
  .vc-home .vc-airline-card {min-height:94px;padding:14px}
  .vc-home .vc-faq-item summary {padding:18px 48px 18px 18px;font-size:14px}
  .vc-home .vc-faq-item summary::after {right:18px}
  .vc-home .vc-faq-answer {padding:0 18px 19px}
  .vc-home .vc-faq-cta {align-items:stretch;flex-direction:column;padding:22px}
  .vc-home .vc-faq-cta a {width:100%}
}
@media (prefers-reduced-motion:reduce) {
  .vc-home .vc-support-card,.vc-home .vc-problem-card {transition:none}
}

/* Responsive flight-check bar: readable text and a full-width touch target. */
.vc-flight-search-text {display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;overflow-wrap:anywhere}
.vc-flight-search-text strong {line-height:1.3}
.vc-flight-search-text small {overflow:visible;text-overflow:clip;white-space:normal;line-height:1.45}
@media (max-width:760px) {
  .vc-flight-search {grid-template-columns:40px minmax(0,1fr);gap:10px 12px;padding:15px;border-radius:15px}
  .vc-flight-search-icon {width:40px;height:40px;border-radius:11px;align-self:start}
  .vc-flight-search-icon .vc-default-plane-icon {width:25px;height:25px}
  .vc-flight-search-text strong {font-size:17px}
  .vc-flight-search-text small {font-size:13px}
  .vc-flight-search-button {grid-column:1/-1;width:100%;min-height:48px;padding:10px 14px;white-space:normal;text-align:center}
}
@media (max-width:360px) {
  .vc-flight-search {grid-template-columns:minmax(0,1fr)}
  .vc-flight-search-icon {display:none}
}
