/* Private-charter premium surfaces.
   The cues an airline uses on a premium-cabin page: a quiet service strip under
   the booking bar, full-bleed cabin photography with the two numbers that
   decide the choice, and a discretion note. Restraint is the luxury signal —
   one accent, generous space, nothing shouting. */

/* Quick services, the strip airlines put directly under the widget. */
.pq { background: #fff; border-top: 1px solid rgba(11,13,15,.09); border-bottom: 1px solid rgba(11,13,15,.09); }
.pq__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.pq__item { display: grid; justify-items: center; gap: 10px; padding: 26px 14px; text-align: center;
  color: #2A3038; text-decoration: none; border-left: 1px solid rgba(11,13,15,.09);
  font-size: .8rem; font-weight: 600; transition: background .18s, color .18s; }
.pq__item:first-child { border-left: 0; }
.pq__item:hover { background: #FAF8F3; color: #0B0D0F; }
.pq__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: rgba(200,169,106,.16); color: #C8A96A; }

/* Cabin cards. */
.pcl-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin-top: 38px; }
.pcl { display: grid; grid-template-rows: auto 1fr; border-radius: 18px; overflow: hidden;
  background: #fff; border: 1px solid rgba(11,13,15,.1); text-decoration: none; color: inherit;
  transition: transform .25s, box-shadow .25s; }
.pcl:hover { transform: translateY(-3px); box-shadow: 0 28px 60px -30px rgba(6,16,30,.5); }
.pcl__shot { display: block; aspect-ratio: 16 / 9; background: #E9E5DC; overflow: hidden; }
.pcl__shot img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.03); }
.pcl:hover .pcl__shot img { filter: saturate(.95) contrast(1.03); }
.pcl__body { display: grid; align-content: start; gap: 9px; padding: 26px 28px 28px; }
.pcl__class { font-size: .64rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; color: #8A7745; }
.pcl__name { font-family: Newsreader, Georgia, serif; font-weight: 400; font-size: 1.75rem; line-height: 1.1; }
.pcl__line { font-size: .92rem; line-height: 1.55; color: #55585C; }
.pcl__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 8px;
  padding-top: 16px; border-top: 1px solid rgba(11,13,15,.1); }
.pcl__specs small { display: block; font-size: .62rem; font-weight: 800; letter-spacing: .13em;
  text-transform: uppercase; color: #6A6C62; }
.pcl__specs b { display: block; margin-top: 4px; font-size: .98rem; }
.pcl__cta { margin-top: 12px; font-size: .82rem; font-weight: 700; color: #0B0D0F; }
.pcl__cta i { font-style: normal; color: #C8A96A; }
.pcl-note { margin: 20px 0 0; font-size: .78rem; line-height: 1.55; color: #6B7076; }

/* Discretion — for this client the real luxury signal is what does not leave
   the desk, so it gets its own quiet surface rather than a bullet. */
.pdisc { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: start; }
.pdisc__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.pdisc__list li { display: grid; gap: 6px; padding: 18px 0; border-top: 1px solid rgba(245,244,240,.14); }
.pdisc__list li:first-child { border-top: 0; }
.pdisc__list b { font-size: 1rem; }
.pdisc__list span { font-size: .9rem; line-height: 1.6; color: rgba(245,244,240,.72); }

@media (max-width: 900px) {
  .pq__grid { grid-template-columns: repeat(2, 1fr); }
  .pq__item { border-left: 0; border-top: 1px solid rgba(11,13,15,.09); }
  .pcl-grid, .pdisc { grid-template-columns: 1fr; }
}

/* touch-type:start — generated by tools/touch-type.mjs, do not edit by hand */
/* iOS zooms the page when a focused control's text is under 16px and does not
   zoom back. max(16px, 1em) raises only what is below the floor: a control
   designed larger keeps its size, and nothing has to be listed by name — which
   matters, because the worst offenders inherit their size rather than being
   given one. Checkboxes and radios are left alone; they have no text. */
@media (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea { font-size: max(16px, 1em) !important; }
}
/* touch-type:end */
