/* === service-ticket.css ============================================
   Editorial, single-column body layout for the Air Tickets page:
   a centered lead, a full-bleed image band, single centered service
   columns, and a centered capability list. Scoped to #service-ticket. */

/* A little more air between the stacked sections */
.yh-svc-ticket .svc-section { padding: clamp(4rem, 8vw, 7rem) 0; }

/* OVERVIEW — eyebrow + full-width hairline, then heading | body split ---- */
.yh-svc-ticket .tk-overview__head {
  padding-bottom: clamp(1rem, 2vw, 1.4rem);
  margin-bottom: clamp(2.25rem, 5vw, 3.5rem);
  border-bottom: 1px solid var(--line);
}
.yh-svc-ticket .tk-overview__eyebrow {
  font-family: var(--font-sans); font-weight: 600;
  font-size: clamp(1rem, 0.3vw + 0.9rem, 1.15rem); color: var(--c-black);
}
.yh-svc-ticket .tk-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.75rem, 5vw, 4.5rem);
  align-items: start;
}
.yh-svc-ticket .tk-overview__heading {
  font-family: var(--font-en-serif); font-weight: 400;
  font-size: clamp(1.9rem, 2.4vw + 1rem, 2.85rem); line-height: 1.15;
  letter-spacing: -0.01em; color: var(--c-black); margin: 0;
}
.yh-svc-ticket .tk-lead__desc {
  margin: 0; font-family: var(--font-sans); font-weight: 300;
  font-size: clamp(1.05rem, 0.6vw + 0.9rem, 1.35rem); line-height: 1.85; color: var(--c-black);
}
.yh-svc-ticket .tk-lead__link {
  display: inline-flex; align-items: center; gap: 0.55rem; margin-top: 2rem;
  font-family: var(--font-sans); font-weight: 500; font-size: 0.72rem;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-rust);
  text-decoration: none; transition: gap 0.25s ease, color 0.25s ease;
}
.yh-svc-ticket .tk-lead__link:hover { gap: 0.9rem; color: var(--c-black); }
@media (max-width: 820px) {
  .yh-svc-ticket .tk-overview__grid { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* SERVICES — 4-up card grid, two rows, hairline-separated ------------ */
.yh-svc-ticket .svc-head { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.yh-svc-ticket .svc-list--grid4 {
  margin-left: 0; margin-right: 0; max-width: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(1rem, 2vw, 1.5rem);
  row-gap: clamp(1rem, 2vw, 1.5rem);
  border-bottom: none;
}
.yh-svc-ticket .svc-list--grid4 .svc-item {
  display: flex; flex-direction: column; align-items: flex-start; gap: clamp(0.9rem, 2vw, 1.2rem);
  padding: clamp(1.75rem, 3vw, 2.5rem) 0;
  border-top: none;
  border-bottom: 1px solid var(--line);
}
.yh-svc-ticket .svc-list--grid4 .svc-item__term {
  margin: 0;
  font-family: var(--font-en-serif); font-weight: 400;
  font-size: clamp(1.05rem, 0.5vw + 0.9rem, 1.2rem); line-height: 1.25; color: var(--c-black);
}
.yh-svc-ticket .svc-list--grid4 .svc-item__desc { margin: 0; }

@media (max-width: 980px) {
  .yh-svc-ticket .svc-list--grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .yh-svc-ticket .svc-list--grid4 { grid-template-columns: 1fr; }
}

/* IMAGE BAND — full-bleed break between sections, Rove-style ---------- */
.yh-svc-ticket .tk-band { overflow: hidden; height: clamp(360px, 46vw, 620px); }
.yh-svc-ticket .tk-band img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block;
}

/* AVIATION DESK — dark feature band, matches private-group "For organizations" */
.yh-svc-ticket .tk-desk__note {
  max-width: 44rem; margin: 1.1rem 0 0;
  font-family: var(--font-sans); font-weight: 300;
  font-size: clamp(0.95rem, 0.4vw + 0.85rem, 1.1rem); line-height: 1.75;
  color: var(--ink-muted-i);
}
.yh-svc-ticket .tk-desk__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: clamp(2rem, 4vw, 3rem);
}
.yh-svc-ticket .tk-desk__featured,
.yh-svc-ticket .tk-desk__list { display: flex; flex-direction: column; }
.yh-svc-ticket .tk-desk__featured {
  border-right: 1px solid var(--line-inverse);
  padding-right: clamp(2rem, 5vw, 4rem);
}
.yh-svc-ticket .tk-desk__list {
  padding-left: clamp(2rem, 5vw, 4rem);
}
.yh-svc-ticket .tk-desk__feature-item,
.yh-svc-ticket .tk-desk__row {
  flex: 1 1 0;
  display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; align-items: center;
  padding: clamp(1.4rem, 2.8vw, 1.9rem) 0;
  border-bottom: 1px solid var(--line-inverse);
}
.yh-svc-ticket .tk-desk__feature-item:last-child,
.yh-svc-ticket .tk-desk__row:last-child { border-bottom: none; }
.yh-svc-ticket .tk-desk__feature-item h3,
.yh-svc-ticket .tk-desk__row h4 {
  font-family: var(--font-en-serif); font-weight: 400; font-style: italic;
  font-size: clamp(1.2rem, 0.7vw + 1rem, 1.5rem); line-height: 1.25;
  color: var(--c-cream); margin: 0 0 0.4rem;
}
.yh-svc-ticket .tk-desk__feature-item p,
.yh-svc-ticket .tk-desk__row p {
  font-family: var(--font-sans); font-weight: 300; max-width: 26rem;
  font-size: 0.94rem; line-height: 1.65;
  color: var(--ink-muted-i); margin: 0;
}
.yh-svc-ticket .tk-desk__icon {
  width: 56px; height: 56px; flex: 0 0 auto;
  border: 1.5px solid rgba(238, 238, 229, 0.4); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.yh-svc-ticket .tk-desk__icon svg { width: 24px; height: 24px; }
.yh-svc-ticket .tk-desk__icon path,
.yh-svc-ticket .tk-desk__icon circle,
.yh-svc-ticket .tk-desk__icon rect,
.yh-svc-ticket .tk-desk__icon line {
  stroke: var(--c-cream); fill: none;
  stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
}
@media (max-width: 820px) {
  .yh-svc-ticket .tk-desk__grid { grid-template-columns: 1fr; }
  .yh-svc-ticket .tk-desk__featured {
    border-right: none; border-bottom: 1px solid var(--line-inverse);
    padding-right: 0; padding-bottom: 0.5rem;
  }
  .yh-svc-ticket .tk-desk__list { padding-left: 0; padding-top: 0.5rem; }
}
/* INDEX — centered, hairline-stacked capability list ---------------- */
.yh-svc-ticket .tk-index {
  max-width: 46rem; margin: 0 auto; padding: 0; list-style: none;
  border-bottom: 1px solid var(--line);
}
.yh-svc-ticket .tk-index li {
  border-top: 1px solid var(--line);
  padding: clamp(1rem, 2vw, 1.4rem) 0; text-align: center;
  font-family: var(--font-en-serif);
  font-size: clamp(1.05rem, 0.6vw + 0.9rem, 1.3rem); line-height: 1.35;
  color: var(--c-black);
}
