/* CHANGE LOG
File: static/css/carrier_universal.css
Purpose: Automatic carrier website only; bespoke profiles remain unchanged.
2026-08-30: Continuous illustrated sections, readable fleet data and mobile layout.
2026-08-31: Shared company website with quiet owner tools and retained custom media.
*/
.ph-universal { --pu-ink: #223e49; --pu-paper: #faf8f2; color: var(--pu-ink); }
.ph-universal .ph-website-hero { background-image: none; height: auto; min-height: 33rem; overflow: visible; margin-top: 0; }
.ph-universal .pu-hero-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.ph-universal .ph-website-hero-content { width: 64%; max-width: 44rem; padding: 3rem 2rem; box-sizing: border-box; }
.ph-universal .ph-website-hero h1 { font-size: clamp(2.1rem, 3.8vw, 3.7rem); line-height: 1.1; overflow-wrap: anywhere; }
.ph-universal .ph-website-hero-gradient { background: linear-gradient(90deg, #faf8f2 0%, rgba(250,248,242,.96) 42%, rgba(250,248,242,.16) 90%); }
.ph-universal .ph-editorial-fleet { font-size: 1.12rem; font-weight: 600; line-height: 1.5; }
.ph-universal .pu-section { padding: 2.6rem 2rem; border-bottom: 1px solid #d5ddd9; scroll-margin-top: 6rem; }
.ph-universal .pu-section:nth-of-type(even) { background: var(--pu-paper); }
.ph-universal .ph-section-heading { font-size: clamp(1.9rem, 2.7vw, 2.7rem); line-height: 1.15; max-width: 32ch; }
.ph-universal h3 { font-size: 1.35rem; margin-top: 1rem; }
.ph-universal p { max-width: 74ch; line-height: 1.6; }
.ph-universal .pu-note { color: #526369; font-size: .88rem; line-height: 1.5; }
.pu-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.pu-facts, .pu-timeline { margin: 1rem 0; }
.pu-facts > div, .pu-timeline > div { padding: .85rem 0; border-top: 1px solid #d5ddd9; }
.pu-facts dt, .pu-timeline dt { font-size: .9rem; color: #526369; }
.pu-facts dd, .pu-timeline dd { margin: .3rem 0 0; font-size: 1.35rem; }
.pu-timeline { border-left: 3px solid #83998b; padding-left: 1rem; }
.pu-timeline > div { border-top: 0; }
.pu-tags { padding-left: 1.2rem; columns: 2; column-gap: 2rem; }
.pu-tags li { break-inside: avoid; margin-bottom: .65rem; line-height: 1.45; }
.pu-figure { margin: 1.5rem 0; }
.pu-figure img { display: block; width: 100%; height: auto; max-height: 27rem; object-fit: cover; border-radius: .35rem; }
.pu-figure--driver img { max-height: 23rem; object-position: center 40%; }
.pu-figure figcaption { margin-top: .5rem; font-size: .86rem; color: #526369; }
.pu-record { width: 100%; border-collapse: collapse; margin: 1.25rem 0; }
.pu-record caption { text-align: left; color: #526369; padding-bottom: .7rem; }
.pu-record td, .pu-record th { text-align: left; vertical-align: top; padding: .7rem .6rem; border-bottom: 1px solid #d5ddd9; }
.pu-record tbody th { font-weight: 500; width: 48%; }
.pu-record thead { background: #e8eeea; }
.pu-record--cohort tbody th { width: 35%; }
.pu-record--cohort th, .pu-record--cohort td { overflow-wrap: anywhere; }
.pu-contact { font-style: normal; font-size: 1.15rem; overflow-wrap: anywhere; }
.pu-owner { margin-top: 2rem; padding: 1.2rem 1.5rem; border-left: 3px solid #83998b; background: #f0f3ed; }
.ph-universal a:focus-visible, .ph-universal button:focus-visible { outline: 3px solid #956f31; outline-offset: 4px; }
.ph-universal .pu-owner--quiet { padding: 1rem 0; background: none; border: 0; font-size: .88rem; }
.ph-universal .pu-owner--quiet summary { cursor: pointer; }
.ph-universal .carrier-anthem { margin: 1.5rem 0; }
.ph-universal .ph-hero-logo { max-width: 15rem; }
@media (max-width: 720px) {
  .ph-universal .ph-website-hero-content { width: 100%; padding: 2rem 1.1rem; }
  .ph-universal .ph-website-hero-gradient { background: rgba(250,248,242,.9); }
  .ph-universal .pu-section { padding: 2rem 1.1rem; }
  .pu-columns { grid-template-columns: 1fr; gap: 1rem; }
  .pu-tags { columns: 1; }
  .pu-record { font-size: .9rem; }
}
@media print {
  .ph-universal .ph-website-hero { min-height: 0; }
  .ph-universal .ph-website-hero-content { width: 100%; }
  .ph-universal .pu-section { padding: 1rem 0; }
  .ph-universal .pu-figure img { max-height: 2in; }
  .ph-universal .ph-cta-row, .ph-universal .pu-owner, .ph-universal .cs-print { display: none !important; }
}
