/* P5 public website: restrained colour, readable typography and consistent layouts.
   Scoped to passenger/editorial pages; account and transaction screens retain their UI. */
@font-face{font-family:'P5 Inter';src:url('/assets/fonts/inter-var-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
body.p5-public{
 --espresso:#12191c;--graphite:#1a2428;--graphite-2:#233035;--slate:#344349;
 --ivory:#f6f3ec;--stone:#eae6dc;--stone-2:#c7bda9;
 --champagne:#d1b67e;--champagne-soft:#e4cfaa;--champagne-ink:#745725;--champagne-deep:#a8864c;
 --on-dark:#f8f5ed;--on-dark-mid:#d0d6d4;--on-dark-dim:#aebcb9;--on-dark-line:rgba(225,233,226,.17);--on-dark-faint:rgba(225,233,226,.1);
 --on-light:#19262a;--on-light-mid:#435259;--on-light-dim:#556168;--on-light-line:rgba(25,38,42,.16);
 --font-body:'P5 Inter',system-ui,-apple-system,sans-serif;--sans:var(--font-body);--serif:'Cormorant',Georgia,serif;
 --pad-x:clamp(1.25rem,4vw,4rem);--maxw:1320px;--container:1320px;
 --sec-quiet:clamp(3.75rem,7vw,6.5rem);--sec-dense:clamp(2.75rem,4.7vw,4.5rem);
 --radius:4px;--radius-md:6px;--radius-lg:10px;--shadow:0 18px 55px rgba(6,17,22,.18);
 font-family:var(--sans);font-size:16px;line-height:1.75;letter-spacing:0;background:var(--espresso);color:var(--on-dark);
}
.p5-public .display{font-size:clamp(2.8rem,5.9vw,5.6rem);line-height:1.03;letter-spacing:-.025em;font-weight:400}
.p5-public .h1{font-size:clamp(2.35rem,4.5vw,4rem);line-height:1.08;letter-spacing:-.02em}
.p5-public .h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12}
.p5-public .h3{line-height:1.2}.p5-public .lede{font-size:clamp(1rem,1.2vw,1.13rem);line-height:1.8;max-width:60ch}
.p5-public .eyebrow{font-size:.71rem;font-weight:550;letter-spacing:.16em;line-height:1.6}
.p5-public .fineprint{font-size:.79rem;line-height:1.75;max-width:78ch}
.p5-public .grain:after,.p5-public .split-hero__media:after{opacity:.035;pointer-events:none}
.p5-public .nav{background:rgba(18,25,28,.97);border-bottom:1px solid var(--on-dark-line);backdrop-filter:blur(16px)}
.p5-public .brand{font-size:1.65rem;letter-spacing:-.02em}.p5-public .brand span{color:var(--champagne)}
.p5-public .nav__link{font-size:.72rem;letter-spacing:.1em}.p5-public .nav__inner{max-width:1500px;margin-inline:auto}
.p5-public .mega{background:var(--graphite);box-shadow:0 24px 45px rgba(0,0,0,.24);border-top:1px solid var(--on-dark-line)}
.p5-public .mega__link{font-size:.88rem;line-height:1.5;padding-block:.55rem}.p5-public .mega__heading{font-size:.7rem;color:var(--champagne)}
.p5-public .btn{min-height:48px;padding:.9rem 1.55rem;border-radius:4px;font:600 .74rem/1.35 var(--sans);letter-spacing:.1em;box-shadow:none}
.p5-public .btn--primary{background:var(--champagne);color:#152025;border:1px solid var(--champagne)}
.p5-public .btn--primary:hover{background:var(--champagne-soft);border-color:var(--champagne-soft);transform:translateY(-1px);box-shadow:0 7px 22px rgba(0,0,0,.12)}
.p5-public .btn--ghost{border-color:currentColor;background:transparent}.p5-public .cta-row{gap:.8rem;flex-wrap:wrap}
.p5-public .hero--quote{min-height:auto}.p5-public .hero__grid{gap:clamp(2rem,5vw,5rem);align-items:center;grid-template-columns:minmax(0,1fr) minmax(420px,.93fr)}
.p5-public .hero__copy .display{font-size:clamp(3rem,5.2vw,5rem);max-width:none}.p5-public .hero__lede{max-width:47ch}
.p5-public .hero:before{opacity:1;background:linear-gradient(90deg,rgba(12,22,26,.9),rgba(12,22,26,.66) 49%,rgba(12,22,26,.27)),linear-gradient(0deg,rgba(12,22,26,.7),transparent 60%)}
.p5-public .hero__card{background:rgba(18,27,31,.96);border:1px solid rgba(228,207,170,.36);border-radius:10px;padding:clamp(1.3rem,2.2vw,2rem);box-shadow:0 22px 65px rgba(0,0,0,.24)}
.p5-public .hero__cardTitle{font-family:var(--serif);font-size:1.65rem;line-height:1.2}.p5-public .hero__cardTitle span{font-family:var(--sans);font-size:.61rem;letter-spacing:.14em}
.p5-public .hero__points{font-size:.88rem}.p5-public .hero__call{font-size:.85rem}.p5-public .home-trust{background:#182226}
.p5-public .home-trust__inner{padding-block:1rem;font-size:.78rem;letter-spacing:.01em}
/* The journey selector becomes a quiet ivory interlude between the dark hero and fleet. */
.p5-public .home-journeys{background:var(--ivory);color:var(--on-light);--on-dark:var(--on-light);--on-dark-mid:var(--on-light-mid);--on-dark-line:var(--on-light-line);--champagne:var(--champagne-ink)}
.p5-public .home-journeys .head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:2.2rem;max-width:none}
.p5-public .home-journeys .head .lede{margin:0}.p5-public .journey-grid{gap:0;border:1px solid var(--on-light-line);border-radius:6px;overflow:hidden}
.p5-public .journey-choice{border:0;border-radius:0;background:transparent;padding:1.8rem;min-height:260px}
.p5-public .journey-choice+.journey-choice{border-inline-start:1px solid var(--on-light-line)}
.p5-public .journey-choice:hover{background:#fffdf7}.p5-public .journey-choice h3{font-size:1.8rem;line-height:1.2}.p5-public .journey-choice p{font-size:.86rem}
.p5-public .journey-choice__number{font-family:var(--serif);font-size:1.55rem;letter-spacing:0;line-height:1;margin-bottom:1.35rem}.p5-public .journey-choice__link{font-size:.78rem;font-weight:600}
.p5-public .home-fleet .head{max-width:760px}.p5-public .fleetcard{border-radius:7px;overflow:hidden;border:1px solid var(--on-dark-line);background:var(--graphite);box-shadow:none}
.p5-public .fleetcard__media{aspect-ratio:16/10}.p5-public .fleetcard__body{padding:1.6rem}.p5-public .fleetcard__body h2,.p5-public .fleetcard__body h3{font-size:2rem}
.p5-public .fleetcard__body p{font-size:.89rem;line-height:1.75}.p5-public .fleetcard__specs{font-size:.77rem;line-height:1.5}
.p5-public .home-fleet__capacity{font-size:.8rem;border-top:1px solid var(--on-dark-line);padding-top:.9rem;width:100%}.p5-public .home-fleet__price{font-size:.8rem}
.p5-public .home-fleet__price strong{font-family:var(--serif);font-size:1.8rem;font-weight:400}.p5-public .home-fleet .fleetcard__body>a{font-size:.8rem}
.p5-public .home-section-note{font-size:.82rem;max-width:95ch}.p5-public .home-collection .ticks li{font-size:1rem;line-height:1.8;margin-bottom:1.25rem}
.p5-public .home-collection .ticks strong{display:block;font-size:1rem;margin-bottom:.2rem}.p5-public .home-collection .split-hero__media{min-height:430px}
.p5-public .head{margin-bottom:2.2rem}.p5-public .head .eyebrow{margin-bottom:.9rem}.p5-public .head .lede{margin-top:1.15rem}
.p5-public .section--head{padding-top:calc(var(--nav-h) + clamp(2.5rem,5vw,4.75rem));padding-bottom:clamp(2.75rem,5vw,4.75rem)}
.p5-public .crumbs{font-size:.71rem;line-height:1.7;letter-spacing:.015em;margin-bottom:1.5rem;flex-wrap:wrap}
.p5-public .split-hero__grid{gap:clamp(2rem,4.5vw,4.5rem);align-items:center}.p5-public .split-hero__media{border-radius:7px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.16)}
.p5-public .split-hero__media .p5-picture img{object-position:center}.p5-public .p5-picture figcaption{font-size:.67rem;line-height:1.5;background:rgba(18,25,28,.92);padding:.65rem .85rem}
.p5-public .sh-facts{border-top:1px solid var(--on-dark-line);padding-top:1.2rem;gap:1.4rem;margin-top:1.7rem}.p5-public .sh-facts>div{padding:0}
.p5-public .card2{border-radius:6px;padding:1.6rem;box-shadow:none;transition:border-color .2s,background .2s}
.p5-public .card2 h3{font-size:1.6rem;line-height:1.25}.p5-public .card2 p{font-size:.89rem;line-height:1.75}.p5-public a.card2:hover{border-color:var(--champagne);background:rgba(209,182,126,.045)}
.p5-public .on-light .card2,.p5-public .on-stone .card2{border-color:var(--on-light-line);background:rgba(255,255,255,.55)}
.p5-public .table-wrap{border:1px solid var(--on-light-line);border-radius:6px;overflow:auto}.p5-public .table{font-size:.91rem}
.p5-public .table th{font:600 .68rem/1.6 var(--sans);letter-spacing:.09em;padding:1rem 1.1rem}.p5-public .table td{padding:1.05rem 1.1rem;line-height:1.55}
.p5-public .on-stone .table thead,.p5-public .on-light .table thead{background:rgba(255,255,255,.6)}
.p5-public .on-stone .table tbody tr:hover,.p5-public .on-light .table tbody tr:hover{background:rgba(255,255,255,.5)}
.p5-public .faq{border-color:currentColor;border-bottom-color:color-mix(in srgb,currentColor 20%,transparent);padding-block:1.2rem}
.p5-public .faq summary{font-family:var(--sans);font-size:1rem;line-height:1.6;font-weight:500}.p5-public .faq p{font-size:.95rem;line-height:1.8;max-width:72ch}
.p5-public .prose h2{font-family:var(--serif);font-size:clamp(1.85rem,2.8vw,2.5rem);font-weight:400;line-height:1.2;margin-bottom:1rem}.p5-public .prose h3{font-size:1.2rem;line-height:1.4}
.p5-public .prose p,.p5-public .prose li{line-height:1.9;font-size:1rem;max-width:68ch}.p5-public .prose a{text-decoration-thickness:1px;text-underline-offset:.22em}
.p5-public .jr__title{font-size:clamp(2.4rem,4.5vw,4.2rem);line-height:1.08}.p5-public .jr__stand{font-family:var(--sans);font-size:1.07rem;line-height:1.8;max-width:62ch}
.p5-public .jr__by{font-size:.77rem}.p5-public .jr__cover{max-height:450px}.p5-public .jr__cover img{height:100%;object-fit:cover}.p5-public .jr__toc{background:var(--graphite);padding:1.5rem;border-radius:4px}
.p5-public .ar-hero .display{font-size:clamp(2.7rem,4.6vw,4.5rem)}.p5-public .ar-card,.p5-public .ar-tile{border-radius:6px}.p5-public .ar-facts dt,.p5-public .ar-card__k{font-size:.69rem;letter-spacing:.1em}.p5-public .ar-list li span:last-child{opacity:.85}
.p5-public .p5-journey{border-color:var(--on-dark-line);border-radius:6px;background:var(--graphite)}
.p5-public .p5-notice{border-radius:0 5px 5px 0;font-size:.94rem;line-height:1.8}.p5-public .on-stone .p5-notice,.p5-public .on-light .p5-notice{border-color:var(--champagne-ink);background:rgba(116,87,37,.05)}
.p5-public :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.p5-public .footer{background:#0e1619;border-top:1px solid var(--on-dark-line)}
.p5-public .bw{--bw-surface:#1d2a2f;--bw-surface-2:#26383e;--bw-line:rgba(225,233,226,.24)}
.p5-public .bw .bw__vehicles .bw__veh.on{background:#283831}
.p5-public .p5cc{background:#162126;color:var(--on-dark);border-color:var(--on-dark-line)}
.p5-public .p5-legal{--on-dark:var(--on-light);--on-dark-dim:var(--on-light-dim);--on-dark-mid:var(--on-light-mid);--on-dark-line:var(--on-light-line);--champagne:var(--champagne-ink)}
.p5-public .jr{--jr-measure:760px}.p5-public .jr>.container{max-width:760px}
.p5-public .p5-legal .measure{max-width:760px}.p5-public .p5-legal .h1{max-width:20ch}
.p5-public .p5-legal .prose h3{font-family:var(--sans);font-weight:600;font-size:1.05rem;margin:2.2rem 0 .8rem}
.p5-public .prose .table-wrap{margin:1.5rem 0}.p5-public .prose table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.6}
.p5-public .prose th,.p5-public .prose td{text-align:left;padding:.85rem;border-bottom:1px solid var(--on-dark-line);vertical-align:top}
.p5-public .prose th{font-weight:600;color:var(--champagne)}
@media(max-width:600px){.p5-public .hero--quote{padding-top:calc(var(--nav-h) + 2rem)}.p5-public .prose .table-wrap{max-width:100%;overflow:auto}.p5-public .prose table{min-width:100%;font-size:.82rem}.p5-public .prose th,.p5-public .prose td{padding:.65rem .5rem;overflow-wrap:anywhere}}
@media(max-width:1000px){.p5-public .hero__grid{grid-template-columns:1fr}.p5-public .hero__copy .display{max-width:16ch}.p5-public .hero__card{max-width:none}.p5-public .home-journeys .head{grid-template-columns:1fr;gap:1rem}.p5-public .journey-choice:nth-child(3){border-inline-start:0}.p5-public .journey-choice:nth-child(n+3){border-top:1px solid var(--on-light-line)}}
@media(max-width:600px){.p5-public{font-size:15.5px;--pad-x:1.25rem}.p5-public .hero__copy .display{font-size:2.9rem;max-width:14ch}.p5-public .hero__grid{gap:1.8rem}.p5-public .hero__card{padding:1.25rem;border-radius:6px}.p5-public .hero__cardTitle{font-size:1.45rem}.p5-public .home-trust__inner{font-size:.75rem;gap:.4rem;padding-block:1.15rem}.p5-public .journey-choice{min-height:0;padding:1.5rem}.p5-public .journey-choice+.journey-choice{border-inline-start:0;border-top:1px solid var(--on-light-line)}.p5-public .journey-choice__number{font-size:1.25rem;margin-bottom:.8rem}.p5-public .journey-choice h3{font-size:1.7rem}.p5-public .home-collection .split-hero__media{min-height:270px}.p5-public .card2{padding:1.3rem}.p5-public .table th,.p5-public .table td{padding:.8rem}.p5-public .prose p,.p5-public .prose li{font-size:.96rem}.p5-public .btn{font-size:.7rem;min-height:46px}.p5-public .faq summary{font-size:.94rem}}
@media(prefers-reduced-motion:reduce){.p5-public .btn--primary:hover{transform:none}.p5-public .card2{transition:none}}

/* A single descriptive list item must wrap; paired fare values stay compact. */
.p5-public .ar-list li span:only-child{white-space:normal;min-width:0;overflow-wrap:anywhere}

/* Figures fill the reserved hero frame even when their images are positioned. */
.p5-public .split-hero__media>.p5-picture{position:absolute;inset:0;height:100%}
/* Prose inherits the correct contrast inside light sections. */
.p5-public :is(.on-light,.on-stone) .prose{--on-dark:var(--on-light);--on-dark-mid:var(--on-light-mid);--on-dark-dim:var(--on-light-dim);--on-dark-line:var(--on-light-line);--champagne:var(--champagne-ink);color:var(--on-light-mid)}
.p5-public :is(.on-light,.on-stone) .prose :is(h2,h3){color:var(--on-light)}
