/* =====================================================================
   comfort.polish.css - Comfort premium polish (desktop layout + motion)
   =====================================================================
   Scoped under html.comfort-on. Only what inline component styles cannot
   express: media queries (desktop width) and pseudo-states (hover/active/
   reduced-motion). Presentation only; prod-legal (no @import chain, ASCII,
   no color-mix). Reversible with the comfort-on flag.
   ===================================================================== */

/* ---- Desktop: a focused, generous briefing column (wider than the old 720,
        but a comfortable reading measure -- an executive briefing document,
        centered with intentional whitespace, not a full-bleed stretch). ---- */
@media (min-width: 900px) {
  html.comfort-on .main:has(.cc2) { max-width: 900px; }
}
@media (min-width: 1240px) {
  html.comfort-on .main:has(.cc2) { max-width: 960px; }
}

/* ---- Briefing rhythm ---- */
html.comfort-on .cc2 { gap: 4px; }

/* ---- Desktop typography: the briefing scales up gracefully ----
   (components set base sizes inline for portability, so these responsive
   overrides use !important -- scoped to html.comfort-on + a wide viewport.) */
@media (min-width: 900px) {
  html.comfort-on .cmp-hero { padding: 40px 36px 42px !important; }
  html.comfort-on .cmp-hero-greeting { font-size: 38px !important; }
  html.comfort-on .cmp-hero-lead { font-size: 20px !important; }
  html.comfort-on .c-section { font-size: 21px !important; margin-top: 46px !important; }
}

/* ---- Soft, premium motion on cards + hero (respects reduced-motion) ----
   Easing is a gentle ease-out so lifts feel settled, not springy. */
html.comfort-on .cmp-card,
html.comfort-on .cmp-hero,
html.comfort-on .cmp-hero-cta,
html.comfort-on .cmp-fleet-aircraft,
html.comfort-on .cmp-fleet-row {
  transition: box-shadow .22s cubic-bezier(.2,.7,.2,1), transform .22s cubic-bezier(.2,.7,.2,1), border-color .22s ease, filter .2s ease;
}
html.comfort-on .cmp-link,
html.comfort-on .cmp-link-arrow { transition: color .18s ease, transform .18s cubic-bezier(.2,.7,.2,1); }
html.comfort-on .cmp-link-arrow { display: inline-block; }

@media (hover: hover) {
  html.comfort-on .cmp-card:hover,
  html.comfort-on .cmp-fleet-aircraft:hover,
  html.comfort-on .cmp-fleet-row:hover {
    box-shadow: var(--shadow-2);
    transform: translateY(-2px);
    border-color: var(--accent-border);
  }
  html.comfort-on .cmp-hero:hover { box-shadow: var(--shadow-2); }
  html.comfort-on .cmp-hero-cta:hover { transform: translateY(-1px); filter: brightness(.97); }
  html.comfort-on .cmp-link:hover { color: var(--accent-press); }
  html.comfort-on .cmp-link:hover .cmp-link-arrow { transform: translateX(3px); }
}
html.comfort-on .cmp-card:active,
html.comfort-on .cmp-fleet-aircraft:active,
html.comfort-on .cmp-fleet-row:active { transform: translateY(0) scale(.995); }

/* ---- Gentle, one-time entrance for the briefing ---- */
@media (prefers-reduced-motion: no-preference) {
  html.comfort-on .cc2 { animation: cmpFade .34s ease both; }
}
@keyframes cmpFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  html.comfort-on .cc2 { animation: none; }
}
