/* =========================================================================
   Paris Private Experience — Palace Editorial + Premium Booking Interface
   Faithful port of the PPE Palace Editorial design-system components.
   ========================================================================= */

/* ---------- Self-hosted fonts (max 4 weights, font-display: swap) ---------- */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/cormorant-garamond-500.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/cormorant-garamond-600.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/dm-sans-400.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/dm-sans-600.woff2') format('woff2'); }

/* -------------------------------- Tokens --------------------------------- */
:root {
	--ppe-charcoal: #141414;
	--ppe-charcoal-2: #1E1E1D;
	--ppe-charcoal-3: #2A2A28;
	--ppe-black: #0A0A0A;
	--ppe-ivory: #F7F3EC;
	--ppe-ivory-2: #EFE9DE;
	--ppe-ivory-3: #E4DCCC;
	--ppe-warm-white: #FCFAF6;
	--ppe-gold: #C6A664;
	--ppe-gold-deep: #A9853F;
	--ppe-gold-soft: #D8BE86;
	--ppe-stone: #8A8578;
	--ppe-ink: #211F1B;

	--accent: var(--ppe-gold);
	--accent-hover: var(--ppe-gold-deep);
	--accent-wash: rgba(198, 166, 100, 0.12);
	--line-hairline: var(--ppe-ivory-3);
	--line-hairline-dark: var(--ppe-charcoal-3);
	--text-muted: var(--ppe-stone);
	--text-on-dark: var(--ppe-ivory);
	--text-on-dark-muted: #9C978B;
	--wa-quiet: #2E7D57;
	--wa-quiet-hover: #276A4A;

	--font-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--font-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

	--container: 1200px;
	--measure: 680px;
	--radius-xs: 2px;
	--radius-sm: 4px;
	--radius-md: 6px;
	--radius-pill: 999px;

	--section-y: clamp(64px, 9vw, 120px);

	--shadow-card: 0 1px 2px rgba(20,20,20,0.04), 0 8px 28px rgba(20,20,20,0.06);
	--shadow-raise: 0 2px 6px rgba(20,20,20,0.06), 0 18px 48px rgba(20,20,20,0.10);
	--shadow-sticky: 0 -6px 24px rgba(10,10,10,0.14);
	--shadow-gold: 0 8px 30px rgba(198,166,100,0.16);

	--ease-calm: cubic-bezier(0.22, 0.61, 0.36, 1);
	--dur-fast: 140ms;
	--dur-base: 240ms;
	--dur-slow: 420ms;
}

/* ------------------------------- Reset ----------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0; font-family: var(--font-sans); color: var(--ppe-ink);
	background: var(--ppe-warm-white); font-size: 17px; line-height: 1.62;
	-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0 0 0.6em; font-weight: 500; line-height: 1.1; letter-spacing: -0.01em; }
p { margin: 0 0 1em; }
:focus-visible { outline: 2px solid var(--ppe-gold); outline-offset: 3px; }

/* ------------------------------ Typography ------------------------------- */
.ppe-serif { font-family: var(--font-serif); }
h1, .ppe-h1 { font-family: var(--font-serif); font-size: clamp(2.1rem, 4.6vw, 3.4rem); text-wrap: balance; }
h2, .ppe-h2 { font-family: var(--font-serif); font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1.08; }
h3, .ppe-h3 { font-family: var(--font-serif); font-size: clamp(1.35rem, 2.2vw, 1.7rem); }
.ppe-eyebrow {
	font-family: var(--font-sans); font-size: 0.75rem; font-weight: 600;
	text-transform: uppercase; letter-spacing: 0.28em; color: var(--accent);
	margin: 0 0 16px; display: inline-block;
}
.ppe-lead { font-size: clamp(1.05rem, 1.5vw, 1.125rem); font-weight: 300; line-height: 1.62; color: var(--text-muted); }
.ppe-measure { max-width: var(--measure); }

/* -------------------------------- Layout --------------------------------- */
.ppe-container { max-width: var(--container); margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); }
.ppe-section { padding-block: var(--section-y); }
.ppe-section--tight { padding-block: clamp(44px, 6vw, 76px); }
.ppe-section--dark { background: var(--ppe-charcoal); color: var(--ppe-ivory); }
.ppe-section--black { background: var(--ppe-black); color: var(--ppe-ivory); }
.ppe-section--ivory { background: var(--ppe-ivory); }
.ppe-section--dark h1, .ppe-section--dark h2, .ppe-section--dark h3,
.ppe-section--black h1, .ppe-section--black h2, .ppe-section--black h3 { color: var(--ppe-warm-white); }
.ppe-section-head { max-width: 640px; margin-bottom: 48px; }
.ppe-section-head--center { margin-inline: auto; text-align: center; }
.ppe-section-head h2 { margin: 0; }
.ppe-section-head .ppe-lead { margin: 16px 0 0; }
.ppe-section--dark .ppe-lead, .ppe-section--black .ppe-lead { color: var(--text-on-dark-muted); }
.ppe-hairline { height: 1px; background: var(--line-hairline); border: 0; }
.ppe-rule { width: 54px; height: 1px; background: var(--ppe-gold); border: 0; margin: 0 0 24px; }
.ppe-cta-band .ppe-rule, .ppe-section-head--center .ppe-rule { margin-inline: auto; }

/* --------------------------------- Buttons ------------------------------- */
.ppe-btn {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--font-sans); font-weight: 600; font-size: 0.8rem;
	letter-spacing: 0.13em; text-transform: uppercase;
	padding: 15px 28px; border-radius: var(--radius-md);
	border: 1px solid transparent; cursor: pointer; text-decoration: none;
	transition: transform var(--dur-fast) var(--ease-calm), background var(--dur-base) var(--ease-calm), color var(--dur-base) var(--ease-calm), border-color var(--dur-base) var(--ease-calm);
}
.ppe-btn:active { transform: translateY(1px); }
.ppe-btn--gold { background: var(--ppe-gold); color: var(--ppe-black); }
.ppe-btn--gold:hover { background: var(--ppe-gold-deep); }
.ppe-btn--outline { background: transparent; border-color: currentColor; color: inherit; }
.ppe-btn--outline:hover { background: var(--ppe-ivory); color: var(--ppe-charcoal); }

/* ------------------------ WhatsApp CTA (component) ----------------------- */
.ppe-wa {
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 11px;
	font-family: var(--font-sans); font-weight: 600; font-size: 0.83rem;
	letter-spacing: 0.13em; text-transform: uppercase; text-decoration: none;
	padding: 15px 26px; border-radius: var(--radius-md); overflow: hidden;
	transition: transform var(--dur-fast) var(--ease-calm), box-shadow var(--dur-base) var(--ease-calm), border-color var(--dur-base) var(--ease-calm), background var(--dur-base) var(--ease-calm);
}
.ppe-wa .ppe-ico { width: 18px; height: 18px; flex: none; }
.ppe-wa:active { transform: translateY(1px); }
.ppe-wa--block { display: flex; width: 100%; }
.ppe-wa--sm { padding: 11px 18px; font-size: 0.72rem; }
.ppe-wa__short { display: none; }
/* A. Premium dark (default) */
.ppe-wa--dark { background: var(--ppe-charcoal); color: var(--ppe-ivory); border: 1px solid var(--line-hairline-dark); }
.ppe-wa--dark .ppe-ico { color: var(--ppe-gold); }
.ppe-wa--dark:hover { background: var(--ppe-black); border-color: var(--ppe-gold); box-shadow: var(--shadow-gold); }
/* B. Controlled green accent (refined, secondary) */
.ppe-wa--green { background: var(--wa-quiet); color: #fff; border: 1px solid var(--wa-quiet); }
.ppe-wa--green .ppe-ico { color: #fff; }
.ppe-wa--green:hover { background: var(--wa-quiet-hover); border-color: var(--wa-quiet-hover); }

/* --------------------------------- Icons --------------------------------- */
.ppe-ico { width: 22px; height: 22px; color: var(--accent); }

/* --------------------------------- Header -------------------------------- */
.ppe-header {
	position: sticky; top: 0; z-index: 60;
	background: rgba(252, 250, 246, 0.9); backdrop-filter: saturate(140%) blur(8px);
	border-bottom: 1px solid var(--line-hairline);
}
.ppe-header__row { display: flex; align-items: center; gap: 12px; min-height: 74px; }
.ppe-brand { display: inline-flex; align-items: center; text-decoration: none; margin-right: auto; white-space: nowrap; }
.ppe-nav { display: flex; align-items: center; gap: 22px; flex-shrink: 0; }
.ppe-nav a { font-size: 0.8rem; font-weight: 500; letter-spacing: 0.02em; text-decoration: none; color: var(--ppe-ink); padding: 6px 0; white-space: nowrap; transition: color var(--dur-base) var(--ease-calm); }
.ppe-nav a:hover { color: var(--ppe-gold-deep); }
.ppe-header__actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.ppe-header__actions .ppe-wa { white-space: nowrap; }
/* EN/FR pill switch (design-faithful) */
.ppe-langpill { display: inline-flex; border: 1px solid var(--line-hairline); border-radius: var(--radius-pill); overflow: hidden; }
.ppe-langpill a { padding: 7px 14px; font-family: var(--font-sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; color: var(--text-muted); transition: background var(--dur-base), color var(--dur-base); }
.ppe-langpill a.is-active { background: var(--ppe-charcoal); color: var(--ppe-ivory); }
.ppe-burger { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
.ppe-burger span { display: block; width: 22px; height: 1.5px; background: var(--ppe-ink); margin: 5px 0; }

/* Grouped navigation (v1.4.17): two discreet dropdowns + direct concierge link.
   Desktop: open on hover / :focus-within / click on the chevron (keyboard+touch).
   Mobile (<=780px): the same groups collapse into accordions inside the burger panel. */
.ppe-nav__group { position: relative; display: flex; align-items: center; }
.ppe-nav__more { display: inline-flex; align-items: center; background: none; border: 0; padding: 4px 0 4px 2px; margin: 0; cursor: pointer; color: var(--ppe-ink); }
.ppe-nav__more .ppe-ico { width: 13px; height: 13px; transition: transform var(--dur-base) var(--ease-calm); }
.ppe-nav__group.is-open .ppe-nav__more .ppe-ico { transform: rotate(180deg); }
.ppe-nav__sub { position: absolute; top: 100%; left: -18px; min-width: 232px; background: var(--ppe-warm-white); border: 1px solid var(--line-hairline); border-top: 2px solid var(--ppe-gold-deep); box-shadow: 0 22px 44px rgba(20, 20, 20, 0.10); padding: 8px 0; display: none; z-index: 80; }
.ppe-nav__group:hover .ppe-nav__sub, .ppe-nav__group:focus-within .ppe-nav__sub, .ppe-nav__group.is-open .ppe-nav__sub { display: block; }
.ppe-nav__sub a { display: block; padding: 10px 20px; white-space: nowrap; }
.ppe-nav__mobile-cta, .ppe-nav__mobile-extra { display: none; }

/* --------------------------------- Hero ---------------------------------- */
.ppe-hero { position: relative; background: var(--ppe-charcoal); color: var(--ppe-ivory); overflow: hidden; }
.ppe-hero__bg { position: absolute; inset: 0; z-index: 0; }
.ppe-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.5; }
.ppe-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(10,10,10,0.5) 0%, rgba(20,20,20,0.68) 58%, rgba(10,10,10,0.9) 100%); }
.ppe-hero__inner { position: relative; z-index: 2; padding-block: clamp(76px, 11vw, 128px); max-width: 720px; }
.ppe-hero h1 { color: var(--ppe-warm-white); line-height: 1.08; }
.ppe-hero .ppe-lead { color: rgba(247, 243, 236, 0.9); max-width: 52ch; font-size: clamp(1.06rem, 1.5vw, 1.18rem); }
.ppe-hero__cta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; align-items: center; }
.ppe-hero__promise { font-family: var(--font-serif); font-size: clamp(1.25rem, 2.2vw, 1.75rem); font-style: italic; color: var(--ppe-gold); margin: 0 0 22px; line-height: 1.25; }

/* ------------------------------- Trust bar ------------------------------- */
.ppe-trust { background: var(--ppe-black); color: var(--ppe-ivory); border-top: 1px solid var(--line-hairline-dark); border-bottom: 1px solid var(--line-hairline-dark); }
.ppe-trust__row { display: flex; flex-wrap: wrap; gap: 20px 44px; justify-content: center; padding-block: 22px; text-align: center; }
.ppe-trust__item { display: inline-flex; align-items: center; gap: 10px; font-size: 0.85rem; letter-spacing: 0.02em; color: rgba(247,243,236,0.92); }
.ppe-trust__item .ppe-ico { width: 17px; height: 17px; color: var(--ppe-gold); }
.ppe-stars { display: inline-flex; gap: 2px; color: var(--ppe-gold); }
.ppe-stars .ppe-ico { width: 15px; height: 15px; fill: var(--ppe-gold); stroke: var(--ppe-gold); }

/* --------------------- Offer stack (bordered cards) ---------------------- */
/* Bordered items on a transparent gap — no grey dead zones on odd counts. */
.ppe-offer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.ppe-offer-item { background: var(--ppe-warm-white); border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); padding: 28px 30px; box-shadow: var(--shadow-card); }
.ppe-section--dark .ppe-offer-item, .ppe-section--black .ppe-offer-item { background: var(--ppe-charcoal-2); border-color: var(--line-hairline-dark); box-shadow: none; }
.ppe-offer-item h3 { font-size: 1.25rem; margin: 0 0 8px; display: flex; gap: 11px; align-items: baseline; }
.ppe-offer-item h3 .ppe-ico { width: 20px; height: 20px; color: var(--accent); transform: translateY(3px); }
.ppe-offer-item p { margin: 0; color: var(--text-muted); font-size: 0.95rem; line-height: 1.55; }
.ppe-section--dark .ppe-offer-item p, .ppe-section--black .ppe-offer-item p { color: var(--text-on-dark-muted); }

/* "Our services" cards: refined, lighter CTAs that align across the 4 cards. */
.ppe-services .ppe-offer-item { display: flex; flex-direction: column; }
.ppe-services__cta { margin-top: auto; padding-top: 22px; }
.ppe-services .ppe-wa { padding: 10px 18px; font-size: 0.7rem; letter-spacing: 0.09em; line-height: 1.3; text-align: center; }
.ppe-services .ppe-wa .ppe-ico { width: 16px; height: 16px; }

/* ------------------ Airport inclusions (premium, spacious) --------------- */
.ppe-incl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ppe-incl__item { position: relative; background: var(--ppe-charcoal-2); border: 1px solid var(--line-hairline-dark); border-radius: var(--radius-sm); padding: 32px 30px; display: flex; flex-direction: column; gap: 14px; min-height: 188px; }
.ppe-incl__item::before { content: ""; position: absolute; top: 0; left: 30px; width: 34px; height: 2px; background: var(--accent); }
.ppe-incl__item .ppe-ico { width: 26px; height: 26px; color: var(--accent); margin-top: 8px; }
.ppe-incl__item h4 { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 1.25rem; color: var(--ppe-warm-white); line-height: 1.15; }
.ppe-incl__item p { margin: 0; font-size: 0.88rem; color: var(--text-on-dark-muted); line-height: 1.55; }

/* -------------------------- Vehicle Class Selector ----------------------- */
.ppe-vcs { display: flex; flex-direction: column; gap: 28px; }
.ppe-vcs__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.ppe-vcs__head-l { display: flex; flex-direction: column; gap: 10px; max-width: 640px; }
.ppe-vcs__head h2 { margin: 0; }
.ppe-vcs__note { display: inline-flex; align-items: center; gap: 8px; font-size: 0.82rem; color: var(--text-muted); }
.ppe-vcs__note .ppe-ico { width: 15px; height: 15px; color: var(--accent); }
.ppe-section--dark .ppe-vcs__note { color: var(--text-on-dark-muted); }
.ppe-vcs__langpill { display: inline-flex; border: 1px solid var(--line-hairline); border-radius: var(--radius-pill); overflow: hidden; }
.ppe-section--dark .ppe-vcs__langpill { border-color: var(--line-hairline-dark); }
.ppe-vcs__langpill a { padding: 8px 16px; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; color: var(--text-muted); }
.ppe-vcs__langpill a.is-active { background: var(--ppe-charcoal); color: var(--ppe-ivory); }

.ppe-vcs__routes { display: flex; gap: 10px; flex-wrap: wrap; }
.ppe-vcs__route {
	display: inline-flex; align-items: center; gap: 9px;
	background: transparent; color: var(--ppe-ink); border: 1px solid var(--line-hairline);
	border-radius: var(--radius-pill); cursor: pointer;
	font-family: var(--font-sans); font-size: 0.82rem; font-weight: 500; letter-spacing: 0.03em; padding: 10px 18px;
	transition: background var(--dur-base) var(--ease-calm), color var(--dur-base) var(--ease-calm), border-color var(--dur-base) var(--ease-calm);
}
.ppe-vcs__route .ppe-ico { width: 15px; height: 15px; color: var(--text-muted); }
.ppe-vcs__route[aria-selected="true"] { background: var(--ppe-charcoal); color: var(--ppe-ivory); border-color: var(--ppe-charcoal); }
.ppe-vcs__route[aria-selected="true"] .ppe-ico { color: var(--accent); }
.ppe-section--dark .ppe-vcs__route { color: var(--ppe-ivory); border-color: var(--line-hairline-dark); }
.ppe-section--dark .ppe-vcs__route[aria-selected="true"] { background: var(--ppe-gold); color: var(--ppe-black); border-color: var(--ppe-gold); }
.ppe-section--dark .ppe-vcs__route[aria-selected="true"] .ppe-ico { color: var(--ppe-black); }

.ppe-vcs__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; align-items: stretch; }
.ppe-vcs__foot { display: flex; flex-direction: column; gap: 6px; padding-top: 2px; }
.ppe-vcs__foot span { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8rem; color: var(--text-muted); }
.ppe-vcs__foot .ppe-ico { width: 14px; height: 14px; color: var(--accent); }
.ppe-section--dark .ppe-vcs__foot span { color: var(--text-on-dark-muted); }

/* ------------------------------ Vehicle card ----------------------------- */
.ppe-vcard {
	display: flex; flex-direction: column; background: var(--ppe-warm-white);
	border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); overflow: hidden;
	box-shadow: var(--shadow-card);
	transition: transform var(--dur-slow) var(--ease-calm), box-shadow var(--dur-base) var(--ease-calm), border-color var(--dur-base) var(--ease-calm);
}
.ppe-vcard:hover { transform: translateY(-4px); border-color: var(--accent); box-shadow: var(--shadow-raise); }
.ppe-vcard--featured { border-color: rgba(198,166,100,0.55); }
.ppe-vcard__media { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ppe-charcoal); }
.ppe-vcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-calm); }
.ppe-vcard:hover .ppe-vcard__media img { transform: scale(1.03); }
.ppe-vcard__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.05) 34%, rgba(10,10,10,0) 60%); }
.ppe-vcard__flag {
	position: absolute; top: 14px; left: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 6px;
	background: var(--accent); color: var(--ppe-black);
	font-size: 0.62rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
	padding: 6px 12px; border-radius: var(--radius-pill);
}
.ppe-vcard__flag .ppe-ico { width: 12px; height: 12px; fill: var(--ppe-black); stroke: var(--ppe-black); }
.ppe-vcard__confirm {
	position: absolute; bottom: 14px; left: 14px; right: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 8px;
	color: var(--ppe-ivory); font-size: 0.7rem; font-weight: 500; letter-spacing: 0.04em;
}
.ppe-vcard__confirm .ppe-ico { width: 15px; height: 15px; color: var(--accent); flex: none; }

.ppe-vcard__body { display: flex; flex-direction: column; gap: 18px; padding: 24px 26px 26px; flex: 1; }
.ppe-vcard__title { display: flex; flex-direction: column; gap: 5px; }
.ppe-vcard__name { font-family: var(--font-serif); font-size: 1.875rem; font-weight: 500; line-height: 1.08; margin: 0; }
.ppe-vcard__use { font-size: 0.875rem; color: var(--text-muted); margin: 0; min-height: 1.3em; }

.ppe-vcard__cap { display: flex; align-items: center; gap: 18px; padding: 14px 0; border-top: 1px solid var(--line-hairline); border-bottom: 1px solid var(--line-hairline); }
.ppe-cap-item { display: inline-flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 500; color: var(--ppe-ink); }
.ppe-cap-item .ppe-ico { width: 19px; height: 19px; color: var(--accent); }
.ppe-cap-divider { width: 1px; height: 18px; background: var(--line-hairline); flex: none; }
.ppe-vcard__best { margin: 0; font-size: 0.84rem; line-height: 1.5; color: var(--text-muted); min-height: 2.8em; }
.ppe-vcard__best strong { color: var(--ppe-ink); font-weight: 600; }

/* itemised, all-routes price box (selected row washed) */
.ppe-vcard__prices { display: flex; flex-direction: column; border: 1px solid var(--line-hairline); border-radius: var(--radius-xs); overflow: hidden; }
.ppe-price-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 14px; border-bottom: 1px solid var(--line-hairline); transition: background var(--dur-base) var(--ease-calm); }
.ppe-price-row:last-child { border-bottom: 0; }
.ppe-price-row.is-active { background: var(--accent-wash); box-shadow: inset 3px 0 0 var(--accent); }
.ppe-price-row__label { display: inline-flex; align-items: center; gap: 9px; font-size: 0.8rem; color: var(--text-muted); font-weight: 400; }
.ppe-price-row__label .ppe-ico { width: 15px; height: 15px; color: var(--text-muted); }
.ppe-price-row.is-active .ppe-price-row__label { color: var(--ppe-ink); font-weight: 600; }
.ppe-price-row.is-active .ppe-price-row__label .ppe-ico { color: var(--accent); }
.ppe-price-row__val { display: inline-flex; align-items: baseline; gap: 5px; white-space: nowrap; }
.ppe-price-row__pre { font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }
.ppe-price-row__fig { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 600; color: var(--ppe-ink); line-height: 1; }
.ppe-price-row__suf { font-size: 0.68rem; color: var(--text-muted); }

.ppe-vcard__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ppe-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 0.72rem; color: var(--ppe-ink); border: 1px solid var(--line-hairline); border-radius: var(--radius-pill); padding: 5px 11px; }
.ppe-chip .ppe-ico { width: 12px; height: 12px; color: var(--accent); }
.ppe-vcard__cta { margin-top: auto; padding-top: 2px; }
/* Card CTA: fit on one line where possible, consistent height across E/V/S. */
.ppe-vcard__cta .ppe-wa { font-size: 0.74rem; letter-spacing: 0.06em; gap: 9px; min-height: 52px; text-align: center; }

/* ------------------------------ Capacity diagram ------------------------- */
.ppe-capacity { display: grid; gap: 16px; }
.ppe-cabin { display: inline-flex; gap: 10px; align-items: flex-end; padding: 18px; border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); background: var(--ppe-warm-white); box-shadow: var(--shadow-card); }
.ppe-cabin__seat { width: 34px; height: 34px; border: 1px solid var(--ppe-gold); border-radius: 6px 6px 8px 8px; display: grid; place-items: center; color: var(--ppe-gold-deep); }
.ppe-cabin__seat .ppe-ico { width: 18px; height: 18px; }
.ppe-cabin__seat--wheel { border-style: dashed; opacity: 0.75; }
.ppe-cabin__group { display: flex; gap: 6px; }
.ppe-cabin__label { font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; display: block; }

/* ------------------------------ Pricing matrix --------------------------- */
.ppe-matrix-wrap { overflow-x: auto; border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); box-shadow: var(--shadow-card); background: var(--ppe-warm-white); }
.ppe-matrix { width: 100%; border-collapse: collapse; min-width: 560px; font-size: 0.95rem; }
.ppe-matrix caption { text-align: left; padding: 16px 20px; font-size: 0.8rem; color: var(--text-muted); }
.ppe-matrix th, .ppe-matrix td { padding: 15px 20px; text-align: left; border-bottom: 1px solid var(--line-hairline); }
.ppe-matrix thead th { font-family: var(--font-sans); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--text-muted); font-weight: 600; }
.ppe-matrix tbody th { font-weight: 500; }
.ppe-matrix td.ppe-matrix__price { font-family: var(--font-serif); font-size: 1.35rem; font-weight: 600; }
.ppe-matrix tr:last-child th, .ppe-matrix tr:last-child td { border-bottom: 0; }

/* --------------------------------- Steps --------------------------------- */
.ppe-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.ppe-step { padding-top: 26px; border-top: 1px solid var(--accent); }
.ppe-step__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.ppe-step__n { font-family: var(--font-serif); font-size: 2rem; font-weight: 600; color: var(--accent); line-height: 1; }
.ppe-step__top .ppe-ico { width: 22px; height: 22px; color: var(--accent); }
.ppe-step h3 { font-size: 1.4rem; margin: 0 0 10px; }
.ppe-step p { color: var(--text-muted); font-size: 0.94rem; margin: 0; line-height: 1.6; }

/* --------------------- Differentiation (two columns) --------------------- */
.ppe-diff { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.ppe-diff__col { border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); padding: 34px 36px; background: var(--ppe-warm-white); }
.ppe-diff__col--apps { background: transparent; box-shadow: none; }
.ppe-diff__col--ppe { border-color: rgba(198,166,100,0.55); box-shadow: var(--shadow-card); }
.ppe-diff__h { font-family: var(--font-sans); font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.16em; margin: 0 0 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line-hairline); }
.ppe-diff__col--apps .ppe-diff__h { color: var(--text-muted); }
.ppe-diff__col--ppe .ppe-diff__h { color: var(--ppe-gold-deep); }
.ppe-diff__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 15px; }
.ppe-diff__list li { display: flex; gap: 12px; align-items: flex-start; font-size: 0.95rem; line-height: 1.45; }
.ppe-diff__list .ppe-ico { width: 18px; height: 18px; color: var(--accent); flex: none; margin-top: 2px; }
.ppe-diff__x { color: var(--text-muted); font-size: 1.05rem; line-height: 1.3; flex: none; width: 18px; text-align: center; }
.ppe-diff__col--apps .ppe-diff__list li { color: var(--text-muted); }

/* ------------------------------- Reviews --------------------------------- */
.ppe-review-filters { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 40px; }
.ppe-review-filter { font-size: 0.74rem; font-weight: 600; letter-spacing: 0.04em; padding: 8px 16px; border-radius: var(--radius-pill); border: 1px solid var(--line-hairline-dark); background: transparent; color: var(--ppe-ivory); cursor: pointer; transition: background var(--dur-base), color var(--dur-base), border-color var(--dur-base); }
.ppe-review-filter[aria-pressed="true"] { background: var(--ppe-gold); color: var(--ppe-black); border-color: var(--ppe-gold); }

.ppe-reviews { columns: 3 320px; column-gap: 20px; }
.ppe-review { break-inside: avoid; margin: 0 0 20px; display: flex; flex-direction: column; gap: 18px; background: var(--ppe-charcoal-2); border: 1px solid var(--line-hairline-dark); border-radius: var(--radius-sm); padding: 28px 30px; }
.ppe-review__top { display: flex; align-items: center; justify-content: space-between; }
.ppe-review__stars { display: inline-flex; gap: 3px; }
.ppe-review__stars .ppe-ico { width: 15px; height: 15px; fill: var(--accent); stroke: var(--accent); }
.ppe-review__quote-mark { font-family: var(--font-serif); font-size: 46px; line-height: 0.6; color: var(--accent); opacity: 0.5; }
.ppe-review__text { margin: 0; font-family: var(--font-serif); font-size: 1.18rem; font-weight: 500; line-height: 1.42; color: var(--ppe-warm-white); letter-spacing: -0.005em; }
.ppe-review__text--long { font-size: 1.02rem; line-height: 1.5; }
.ppe-review__meta { display: flex; flex-direction: column; gap: 3px; }
.ppe-review__name { font-family: var(--font-sans); font-size: 0.875rem; font-weight: 600; color: var(--ppe-ivory); letter-spacing: 0.02em; }
.ppe-review__src { font-family: var(--font-sans); font-size: 0.68rem; color: var(--accent); letter-spacing: 0.14em; text-transform: uppercase; margin-top: 3px; }
.ppe-review.is-hidden { display: none; }
/* light-tone reviews (used on ivory service pages) */
.ppe-section--ivory .ppe-review, .ppe-section--warm .ppe-review { background: var(--ppe-warm-white); border-color: var(--line-hairline); box-shadow: var(--shadow-card); }
.ppe-section--ivory .ppe-review__text, .ppe-section--warm .ppe-review__text { color: var(--ppe-ink); }
.ppe-section--ivory .ppe-review__name, .ppe-section--warm .ppe-review__name { color: var(--ppe-ink); }
.ppe-section--ivory .ppe-review-filter, .ppe-section--warm .ppe-review-filter { color: var(--ppe-ink); border-color: var(--line-hairline); }

/* --------------------------- Related services ---------------------------- */
.ppe-related { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.ppe-related__link { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; color: var(--ppe-ink); font-size: 0.92rem; border: 1px solid var(--line-hairline); border-radius: var(--radius-pill); padding: 11px 18px; background: var(--ppe-warm-white); transition: border-color var(--dur-base) var(--ease-calm), color var(--dur-base) var(--ease-calm); }
.ppe-related__link .ppe-ico { width: 16px; height: 16px; color: var(--accent); transition: transform var(--dur-base) var(--ease-calm); }
.ppe-related__link:hover { border-color: var(--accent); color: var(--ppe-gold-deep); }
.ppe-related__link:hover .ppe-ico { transform: translateX(3px); }
/* Curated review sets read best as an even row, not masonry */
.ppe-reviews--curated { columns: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; align-items: start; }
.ppe-reviews--curated .ppe-review { margin: 0; }

/* ---------------------------------- FAQ ---------------------------------- */
.ppe-faq { max-width: 820px; margin-inline: auto; }
.ppe-faq__item { border-bottom: 1px solid var(--line-hairline); }
.ppe-faq__q { width: 100%; text-align: left; background: none; border: 0; cursor: pointer; padding: 22px 40px 22px 0; position: relative; font-family: var(--font-serif); font-size: 1.25rem; color: inherit; list-style: none; }
.ppe-faq__q::-webkit-details-marker { display: none; }
.ppe-faq__q::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-family: var(--font-sans); font-size: 1.4rem; color: var(--accent); transition: transform var(--dur-base) var(--ease-calm); }
.ppe-faq__item[open] .ppe-faq__q::after { content: "\00d7"; }
.ppe-faq__a { padding: 0 40px 22px 0; color: var(--text-muted); max-width: var(--measure); }
.ppe-faq__a a { color: var(--ppe-gold-deep); text-decoration: underline; text-underline-offset: 2px; }
.ppe-faq__a a:hover { color: var(--accent); }

/* --------------------------- Plaque / Meet & Greet ----------------------- */
.ppe-meet { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 64px; align-items: center; }
.ppe-plaque { position: relative; background: var(--ppe-black); border: 1px solid rgba(198,166,100,0.5); border-radius: var(--radius-sm); padding: clamp(28px, 5vw, 52px); text-align: center; overflow: hidden; box-shadow: var(--shadow-raise); }
.ppe-plaque::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(198,166,100,0.4); border-radius: var(--radius-xs); pointer-events: none; }
.ppe-plaque::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,0.10), transparent); transform: skewX(-18deg); animation: ppe-sheen 7s var(--ease-calm) 1.5s infinite; }
.ppe-plaque__mark { max-width: 78%; margin: 0 auto 24px; }
.ppe-plaque__label { font-size: 0.68rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--ppe-gold); margin-bottom: 10px; }
.ppe-plaque__name { font-family: var(--font-serif); font-size: clamp(1.4rem, 3vw, 2rem); color: var(--ppe-warm-white); letter-spacing: 0.04em; }
.ppe-meet__body h2 { margin-bottom: 16px; }
@keyframes ppe-sheen { 0% { left: -60%; } 22%, 100% { left: 130%; } }

/* -------------------------------- Sticky CTA ----------------------------- */
.ppe-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; background: var(--ppe-charcoal); color: var(--ppe-ivory); border-top: 1px solid var(--ppe-gold); box-shadow: var(--shadow-sticky); transform: translateY(110%); transition: transform var(--dur-slow) var(--ease-calm); padding-bottom: env(safe-area-inset-bottom); }
.ppe-sticky.is-visible { transform: translateY(0); }
.ppe-sticky__row { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 64px; padding: 8px clamp(16px, 5vw, 24px); }
.ppe-sticky__ctx { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ppe-sticky__label { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-on-dark-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ppe-sticky__price { display: flex; align-items: baseline; gap: 7px; }
.ppe-sticky__pre { font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); }
.ppe-sticky__fig { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 600; color: var(--ppe-ivory); line-height: 1; }
.ppe-sticky__suf { font-size: 0.68rem; color: var(--text-on-dark-muted); }
.ppe-sticky__value { font-family: var(--font-serif); font-size: 1.1rem; color: var(--ppe-ivory); line-height: 1.1; }
.ppe-sticky .ppe-wa { padding: 12px 18px; flex-shrink: 0; }

/* --------------------------------- Forms --------------------------------- */
.ppe-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; background: var(--ppe-warm-white); border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); padding: 30px; box-shadow: var(--shadow-card); }
.ppe-form .ppe-field--full { grid-column: 1 / -1; }
.ppe-field { display: flex; flex-direction: column; gap: 6px; }
.ppe-field label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted); }
.ppe-field input, .ppe-field textarea { font-family: var(--font-sans); font-size: 0.95rem; padding: 12px 14px; border: 1px solid var(--line-hairline); border-radius: var(--radius-xs); background: #fff; color: var(--ppe-ink); }
.ppe-field input:focus, .ppe-field textarea:focus { outline: none; border-color: var(--ppe-gold); }
.ppe-field textarea { min-height: 110px; resize: vertical; }
.ppe-hp { position: absolute; left: -9999px; }
.ppe-form__notice { grid-column: 1/-1; padding: 12px 14px; border-radius: var(--radius-xs); font-size: 0.9rem; }
.ppe-form__notice--ok { background: rgba(46,125,87,0.12); color: #1f5c3e; }
.ppe-form__notice--err { background: rgba(169,60,60,0.12); color: #8a2b2b; }

/* --------------------------------- Footer -------------------------------- */
.ppe-footer { background: var(--ppe-black); color: rgba(247,243,236,0.82); padding-block: 64px calc(104px + env(safe-area-inset-bottom)); }
.ppe-footer a { text-decoration: none; color: inherit; transition: color var(--dur-base); }
.ppe-footer a:hover { color: var(--ppe-gold); }
.ppe-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 48px; }
.ppe-footer__wordmark { display: inline-block; font-size: 1.15rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ppe-gold); margin-bottom: 18px; line-height: 1.2; }
.ppe-footer__brand p { color: var(--text-muted); max-width: 34ch; font-size: 0.9rem; }
.ppe-footer__h { font-family: var(--font-sans); font-size: 0.7rem; font-weight: 500; line-height: 1.1; text-transform: uppercase; letter-spacing: 0.16em; color: var(--ppe-gold); margin: 0 0 16px; }
.ppe-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 0.9rem; }
.ppe-footer__contact a { display: inline-flex; gap: 8px; align-items: center; }
.ppe-footer__contact .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold); }
.ppe-footer__trust { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 8px; font-size: 0.85rem; }
.ppe-footer__trust li { display: flex; align-items: center; gap: 8px; }
.ppe-footer__trust .ppe-ico { width: 15px; height: 15px; color: var(--ppe-gold); flex-shrink: 0; }
.ppe-footer__contactlist { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; font-size: 0.9rem; }
.ppe-footer__contactlist a { display: inline-flex; gap: 8px; align-items: center; }
.ppe-footer__contactlist .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold); }
.ppe-footer__plain { color: var(--text-muted); }
.ppe-footer__legal a { text-decoration: underline; text-underline-offset: 3px; }
.ppe-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line-hairline-dark); font-size: 0.78rem; color: var(--text-muted); }

/* --------------------------- Generic helpers ----------------------------- */
.ppe-cta-band { text-align: center; }
.ppe-cta-band .ppe-wa { margin-top: 24px; }
.ppe-microcopy { font-size: 0.82rem; color: var(--text-muted); }
.ppe-price-note { font-size: 0.86rem; color: var(--ppe-gold-deep); font-style: italic; }
.ppe-two-col { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 64px; align-items: start; }
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--ppe-charcoal); color: #fff; padding: 10px 16px; z-index: 200; }
.skip-link:focus { left: 8px; top: 8px; }

/* -------------------------- Reveal / motion ------------------------------ */
.js .ppe-reveal { opacity: 0; transform: translateY(16px); }
.js .ppe-reveal.is-in { opacity: 1; transform: none; transition: opacity var(--dur-slow) var(--ease-calm), transform var(--dur-slow) var(--ease-calm); }

/* =============================== CDG money page ========================== */
.ppe-hero__note { font-size: 0.84rem; color: rgba(247,243,236,0.72); margin: 14px 0 0; }
.ppe-hero__bullets { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; }
.ppe-hero__bullets li { display: inline-flex; align-items: center; gap: 9px; font-size: 0.86rem; color: rgba(247,243,236,0.9); }
.ppe-hero__bullets .ppe-ico { width: 16px; height: 16px; color: var(--accent); flex: none; }

/* Assurance rows (§4) */
.ppe-assure { display: grid; gap: 4px; }
.ppe-assure__row { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; padding: 20px 0; border-top: 1px solid var(--line-hairline); }
.ppe-assure__row:first-child { border-top: 0; }
.ppe-assure__n { font-family: var(--font-serif); font-size: 1.5rem; color: var(--accent); line-height: 1; }
.ppe-assure__row h3 { font-size: 1.15rem; margin: 0 0 6px; }
.ppe-assure__row p { margin: 0; color: var(--text-muted); font-size: 0.95rem; line-height: 1.55; }

/* Which Mercedes cards (§8) */
.ppe-choose { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; align-items: stretch; }
.ppe-choose__card { display: flex; flex-direction: column; gap: 16px; border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); background: var(--ppe-warm-white); box-shadow: var(--shadow-card); padding: 28px 30px; }
.ppe-choose__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 1px solid var(--line-hairline); padding-bottom: 14px; }
.ppe-choose__name { font-family: var(--font-serif); font-size: 1.5rem; }
.ppe-choose__price { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 600; color: var(--ppe-ink); text-align: right; line-height: 1; }
.ppe-choose__price small { display: block; font-family: var(--font-sans); font-size: 0.58rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted); margin-top: 4px; }
.ppe-choose__best { font-size: 0.9rem; color: var(--text-muted); margin: 0; }
.ppe-choose__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ppe-choose__list li { display: flex; gap: 10px; font-size: 0.9rem; line-height: 1.4; }
.ppe-choose__list .ppe-ico { width: 16px; height: 16px; color: var(--accent); flex: none; margin-top: 3px; }
.ppe-choose__cta { margin-top: auto; }

/* CDG arrival timeline (§10) */
.ppe-timeline { display: grid; }
.ppe-timeline__step { position: relative; padding: 0 0 34px 42px; border-left: 1px solid var(--line-hairline); margin-left: 8px; }
.ppe-timeline__step:last-child { border-left-color: transparent; padding-bottom: 0; }
.ppe-timeline__n { position: absolute; left: -17px; top: -3px; width: 34px; height: 34px; border-radius: 50%; background: var(--ppe-charcoal); color: var(--accent); font-family: var(--font-serif); font-size: 1.05rem; display: grid; place-items: center; }
.ppe-timeline__step h3 { font-size: 1.2rem; margin: 0 0 6px; }
.ppe-timeline__step p { margin: 0; color: var(--text-muted); font-size: 0.94rem; line-height: 1.55; }

/* WhatsApp preview (§13) */
.ppe-wa-preview { border: 1px solid var(--line-hairline-dark); border-radius: var(--radius-sm); background: var(--ppe-charcoal-2); padding: 24px 26px; }
.ppe-wa-preview__bubble { background: rgba(255,255,255,0.04); border: 1px solid var(--line-hairline-dark); border-radius: 12px 12px 12px 4px; padding: 16px 18px; font-size: 0.9rem; color: var(--ppe-ivory); white-space: pre-line; line-height: 1.65; }
.ppe-wa-preview__notes { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.ppe-wa-preview__notes li { display: flex; gap: 9px; font-size: 0.85rem; color: var(--text-on-dark-muted); }
.ppe-wa-preview__notes .ppe-ico { width: 15px; height: 15px; color: var(--accent); flex: none; margin-top: 2px; }

/* Scenario / related cards with a bottom CTA (§12, §16) */
.ppe-scen .ppe-offer-item { display: flex; flex-direction: column; }
.ppe-scen__cta { margin-top: auto; padding-top: 16px; }

/* ------------------------------- Responsive ------------------------------ */
@media (max-width: 1000px) {
	.ppe-incl { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
	.ppe-meet, .ppe-two-col { grid-template-columns: 1fr; gap: 40px; }
	.ppe-footer__grid { grid-template-columns: 1fr 1fr; }
	.ppe-reviews { columns: 2 300px; }
}
@media (max-width: 820px) {
	.ppe-diff { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
	.ppe-nav, .ppe-header__actions .ppe-wa { display: none; }
	.ppe-burger { display: block; }
	.ppe-header.is-open .ppe-nav { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--ppe-warm-white); border-bottom: 1px solid var(--line-hairline); box-shadow: 0 24px 40px rgba(20, 20, 20, 0.12); padding: 14px clamp(20px, 5vw, 40px) 20px; max-height: calc(100vh - 74px); overflow-y: auto; }
	.ppe-header.is-open .ppe-nav__mobile-cta { display: block; padding-bottom: 14px; border-bottom: 1px solid var(--line-hairline); }
	.ppe-header.is-open .ppe-nav__group { flex-wrap: wrap; border-bottom: 1px solid var(--line-hairline); }
	.ppe-header.is-open .ppe-nav__top { flex: 1; padding: 13px 0; font-size: 0.86rem; }
	.ppe-header.is-open .ppe-nav__more { padding: 13px 8px; }
	.ppe-header.is-open .ppe-nav__more .ppe-ico { width: 16px; height: 16px; }
	.ppe-header.is-open .ppe-nav__sub { position: static; min-width: 0; width: 100%; border: 0; box-shadow: none; background: transparent; padding: 0 0 10px 14px; }
	.ppe-header.is-open .ppe-nav__group:hover .ppe-nav__sub, .ppe-header.is-open .ppe-nav__group:focus-within .ppe-nav__sub { display: none; }
	.ppe-header.is-open .ppe-nav__group.is-open .ppe-nav__sub { display: block; }
	.ppe-header.is-open .ppe-nav__sub a { padding: 9px 0; white-space: normal; }
	.ppe-header.is-open .ppe-nav__solo { width: 100%; padding: 13px 0; border-bottom: 1px solid var(--line-hairline); font-size: 0.86rem; }
	.ppe-header.is-open .ppe-nav__mobile-extra { display: grid; gap: 2px; padding-top: 14px; }
	.ppe-header.is-open .ppe-nav__mobile-extra a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; }
	.ppe-header.is-open .ppe-nav__mobile-extra .ppe-ico { width: 15px; height: 15px; color: var(--ppe-gold-deep); }
	.ppe-form { grid-template-columns: 1fr; }
	/* Reviews → horizontal swipe carousel on mobile */
	.ppe-reviews { columns: auto; display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 8px; }
	.ppe-review { flex: 0 0 82%; scroll-snap-align: center; margin: 0; }
	.ppe-incl { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	body { font-size: 16px; }
	/* v1.4.17 — kill the historic ~47px page-level horizontal scroll: compact the
	   header row (brand + lang pill + burger no longer exceed 390px) and clip any
	   residual overflow ("clip" keeps position:sticky working, unlike "hidden"). */
	html, body { overflow-x: clip; }
	.ppe-header__row { gap: 10px; min-height: 64px; }
	.ppe-brand span { font-size: 0.78rem !important; letter-spacing: 0.06em !important; }
	.ppe-langpill a { padding: 6px 10px; }
	.ppe-burger { padding: 6px 2px 6px 6px; }
	.ppe-footer__grid { grid-template-columns: 1fr; }
	.ppe-btn, .ppe-hero__cta .ppe-wa { width: 100%; justify-content: center; }
	.ppe-hero__cta { flex-direction: column; align-items: stretch; }
	/* Shorter vehicle-card CTA labels on narrow screens (§2). */
	.ppe-vcard .ppe-wa__full { display: none; }
	.ppe-vcard .ppe-wa__short { display: inline; }
}

/* --------------------------- Reduced motion ------------------------------ */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
	.js .ppe-reveal { opacity: 1; transform: none; }
	.ppe-plaque::after { display: none; }
}

/* ===================== v1.4.1 · CDG money-page refinements ================= */

/* Hero: H1 > lead > price/trust module > CTA > micro trust row (point 2) */
.ppe-hero__facts { display: inline-flex; flex-wrap: wrap; margin: 24px 0 26px; border: 1px solid rgba(198,166,100,0.42); border-radius: var(--radius-md); background: rgba(10,10,10,0.32); overflow: hidden; }
.ppe-hero__price { display: flex; flex-wrap: wrap; align-items: baseline; align-content: center; gap: 3px 8px; padding: 13px 22px; }
.ppe-hero__price .lbl { flex-basis: 100%; font-size: 0.6rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(247,243,236,0.6); }
.ppe-hero__price .fig { font-family: var(--font-serif); font-size: 1.55rem; font-weight: 600; color: var(--ppe-gold); line-height: 1; }
.ppe-hero__price .suf { font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(247,243,236,0.62); }
.ppe-hero__rating { display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 13px 22px; border-left: 1px solid rgba(198,166,100,0.28); }
.ppe-hero__rating .ppe-stars { display: inline-flex; gap: 2px; }
.ppe-hero__rating .ppe-stars .ppe-ico { width: 14px; height: 14px; fill: var(--ppe-gold); stroke: var(--ppe-gold); }
.ppe-hero__rating > span:last-child { font-size: 0.78rem; color: rgba(247,243,236,0.82); letter-spacing: 0.01em; }
.ppe-hero__note { font-size: 0.84rem; color: rgba(247,243,236,0.72); margin: 14px 0 0; }
.ppe-hero__bullets { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.ppe-hero__bullets li { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8rem; color: rgba(247,243,236,0.78); letter-spacing: 0.01em; }
.ppe-hero__bullets .ppe-ico { width: 14px; height: 14px; color: var(--ppe-gold); flex: none; }

/* Black trust band: even spacing, subtle gold dividers, no awkward wrap (point 3) */
.ppe-trust__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 0; padding-block: 22px; text-align: center; }
.ppe-trust__item { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 0 28px; font-size: 0.84rem; letter-spacing: 0.02em; color: rgba(247,243,236,0.92); }
.ppe-trust__item .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold); flex: none; }
.ppe-trust__item + .ppe-trust__item::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 15px; background: rgba(198,166,100,0.32); }
.ppe-stars { display: inline-flex; gap: 2px; color: var(--ppe-gold); }
.ppe-stars .ppe-ico { width: 15px; height: 15px; fill: var(--ppe-gold); stroke: var(--ppe-gold); }

/* "Why travelers choose Paris Private Experience" proof section: breathing + premium (point 4) */
.ppe-proof { background: var(--ppe-warm-white); border-bottom: 1px solid var(--line-hairline); }
.ppe-proof.ppe-section--tight { padding-block: clamp(60px, 8vw, 100px); }
.ppe-proof__head { max-width: 660px; margin: 0 auto 46px; text-align: center; }
.ppe-proof__head .ppe-eyebrow { margin-bottom: 12px; }
.ppe-proof__head h2 { font-size: clamp(1.7rem, 3vw, 2.25rem); margin: 0 0 14px; }
.ppe-proof__head .ppe-lead { margin: 0 auto; max-width: 58ch; }
.ppe-proof__row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.ppe-proof__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 32px 20px; border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); background: #fff; box-shadow: var(--shadow-card); }
.ppe-proof__item .ppe-ico { width: 26px; height: 26px; color: var(--accent); }
.ppe-proof__item .ppe-stars { display: inline-flex; gap: 3px; }
.ppe-proof__item .ppe-stars .ppe-ico { width: 16px; height: 16px; fill: var(--accent); stroke: var(--accent); }
.ppe-proof__t { font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--ppe-ink); line-height: 1.3; }
.ppe-proof__s { font-size: 0.8rem; color: var(--text-muted); line-height: 1.45; margin: 0; }

/* Timeline (kept) */
.ppe-timeline { max-width: 720px; margin-inline: auto; }
.ppe-timeline__step { position: relative; padding: 0 0 30px 58px; border-left: 2px solid var(--line-hairline); margin-left: 18px; }
.ppe-timeline__step:last-child { border-left-color: transparent; padding-bottom: 0; }
.ppe-timeline__n { position: absolute; left: -22px; top: -2px; width: 44px; height: 44px; border-radius: 50%; background: var(--ppe-charcoal); color: var(--ppe-gold); border: 1px solid rgba(198,166,100,0.55); font-family: var(--font-serif); font-size: 1.2rem; font-weight: 600; display: grid; place-items: center; box-shadow: 0 4px 14px rgba(20,20,20,0.14); }
.ppe-timeline__step h3 { font-size: 1.18rem; margin: 3px 0 6px; }
.ppe-timeline__step p { margin: 0; color: var(--text-muted); font-size: 0.94rem; line-height: 1.55; max-width: 52ch; }

/* Heading line-break helpers (points 5 + 6) */
.ppe-nowrap { white-space: nowrap; }
.ppe-h-tail { display: block; margin-top: 12px; font-family: var(--font-sans); font-size: 0.5em; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ppe-gold); }
.ppe-section--dark .ppe-h-tail { color: var(--ppe-gold-soft); }
.ppe-h-line { display: block; }

/* Fleet section: symmetric, equal-height columns (point 5) */
.ppe-fleet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: stretch; }
.ppe-fleet-col { display: flex; flex-direction: column; }
.ppe-fleet-col .ppe-figure { margin: 0 0 22px; }
.ppe-fleet-col h3 { font-size: 1.3rem; margin: 0 0 12px; min-height: 2.5em; }
.ppe-fleet-col .ppe-lead { flex: 1 1 auto; margin: 0; }
.ppe-fleet-col .ppe-fleet-cta { margin-top: 20px; }

/* Media figures */
.ppe-figure { margin: 0; }
.ppe-figure__frame { position: relative; overflow: hidden; border-radius: var(--radius-sm); background: var(--ppe-charcoal); box-shadow: var(--shadow-card); }
.ppe-figure__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ppe-figure figcaption { margin-top: 12px; font-size: 0.82rem; color: var(--text-muted); letter-spacing: 0.02em; }
.ppe-section--dark .ppe-figure figcaption { color: var(--text-on-dark-muted); }

/* v1.4.17 — real-photo proof grids (CDG/Orly enrichment modules) */
.ppe-figgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; align-items: start; }
.ppe-figgrid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 820px) {
	.ppe-figgrid, .ppe-figgrid--3 { grid-template-columns: 1fr; gap: 22px; }
}

/* v1.4.17 — corporate booking steps: responsive 3-up (was an inline 3-col grid
   that could not collapse and overflowed at 390px) */
.ppe-cp-steps3 { max-width: 900px; margin: 8px auto 34px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 820px) { .ppe-cp-steps3 { grid-template-columns: 1fr; } }

/* v1.4.17 — real photo fills for the page-scoped placeholder frames */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-imgcard > img,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fig > img,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fig > img,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-fig > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* ============================= v1.4.18 VISUAL POLISH ============================= */

/* 1) Readable step descriptions on dark sections. The per-page palettes remap
   --text-muted to a DARK brown, so .ppe-assure__row p was near-invisible on the
   Disneyland dark WhatsApp band. Force an ivory-muted tone on dark/black sections. */
.ppe-section--dark .ppe-assure__row p,
.ppe-section--black .ppe-assure__row p { color: rgba(247, 243, 236, 0.82); }
.ppe-section--dark .ppe-assure__row,
.ppe-section--black .ppe-assure__row { border-top-color: rgba(247, 243, 236, 0.14); }
.ppe-section--dark .ppe-assure__row h3,
.ppe-section--black .ppe-assure__row h3 { color: var(--ppe-ivory); }

/* 2) Disneyland WhatsApp mockup — a touch more presence + balance on desktop.
   `body`-prefixed so it also wins over the preview's duplicated scoped <style>. */
body:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-phone { max-width: 384px; }
body:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-b { font-size: .92rem; }

/* 3) Related-services strip — premium, clearly visible pill row (used on every
   money page before the final CTA). Larger, warmer, stronger hover. */
.ppe-related { gap: 12px 12px; margin-top: 22px; }
.ppe-related__link { font-size: 0.95rem; font-weight: 500; padding: 12px 20px; color: var(--ppe-ink); border-color: var(--line-strong, rgba(20,20,20,0.16)); background: var(--ppe-warm-white); box-shadow: 0 1px 0 rgba(20,20,20,0.02); }
.ppe-related__link .ppe-ico { width: 17px; height: 17px; color: var(--ppe-gold-deep); }
.ppe-related__link:hover { border-color: var(--ppe-gold-deep); color: var(--ppe-gold-deep); background: linear-gradient(0deg, rgba(198,166,100,0.10), rgba(198,166,100,0.10)), var(--ppe-warm-white); }
.ppe-section--tight.ppe-section--ivory > .ppe-container > .ppe-eyebrow + .ppe-related { margin-top: 16px; }

/* 4) Home service directory — the plain muted link list read as weak. Make the
   links clearly clickable (ink weight + gold hover + hover arrow slide). */
body:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__col a { color: var(--hm-ink); font-weight: 500; }
body:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__col a:hover { color: var(--hm-gold-deep); text-decoration: underline; text-underline-offset: 3px; }
body:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-inline-links { font-size: 0.95rem; }
body:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-inline-links a { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }

/* 5) Corporate — Discretion section rebuilt as a clean editorial split
   (body left, night image right) instead of an orphaned 3rd grid child. */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__body { display: flex; flex-direction: column; align-items: flex-start; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__body .ppe-cp-discreet__points { width: 100%; margin: 22px 0 4px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__media { position: relative; margin: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 26px 64px rgba(0,0,0,0.42); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__media img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__media figcaption { position: absolute; inset: auto 0 0 0; padding: 26px 20px 16px; background: linear-gradient(to top, rgba(8,8,8,0.82), transparent); color: rgba(247,243,236,0.92); font-size: 0.86rem; letter-spacing: 0.01em; }

/* 6) Concierge — founder section image aligned with its column (was a floating
   360px thumbnail above full-width point pills). */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-founder__side { display: flex; flex-direction: column; gap: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-founder__fig { margin: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-founder__fig figcaption { color: rgba(247,243,236,0.66); font-size: 0.82rem; margin-top: 10px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__cards .ppe-figure figcaption,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hotel .ppe-figure figcaption { color: var(--co-ink, #4b4437); font-size: 0.84rem; margin-top: 10px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening .ppe-co-evening__cards .ppe-figure figcaption { color: rgba(247,243,236,0.7); }

@media (max-width: 900px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__media { max-width: 460px; }
}
/* =========================== END v1.4.18 VISUAL POLISH =========================== */

/* ============================= v1.4.19 MICRO-POLISH ============================= */

/* 1) Overlay chip / plaque labels ran together ("CLEAR COMMUNICATIONEnglish-speaking").
   The value wrapper span has no class; make it a flex column so the small gold eyebrow
   sits above the value on its own line, on every viewport. */
.ppe-pd-chip > span:not([class]),
.ppe-hr-chip > span:not([class]),
.ppe-vc-chip > span:not([class]),
.ppe-dz-plaque > span:not([class]) { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ppe-pd-chip__lbl, .ppe-hr-chip__lbl, .ppe-vc-chip__lbl, .ppe-dz-plaque__lbl { display: block; line-height: 1.3; }
.ppe-pd-chip__t, .ppe-hr-chip__t, .ppe-vc-chip__t, .ppe-dz-plaque__name { display: block; }

/* 2) Final-CTA proof: stars + lead on one row, remaining parts stacked and each
   no-wrap so "5,000+ guests served since 2014" never breaks mid-phrase on mobile.
   Desktop: everything inline, centred, with dot separators. */
.ppe-cta-proof { display: flex; flex-direction: column; align-items: center; gap: 5px; flex-wrap: wrap; }
.ppe-cta-proof__lead { display: inline-flex; align-items: center; gap: 9px; }
.ppe-cta-proof__part { white-space: nowrap; }
@media (min-width: 781px) {
	.ppe-cta-proof { flex-direction: row; justify-content: center; gap: 4px 9px; }
	.ppe-cta-proof__part:not(:first-child)::before { content: "·"; margin-right: 9px; color: var(--ppe-gold); }
}

/* 3) Trust / rating lines never break a numeric phrase; footer reviews line gets 5 stars. */
.ppe-nw { white-space: nowrap; }
[class$="__rating"] { flex-wrap: wrap; row-gap: 2px; }
.ppe-footer__trust-rating { align-items: center; }
.ppe-footer__trust-rating .ppe-stars { display: inline-flex; gap: 2px; flex-shrink: 0; }
.ppe-footer__trust-rating .ppe-stars .ppe-ico { width: 13px; height: 13px; fill: var(--ppe-gold); stroke: var(--ppe-gold); color: var(--ppe-gold); }

/* 4) Sticky mobile CTA must never cover footer content — reserve space at page end,
   and keep the sticky price legible next to the button on narrow screens. */
@media (max-width: 780px) {
	.ppe-footer { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
	.ppe-sticky__ctx { flex: 1 1 auto; }
	.ppe-sticky__row .ppe-wa { flex: 0 0 auto; }
}
@media (max-width: 400px) {
	.ppe-sticky__row { gap: 10px; padding-inline: 12px; }
	.ppe-sticky__fig { font-size: 1.3rem; }
	.ppe-sticky__label { font-size: 0.62rem; }
	.ppe-sticky .ppe-wa { padding-inline: 14px; }
}
/* =========================== END v1.4.19 MICRO-POLISH =========================== */

/* Which-Mercedes cards (kept) */
.ppe-choose { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; align-items: stretch; }
.ppe-choose__card { display: flex; flex-direction: column; gap: 16px; border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); background: var(--ppe-warm-white); box-shadow: var(--shadow-card); padding: 30px 30px; }
.ppe-choose__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 1px solid var(--line-hairline); padding-bottom: 14px; }
.ppe-choose__name { font-family: var(--font-serif); font-size: 1.5rem; }
.ppe-choose__price { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 600; color: var(--ppe-ink); text-align: right; line-height: 1; }
.ppe-choose__price small { display: block; font-family: var(--font-sans); font-size: 0.58rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted); margin-top: 4px; }
.ppe-choose__best { font-size: 0.9rem; color: var(--text-muted); margin: 0; }
.ppe-choose__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ppe-choose__list li { display: flex; gap: 10px; font-size: 0.9rem; line-height: 1.4; }
.ppe-choose__list .ppe-ico { width: 16px; height: 16px; color: var(--accent); flex: none; margin-top: 3px; }
.ppe-choose__cta { margin-top: auto; }

/* Assurance rows (kept) */
.ppe-assure { display: grid; gap: 4px; }
.ppe-assure__row { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; padding: 20px 0; border-top: 1px solid var(--line-hairline); }
.ppe-assure__row:first-child { border-top: 0; }
.ppe-assure__n { font-family: var(--font-serif); font-size: 1.5rem; color: var(--accent); line-height: 1; }
.ppe-assure__row h3 { font-size: 1.15rem; margin: 0 0 6px; }
.ppe-assure__row p { margin: 0; color: var(--text-muted); font-size: 0.95rem; line-height: 1.55; }

/* Scenario cards: equal height, aligned + consistent CTAs (point 7) */
.ppe-offer-grid.ppe-scen--triples { grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ppe-scen .ppe-offer-item { display: flex; flex-direction: column; height: 100%; padding: 30px 30px; }
.ppe-scen .ppe-offer-item h3 { font-size: 1.2rem; margin-bottom: 10px; }
.ppe-scen .ppe-offer-item p { flex: 1 1 auto; }
.ppe-scen__cta { margin-top: auto; padding-top: 20px; }
.ppe-scen__cta .ppe-wa, .ppe-scen__cta .ppe-btn { width: 100%; justify-content: center; text-align: center; line-height: 1.3; min-height: 48px; }
.ppe-btn--darkcta { background: var(--ppe-charcoal); color: var(--ppe-ivory); border: 1px solid var(--line-hairline-dark); font-size: 0.72rem; letter-spacing: 0.06em; }
.ppe-btn--darkcta:hover { background: var(--ppe-black); border-color: var(--ppe-gold); color: var(--ppe-ivory); }
.ppe-btn--darkcta .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold); }

/* WhatsApp phone mockup: reads instantly as a real WhatsApp chat (point 8) */
.ppe-phone { max-width: 384px; margin-inline: auto; background: #0b141a; border: 9px solid #060606; border-radius: 36px; box-shadow: 0 22px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(198,166,100,0.28); overflow: hidden; }
.ppe-phone__bar { display: flex; align-items: center; gap: 11px; padding: 12px 14px; background: #075e54; color: #fff; }
.ppe-phone__back { color: rgba(255,255,255,0.9); font-size: 1.2rem; line-height: 1; }
.ppe-phone__avatar { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ppe-gold); color: #0a0a0a; font-family: var(--font-serif); font-weight: 700; font-size: 0.78rem; letter-spacing: 0.02em; }
.ppe-phone__id { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.ppe-phone__id b { font-size: 0.9rem; font-weight: 600; color: #fff; white-space: nowrap; }
.ppe-phone__id small { font-size: 0.68rem; color: rgba(255,255,255,0.75); }
.ppe-phone__screen { padding: 18px 14px; background: #0b141a; min-height: 250px; display: flex; flex-direction: column; gap: 10px; }
.ppe-phone__bubble { max-width: 84%; padding: 8px 11px 5px; border-radius: 9px; font-size: 0.84rem; line-height: 1.5; color: #e9edef; }
.ppe-phone__bubble--out { align-self: flex-end; background: #005c4b; white-space: pre-line; border-top-right-radius: 3px; }
.ppe-phone__bubble--in { align-self: flex-start; background: #202c33; border-top-left-radius: 3px; }
.ppe-phone__meta { display: block; text-align: right; font-size: 0.6rem; color: rgba(233,237,239,0.55); margin-top: 4px; }
.ppe-phone__tick { color: #53bdeb; letter-spacing: -2px; }
.ppe-phone__inputbar { display: flex; align-items: center; gap: 10px; padding: 9px 12px; background: #0b141a; }
.ppe-phone__input { flex: 1; background: #202c33; border-radius: 18px; padding: 9px 14px; font-size: 0.76rem; color: rgba(233,237,239,0.5); }
.ppe-phone__send { flex: none; width: 36px; height: 36px; border-radius: 50%; background: #00a884; display: grid; place-items: center; }
.ppe-phone__send .ppe-ico { width: 17px; height: 17px; color: #0b141a; }

/* Review intent labels (kept) */
.ppe-review__angle { display: inline-flex; align-items: center; align-self: flex-start; gap: 7px; font-family: var(--font-sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ppe-gold); border: 1px solid rgba(198,166,100,0.42); border-radius: var(--radius-pill); padding: 5px 11px; margin-bottom: 2px; }
.ppe-section--ivory .ppe-review__angle, .ppe-section--warm .ppe-review__angle { color: var(--ppe-gold-deep); }

/* FAQ visual groups (kept) */
.ppe-faq__group { max-width: 820px; margin: 42px auto 6px; padding-bottom: 8px; font-family: var(--font-sans); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ppe-gold-deep); border-bottom: 1px solid rgba(198,166,100,0.35); }
.ppe-faq__group:first-of-type { margin-top: 0; }

/* "What matters" editorial list (kept) */
.ppe-matters { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 40px; margin: 0; padding: 0; list-style: none; }
.ppe-matters li { display: flex; gap: 12px; align-items: flex-start; font-size: 0.98rem; line-height: 1.5; color: var(--text-muted); }
.ppe-matters li .ppe-ico { width: 20px; height: 20px; color: var(--accent); flex: none; margin-top: 3px; }
.ppe-matters li strong { color: var(--ppe-ink); font-weight: 600; }

/* Final-CTA review-proof line (kept) */
.ppe-cta-proof { display: inline-flex; align-items: center; gap: 9px; margin: 0 auto 8px; font-size: 0.82rem; color: rgba(247,243,236,0.82); }
.ppe-cta-proof .ppe-stars { display: inline-flex; gap: 2px; }
.ppe-cta-proof .ppe-stars .ppe-ico { width: 15px; height: 15px; fill: var(--ppe-gold); stroke: var(--ppe-gold); }

/* Discreet email fallback under the final CTA (secondary to WhatsApp) */
.ppe-cta-email { font-size: 0.84rem; color: rgba(247,243,236,0.68); margin: 20px auto 0; }
.ppe-cta-email a { color: var(--ppe-gold); text-decoration: underline; text-underline-offset: 2px; }
.ppe-cta-email a:hover { color: var(--ppe-gold-soft); }

/* Disneyland premium module (point 1) */
.ppe-disney { display: grid; grid-template-columns: 0.95fr 1.05fr; border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); overflow: hidden; background: var(--ppe-warm-white); box-shadow: var(--shadow-raise); }
.ppe-disney__media { position: relative; min-height: 300px; background: var(--ppe-charcoal); }
.ppe-disney__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ppe-disney__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,10,0.5), rgba(10,10,10,0) 55%); }
.ppe-disney__badge { position: absolute; left: 18px; bottom: 18px; z-index: 2; display: flex; flex-direction: column; gap: 2px; background: rgba(10,10,10,0.74); border: 1px solid rgba(198,166,100,0.5); padding: 10px 15px; border-radius: var(--radius-sm); }
.ppe-disney__badge .r { font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(247,243,236,0.75); }
.ppe-disney__badge .v { font-family: var(--font-sans); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.03em; color: var(--ppe-gold); }
.ppe-disney__body { padding: clamp(28px, 4vw, 44px); display: flex; flex-direction: column; }
.ppe-disney__body h2 { font-size: clamp(1.5rem, 2.4vw, 1.95rem); margin: 0 0 14px; }
.ppe-disney__prices { margin: 20px 0 0; padding: 0; border: 1px solid var(--line-hairline); border-radius: var(--radius-sm); background: #fff; overflow: hidden; }
.ppe-disney__prices-title { margin: 0; padding: 12px 18px; font-family: var(--font-sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-muted); background: var(--ppe-ivory); border-bottom: 1px solid var(--line-hairline); }
.ppe-disney__prices ul { list-style: none; margin: 0; padding: 0; }
.ppe-disney__prices li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 13px 18px; border-bottom: 1px solid var(--line-hairline); }
.ppe-disney__prices li:last-child { border-bottom: 0; }
.ppe-disney__prices li.is-rec { background: var(--accent-wash); box-shadow: inset 3px 0 0 var(--accent); }
.ppe-disney__prices .v { display: flex; flex-direction: column; gap: 2px; color: var(--ppe-ink); font-size: 0.95rem; }
.ppe-disney__prices .v em { font-style: normal; font-size: 0.66rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ppe-gold-deep); }
.ppe-disney__prices .p { font-family: var(--font-serif); font-size: 1.15rem; font-weight: 600; color: var(--ppe-ink); white-space: nowrap; }
.ppe-disney__prices li.is-rec .p { color: var(--ppe-gold-deep); }
.ppe-disney__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 24px; }
.ppe-disney__link { display: inline-flex; align-items: center; gap: 7px; font-size: 0.85rem; color: var(--ppe-gold-deep); text-decoration: none; }
.ppe-disney__link .ppe-ico { width: 15px; height: 15px; transition: transform var(--dur-base) var(--ease-calm); }
.ppe-disney__link:hover { color: var(--accent); }
.ppe-disney__link:hover .ppe-ico { transform: translateX(3px); }

/* Micro-testimonial under the pricing matrix (point 8) */
.ppe-microquote { margin: 22px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line-hairline); max-width: 70ch; }
.ppe-microquote p { margin: 0; font-family: var(--font-serif); font-size: 1.15rem; font-style: italic; line-height: 1.4; color: var(--ppe-ink); }
.ppe-microquote figcaption { margin-top: 8px; font-size: 0.76rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ppe-gold-deep); }

/* Return-transfer micro-block (point 2) */
.ppe-return { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; border: 1px solid var(--line-hairline); border-left: 3px solid var(--accent); border-radius: var(--radius-sm); background: var(--ppe-warm-white); padding: 26px 30px; box-shadow: var(--shadow-card); }
.ppe-return > div { flex: 1 1 340px; }
.ppe-return h3 { font-size: 1.3rem; margin: 0 0 6px; }
.ppe-return p { margin: 0; color: var(--text-muted); font-size: 0.95rem; line-height: 1.55; max-width: 60ch; }

/* Primary WhatsApp CTA contrast on dark EN money-page sections: warm-gold border +
   subtle gold glow/inner hairline, charcoal ground, ivory text, gold icon. Scoped
   to the EN CDG and EN Orly money pages (:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg /
   .ppe-page-orly) so FR pages and other pages are untouched. The EN Disneyland page
   uses green WhatsApp pill CTAs instead (see the DISNEYLAND EN SCOPED block below).
   Secondary buttons are intentionally NOT boosted. */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-hero .ppe-wa--dark,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-section--dark .ppe-wa--dark,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-sticky .ppe-wa--dark,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-hero .ppe-wa--dark,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-section--dark .ppe-wa--dark,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-sticky .ppe-wa--dark {
	border-color: var(--ppe-gold);
	box-shadow: inset 0 0 0 1px rgba(198,166,100,0.30), 0 6px 22px rgba(198,166,100,0.14);
	transition: transform var(--dur-fast) var(--ease-calm), background 200ms var(--ease-calm), color 200ms var(--ease-calm), border-color 200ms var(--ease-calm), box-shadow 200ms var(--ease-calm);
}
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-hero .ppe-wa--dark .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-section--dark .ppe-wa--dark .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-sticky .ppe-wa--dark .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-hero .ppe-wa--dark .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-section--dark .ppe-wa--dark .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-sticky .ppe-wa--dark .ppe-ico { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-hero .ppe-wa--dark:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-section--dark .ppe-wa--dark:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-sticky .ppe-wa--dark:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-hero .ppe-wa--dark:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-section--dark .ppe-wa--dark:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-sticky .ppe-wa--dark:hover {
	background: var(--ppe-warm-white);
	color: var(--ppe-charcoal);
	border-color: var(--ppe-gold);
	box-shadow: inset 0 0 0 1px var(--ppe-gold), 0 10px 30px rgba(198,166,100,0.24);
}
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-hero .ppe-wa--dark:hover .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-section--dark .ppe-wa--dark:hover .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-cdg .ppe-sticky .ppe-wa--dark:hover .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-hero .ppe-wa--dark:hover .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-section--dark .ppe-wa--dark:hover .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-orly .ppe-sticky .ppe-wa--dark:hover .ppe-ico { color: var(--ppe-gold-deep); }
/* Disneyland EN uses green WhatsApp pill CTAs instead (see the scoped block at end). */

/* Responsive */
@media (max-width: 980px) {
	.ppe-proof__row { grid-template-columns: repeat(3, 1fr); }
	.ppe-offer-grid.ppe-scen--triples { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	.ppe-fleet-grid { grid-template-columns: 1fr; gap: 36px; }
	.ppe-fleet-col h3 { min-height: 0; }
	.ppe-proof__row { grid-template-columns: repeat(2, 1fr); }
	.ppe-trust__item + .ppe-trust__item::before { display: none; }
	.ppe-matters { grid-template-columns: 1fr; }
	.ppe-disney { grid-template-columns: 1fr; }
	.ppe-disney__media { min-height: 220px; }
}
@media (max-width: 560px) {
	.ppe-proof__row { grid-template-columns: 1fr; }
	.ppe-offer-grid.ppe-scen--triples { grid-template-columns: 1fr; }
	.ppe-hero__facts { width: 100%; }
	.ppe-timeline__step { padding-left: 50px; }
}

/* ===== DISNEYLAND EN SCOPED ===== */
/* Design-alignment pass (v1.4.7 — Claude Design concept). Warm cream/clay/espresso
   palette + green WhatsApp pill CTAs + rounded cards + gradient image placeholders
   + floating Meet & Greet plaque + a realistic animated WhatsApp phone + subtle
   motion. Fully scoped to the EN Disneyland body class by remapping the theme's OWN
   tokens, so every reused component warms automatically and no other page is
   affected. Kept between markers so the preview builder injects the same rules.
   prefers-reduced-motion is respected at the end. */

/* -- Warm palette: remap theme tokens on this page only -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney {
	--ppe-ivory: #FBF6EC;            /* light section bg (cream) */
	--ppe-ivory-2: #F4EBDC;
	--ppe-ivory-3: #EADFCB;
	--ppe-warm-white: #FFFDF8;       /* card bg (paper) */
	--ppe-charcoal: #241D16;         /* dark section bg (espresso) */
	--ppe-charcoal-2: #2E251C;
	--ppe-charcoal-3: #3a2f23;
	--ppe-black: #241D16;
	--ppe-ink: #2A231B;              /* warm ink */
	--ppe-stone: #8E8474;
	--text-muted: #63594A;
	--line-hairline: #E7DBC7;
	--line-hairline-dark: rgba(255,255,255,.13);
	--text-on-dark: #F3E9D8;
	--text-on-dark-muted: #C7BBA3;
	--accent: #C0663F;              /* clay / terracotta */
	--accent-hover: #A5512E;
	--ppe-gold: #C4A567;            /* stars keep a warm gold */
	--dz-clay: #C0663F; --dz-clay-deep: #A5512E;
	--dz-wa: #1F7A52; --dz-wa-deep: #17603F;
	--dz-espresso: #241D16; --dz-paper: #FFFDF8; --dz-line: #E7DBC7;
	background: #FBF6EC; color: #2A231B;
}
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-section--ivory { background: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-section--warm { background: #F4EBDC; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-eyebrow { color: var(--dz-clay); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-section--dark .ppe-eyebrow { color: var(--ppe-gold); }

/* -- Green WhatsApp pill CTAs everywhere on this page -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-wa {
	background: var(--dz-wa); color: #fff; border: 1px solid var(--dz-wa);
	border-radius: 999px; box-shadow: 0 12px 30px rgba(31,122,82,.28);
	transition: transform .2s var(--ease-calm), background .2s var(--ease-calm), box-shadow .2s var(--ease-calm);
}
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-wa .ppe-ico { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-wa:hover { background: var(--dz-wa-deep); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31,122,82,.36); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-btn--outline { border-radius: 999px; border: 1px solid var(--dz-line); background: var(--dz-paper); color: var(--ppe-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-btn--outline:hover { border-color: var(--dz-clay); background: var(--dz-paper); color: var(--ppe-ink); }

/* -- Rounded cards + hover lift -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-proof__item,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-offer-item,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-feat,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-review,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-figure__frame,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-disney,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-phone,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-plaque { border-radius: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-offer-item,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-proof__item { transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-offer-item:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-proof__item:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(42,35,27,.12); }

/* -- V-Class = dominant espresso pricing card + top "Recommended" badge -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured {
	position: relative; background: var(--dz-espresso); border-color: var(--dz-clay);
	box-shadow: 0 24px 56px rgba(42,35,27,.26); overflow: visible;
}
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__head { border-bottom-color: rgba(243,233,216,.18); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__name { color: #FCF6EA; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__price { color: #FCF6EA; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__price small { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__best { color: rgba(243,233,216,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__best strong { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__list li,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__list span { color: rgba(243,233,216,.9); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-choose__card.ppe-vcard--featured .ppe-choose__name em {
	position: absolute; top: -13px; left: 50%; transform: translateX(-50%); white-space: nowrap;
	background: var(--dz-clay); color: #fff !important; padding: 7px 14px; border-radius: 999px;
	font-size: .62rem !important; letter-spacing: .12em;
}

/* -- Comparison: honest bullets + espresso "ours" card -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-cmp__list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-cmp__list li { display: flex; gap: 9px; font-size: 0.9rem; line-height: 1.45; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-cmp__list .ppe-ico { width: 15px; height: 15px; color: var(--dz-clay); flex: none; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-offer-item.is-ours { background: var(--dz-espresso); border-color: var(--dz-clay); box-shadow: 0 20px 48px rgba(42,35,27,.2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-offer-item.is-ours h3 { color: #FCF6EA; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-offer-item.is-ours h3 .ppe-ico { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-offer-item.is-ours .ppe-cmp__list li { color: rgba(243,233,216,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-offer-item.is-ours .ppe-cmp__list .ppe-ico { color: var(--ppe-gold); }

/* -- V-Class family feature cards -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-feat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-feat { display: flex; gap: 11px; align-items: center; padding: 16px 18px; background: var(--dz-paper); border: 1px solid var(--dz-line); border-radius: 12px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-feat .ppe-ico { width: 20px; height: 20px; color: var(--dz-clay); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-feat span { font-size: 0.94rem; line-height: 1.35; color: var(--ppe-ink); }

/* -- Two-col alignment -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-two-col--vcenter { align-items: center; }

/* -- Controlled two-line H2 (morning/evening): break stays at the comma, mobile-safe -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-h2split span { display: block; }

/* -- Discreet footer-adjacent independence / legal microcopy (not a full section) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-legal-note { text-align: center; max-width: 80ch; margin: 0 auto; font-size: 0.82rem; line-height: 1.65; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-legalbar { padding: 16px 0 20px; background: var(--ppe-ivory); border-top: 1px solid var(--dz-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-legalbar .ppe-legal-note { max-width: 74ch; font-size: 0.74rem; line-height: 1.5; opacity: .78; }

/* -- Gradient image-placeholder cards + caption chip + badge -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-imgcard { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid var(--dz-line); box-shadow: 0 24px 60px rgba(42,35,27,.14); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-imgcard--45 { aspect-ratio: 4 / 5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-imgcard--11 { aspect-ratio: 1 / 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-imgcard--1610 { aspect-ratio: 16 / 10; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-grad { position: absolute; inset: 0; background: linear-gradient(150deg, #F0E4D0 0%, #E4D2B6 45%, #D8BF9C 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-grad--warm { background: linear-gradient(150deg, #F1E4CE, #E0C9A6); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-grad--dusk { background: linear-gradient(150deg, #3a3550, #241d2f); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-grad--dusk::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 30% 40%, rgba(255,220,150,.25), transparent 42%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-grad::after { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.16) 0 2px, transparent 2px 22px); mix-blend-mode: overlay; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-cap { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-cap span { font: 600 .62rem/1.4 ui-monospace, Menlo, monospace; letter-spacing: .05em; background: rgba(36,29,22,.72); color: #F3E9D8; padding: 8px 12px; border-radius: 6px; max-width: 32ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-badge { position: absolute; top: 18px; right: 18px; background: var(--dz-clay); color: #fff; font: 600 .68rem/1 var(--font-sans); letter-spacing: .06em; padding: 8px 12px; border-radius: 999px; }

/* -- Floating Meet & Greet plaque chip -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-plaque { position: absolute; left: -18px; bottom: 34px; background: var(--dz-paper); border: 1px solid var(--dz-line); border-radius: 12px; padding: 13px 16px; box-shadow: 0 16px 40px rgba(42,35,27,.16); display: flex; align-items: center; gap: 12px; animation: dzFloat 6s ease-in-out infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-plaque--tl { left: 20px; top: 20px; bottom: auto; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-plaque__ppe { width: 42px; height: 42px; border-radius: 50%; background: var(--dz-espresso); color: #F3E9D8; display: flex; align-items: center; justify-content: center; font: 600 .72rem/1 var(--font-sans); letter-spacing: .04em; flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-plaque__lbl { font: 600 .58rem/1.4 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--dz-clay); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-plaque__name { font-family: var(--font-serif); font-size: 1.08rem; color: var(--ppe-ink); line-height: 1.15; }

/* -- Warm 2-col hero -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero { background: var(--ppe-ivory); padding: clamp(28px,4vw,52px) 0 clamp(56px,8vw,92px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__grid { display: grid; grid-template-columns: 1.02fr 1fr; gap: clamp(28px,4vw,64px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero h1 { font-size: clamp(2.5rem,5vw,4.1rem); letter-spacing: -.02em; line-height: 1.04; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__lead { font-size: clamp(1.05rem,1.5vw,1.2rem); color: var(--text-muted); margin-top: 20px; max-width: 40ch; line-height: 1.6; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__facts { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__facts .lbl { font: 600 .7rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ppe-stone); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__facts .fig { font-family: var(--font-serif); font-size: 2rem; color: var(--ppe-ink); display: block; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__facts .div { width: 1px; height: 38px; background: var(--dz-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__trust { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 24px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__trust span { display: inline-flex; align-items: center; gap: 8px; font: 500 .86rem/1.2 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__trust .ppe-ico { width: 17px; height: 17px; color: var(--dz-clay); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__media { position: relative; animation: dzSettle 1.3s var(--ease-calm) both; }

/* -- Day-arc (morning / parks / evening) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-arc { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-arc__card { background: var(--dz-paper); border: 1px solid var(--dz-line); border-radius: 14px; padding: 30px 28px; transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-arc__card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(42,35,27,.10); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-arc__tag { display: inline-flex; align-items: center; gap: 9px; font: 600 .68rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--dz-clay); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-arc__tag::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--dz-clay); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-arc__card h3 { font-size: 1.5rem; margin: 16px 0 10px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-arc__card p { color: var(--text-muted); font-size: 1rem; margin: 0; }

/* -- Realistic WhatsApp phone -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-phone { width: 100%; max-width: 340px; justify-self: center; background: #0B140E; border: 8px solid #0B140E; border-radius: 34px; box-shadow: 0 30px 70px rgba(0,0,0,.4); overflow: hidden; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-phone__bar { background: #075E54; padding: 14px 16px; display: flex; align-items: center; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-phone__bar .back { color: rgba(255,255,255,.8); font-size: 1.2rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-phone__ppe { width: 36px; height: 36px; border-radius: 50%; background: #128C7E; color: #fff; display: flex; align-items: center; justify-content: center; font: 600 .72rem/1 var(--font-sans); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-phone__id b { color: #fff; font: 600 .88rem/1.2 var(--font-sans); display: block; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-phone__id small { color: rgba(255,255,255,.7); font-size: .72rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-phone__screen { background: #ECE5DD; padding: 18px 14px; display: flex; flex-direction: column; gap: 10px; min-height: 300px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-b { max-width: 84%; padding: 9px 12px; font: 400 .82rem/1.45 var(--font-sans); box-shadow: 0 1px 1px rgba(0,0,0,.08); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-b--out { align-self: flex-end; background: #DCF8C6; color: #1a2b1a; border-radius: 12px 12px 4px 12px; animation: dzWaPop .5s .2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-b--in { align-self: flex-start; background: #fff; color: #222; border-radius: 12px 12px 12px 4px; animation: dzWaPop .5s 2.4s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-b .t { display: block; text-align: right; font-size: .62rem; color: #6b8a5a; margin-top: 2px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-b--in .t { color: #9aa; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-typing { align-self: flex-start; background: #fff; border-radius: 12px 12px 12px 4px; padding: 11px 13px; box-shadow: 0 1px 1px rgba(0,0,0,.08); display: flex; gap: 4px; animation: dzWaPop .4s 1s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-typing span { width: 7px; height: 7px; border-radius: 50%; background: #9fb0a0; animation: dzWaDot 1.2s infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-typing span:nth-child(2) { animation-delay: .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-typing span:nth-child(3) { animation-delay: .4s; }

@keyframes dzFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes dzSettle { from { transform: scale(1.05); } to { transform: none; } }
@keyframes dzWaPop { 0% { opacity: 0; transform: translateY(10px) scale(.98); } 100% { opacity: 1; transform: none; } }
@keyframes dzWaDot { 0%,60%,100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

@media (max-width: 900px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__grid { grid-template-columns: 1fr; }
	/* v1.4.17 mobile hero order: H1 + CTA first, photo after (was order:-1). */
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__media { order: 2; max-width: 460px; margin-top: 26px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-arc { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-two-col--vcenter { align-items: start; }
}
@media (max-width: 560px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-feat-grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-plaque { left: 8px; }
}
@media (prefers-reduced-motion: reduce) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-plaque,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-hero__media,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-b,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-b--in,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-disney .ppe-dz-typing span { animation: none !important; }
}
/* ===== END DISNEYLAND EN SCOPED ===== */

/* ===== HOURLY EN SCOPED ===== */
/* Service Pillar Page for the Hourly Chauffeur EN money page. Charcoal / ivory /
   warm-gold Palace Editorial base with a business-city rhythm (distinct from
   the Disneyland family design). Every rule is prefixed
   :is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly so nothing leaks to other pages. Green WhatsApp
   pills reuse the proven pattern; all other components inherit the theme palette. */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly { --hr-line: var(--ppe-ivory-3); --hr-paper: #FCFAF6; --hr-ink: var(--ppe-ink); --hr-wa: #1F7A52; --hr-wa-deep: #196545; --hr-dark: #16150F; }

/* Green WhatsApp pill CTAs + outline pill */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-wa { background: var(--hr-wa); border-color: var(--hr-wa); color: #fff; border-radius: 999px; box-shadow: 0 10px 26px rgba(31,122,82,.24); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-wa .ppe-ico { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-wa:hover { background: var(--hr-wa-deep); border-color: var(--hr-wa-deep); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31,122,82,.34); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-btn--outline { border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-eyebrow { color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-section--dark .ppe-eyebrow { color: var(--ppe-gold); }

/* Rounded cards + hover lift on reused components */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-choose__card,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-proof__item,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-offer-item { border-radius: 14px; transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-choose__card:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-proof__item:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-offer-item:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(20,20,20,.12); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-two-col--vcenter { align-items: center; }

/* -- Hero: 2-col split with a price/trust module -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero { background: var(--ppe-ivory); padding: clamp(26px,4vw,50px) 0 clamp(52px,7vw,84px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: clamp(28px,4vw,60px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero h1 { font-size: clamp(2.4rem,4.6vw,3.9rem); line-height: 1.05; letter-spacing: -.02em; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__lead { font-size: clamp(1.02rem,1.4vw,1.16rem); color: var(--text-muted); line-height: 1.62; margin-top: 18px; max-width: 48ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__trust { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__trust span { display: inline-flex; align-items: center; gap: 8px; font: 500 .85rem/1.2 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__trust .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__media { animation: hrSettle 1.2s var(--ease-calm) both; }

/* Hero price/trust module card */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module { background: var(--hr-paper); border: 1px solid var(--hr-line); border-radius: 16px; padding: 28px 28px 24px; box-shadow: var(--shadow-raise); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__price { display: flex; align-items: baseline; gap: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__from { font: 600 .68rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ppe-stone); align-self: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__fig { font-family: var(--font-serif); font-size: 3rem; color: var(--hr-ink); line-height: 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__unit { font-family: var(--font-serif); font-size: 1.25rem; color: var(--ppe-stone); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__min { margin-top: 8px; font: 500 .9rem/1.4 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__rating { display: flex; align-items: center; gap: 9px; margin-top: 14px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__rating .ppe-stars { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__rating span { font: 500 .82rem/1.3 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__rule { border: 0; border-top: 1px solid var(--hr-line); margin: 18px 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__list li { display: flex; gap: 10px; align-items: flex-start; font: 400 .9rem/1.4 var(--font-sans); color: var(--hr-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-module__list .ppe-ico { width: 16px; height: 16px; color: var(--hr-wa); flex: none; margin-top: 2px; }

/* -- Gradient image-placeholder cards + caption chip (business tones) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fig { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid var(--hr-line); box-shadow: 0 24px 60px rgba(20,20,20,.14); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fig--45 { aspect-ratio: 4 / 5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fig--1610 { aspect-ratio: 16 / 10; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-grad { position: absolute; inset: 0; background: linear-gradient(150deg, #2A2A28 0%, #201F1B 45%, #14130F 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-grad--gold { background: linear-gradient(150deg, #3a352a, #201d15); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-grad::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 68% 30%, rgba(198,166,100,.22), transparent 46%), repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 24px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-cap { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-cap span { font: 600 .62rem/1.4 ui-monospace, Menlo, monospace; letter-spacing: .05em; background: rgba(10,10,10,.66); color: #EFE4CF; padding: 8px 12px; border-radius: 6px; max-width: 34ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-chip { position: absolute; left: -16px; bottom: 30px; background: var(--hr-paper); border: 1px solid var(--hr-line); border-radius: 12px; padding: 12px 15px; box-shadow: 0 16px 40px rgba(20,20,20,.18); display: flex; align-items: center; gap: 11px; animation: hrFloat 6s ease-in-out infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-chip__ico { width: 40px; height: 40px; border-radius: 50%; background: var(--hr-dark); color: var(--ppe-gold); display: flex; align-items: center; justify-content: center; flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-chip__ico .ppe-ico { width: 20px; height: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-chip__lbl { font: 600 .56rem/1.4 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-chip__t { font-family: var(--font-serif); font-size: 1.05rem; color: var(--hr-ink); line-height: 1.15; }

/* -- Luxury hourly pricing cards (price is the anchor) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-prices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 8px; align-items: stretch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price { position: relative; display: flex; flex-direction: column; background: var(--hr-paper); border: 1px solid var(--hr-line); border-radius: 16px; padding: 34px 30px 30px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price:hover { transform: translateY(-5px); box-shadow: 0 24px 56px rgba(20,20,20,.13); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price.is-featured { border-color: var(--ppe-gold); box-shadow: 0 12px 34px rgba(198,166,100,.20); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price.is-featured::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; border-radius: 16px 16px 0 0; background: linear-gradient(90deg, var(--ppe-gold-soft), var(--ppe-gold-deep)); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__flag { position: absolute; top: -13px; left: 30px; background: var(--hr-dark); color: var(--ppe-gold); font: 600 .62rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; padding: 7px 13px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__eyebrow { font: 600 .68rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__name { font-family: var(--font-serif); font-size: 1.7rem; color: var(--hr-ink); margin: 12px 0 0; line-height: 1.1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__fig { font-family: var(--font-serif); font-size: 3.4rem; line-height: 1; color: var(--hr-ink); margin: 20px 0 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__fig .per { font-size: 1.05rem; color: var(--ppe-stone); font-family: var(--font-sans); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__min { margin-top: 6px; font: 500 .82rem/1.4 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__best { margin: 20px 0 0; padding-top: 20px; border-top: 1px solid var(--hr-line); color: var(--text-muted); font-size: .96rem; line-height: 1.5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__day { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 18px; padding: 13px 16px; background: var(--accent-wash); border-radius: 10px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__day .k { font: 600 .72rem/1.2 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__day .v { font-family: var(--font-serif); font-size: 1.35rem; color: var(--hr-ink); white-space: nowrap; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__cap { display: flex; align-items: center; gap: 9px; margin-top: 18px; font-size: .9rem; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__cap .ppe-ico { width: 17px; height: 17px; color: var(--ppe-gold-deep); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-price__cta { margin-top: auto; padding-top: 24px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-microcopy { text-align: center; margin-top: 22px; color: var(--text-muted); font-size: .9rem; max-width: 72ch; margin-inline: auto; }

/* -- Business WhatsApp phone mockup -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-phone { width: 100%; max-width: 340px; justify-self: center; background: #0B140E; border: 8px solid #0B140E; border-radius: 34px; box-shadow: 0 30px 70px rgba(0,0,0,.4); overflow: hidden; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-phone__bar { background: #075E54; padding: 14px 16px; display: flex; align-items: center; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-phone__ppe { width: 36px; height: 36px; border-radius: 50%; background: #128C7E; color: #fff; display: flex; align-items: center; justify-content: center; font: 600 .72rem/1 var(--font-sans); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-phone__id b { color: #fff; font: 600 .88rem/1.2 var(--font-sans); display: block; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-phone__id small { color: rgba(255,255,255,.7); font-size: .72rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-phone__screen { background: #ECE5DD; padding: 18px 14px; display: flex; flex-direction: column; gap: 10px; min-height: 288px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-b { max-width: 86%; padding: 9px 12px; font: 400 .82rem/1.45 var(--font-sans); box-shadow: 0 1px 1px rgba(0,0,0,.08); white-space: pre-line; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-b--out { align-self: flex-end; background: #DCF8C6; color: #1a2b1a; border-radius: 12px 12px 4px 12px; animation: hrWaPop .5s .2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-b--in { align-self: flex-start; background: #fff; color: #222; border-radius: 12px 12px 12px 4px; animation: hrWaPop .5s 2.2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-b .t { display: block; text-align: right; font-size: .62rem; color: #6b8a5a; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-b--in .t { color: #9aa; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-typing { align-self: flex-start; background: #fff; border-radius: 12px 12px 12px 4px; padding: 11px 13px; box-shadow: 0 1px 1px rgba(0,0,0,.08); display: flex; gap: 4px; animation: hrWaPop .4s 1s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-typing span { width: 7px; height: 7px; border-radius: 50%; background: #9fb0a0; animation: hrWaDot 1.2s infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-typing span:nth-child(2) { animation-delay: .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-typing span:nth-child(3) { animation-delay: .4s; }

/* -- Use-case cards (icon, varied) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-case { background: var(--hr-paper); border: 1px solid var(--hr-line); border-radius: 14px; padding: 26px 24px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-case:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(20,20,20,.10); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-case__ico { width: 44px; height: 44px; border-radius: 12px; background: var(--accent-wash); color: var(--ppe-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-case__ico .ppe-ico { width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-case h3 { font-size: 1.3rem; margin: 16px 0 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-case p { color: var(--text-muted); font-size: .96rem; line-height: 1.5; margin: 0; }

/* -- Vehicle decision blocks (3-up, elegant, no harsh caps on price) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh__card { display: flex; flex-direction: column; background: var(--hr-paper); border: 1px solid var(--hr-line); border-radius: 14px; padding: 30px 26px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh__card:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(20,20,20,.1); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh__for { font: 600 .68rem/1.3 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh__name { font-family: var(--font-serif); font-size: 1.65rem; color: var(--hr-ink); margin: 10px 0 0; line-height: 1.1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh__card p { margin: 14px 0 0; color: var(--text-muted); font-size: .96rem; line-height: 1.55; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh__note { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--hr-line); font-size: .84rem; color: var(--text-muted); line-height: 1.5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh__from { margin-top: auto; padding-top: 16px; font-family: var(--font-serif); font-size: 1.08rem; color: var(--hr-ink); }

/* -- Editorial timeline with luxury serif numerals -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-steps { max-width: 720px; margin: 12px auto 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step { display: grid; grid-template-columns: 84px 1fr; gap: 26px; padding: 20px 0; position: relative; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step:not(:last-child)::before { content: ""; position: absolute; left: 42px; top: 84px; bottom: -20px; width: 1px; background: linear-gradient(var(--ppe-gold-soft), transparent); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step__n { width: 84px; height: 84px; display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step__num { position: relative; width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-family: var(--font-serif); font-size: 2.1rem; color: var(--ppe-gold-deep); background: radial-gradient(circle at 50% 38%, #fff, var(--hr-paper)); box-shadow: inset 0 0 0 1px var(--hr-line), 0 12px 28px rgba(20,20,20,.09); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step__num::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; border: 1px solid var(--accent-wash); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step__body { align-self: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step__body h3 { font-size: 1.28rem; margin: 0 0 6px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step__body p { margin: 0; color: var(--text-muted); font-size: .98rem; line-height: 1.55; }

/* -- Full-day premium module (dark, exclusive upgrade) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd { position: relative; overflow: hidden; background: var(--hr-dark); border-radius: 20px; padding: clamp(30px,4vw,48px); box-shadow: 0 30px 70px rgba(20,20,20,.28); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 12%, rgba(198,166,100,.16), transparent 46%); pointer-events: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__intro { position: relative; max-width: 64ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__eyebrow { font: 600 .68rem/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__lead { margin: 14px 0 0; font-size: 1.08rem; line-height: 1.62; color: rgba(247,243,236,.86); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__track { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 6px; margin: 28px 0 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__stop { display: inline-flex; align-items: center; gap: 9px; background: rgba(247,243,236,.06); border: 1px solid rgba(216,190,134,.28); border-radius: 999px; padding: 9px 16px; font: 500 .9rem/1 var(--font-sans); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__stop::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ppe-gold); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__arrow { display: inline-flex; color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__arrow .ppe-ico { width: 16px; height: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__prices { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 30px 0 0; padding-top: 28px; border-top: 1px solid rgba(216,190,134,.22); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__price { display: flex; flex-direction: column; gap: 4px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__price .k { font: 600 .7rem/1.2 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ppe-gold-soft); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__price .v { font-family: var(--font-serif); font-size: 2rem; line-height: 1.1; color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__price .h { font: 500 .8rem/1 var(--font-sans); color: rgba(247,243,236,.6); }

/* -- Airport continuation band (charcoal) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-band { background: var(--hr-dark); border-radius: 18px; padding: clamp(30px,4vw,52px); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-band h2 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-band .ppe-lead { color: rgba(247,243,236,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-band a { color: var(--ppe-gold-soft); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-band__links { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 24px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-band__links a { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(216,190,134,.4); border-radius: 999px; padding: 8px 16px; font: 500 .9rem/1 var(--font-sans); color: var(--ppe-gold-soft); text-decoration: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-band__links a:hover { background: rgba(216,190,134,.12); }

/* -- Example schedule "time cards" -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-sched { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-sched__card { background: var(--hr-paper); border: 1px solid var(--hr-line); border-radius: 14px; padding: 22px 22px 24px; box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-sched__time { align-self: flex-start; background: var(--hr-dark); color: var(--ppe-gold); font-family: var(--font-serif); font-size: 1.15rem; letter-spacing: .02em; padding: 6px 14px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-sched__card h3 { font-size: 1.14rem; margin: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-sched__card p { margin: 0; color: var(--text-muted); font-size: .93rem; line-height: 1.5; }

/* -- Comparison (reuse offer grid; charcoal "ours" column) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-cmp__list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-cmp__list li { display: flex; gap: 9px; font-size: .9rem; line-height: 1.45; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-cmp__list .ppe-ico { width: 15px; height: 15px; color: var(--ppe-gold-deep); flex: none; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-offer-item.is-ours { background: var(--hr-dark); border-color: var(--ppe-gold); box-shadow: 0 20px 48px rgba(20,20,20,.2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-offer-item.is-ours h3 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-offer-item.is-ours h3 .ppe-ico { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-offer-item.is-ours .ppe-cmp__list li { color: rgba(247,243,236,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-offer-item.is-ours .ppe-cmp__list .ppe-ico { color: var(--ppe-gold); }

/* Motion */
@keyframes hrFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes hrSettle { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes hrWaPop { 0% { opacity: 0; transform: translateY(10px) scale(.98); } 100% { opacity: 1; transform: none; } }
@keyframes hrWaDot { 0%,60%,100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

@media (max-width: 900px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__media { order: 2; max-width: 460px; margin-top: 26px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-cases,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-prices,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-sched { grid-template-columns: 1fr 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-two-col--vcenter { align-items: start; }
}
@media (max-width: 600px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-cases,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-veh,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-prices,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-sched,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd__prices { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-chip { left: 8px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step { grid-template-columns: 64px 1fr; gap: 18px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step__n { width: 64px; height: 64px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step__num { width: 58px; height: 58px; font-size: 1.7rem; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-step:not(:last-child)::before { left: 32px; top: 66px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-fd { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-chip,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-hero__media,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-b,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-b--in,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-hourly .ppe-hr-typing span { animation: none !important; }
}
/* ===== END HOURLY EN SCOPED ===== */

/* ===== VCLASS EN SCOPED ===== */
/* Vehicle Pillar Page for the Mercedes V-Class EN money page. Charcoal / ivory /
   warm-gold Palace Editorial base, warmer + more practical than the airport pages,
   more structured than Disneyland, more family/group friendly than Hourly. Every
   rule is prefixed :is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass so nothing leaks. Green WhatsApp
   pills reuse the proven pattern. */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass { --vc-line: var(--ppe-ivory-3); --vc-paper: #FCFAF6; --vc-ink: var(--ppe-ink); --vc-wa: #1F7A52; --vc-wa-deep: #196545; --vc-dark: #16150F; --vc-warm: #F4EBDC; }

/* Green WhatsApp pill CTAs + outline pill + gold eyebrow */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-wa { background: var(--vc-wa); border-color: var(--vc-wa); color: #fff; border-radius: 999px; box-shadow: 0 10px 26px rgba(31,122,82,.24); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-wa .ppe-ico { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-wa:hover { background: var(--vc-wa-deep); border-color: var(--vc-wa-deep); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31,122,82,.34); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-btn--outline { border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-eyebrow { color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-section--dark .ppe-eyebrow { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-section--warm { background: var(--vc-warm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-proof__item,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-offer-item { border-radius: 14px; transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-proof__item:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-offer-item:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(20,20,20,.12); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-two-col--vcenter { align-items: center; }

/* -- Hero: 2-col split with a route price / trust module -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero { background: var(--ppe-ivory); padding: clamp(26px,4vw,50px) 0 clamp(52px,7vw,84px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: clamp(28px,4vw,60px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero h1 { font-size: clamp(2.3rem,4.4vw,3.7rem); line-height: 1.06; letter-spacing: -.02em; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__lead { font-size: clamp(1.02rem,1.4vw,1.15rem); color: var(--text-muted); line-height: 1.62; margin-top: 18px; max-width: 50ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__trust { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__trust span { display: inline-flex; align-items: center; gap: 8px; font: 500 .85rem/1.2 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__trust .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__media { animation: vcSettle 1.2s var(--ease-calm) both; }

/* Hero route/trust module card */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module { background: var(--vc-paper); border: 1px solid var(--vc-line); border-radius: 16px; padding: 26px 26px 22px; box-shadow: var(--shadow-raise); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__lbl { font: 600 .68rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__routes { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__routes li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--vc-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__routes li:last-child { border-bottom: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__routes .r { font: 500 .92rem/1.3 var(--font-sans); color: var(--vc-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__routes .p { font-family: var(--font-serif); font-size: 1.5rem; color: var(--vc-ink); white-space: nowrap; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__routes .p small { font-family: var(--font-sans); font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ppe-stone); margin-left: 4px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__rating { display: flex; align-items: center; gap: 9px; margin-top: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__rating .ppe-stars { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-module__rating span { font: 500 .82rem/1.3 var(--font-sans); color: var(--text-muted); }

/* -- Gradient image-placeholder cards + caption chip + floating chip -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fig { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid var(--vc-line); box-shadow: 0 24px 60px rgba(20,20,20,.14); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fig--45 { aspect-ratio: 4 / 5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fig--1610 { aspect-ratio: 16 / 10; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-grad { position: absolute; inset: 0; background: linear-gradient(150deg, #efe4d0 0%, #e2cfae 46%, #d3bb98 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-grad--dark { background: linear-gradient(150deg, #2A2A28, #16150F); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-grad::after { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.12) 0 2px, transparent 2px 24px); mix-blend-mode: overlay; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap span { font: 600 .62rem/1.4 ui-monospace, Menlo, monospace; letter-spacing: .05em; background: rgba(20,20,20,.66); color: #EFE4CF; padding: 8px 12px; border-radius: 6px; max-width: 34ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-chip { position: absolute; left: -16px; bottom: 30px; background: var(--vc-paper); border: 1px solid var(--vc-line); border-radius: 12px; padding: 12px 15px; box-shadow: 0 16px 40px rgba(20,20,20,.18); display: flex; align-items: center; gap: 11px; animation: vcFloat 6s ease-in-out infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-chip__ico { width: 40px; height: 40px; border-radius: 50%; background: var(--vc-dark); color: var(--ppe-gold); display: flex; align-items: center; justify-content: center; flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-chip__ico .ppe-ico { width: 20px; height: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-chip__lbl { font: 600 .56rem/1.4 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-chip__t { font-family: var(--font-serif); font-size: 1.05rem; color: var(--vc-ink); line-height: 1.15; }

/* -- Premium pricing: fixed route cells + flexible rate band -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-routes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-route { position: relative; display: flex; flex-direction: column; background: var(--vc-paper); border: 1px solid var(--vc-line); border-radius: 16px; padding: 30px 28px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-route:hover { transform: translateY(-5px); box-shadow: 0 24px 56px rgba(20,20,20,.13); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-route__eyebrow { font: 600 .68rem/1.2 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-route__name { font-family: var(--font-serif); font-size: 1.35rem; color: var(--vc-ink); margin: 8px 0 0; line-height: 1.15; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-route__fig { font-family: var(--font-serif); font-size: 2.9rem; line-height: 1; color: var(--vc-ink); margin: 16px 0 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-route__fixed { display: inline-block; margin-top: 8px; font: 600 .68rem/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--vc-wa); background: rgba(31,122,82,.1); padding: 5px 10px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-route__best { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--vc-line); color: var(--text-muted); font-size: .95rem; line-height: 1.5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-rate { display: grid; grid-template-columns: 1fr 1fr auto; gap: 22px; align-items: center; margin-top: 22px; padding: 26px 30px; background: var(--vc-dark); border-radius: 16px; color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-rate__cell .k { display: block; font: 600 .68rem/1 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ppe-gold-soft); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-rate__cell .v { display: block; margin-top: 8px; font-family: var(--font-serif); font-size: 1.9rem; line-height: 1; color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-rate__cell .s { display: block; margin-top: 5px; font: 500 .82rem/1.3 var(--font-sans); color: rgba(247,243,236,.6); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-microcopy { text-align: center; margin: 22px auto 0; max-width: 76ch; color: var(--text-muted); font-size: .9rem; line-height: 1.55; }

/* -- WhatsApp phone mockup (family/group) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-phone { width: 100%; max-width: 340px; justify-self: center; background: #0B140E; border: 8px solid #0B140E; border-radius: 34px; box-shadow: 0 30px 70px rgba(0,0,0,.4); overflow: hidden; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-phone__bar { background: #075E54; padding: 14px 16px; display: flex; align-items: center; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-phone__ppe { width: 36px; height: 36px; border-radius: 50%; background: #128C7E; color: #fff; display: flex; align-items: center; justify-content: center; font: 600 .72rem/1 var(--font-sans); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-phone__id b { color: #fff; font: 600 .88rem/1.2 var(--font-sans); display: block; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-phone__id small { color: rgba(255,255,255,.7); font-size: .72rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-phone__screen { background: #ECE5DD; padding: 18px 14px; display: flex; flex-direction: column; gap: 10px; min-height: 288px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-b { max-width: 86%; padding: 9px 12px; font: 400 .82rem/1.45 var(--font-sans); box-shadow: 0 1px 1px rgba(0,0,0,.08); white-space: pre-line; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-b--out { align-self: flex-end; background: #DCF8C6; color: #1a2b1a; border-radius: 12px 12px 4px 12px; animation: vcWaPop .5s .2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-b--in { align-self: flex-start; background: #fff; color: #222; border-radius: 12px 12px 12px 4px; animation: vcWaPop .5s 2.2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-b .t { display: block; text-align: right; font-size: .62rem; color: #6b8a5a; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-b--in .t { color: #9aa; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-typing { align-self: flex-start; background: #fff; border-radius: 12px 12px 12px 4px; padding: 11px 13px; box-shadow: 0 1px 1px rgba(0,0,0,.08); display: flex; gap: 4px; animation: vcWaPop .4s 1s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-typing span { width: 7px; height: 7px; border-radius: 50%; background: #9fb0a0; animation: vcWaDot 1.2s infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-typing span:nth-child(2) { animation-delay: .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-typing span:nth-child(3) { animation-delay: .4s; }

/* -- Use-case cards (icon, varied) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-case { background: var(--vc-paper); border: 1px solid var(--vc-line); border-radius: 14px; padding: 26px 24px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-case:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(20,20,20,.1); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-case__ico { width: 44px; height: 44px; border-radius: 12px; background: var(--accent-wash); color: var(--ppe-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-case__ico .ppe-ico { width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-case h3 { font-size: 1.28rem; margin: 16px 0 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-case p { color: var(--text-muted); font-size: .96rem; line-height: 1.5; margin: 0; }

/* -- Airport band (charcoal, with route prices) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band { position: relative; overflow: hidden; background: var(--vc-dark); border-radius: 20px; padding: clamp(30px,4vw,48px); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 84% 14%, rgba(198,166,100,.15), transparent 46%); pointer-events: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__grid { position: relative; display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(24px,3vw,44px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band h2 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band .ppe-lead { color: rgba(247,243,236,.84); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band a { color: var(--ppe-gold-soft); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__prices { display: flex; flex-direction: column; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__price { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 16px 20px; background: rgba(247,243,236,.06); border: 1px solid rgba(216,190,134,.24); border-radius: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__price .k { font: 500 .95rem/1.2 var(--font-sans); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__price .v { font-family: var(--font-serif); font-size: 1.7rem; color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__links { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 24px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__links a { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(216,190,134,.4); border-radius: 999px; padding: 8px 16px; font: 500 .9rem/1 var(--font-sans); color: var(--ppe-gold-soft); text-decoration: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__links a:hover { background: rgba(216,190,134,.12); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band .ppe-ico { width: 16px; height: 16px; }

/* -- Disneyland feature card -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-feature { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,3vw,48px); align-items: center; background: var(--vc-paper); border: 1px solid var(--vc-line); border-radius: 20px; padding: clamp(24px,3vw,40px); box-shadow: var(--shadow-raise); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-feature__price { display: inline-flex; align-items: baseline; gap: 8px; margin: 16px 0 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-feature__price .v { font-family: var(--font-serif); font-size: 2.6rem; line-height: 1; color: var(--vc-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-feature__price .s { font: 600 .68rem/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--vc-wa); background: rgba(31,122,82,.1); padding: 5px 10px; border-radius: 999px; }

/* -- Hourly / full-day premium upgrade module (dark) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd { position: relative; overflow: hidden; background: var(--vc-dark); border-radius: 20px; padding: clamp(30px,4vw,48px); box-shadow: 0 30px 70px rgba(20,20,20,.28); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 12%, rgba(198,166,100,.16), transparent 46%); pointer-events: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__grid { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(24px,3vw,44px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__eyebrow { font: 600 .68rem/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd h2 { color: #fff; margin-top: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__lead { margin: 14px 0 0; font-size: 1.05rem; line-height: 1.6; color: rgba(247,243,236,.86); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__prices { display: flex; flex-direction: column; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__price { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 18px 22px; background: rgba(247,243,236,.06); border: 1px solid rgba(216,190,134,.24); border-radius: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__price .k { display: flex; flex-direction: column; gap: 3px; font: 600 .95rem/1.2 var(--font-sans); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__price .k small { font: 500 .78rem/1 var(--font-sans); color: rgba(247,243,236,.6); letter-spacing: 0; text-transform: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__price .v { font-family: var(--font-serif); font-size: 1.9rem; color: #fff; white-space: nowrap; }

/* -- Capacity guidance card -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,3vw,44px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-card { background: var(--vc-paper); border: 1px solid var(--vc-line); border-radius: 18px; padding: clamp(26px,3vw,36px); box-shadow: var(--shadow-raise); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-head { display: flex; gap: 22px; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--vc-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-metric .n { font-family: var(--font-serif); font-size: 2.8rem; line-height: 1; color: var(--vc-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-metric .l { display: block; margin-top: 6px; font: 500 .82rem/1.35 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-metric + .ppe-vc-cap-metric { border-left: 1px solid var(--vc-line); padding-left: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-list li { display: flex; gap: 11px; align-items: flex-start; font-size: .95rem; line-height: 1.45; color: var(--vc-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-list .ppe-ico { width: 18px; height: 18px; color: var(--vc-wa); flex: none; margin-top: 2px; }

/* -- Example use-case board (route/schedule cards) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-board__card { background: var(--vc-paper); border: 1px solid var(--vc-line); border-radius: 14px; padding: 22px 22px 24px; box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-board__tag { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; background: var(--vc-dark); color: var(--ppe-gold); font: 600 .66rem/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; padding: 7px 13px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-board__card h3 { font-size: 1.14rem; margin: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-board__card p { margin: 0; color: var(--text-muted); font-size: .93rem; line-height: 1.5; }

/* -- Comparison (reuse offer grid; charcoal "ours" column) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-cmp__list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-cmp__list li { display: flex; gap: 9px; font-size: .9rem; line-height: 1.45; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-cmp__list .ppe-ico { width: 15px; height: 15px; color: var(--ppe-gold-deep); flex: none; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-offer-item.is-ours { background: var(--vc-dark); border-color: var(--ppe-gold); box-shadow: 0 20px 48px rgba(20,20,20,.2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-offer-item.is-ours h3 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-offer-item.is-ours h3 .ppe-ico { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-offer-item.is-ours .ppe-cmp__list li { color: rgba(247,243,236,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-offer-item.is-ours .ppe-cmp__list .ppe-ico { color: var(--ppe-gold); }

/* Motion */
@keyframes vcFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes vcSettle { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes vcWaPop { 0% { opacity: 0; transform: translateY(10px) scale(.98); } 100% { opacity: 1; transform: none; } }
@keyframes vcWaDot { 0%,60%,100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

@media (max-width: 900px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__media { order: 2; max-width: 460px; margin-top: 26px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cases,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-board { grid-template-columns: 1fr 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-feature,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cap-wrap { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-two-col--vcenter { align-items: start; }
}
@media (max-width: 600px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-routes,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-cases,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-board { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-rate { grid-template-columns: 1fr; gap: 16px; text-align: left; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-chip { left: 8px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-band { padding: 26px 20px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-fd { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-chip,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-hero__media,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-b,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-b--in,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-vclass .ppe-vc-typing span { animation: none !important; }
}
/* ===== END VCLASS EN SCOPED ===== */

/* ===== DRIVER EN SCOPED ===== */
/* Broad Service Pillar Page for the Private Driver EN money page. Charcoal / ivory /
   warm-gold Palace Editorial base, concierge-like and universal (less airport-,
   family- or vehicle-specific than the other pages). Every rule is prefixed
   :is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver so nothing leaks. Green WhatsApp pills reuse the
   proven pattern. */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver { --pd-line: var(--ppe-ivory-3); --pd-paper: #FCFAF6; --pd-ink: var(--ppe-ink); --pd-wa: #1F7A52; --pd-wa-deep: #196545; --pd-dark: #16150F; --pd-warm: #F4EBDC; }

/* Green WhatsApp pill CTAs + outline pill + gold eyebrow */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-wa { background: var(--pd-wa); border-color: var(--pd-wa); color: #fff; border-radius: 999px; box-shadow: 0 10px 26px rgba(31,122,82,.24); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-wa .ppe-ico { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-wa:hover { background: var(--pd-wa-deep); border-color: var(--pd-wa-deep); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31,122,82,.34); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-btn--outline { border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-eyebrow { color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-section--dark .ppe-eyebrow { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-section--warm { background: var(--pd-warm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-proof__item,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-offer-item { border-radius: 14px; transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-proof__item:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-offer-item:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(20,20,20,.12); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-two-col--vcenter { align-items: center; }

/* -- Hero: 2-col split with a format / trust module -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero { background: var(--ppe-ivory); padding: clamp(26px,4vw,50px) 0 clamp(52px,7vw,84px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px,4vw,60px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero h1 { font-size: clamp(2.4rem,4.6vw,3.9rem); line-height: 1.05; letter-spacing: -.02em; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__lead { font-size: clamp(1.02rem,1.4vw,1.16rem); color: var(--text-muted); line-height: 1.62; margin-top: 18px; max-width: 50ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__trust { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__trust span { display: inline-flex; align-items: center; gap: 8px; font: 500 .85rem/1.2 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__trust .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__media { animation: pdSettle 1.2s var(--ease-calm) both; }

/* Hero format/trust module */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module { background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 16px; padding: 26px 26px 22px; box-shadow: var(--shadow-raise); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module__lbl { font: 600 .68rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module__list { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module__list li { display: flex; gap: 11px; align-items: flex-start; font: 400 .92rem/1.4 var(--font-sans); color: var(--pd-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module__list .ppe-ico { width: 17px; height: 17px; color: var(--pd-wa); flex: none; margin-top: 2px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module__list b { font-weight: 600; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module__rating { display: flex; align-items: center; gap: 9px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--pd-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module__rating .ppe-stars { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-module__rating span { font: 500 .82rem/1.3 var(--font-sans); color: var(--text-muted); }

/* -- Gradient image cards + caption chip + floating chip -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-fig { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid var(--pd-line); box-shadow: 0 24px 60px rgba(20,20,20,.14); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-fig--45 { aspect-ratio: 4 / 5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-grad { position: absolute; inset: 0; background: linear-gradient(150deg, #efe4d0 0%, #e2cfae 46%, #d3bb98 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-grad::after { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.12) 0 2px, transparent 2px 24px); mix-blend-mode: overlay; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-cap { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-cap span { font: 600 .62rem/1.4 ui-monospace, Menlo, monospace; letter-spacing: .05em; background: rgba(20,20,20,.66); color: #EFE4CF; padding: 8px 12px; border-radius: 6px; max-width: 34ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-chip { position: absolute; left: -16px; bottom: 30px; background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 12px; padding: 12px 15px; box-shadow: 0 16px 40px rgba(20,20,20,.18); display: flex; align-items: center; gap: 11px; animation: pdFloat 6s ease-in-out infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-chip__ico { width: 40px; height: 40px; border-radius: 50%; background: var(--pd-dark); color: var(--ppe-gold); display: flex; align-items: center; justify-content: center; flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-chip__ico .ppe-ico { width: 20px; height: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-chip__lbl { font: 600 .56rem/1.4 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-chip__t { font-family: var(--font-serif); font-size: 1.05rem; color: var(--pd-ink); line-height: 1.15; }

/* -- Intent router (self-identify) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-router { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent { display: flex; flex-direction: column; background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 16px; padding: 28px 26px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent:hover { transform: translateY(-5px); box-shadow: 0 24px 56px rgba(20,20,20,.13); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent__ico { width: 46px; height: 46px; border-radius: 12px; background: var(--accent-wash); color: var(--ppe-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent__ico .ppe-ico { width: 23px; height: 23px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent__eyebrow { margin-top: 18px; font: 600 .66rem/1 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent__title { font-family: var(--font-serif); font-size: 1.4rem; color: var(--pd-ink); margin: 8px 0 0; line-height: 1.15; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent p { margin: 12px 0 0; color: var(--text-muted); font-size: .95rem; line-height: 1.5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent__links { margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .85rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent__links a { color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-intent__cta { margin-top: auto; padding-top: 20px; }

/* -- Phone mockup -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-phone { width: 100%; max-width: 340px; justify-self: center; background: #0B140E; border: 8px solid #0B140E; border-radius: 34px; box-shadow: 0 30px 70px rgba(0,0,0,.4); overflow: hidden; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-phone__bar { background: #075E54; padding: 14px 16px; display: flex; align-items: center; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-phone__ppe { width: 36px; height: 36px; border-radius: 50%; background: #128C7E; color: #fff; display: flex; align-items: center; justify-content: center; font: 600 .72rem/1 var(--font-sans); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-phone__id b { color: #fff; font: 600 .88rem/1.2 var(--font-sans); display: block; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-phone__id small { color: rgba(255,255,255,.7); font-size: .72rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-phone__screen { background: #ECE5DD; padding: 18px 14px; display: flex; flex-direction: column; gap: 10px; min-height: 288px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-b { max-width: 86%; padding: 9px 12px; font: 400 .82rem/1.45 var(--font-sans); box-shadow: 0 1px 1px rgba(0,0,0,.08); white-space: pre-line; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-b--out { align-self: flex-end; background: #DCF8C6; color: #1a2b1a; border-radius: 12px 12px 4px 12px; animation: pdWaPop .5s .2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-b--in { align-self: flex-start; background: #fff; color: #222; border-radius: 12px 12px 12px 4px; animation: pdWaPop .5s 2.2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-b .t { display: block; text-align: right; font-size: .62rem; color: #6b8a5a; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-b--in .t { color: #9aa; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-typing { align-self: flex-start; background: #fff; border-radius: 12px 12px 12px 4px; padding: 11px 13px; box-shadow: 0 1px 1px rgba(0,0,0,.08); display: flex; gap: 4px; animation: pdWaPop .4s 1s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-typing span { width: 7px; height: 7px; border-radius: 50%; background: #9fb0a0; animation: pdWaDot 1.2s infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-typing span:nth-child(2) { animation-delay: .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-typing span:nth-child(3) { animation-delay: .4s; }

/* -- Places (airport / hotel / residence) 2x2 -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-places { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-place { display: flex; gap: 16px; align-items: flex-start; background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 14px; padding: 24px 24px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-place__ico { width: 40px; height: 40px; border-radius: 10px; background: var(--accent-wash); color: var(--ppe-gold-deep); display: flex; align-items: center; justify-content: center; flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-place__ico .ppe-ico { width: 20px; height: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-place h3 { font-size: 1.14rem; margin: 0 0 6px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-place p { margin: 0; color: var(--text-muted); font-size: .93rem; line-height: 1.5; }

/* -- Vehicle cards -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh__card { display: flex; flex-direction: column; background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 14px; padding: 30px 26px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh__card:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(20,20,20,.1); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh__name { font-family: var(--font-serif); font-size: 1.55rem; color: var(--pd-ink); line-height: 1.1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh__card p { margin: 12px 0 0; color: var(--text-muted); font-size: .95rem; line-height: 1.55; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh__uses { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--pd-line); display: flex; flex-wrap: wrap; gap: 7px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh__uses span { font: 500 .74rem/1 var(--font-sans); color: var(--ppe-gold-deep); background: var(--accent-wash); padding: 6px 11px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh__cta { margin-top: 20px; }

/* -- Booking-format selector -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-formats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-format { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 14px; padding: 26px 26px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-format__n { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-size: 1.5rem; color: var(--ppe-gold-deep); background: radial-gradient(circle at 50% 40%, #fff, var(--pd-paper)); box-shadow: inset 0 0 0 1px var(--pd-line), 0 8px 20px rgba(20,20,20,.07); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-format h3 { font-size: 1.18rem; margin: 6px 0 6px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-format p { margin: 0; color: var(--text-muted); font-size: .94rem; line-height: 1.5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-format p b { color: var(--pd-ink); }

/* -- Lifestyle use-case cards -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-case { background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 14px; padding: 26px 24px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-case:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(20,20,20,.1); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-case__ico { width: 44px; height: 44px; border-radius: 12px; background: var(--accent-wash); color: var(--ppe-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-case__ico .ppe-ico { width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-case h3 { font-size: 1.24rem; margin: 16px 0 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-case p { color: var(--text-muted); font-size: .95rem; line-height: 1.5; margin: 0; }

/* -- Business / executive dark block -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec { position: relative; overflow: hidden; background: var(--pd-dark); border-radius: 20px; padding: clamp(30px,4vw,52px); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 84% 14%, rgba(198,166,100,.14), transparent 46%); pointer-events: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec__grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(24px,3vw,44px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec h2 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec .ppe-lead { color: rgba(247,243,236,.84); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec__uses { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec__uses li { display: flex; gap: 10px; align-items: flex-start; font: 500 .92rem/1.4 var(--font-sans); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec__uses .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold); flex: none; margin-top: 3px; }

/* -- Comparison: alternatives grid + highlighted PPE card -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-ours { background: var(--pd-dark); border: 1px solid var(--ppe-gold); border-radius: 18px; padding: clamp(26px,3vw,38px); color: var(--ppe-ivory); box-shadow: 0 24px 56px rgba(20,20,20,.22); margin-bottom: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-ours h3 { color: #fff; display: flex; align-items: center; gap: 10px; font-size: 1.4rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-ours h3 .ppe-ico { color: var(--ppe-gold); width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-ours ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-ours li { display: flex; gap: 9px; font-size: .92rem; line-height: 1.4; color: rgba(247,243,236,.86); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-ours li .ppe-ico { width: 15px; height: 15px; color: var(--ppe-gold); flex: none; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alt { background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 14px; padding: 24px 22px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alt h3 { font-size: 1.1rem; margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alt h3 .ppe-ico { width: 17px; height: 17px; color: var(--ppe-stone); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alt ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alt li { display: flex; gap: 9px; font-size: .88rem; line-height: 1.4; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alt li .ppe-ico { width: 14px; height: 14px; color: var(--ppe-stone); flex: none; margin-top: 3px; }

/* -- Example request board -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-board__card { background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: 14px; padding: 22px 22px 24px; box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-board__tag { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; background: var(--pd-dark); color: var(--ppe-gold); font: 600 .64rem/1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-board__tag .ppe-ico { width: 13px; height: 13px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-board__card h3 { font-size: 1.08rem; margin: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-board__card p { margin: 0; color: var(--text-muted); font-size: .9rem; line-height: 1.5; }

/* Motion */
@keyframes pdFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes pdSettle { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes pdWaPop { 0% { opacity: 0; transform: translateY(10px) scale(.98); } 100% { opacity: 1; transform: none; } }
@keyframes pdWaDot { 0%,60%,100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

@media (max-width: 980px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-board { grid-template-columns: repeat(2, 1fr); }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alts { grid-template-columns: repeat(2, 1fr); }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-ours ul { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__media { order: 2; max-width: 460px; margin-top: 26px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-router,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-cases { grid-template-columns: 1fr 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-two-col--vcenter { align-items: start; }
}
@media (max-width: 600px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-router,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-veh,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-cases,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-places,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-formats,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-board,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-alts { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-ours ul { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-chip { left: 8px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-exec { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-chip,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-hero__media,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-b,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-b--in,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-driver .ppe-pd-typing span { animation: none !important; }
}
/* ===== END DRIVER EN SCOPED ===== */

/* ===== CORPORATE EN SCOPED ===== */
/* Executive Service Pillar Page for the Corporate / Executive Chauffeur EN money
   page. Charcoal / ivory / warm-gold Palace Editorial base, more executive,
   discreet and operational than the other pages: dark sections, schedule boards,
   assistant-friendly modules, discreet S-Class emphasis. Every rule is prefixed
   :is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate so nothing leaks. Green WhatsApp pills reuse the
   proven pattern. */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate { --cp-line: var(--ppe-ivory-3); --cp-paper: #FCFAF6; --cp-ink: var(--ppe-ink); --cp-wa: #1F7A52; --cp-wa-deep: #196545; --cp-dark: #14130E; }

/* Green WhatsApp pill CTAs + outline pill + gold eyebrow */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-wa { background: var(--cp-wa); border-color: var(--cp-wa); color: #fff; border-radius: 999px; box-shadow: 0 10px 26px rgba(31,122,82,.24); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-wa .ppe-ico { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-wa:hover { background: var(--cp-wa-deep); border-color: var(--cp-wa-deep); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31,122,82,.34); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-btn--outline { border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-eyebrow { color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-section--dark .ppe-eyebrow { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-proof__item,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-offer-item { border-radius: 14px; transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-proof__item:hover,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-offer-item:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(20,20,20,.12); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-two-col--vcenter { align-items: center; }

/* -- Hero: 2-col split with an executive format/trust module -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero { background: var(--ppe-ivory); padding: clamp(26px,4vw,50px) 0 clamp(52px,7vw,84px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px,4vw,60px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero h1 { font-size: clamp(2.4rem,4.6vw,3.9rem); line-height: 1.05; letter-spacing: -.02em; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__lead { font-size: clamp(1.02rem,1.4vw,1.16rem); color: var(--text-muted); line-height: 1.62; margin-top: 18px; max-width: 52ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__trust { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__trust span { display: inline-flex; align-items: center; gap: 8px; font: 500 .85rem/1.2 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__trust .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__media { animation: cpSettle 1.2s var(--ease-calm) both; }

:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-module { background: var(--cp-dark); border: 1px solid rgba(216,190,134,.22); border-radius: 16px; padding: 28px 28px 24px; box-shadow: 0 30px 70px rgba(20,20,20,.3); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-module__lbl { font: 600 .68rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-module__list { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-module__list li { display: flex; gap: 11px; align-items: flex-start; font: 400 .92rem/1.4 var(--font-sans); color: rgba(247,243,236,.9); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-module__list .ppe-ico { width: 17px; height: 17px; color: var(--ppe-gold); flex: none; margin-top: 2px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-module__rating { display: flex; align-items: center; gap: 9px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(216,190,134,.2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-module__rating .ppe-stars { color: var(--ppe-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-module__rating span { font: 500 .82rem/1.3 var(--font-sans); color: rgba(247,243,236,.7); }

/* -- Gradient image cards + caption chip -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-fig { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid var(--cp-line); box-shadow: 0 24px 60px rgba(20,20,20,.16); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-fig--45 { aspect-ratio: 4 / 5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-grad { position: absolute; inset: 0; background: linear-gradient(155deg, #2b2a26 0%, #201f1a 46%, #14130e 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-grad::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 70% 26%, rgba(198,166,100,.18), transparent 46%), repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 24px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-cap { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-cap span { font: 600 .62rem/1.4 ui-monospace, Menlo, monospace; letter-spacing: .05em; background: rgba(10,10,10,.7); color: #EFE4CF; padding: 8px 12px; border-radius: 6px; max-width: 34ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-chip { position: absolute; left: -16px; bottom: 30px; background: var(--cp-paper); border: 1px solid var(--cp-line); border-radius: 12px; padding: 12px 15px; box-shadow: 0 16px 40px rgba(20,20,20,.2); display: flex; align-items: center; gap: 11px; animation: cpFloat 6s ease-in-out infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-chip__ico { width: 40px; height: 40px; border-radius: 50%; background: var(--cp-dark); color: var(--ppe-gold); display: flex; align-items: center; justify-content: center; flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-chip__ico .ppe-ico { width: 20px; height: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-chip__lbl { font: 600 .56rem/1.4 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-chip__t { font-family: var(--font-serif); font-size: 1.05rem; color: var(--cp-ink); line-height: 1.15; }

/* -- Executive intent router -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-router { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent { display: flex; flex-direction: column; background: var(--cp-paper); border: 1px solid var(--cp-line); border-radius: 16px; padding: 28px 26px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent:hover { transform: translateY(-5px); box-shadow: 0 24px 56px rgba(20,20,20,.13); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent__ico { width: 46px; height: 46px; border-radius: 12px; background: var(--accent-wash); color: var(--ppe-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent__ico .ppe-ico { width: 23px; height: 23px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent__eyebrow { margin-top: 18px; font: 600 .66rem/1 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent__title { font-family: var(--font-serif); font-size: 1.4rem; color: var(--cp-ink); margin: 8px 0 0; line-height: 1.15; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent p { margin: 12px 0 0; color: var(--text-muted); font-size: .95rem; line-height: 1.5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent__links { margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .85rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent__links a { color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-intent__cta { margin-top: auto; padding-top: 20px; }

/* -- Dual-channel booking (WhatsApp phone + email card) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-channels { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: stretch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-phone { width: 100%; max-width: 340px; justify-self: center; background: #0B140E; border: 8px solid #0B140E; border-radius: 34px; box-shadow: 0 30px 70px rgba(0,0,0,.4); overflow: hidden; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-phone__bar { background: #075E54; padding: 14px 16px; display: flex; align-items: center; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-phone__ppe { width: 36px; height: 36px; border-radius: 50%; background: #128C7E; color: #fff; display: flex; align-items: center; justify-content: center; font: 600 .72rem/1 var(--font-sans); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-phone__id b { color: #fff; font: 600 .88rem/1.2 var(--font-sans); display: block; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-phone__id small { color: rgba(255,255,255,.7); font-size: .72rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-phone__screen { background: #ECE5DD; padding: 18px 14px; display: flex; flex-direction: column; gap: 10px; min-height: 260px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-b { max-width: 88%; padding: 9px 12px; font: 400 .82rem/1.45 var(--font-sans); box-shadow: 0 1px 1px rgba(0,0,0,.08); white-space: pre-line; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-b--out { align-self: flex-end; background: #DCF8C6; color: #1a2b1a; border-radius: 12px 12px 4px 12px; animation: cpWaPop .5s .2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-b--in { align-self: flex-start; background: #fff; color: #222; border-radius: 12px 12px 12px 4px; animation: cpWaPop .5s 2s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-b .t { display: block; text-align: right; font-size: .62rem; color: #6b8a5a; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-b--in .t { color: #9aa; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-typing { align-self: flex-start; background: #fff; border-radius: 12px 12px 12px 4px; padding: 11px 13px; box-shadow: 0 1px 1px rgba(0,0,0,.08); display: flex; gap: 4px; animation: cpWaPop .4s 1s both; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-typing span { width: 7px; height: 7px; border-radius: 50%; background: #9fb0a0; animation: cpWaDot 1.2s infinite; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-typing span:nth-child(2) { animation-delay: .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-typing span:nth-child(3) { animation-delay: .4s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email { display: flex; flex-direction: column; background: var(--cp-paper); border: 1px solid var(--cp-line); border-radius: 16px; padding: 28px 28px; box-shadow: var(--shadow-raise); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__lbl { display: inline-flex; align-items: center; gap: 9px; font: 600 .68rem/1 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ppe-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__lbl .ppe-ico { width: 17px; height: 17px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__row { margin-top: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--cp-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__row .k { display: block; font: 600 .68rem/1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ppe-stone); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__row .v { display: block; margin-top: 5px; font: 500 .95rem/1.4 var(--font-sans); color: var(--cp-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__bul { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__bul li { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; line-height: 1.45; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__bul .ppe-ico { width: 15px; height: 15px; color: var(--ppe-gold-deep); flex: none; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-email__cta { margin-top: auto; padding-top: 20px; }

/* -- Airports band (charcoal, CDG/Orly/Le Bourget) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports { position: relative; overflow: hidden; background: var(--cp-dark); border-radius: 20px; padding: clamp(30px,4vw,48px); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 12%, rgba(198,166,100,.14), transparent 46%); pointer-events: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__head { position: relative; max-width: 62ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports h2 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports .ppe-lead { color: rgba(247,243,236,.84); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 26px 0 24px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__item { background: rgba(247,243,236,.05); border: 1px solid rgba(216,190,134,.22); border-radius: 12px; padding: 20px 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__item h3 { color: #fff; font-size: 1.1rem; margin: 0 0 6px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__item p { margin: 0; color: rgba(247,243,236,.76); font-size: .92rem; line-height: 1.5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__item a { color: var(--ppe-gold-soft); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__links { position: relative; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__links a { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(216,190,134,.4); border-radius: 999px; padding: 8px 16px; font: 500 .9rem/1 var(--font-sans); color: var(--ppe-gold-soft); text-decoration: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__links a:hover { background: rgba(216,190,134,.12); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__links .ppe-ico { width: 16px; height: 16px; }

/* -- Meeting / roadshow schedule board (dark rows) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-sched { background: var(--cp-dark); border-radius: 20px; padding: clamp(24px,3vw,36px); box-shadow: 0 30px 70px rgba(20,20,20,.26); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-sched__row { display: grid; grid-template-columns: 56px 1fr; gap: 18px; align-items: start; padding: 20px 8px; border-bottom: 1px solid rgba(216,190,134,.16); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-sched__row:last-child { border-bottom: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-sched__n { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-size: 1.4rem; color: var(--ppe-gold); border: 1px solid rgba(216,190,134,.3); background: rgba(247,243,236,.04); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-sched__row h3 { color: #fff; font-size: 1.18rem; margin: 8px 0 5px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-sched__row p { margin: 0; color: rgba(247,243,236,.76); font-size: .95rem; line-height: 1.5; }

/* -- Vehicle selector (S-Class emphasis) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__card { position: relative; display: flex; flex-direction: column; background: var(--cp-paper); border: 1px solid var(--cp-line); border-radius: 14px; padding: 30px 26px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__card:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(20,20,20,.1); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__card.is-featured { border-color: var(--ppe-gold); box-shadow: 0 12px 34px rgba(198,166,100,.2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__card.is-featured::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; border-radius: 14px 14px 0 0; background: linear-gradient(90deg, var(--ppe-gold-soft), var(--ppe-gold-deep)); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__flag { position: absolute; top: -13px; left: 26px; background: var(--cp-dark); color: var(--ppe-gold); font: 600 .62rem/1 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; padding: 7px 13px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__name { font-family: var(--font-serif); font-size: 1.5rem; color: var(--cp-ink); line-height: 1.1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__card p { margin: 12px 0 0; color: var(--text-muted); font-size: .95rem; line-height: 1.55; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__uses { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--cp-line); display: flex; flex-wrap: wrap; gap: 7px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__uses span { font: 500 .74rem/1 var(--font-sans); color: var(--ppe-gold-deep); background: var(--accent-wash); padding: 6px 11px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh__cta { margin-top: 20px; }

/* -- Assistant workflow panel -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-flow { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-flow__step { display: grid; grid-template-columns: 50px 1fr; gap: 18px; align-items: start; background: var(--cp-paper); border: 1px solid var(--cp-line); border-radius: 14px; padding: 26px 26px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-flow__n { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-size: 1.4rem; color: var(--ppe-gold-deep); background: radial-gradient(circle at 50% 40%, #fff, var(--cp-paper)); box-shadow: inset 0 0 0 1px var(--cp-line), 0 8px 20px rgba(20,20,20,.07); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-flow__step h3 { font-size: 1.16rem; margin: 5px 0 6px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-flow__step p { margin: 0; color: var(--text-muted); font-size: .94rem; line-height: 1.5; }

/* -- Discretion dark section -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet { position: relative; overflow: hidden; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(24px,3vw,44px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__points { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__points li { display: flex; gap: 10px; align-items: flex-start; font: 500 .92rem/1.4 var(--font-sans); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__points .ppe-ico { width: 16px; height: 16px; color: var(--ppe-gold); flex: none; margin-top: 3px; }

/* -- Venue board (hotels / events / restaurants) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-venues { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-venue { display: flex; gap: 13px; align-items: flex-start; background: var(--cp-paper); border: 1px solid var(--cp-line); border-radius: 12px; padding: 20px 20px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-venue .ppe-ico { width: 20px; height: 20px; color: var(--ppe-gold-deep); flex: none; margin-top: 2px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-venue span { font: 500 .95rem/1.35 var(--font-sans); color: var(--cp-ink); }

/* -- Hourly / full-day formats (dark upgrade) -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-formats { position: relative; overflow: hidden; background: var(--cp-dark); border-radius: 20px; padding: clamp(30px,4vw,48px); box-shadow: 0 30px 70px rgba(20,20,20,.28); color: var(--ppe-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-formats::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 14%, rgba(198,166,100,.15), transparent 46%); pointer-events: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-formats__grid { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-format { display: flex; flex-direction: column; gap: 6px; background: rgba(247,243,236,.05); border: 1px solid rgba(216,190,134,.22); border-radius: 12px; padding: 22px 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-format h3 { color: #fff; font-size: 1.14rem; margin: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-format p { margin: 0; color: rgba(247,243,236,.78); font-size: .93rem; line-height: 1.5; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-format p b { color: #fff; }

/* -- Comparison: highlighted PPE card + alternatives grid -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-ours { background: var(--cp-dark); border: 1px solid var(--ppe-gold); border-radius: 18px; padding: clamp(26px,3vw,38px); color: var(--ppe-ivory); box-shadow: 0 24px 56px rgba(20,20,20,.24); margin-bottom: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-ours h3 { color: #fff; display: flex; align-items: center; gap: 10px; font-size: 1.4rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-ours h3 .ppe-ico { color: var(--ppe-gold); width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-ours ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-ours li { display: flex; gap: 9px; font-size: .92rem; line-height: 1.4; color: rgba(247,243,236,.86); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-ours li .ppe-ico { width: 15px; height: 15px; color: var(--ppe-gold); flex: none; margin-top: 3px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alt { background: var(--cp-paper); border: 1px solid var(--cp-line); border-radius: 14px; padding: 24px 22px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alt h3 { font-size: 1.1rem; margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alt h3 .ppe-ico { width: 17px; height: 17px; color: var(--ppe-stone); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alt ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alt li { display: flex; gap: 9px; font-size: .88rem; line-height: 1.4; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alt li .ppe-ico { width: 14px; height: 14px; color: var(--ppe-stone); flex: none; margin-top: 3px; }

/* -- Example request board -- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-exboard { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-exboard__card { background: var(--cp-paper); border: 1px solid var(--cp-line); border-radius: 14px; padding: 22px 22px 24px; box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-exboard__tag { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; background: var(--cp-dark); color: var(--ppe-gold); font: 600 .64rem/1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-exboard__tag .ppe-ico { width: 13px; height: 13px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-exboard__card h3 { font-size: 1.06rem; margin: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-exboard__card p { margin: 0; color: var(--text-muted); font-size: .9rem; line-height: 1.5; }

/* Motion */
@keyframes cpFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes cpSettle { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes cpWaPop { 0% { opacity: 0; transform: translateY(10px) scale(.98); } 100% { opacity: 1; transform: none; } }
@keyframes cpWaDot { 0%,60%,100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

@media (max-width: 980px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-venues,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-exboard,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alts { grid-template-columns: repeat(2, 1fr); }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-ours ul { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__media { order: 2; max-width: 460px; margin-top: 26px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-router,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh { grid-template-columns: repeat(2, 1fr); }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-channels,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-two-col--vcenter { align-items: start; }
}
@media (max-width: 600px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-router,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-veh,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-flow,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-formats__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-discreet__points,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-venues,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-exboard,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-alts { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-ours ul { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-chip { left: 8px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-airports,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-formats { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-chip,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-hero__media,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-b,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-b--in,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-corporate .ppe-cp-typing span { animation: none !important; }
}
/* ===== END CORPORATE EN SCOPED ===== */

/* ===== CONCIERGE EN SCOPED ===== */
/* Private Concierge Paris / Bespoke Paris Experience EN money page (v1.4.14).
   Dark editorial "maison privee" identity: noir/charcoal bands, warm-gold accents,
   serif anchors. Fully scoped to :is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge so nothing leaks.
   Green WhatsApp pills reuse the shared .ppe-wa component (remapped to green here). */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge { --co-noir: #100E0B; --co-noir-2: #16140F; --co-char: #1C1A14; --co-line: rgba(214,188,132,.18); --co-gold: var(--ppe-gold); --co-gold-soft: #D8BE86; --co-gold-deep: var(--ppe-gold-deep); --co-ivory: var(--ppe-ivory); --co-paper: #FCFAF6; --co-ink: var(--ppe-ink); --co-wa: #1F7A52; --co-wa-deep: #196545; }

/* WhatsApp pills -> green */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-wa { background: var(--co-wa); border-color: var(--co-wa); color: #fff; border-radius: 999px; box-shadow: 0 10px 26px rgba(31,122,82,.24); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-wa .ppe-ico { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-wa:hover { background: var(--co-wa-deep); border-color: var(--co-wa-deep); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31,122,82,.34); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-eyebrow { color: var(--co-gold-deep); }

/* Dark bands (shared) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-band { background: var(--co-noir); color: var(--co-ivory); padding-block: clamp(56px,7vw,104px); position: relative; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-band .ppe-eyebrow { color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-band h2 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-band .ppe-lead { color: rgba(247,243,236,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-band .ppe-section-head { max-width: 720px; margin-inline: auto; }

/* Ivory / paper sections tint */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compromise,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hotel,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-days { background: var(--co-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-formats,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-chauffeur,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare { background: var(--co-paper); }

/* 1 - HERO */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero { background: radial-gradient(120% 120% at 78% 8%, #221F18 0%, #14120D 46%, #0C0B08 100%); color: var(--co-ivory); padding: clamp(30px,4vw,58px) 0 clamp(56px,7vw,96px); position: relative; overflow: hidden; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 82% 20%, rgba(198,166,100,.16), transparent 44%); pointer-events: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(30px,4vw,64px); align-items: center; position: relative; z-index: 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero .ppe-eyebrow { color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__h1 { font-size: clamp(2.5rem,5vw,4.1rem); line-height: 1.03; letter-spacing: -.02em; color: #fff; margin-top: 14px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__h1sub { display: block; font-style: italic; font-size: .58em; color: var(--co-gold-soft); letter-spacing: .01em; margin-top: 8px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__lead { font-size: clamp(1.02rem,1.35vw,1.16rem); color: rgba(247,243,236,.82); line-height: 1.64; margin-top: 20px; max-width: 54ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-btn-ghost { border-radius: 999px; border: 1px solid rgba(216,190,134,.5); color: var(--co-gold-soft); background: transparent; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-btn-ghost:hover { border-color: var(--co-gold-soft); background: rgba(216,190,134,.08); color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__chips { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__chips li { display: inline-flex; align-items: center; gap: 8px; font: 500 .85rem/1.2 var(--font-sans); color: rgba(247,243,236,.78); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__chips .ppe-ico { width: 16px; height: 16px; color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__panel { background: linear-gradient(160deg, #1B1913 0%, #12100B 100%); border: 1px solid var(--co-line); border-radius: 18px; padding: 30px 30px 26px; box-shadow: 0 34px 80px rgba(6,6,4,.55); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__lbl { font: 600 .68rem/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__prices { list-style: none; margin: 18px 0 0; padding: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__prices li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid rgba(216,190,134,.14); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__prices li:last-child { border-bottom: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__prices .k { font: 400 .96rem/1.3 var(--font-sans); color: rgba(247,243,236,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__prices .v { font-family: var(--font-serif); font-size: 1.28rem; color: var(--co-gold-soft); white-space: nowrap; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__rating { display: flex; align-items: center; gap: 9px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(216,190,134,.2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__rating .ppe-stars { color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__rating span { font: 500 .8rem/1.3 var(--font-sans); color: rgba(247,243,236,.68); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-panel__note { margin-top: 14px; font: 400 .74rem/1.5 var(--font-sans); color: rgba(247,243,236,.5); }

/* 2 - PROOF (dark, 5 cards) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof { background: var(--co-noir-2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 16px; margin-top: 40px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__card { background: linear-gradient(165deg, #201D16 0%, #17140F 100%); border: 1px solid var(--co-line); border-radius: 14px; padding: 24px 20px; text-align: center; transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__card:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(6,6,4,.5); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__card .ppe-ico { width: 26px; height: 26px; color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__card .ppe-stars { color: var(--co-gold); display: inline-flex; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__t { display: block; margin-top: 12px; font-family: var(--font-serif); font-size: 1.2rem; color: #fff; line-height: 1.2; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__s { margin-top: 8px; font: 400 .84rem/1.5 var(--font-sans); color: rgba(247,243,236,.66); }

/* 3 - WITHOUT COMPROMISE (ivory split, roman numerals) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compromise__grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(32px,4vw,66px); align-items: start; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compromise__cta { margin-top: 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-value { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-value li { display: grid; grid-template-columns: 64px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--ppe-ivory-3); align-items: start; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-value li:first-child { border-top: 0; padding-top: 4px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-value__n { font-family: var(--font-serif); font-size: 2rem; line-height: 1; color: var(--co-gold-deep); letter-spacing: .04em; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-value h3 { font-size: 1.28rem; color: var(--co-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-value p { margin-top: 6px; font: 400 .96rem/1.6 var(--font-sans); color: var(--text-muted); }

/* 4 - STEPS (dark) + brief card */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-steps__row { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 42px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-step { background: linear-gradient(165deg, #1E1B14 0%, #15130D 100%); border: 1px solid var(--co-line); border-radius: 16px; padding: 30px 28px; position: relative; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-step__n { font-family: var(--font-serif); font-size: 2.4rem; line-height: 1; color: var(--co-gold); display: block; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-step h3 { margin-top: 14px; color: #fff; font-size: 1.32rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-step p { margin-top: 8px; font: 400 .94rem/1.6 var(--font-sans); color: rgba(247,243,236,.72); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,3vw,44px); align-items: center; margin-top: 40px; padding: clamp(26px,3vw,40px); background: linear-gradient(150deg, #201D16 0%, #14120C 100%); border: 1px solid var(--co-line); border-radius: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__lbl { display: inline-flex; align-items: center; gap: 9px; font: 600 .68rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__lbl .ppe-ico { width: 17px; height: 17px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__intro h3 { margin-top: 14px; color: #fff; font-size: 1.5rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__intro p { margin-top: 10px; font: 400 .96rem/1.6 var(--font-sans); color: rgba(247,243,236,.74); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__card { background: rgba(10,9,6,.5); border: 1px solid var(--co-line); border-radius: 16px; padding: 24px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__fields { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__fields li { display: flex; align-items: center; gap: 9px; font: 400 .88rem/1.3 var(--font-sans); color: rgba(247,243,236,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__fields .ppe-ico { width: 16px; height: 16px; color: var(--co-gold); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__email { margin-top: 12px; text-align: center; font: 400 .84rem/1.4 var(--font-sans); color: rgba(247,243,236,.6); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__email a { color: var(--co-gold-soft); }

/* 5 - FORMATS (offer cards) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-formats__feature { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 40px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-formats__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 18px; padding: 30px 28px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer:hover { transform: translateY(-5px); box-shadow: 0 26px 60px rgba(20,20,20,.14); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--feature { background: linear-gradient(160deg, #1C1A14 0%, #121009 100%); border: 1px solid rgba(216,190,134,.28); color: var(--co-ivory); box-shadow: 0 30px 70px rgba(10,10,6,.32); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--dark { background: linear-gradient(160deg, #201D16 0%, #14120C 100%); border: 1px solid rgba(216,190,134,.26); color: var(--co-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__flag { align-self: flex-start; font: 600 .6rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: #14120C; background: var(--co-gold-soft); padding: 6px 11px; border-radius: 999px; margin-bottom: 14px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__flag--gold { background: transparent; color: var(--co-gold-soft); border: 1px solid rgba(216,190,134,.5); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__name { font-size: 1.5rem; color: var(--co-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--feature .ppe-co-offer__name,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--dark .ppe-co-offer__name { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__price { display: flex; align-items: baseline; gap: 8px; margin-top: 10px; padding-bottom: 16px; border-bottom: 1px solid var(--ppe-ivory-3); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--feature .ppe-co-offer__price,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--dark .ppe-co-offer__price { border-bottom-color: rgba(216,190,134,.2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__price .pre { font: 500 .82rem/1 var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--feature .ppe-co-offer__price .pre,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--dark .ppe-co-offer__price .pre { color: rgba(247,243,236,.6); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__price .fig { font-family: var(--font-serif); font-size: 2.3rem; line-height: 1; color: var(--co-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--feature .ppe-co-offer__price .fig,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--dark .ppe-co-offer__price .fig { color: var(--co-gold-soft); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__best { margin-top: 14px; font: 500 .95rem/1.5 var(--font-sans); color: var(--co-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--feature .ppe-co-offer__best,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--dark .ppe-co-offer__best { color: rgba(247,243,236,.85); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__inc { list-style: none; margin: 14px 0 22px; padding: 0; display: flex; flex-direction: column; gap: 9px; flex: 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__inc li { display: flex; gap: 10px; align-items: flex-start; font: 400 .9rem/1.45 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--feature .ppe-co-offer__inc li,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--dark .ppe-co-offer__inc li { color: rgba(247,243,236,.78); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__inc .ppe-ico { width: 16px; height: 16px; color: var(--co-gold-deep); flex: none; margin-top: 2px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--feature .ppe-co-offer__inc .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer--dark .ppe-co-offer__inc .ppe-ico { color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-offer__cta { margin-top: auto; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-formats__legal { display: flex; gap: 12px; align-items: flex-start; justify-content: center; max-width: 760px; margin: 30px auto 0; padding: 16px 20px; background: var(--accent-wash); border-radius: 12px; font: 400 .86rem/1.55 var(--font-sans); color: var(--co-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-formats__legal .ppe-ico { width: 18px; height: 18px; color: var(--co-gold-deep); flex: none; margin-top: 1px; }

/* 6 - HOTEL (list card + clarity note) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-listcard { list-style: none; margin: 0; padding: 26px; background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 16px; box-shadow: var(--shadow-card); display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-listcard li { display: flex; gap: 10px; align-items: flex-start; font: 400 .92rem/1.45 var(--font-sans); color: var(--co-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-listcard .ppe-ico { width: 17px; height: 17px; color: var(--co-gold-deep); flex: none; margin-top: 2px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__note { display: flex; gap: 11px; align-items: flex-start; margin-top: 20px; padding: 16px 18px; background: var(--accent-wash); border-left: 2px solid var(--co-gold-deep); border-radius: 8px; font: 400 .88rem/1.55 var(--font-sans); color: var(--co-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__note .ppe-ico { width: 18px; height: 18px; color: var(--co-gold-deep); flex: none; margin-top: 1px; }

/* 7 - EVENING (dark cinematic) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening { background: radial-gradient(130% 120% at 20% 0%, #211E16 0%, #14120C 50%, #0B0A07 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(32px,4vw,60px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__intro h2 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__intro .ppe-lead { color: rgba(247,243,236,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening .ppe-eyebrow { color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__chips span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--co-line); border-radius: 999px; font: 500 .82rem/1 var(--font-sans); color: rgba(247,243,236,.85); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__chips .ppe-ico { width: 15px; height: 15px; color: var(--co-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__cards { display: flex; flex-direction: column; gap: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__card { background: linear-gradient(160deg, #201D15 0%, #15120C 100%); border: 1px solid var(--co-line); border-radius: 16px; padding: 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__ico { width: 44px; height: 44px; border-radius: 50%; background: rgba(198,166,100,.14); color: var(--co-gold); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__ico .ppe-ico { width: 21px; height: 21px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__card h3 { margin-top: 14px; color: #fff; font-size: 1.32rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__card p { margin-top: 8px; font: 400 .93rem/1.6 var(--font-sans); color: rgba(247,243,236,.74); }

/* 8 - CHAUFFEUR-HOST (ivory) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move { max-width: 940px; margin: 40px auto 0; text-align: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move__chips span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 999px; font: 500 .85rem/1 var(--font-sans); color: var(--co-ink); box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move__chips .ppe-ico { width: 16px; height: 16px; color: var(--co-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move__veh { max-width: 60ch; margin: 24px auto 0; font: 400 .96rem/1.6 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px; margin-top: 24px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move__links a { display: inline-flex; align-items: center; gap: 8px; font: 600 .88rem/1 var(--font-sans); color: var(--co-gold-deep); text-decoration: none; padding: 8px 4px; border-bottom: 1px solid transparent; transition: border-color .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move__links a:hover { border-bottom-color: var(--co-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-move__links .ppe-ico { width: 16px; height: 16px; }

/* 9 - DAYS (ivory, 6 blocks) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-days__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 42px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-day { background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 16px; padding: 28px 26px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-day:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(20,20,20,.12); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-day__ico { width: 48px; height: 48px; border-radius: 12px; background: var(--accent-wash); color: var(--co-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-day__ico .ppe-ico { width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-day h3 { margin-top: 16px; font-size: 1.28rem; color: var(--co-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-day p { margin-top: 8px; font: 400 .93rem/1.55 var(--font-sans); color: var(--text-muted); }

/* 10 - CLARITY (dark, two columns) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 42px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col { border-radius: 16px; padding: 30px 28px; border: 1px solid var(--co-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col--yes { background: linear-gradient(160deg, #1B2018 0%, #12140E 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col--no { background: linear-gradient(160deg, #201B16 0%, #14110C 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col h3 { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 1.4rem; padding-bottom: 16px; border-bottom: 1px solid var(--co-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col--yes h3 .ppe-ico { color: #7FB98F; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col--no h3 .ppe-ico { color: var(--co-gold-soft); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col ul { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col li { position: relative; padding-left: 20px; font: 400 .94rem/1.5 var(--font-sans); color: rgba(247,243,236,.8); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col--yes li::before { background: #7FB98F; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__col--no li::before { background: var(--co-gold-deep); }

/* 11 - COMPARISON (paper) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__ours { max-width: 900px; margin: 40px auto 0; background: linear-gradient(160deg, #1B1913 0%, #121009 100%); color: var(--co-ivory); border: 1px solid rgba(216,190,134,.28); border-radius: 18px; padding: 30px 32px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__ours h3 { display: flex; align-items: center; gap: 11px; color: #fff; font-size: 1.5rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__ours h3 .ppe-ico { color: var(--co-gold); width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__ours ul { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__ours li { display: flex; gap: 10px; align-items: flex-start; font: 400 .93rem/1.45 var(--font-sans); color: rgba(247,243,236,.85); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__ours .ppe-ico { width: 16px; height: 16px; color: var(--co-gold); flex: none; margin-top: 2px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__alts { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-alt { background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 16px; padding: 26px 24px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-alt h3 { display: flex; align-items: center; gap: 10px; font-size: 1.24rem; color: var(--co-ink); padding-bottom: 14px; border-bottom: 1px solid var(--ppe-ivory-3); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-alt h3 .ppe-ico { width: 19px; height: 19px; color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-alt ul { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-alt li { display: flex; gap: 9px; align-items: flex-start; font: 400 .9rem/1.45 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-alt .ppe-ico { width: 15px; height: 15px; color: var(--text-muted); flex: none; margin-top: 2px; }

/* 14 - FOUNDER (dark) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-founder__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px,4vw,60px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-founder__points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-founder__points li { display: flex; gap: 12px; align-items: center; padding: 16px 20px; background: linear-gradient(165deg, #1E1B14 0%, #15130D 100%); border: 1px solid var(--co-line); border-radius: 12px; font: 500 1rem/1.3 var(--font-sans); color: rgba(247,243,236,.9); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-founder__points .ppe-ico { width: 20px; height: 20px; color: var(--co-gold); flex: none; }

/* Responsive */
@media (max-width: 900px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compromise__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-evening__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-founder__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__grid { grid-template-columns: repeat(2,1fr); }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-steps__row,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-formats__feature,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-formats__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-days__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-clarity__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__alts { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-listcard,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-brief__fields,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-compare__ours ul { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-proof__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-hero__panel { padding: 24px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-concierge .ppe-co-value li { grid-template-columns: 44px 1fr; gap: 12px; }
}
/* ===== END CONCIERGE EN SCOPED ===== */

/* ===== HOME EN SCOPED ===== */
/* Home EN hub page (v1.4.15). Hybrid premium identity: dark cinematic hero + ivory/paper
   discovery sections + dark premium bands (corporate/concierge/booking). Fully scoped to
   :is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home so the FR home (template-home.php) is untouched. Green
   WhatsApp pills reuse the shared .ppe-wa component (remapped to green here). */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home { --hm-noir: #100E0B; --hm-noir-2: #14120D; --hm-line: rgba(214,188,132,.18); --hm-gold: var(--ppe-gold); --hm-gold-soft: #D8BE86; --hm-gold-deep: var(--ppe-gold-deep); --hm-ivory: var(--ppe-ivory); --hm-paper: #FCFAF6; --hm-ink: var(--ppe-ink); --hm-wa: #1F7A52; --hm-wa-deep: #196545; }

/* WhatsApp pills -> green */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-wa { background: var(--hm-wa); border-color: var(--hm-wa); color: #fff; border-radius: 999px; box-shadow: 0 10px 26px rgba(31,122,82,.24); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-wa .ppe-ico { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-wa:hover { background: var(--hm-wa-deep); border-color: var(--hm-wa-deep); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31,122,82,.34); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-eyebrow { color: var(--hm-gold-deep); }

/* Buttons */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-btn--solid { background: var(--hm-noir); color: var(--hm-ivory); border: 1px solid var(--hm-noir); border-radius: 999px; padding: 13px 26px; font-weight: 600; transition: transform .2s var(--ease-calm), box-shadow .2s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-btn--solid:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(20,20,20,.22); color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-btn--gold { border-radius: 999px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-btn--outline { border-radius: 999px; }

/* Dark bands (shared) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-band { background: var(--hm-noir); color: var(--hm-ivory); padding-block: clamp(56px,7vw,100px); position: relative; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-band .ppe-eyebrow { color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-band h2 { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-band .ppe-lead { color: rgba(247,243,236,.82); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-band .ppe-section-head { max-width: 720px; margin-inline: auto; }

/* Ivory / paper section tints */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-airport,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass { background: var(--hm-ivory); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-router,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-driver,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-disney,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links { background: var(--hm-paper); }

/* 1 - HERO */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero { background: radial-gradient(120% 120% at 80% 6%, #221F18 0%, #14120D 46%, #0C0B08 100%); color: var(--hm-ivory); padding: clamp(30px,4vw,58px) 0 clamp(56px,7vw,96px); position: relative; overflow: hidden; }
/* v1.4.17 — cinematic real-photo hero layer (fleet at night) under the dark wash */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__bg { position: absolute; inset: 0; z-index: 0; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; opacity: .34; display: block; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,16,11,0.50) 0%, rgba(16,14,10,0.72) 55%, rgba(12,11,8,0.94) 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 84% 18%, rgba(198,166,100,.16), transparent 44%); pointer-events: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(30px,4vw,64px); align-items: center; position: relative; z-index: 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero .ppe-eyebrow { color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__h1 { font-size: clamp(2.4rem,4.8vw,4rem); line-height: 1.04; letter-spacing: -.02em; color: #fff; margin-top: 14px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__h1sub { display: block; font-style: italic; font-size: .5em; color: var(--hm-gold-soft); letter-spacing: .01em; margin-top: 10px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__lead { font-size: clamp(1.02rem,1.35vw,1.16rem); color: rgba(247,243,236,.82); line-height: 1.64; margin-top: 20px; max-width: 56ch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-btn-ghost { border-radius: 999px; border: 1px solid rgba(216,190,134,.5); color: var(--hm-gold-soft); background: transparent; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-btn-ghost:hover { border-color: var(--hm-gold-soft); background: rgba(216,190,134,.08); color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__chips { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__chips li { display: inline-flex; align-items: center; gap: 8px; font: 500 .85rem/1.2 var(--font-sans); color: rgba(247,243,236,.78); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__chips .ppe-ico { width: 16px; height: 16px; color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__panel { background: linear-gradient(160deg, #1B1913 0%, #12100B 100%); border: 1px solid var(--hm-line); border-radius: 18px; padding: 28px 28px 24px; box-shadow: 0 34px 80px rgba(6,6,4,.55); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-panel__lbl { font: 600 .68rem/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-panel__list { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-panel__list li { display: flex; gap: 11px; align-items: center; font: 400 .96rem/1.35 var(--font-sans); color: rgba(247,243,236,.88); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-panel__list .ppe-ico { width: 18px; height: 18px; color: var(--hm-gold); flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-panel__rating { display: flex; align-items: center; gap: 9px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(216,190,134,.2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-panel__rating .ppe-stars { color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-panel__rating span { font: 500 .8rem/1.3 var(--font-sans); color: rgba(247,243,236,.68); }

/* 2 - PROOF (ivory, 5 cards) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 16px; margin-top: 40px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__card { background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 14px; padding: 26px 20px; text-align: center; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__card:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(20,20,20,.1); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__card .ppe-ico { width: 26px; height: 26px; color: var(--hm-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__card .ppe-stars { color: var(--hm-gold-deep); display: inline-flex; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__t { display: block; margin-top: 12px; font-family: var(--font-serif); font-size: 1.2rem; color: var(--hm-ink); line-height: 1.2; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__s { margin-top: 8px; font: 400 .84rem/1.5 var(--font-sans); color: var(--text-muted); }

/* 3 - SERVICE ROUTER */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-router__primary { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 42px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-router__secondary { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 16px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile:hover { transform: translateY(-5px); box-shadow: 0 24px 54px rgba(20,20,20,.13); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile--primary { padding: 28px 26px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile__ico { width: 48px; height: 48px; border-radius: 12px; background: var(--accent-wash); color: var(--hm-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile__ico .ppe-ico { width: 23px; height: 23px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile__title { margin-top: 16px; font-size: 1.22rem; line-height: 1.2; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile__title a { color: var(--hm-ink); text-decoration: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile__title a:hover { color: var(--hm-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile p { margin-top: 8px; font: 400 .9rem/1.55 var(--font-sans); color: var(--text-muted); flex: 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile__cta { margin-top: 16px; display: inline-flex; align-items: center; gap: 7px; font: 600 .88rem/1 var(--font-sans); color: var(--hm-gold-deep); text-decoration: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile__cta .ppe-ico { width: 16px; height: 16px; transition: transform .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile__cta:hover .ppe-ico { transform: translateX(3px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile--secondary { flex-direction: row; gap: 16px; padding: 22px 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile--secondary .ppe-hm-tile__ico { flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile--secondary .ppe-hm-tile__title { margin-top: 2px; font-size: 1.1rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile--secondary p { font-size: .86rem; }

/* 4 - AIRPORT mini cards */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 42px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini__card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 16px; padding: 28px 26px; box-shadow: var(--shadow-card); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini__ico { width: 46px; height: 46px; border-radius: 12px; background: var(--accent-wash); color: var(--hm-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini__ico .ppe-ico { width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini__card h3 { margin-top: 16px; font-size: 1.24rem; color: var(--hm-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini__card p { margin-top: 8px; font: 400 .9rem/1.55 var(--font-sans); color: var(--text-muted); flex: 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini__cta { margin-top: 16px; display: inline-flex; align-items: center; gap: 7px; font: 600 .88rem/1 var(--font-sans); color: var(--hm-gold-deep); text-decoration: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini__cta .ppe-ico { width: 16px; height: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini__card .ppe-wa { margin-top: 16px; align-self: flex-start; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-inline-links { display: flex; gap: 10px; align-items: flex-start; justify-content: center; max-width: 820px; margin: 28px auto 0; font: 400 .9rem/1.55 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-inline-links .ppe-ico { width: 17px; height: 17px; color: var(--hm-gold-deep); flex: none; margin-top: 1px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-inline-links a { color: var(--hm-gold-deep); }

/* 5 - DRIVER / HOURLY / FULL DAY */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-driver__links { display: flex; flex-wrap: wrap; gap: 10px 14px; margin-top: 20px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-driver__links a { display: inline-flex; align-items: center; gap: 8px; font: 600 .88rem/1 var(--font-sans); color: var(--hm-gold-deep); text-decoration: none; padding: 8px 4px; border-bottom: 1px solid transparent; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-driver__links a:hover { border-bottom-color: var(--hm-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-driver__links .ppe-ico { width: 16px; height: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-formats { list-style: none; margin: 0; padding: 26px; background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 16px; box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-formats li { display: flex; gap: 14px; align-items: flex-start; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-formats li + li { border-top: 1px solid var(--ppe-ivory-2); padding-top: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-formats .ppe-ico { width: 22px; height: 22px; color: var(--hm-gold-deep); flex: none; margin-top: 2px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-formats h3 { font-size: 1.12rem; color: var(--hm-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-formats p { margin-top: 4px; font: 400 .9rem/1.5 var(--font-sans); color: var(--text-muted); }

/* 6 - V-CLASS + 7 DISNEY list cards */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-listcard,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-checklist { list-style: none; margin: 0; padding: 26px; background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 16px; box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 13px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-listcard li,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-checklist li { display: flex; gap: 11px; align-items: flex-start; font: 400 .95rem/1.45 var(--font-sans); color: var(--hm-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-listcard .ppe-ico,
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-checklist .ppe-ico { width: 18px; height: 18px; color: var(--hm-gold-deep); flex: none; margin-top: 2px; }

/* 8 - CORPORATE band */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-corp { background: linear-gradient(160deg, #16140F 0%, #100E0A 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-corp__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px,4vw,60px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-corp__points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-corp__points li { display: flex; gap: 12px; align-items: center; padding: 15px 18px; background: rgba(255,255,255,.03); border: 1px solid var(--hm-line); border-radius: 12px; font: 500 .98rem/1.35 var(--font-sans); color: rgba(247,243,236,.9); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-corp__points .ppe-ico { width: 19px; height: 19px; color: var(--hm-gold); flex: none; }

/* 9 - CONCIERGE band (deeper maison) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-concierge { background: radial-gradient(130% 120% at 22% 0%, #211E16 0%, #14120C 52%, #0B0A07 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-offers { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; margin-top: 40px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-offer { display: flex; flex-direction: column; gap: 8px; background: linear-gradient(165deg, #201D16 0%, #15130D 100%); border: 1px solid var(--hm-line); border-radius: 14px; padding: 22px 18px; text-align: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-offer--feature { border-color: rgba(216,190,134,.4); background: linear-gradient(165deg, #26221A 0%, #191509 100%); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-offer .k { font: 500 .82rem/1.3 var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: rgba(247,243,236,.72); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-offer .v { font-family: var(--font-serif); font-size: 1.42rem; color: var(--hm-gold-soft); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-concierge__cover { max-width: 760px; margin: 26px auto 0; text-align: center; font: 400 .95rem/1.65 var(--font-sans); color: rgba(247,243,236,.78); }

/* 10 - BOOKING band */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-booking { background: var(--hm-noir-2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-booking__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px,4vw,54px); align-items: center; margin-top: 42px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-steps li { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: start; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-steps__n { font-family: var(--font-serif); font-size: 2rem; line-height: 1; color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-steps h3 { font-size: 1.24rem; color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-steps p { margin-top: 6px; font: 400 .93rem/1.55 var(--font-sans); color: rgba(247,243,236,.74); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone { background: linear-gradient(160deg, #201D16 0%, #14120C 100%); border: 1px solid var(--hm-line); border-radius: 20px; padding: 18px; box-shadow: 0 34px 80px rgba(6,6,4,.5); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__bar { display: flex; align-items: center; gap: 11px; padding: 6px 6px 14px; border-bottom: 1px solid var(--hm-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__ppe { width: 40px; height: 40px; border-radius: 50%; background: var(--hm-gold); color: #14120C; font: 700 .82rem/40px var(--font-sans); text-align: center; letter-spacing: .04em; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__id b { display: block; color: #fff; font: 600 .96rem/1.2 var(--font-sans); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__id small { color: #7FB98F; font-size: .76rem; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__screen { display: flex; flex-direction: column; gap: 12px; padding: 18px 6px 6px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-b { max-width: 86%; padding: 12px 15px; border-radius: 14px; font: 400 .9rem/1.5 var(--font-sans); position: relative; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-b .t { display: block; margin-top: 6px; font-size: .68rem; opacity: .6; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-b--out { align-self: flex-end; background: #1F3B2E; color: #EAF3EE; border-bottom-right-radius: 4px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-b--in { align-self: flex-start; background: rgba(255,255,255,.06); color: rgba(247,243,236,.9); border-bottom-left-radius: 4px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__cta { margin-top: 14px; }

/* 11 - WHY grid */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 42px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__card { background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 16px; padding: 28px 26px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__card:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(20,20,20,.1); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__ico { width: 48px; height: 48px; border-radius: 12px; background: var(--accent-wash); color: var(--hm-gold-deep); display: flex; align-items: center; justify-content: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__ico .ppe-ico { width: 23px; height: 23px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__card h3 { margin-top: 16px; font-size: 1.18rem; color: var(--hm-ink); line-height: 1.25; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__card p { margin-top: 8px; font: 400 .92rem/1.55 var(--font-sans); color: var(--text-muted); }

/* 13 - LINKS directory */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; margin-top: 42px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__col h3 { display: flex; align-items: center; gap: 9px; font-size: 1.1rem; color: var(--hm-ink); padding-bottom: 14px; border-bottom: 1px solid var(--ppe-ivory-3); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__col h3 .ppe-ico { width: 18px; height: 18px; color: var(--hm-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__col ul { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__col a { font: 400 .93rem/1.4 var(--font-sans); color: var(--text-muted); text-decoration: none; transition: color .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__col a:hover { color: var(--hm-gold-deep); }

/* Responsive */
@media (max-width: 980px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-hero__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-corp__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-booking__grid { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-router__primary,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-router__secondary,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__grid { grid-template-columns: repeat(2,1fr); }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__grid { grid-template-columns: repeat(2,1fr); }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-mini { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-offers { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-router__primary,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-router__secondary,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-why__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-links__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-proof__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-offers { grid-template-columns: 1fr; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-tile--secondary { flex-direction: column; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-inline-links { flex-direction: column; align-items: center; text-align: center; }
}

/* --- v1.4.16 polish: Service Compass, V-Class band, concierge format cards, phone note --- */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-band { padding-block: clamp(64px,8vw,116px); }

/* Service Compass (grouped router) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-compass { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 44px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group { background: #fff; border: 1px solid var(--ppe-ivory-3); border-radius: 18px; padding: 30px 30px 24px; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-calm), box-shadow .3s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group:hover { transform: translateY(-4px); box-shadow: 0 24px 54px rgba(20,20,20,.1); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group__head { display: flex; gap: 15px; align-items: flex-start; padding-bottom: 18px; border-bottom: 1px solid var(--ppe-ivory-2); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group__ico { width: 46px; height: 46px; border-radius: 12px; background: var(--accent-wash); color: var(--hm-gold-deep); display: flex; align-items: center; justify-content: center; flex: none; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group__ico .ppe-ico { width: 22px; height: 22px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group__step { font: 600 .72rem/1.2 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--hm-gold-deep); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group__sub { margin-top: 4px; font: 400 .92rem/1.4 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group__paths { display: flex; flex-direction: column; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--ppe-ivory-2); text-decoration: none; transition: padding-left .2s var(--ease-calm); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path:last-child { border-bottom: 0; padding-bottom: 4px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path:hover { padding-left: 6px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path__main { flex: 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path__name { display: block; font: 600 1.02rem/1.3 var(--font-sans); color: var(--hm-ink); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path__desc { display: block; margin-top: 3px; font: 400 .86rem/1.45 var(--font-sans); color: var(--text-muted); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path__arrow { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--ppe-ivory-3); display: flex; align-items: center; justify-content: center; color: var(--hm-gold-deep); flex: none; transition: background .2s, color .2s, transform .2s; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path__arrow .ppe-ico { width: 16px; height: 16px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-path:hover .ppe-hm-path__arrow { background: var(--hm-gold-deep); color: #fff; transform: translateX(2px); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark { background: linear-gradient(160deg, #1B1913 0%, #100E09 100%); border-color: rgba(216,190,134,.28); box-shadow: 0 30px 66px rgba(10,10,6,.28); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-group__head { border-bottom-color: var(--hm-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-group__ico { background: rgba(198,166,100,.14); color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-group__step { color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-group__sub { color: rgba(247,243,236,.7); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-path { border-bottom-color: var(--hm-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-path__name { color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-path__desc { color: rgba(247,243,236,.66); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-path__arrow { border-color: rgba(216,190,134,.4); color: var(--hm-gold); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group--dark .ppe-hm-path:hover .ppe-hm-path__arrow { background: var(--hm-gold); color: #14120C; }

/* V-Class "when space matters" band */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px,4vw,60px); align-items: center; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass__card { background: linear-gradient(160deg, #1C1A14 0%, #100E09 100%); border: 1px solid rgba(216,190,134,.26); border-radius: 18px; padding: 30px 30px 26px; box-shadow: 0 30px 70px rgba(10,10,6,.28); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass__lbl { display: flex; align-items: center; gap: 10px; font: 600 .68rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--hm-gold); padding-bottom: 18px; border-bottom: 1px solid var(--hm-line); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass__lbl .ppe-ico { width: 18px; height: 18px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass__points { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass__points li { display: flex; gap: 11px; align-items: flex-start; font: 400 .95rem/1.45 var(--font-sans); color: rgba(247,243,236,.86); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass__points .ppe-ico { width: 17px; height: 17px; color: var(--hm-gold); flex: none; margin-top: 2px; }

/* Concierge bespoke format cards (value first, price quiet) */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-formats-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 44px; align-items: stretch; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard { display: flex; flex-direction: column; background: linear-gradient(165deg, #211E17 0%, #14120C 100%); border: 1px solid var(--hm-line); border-radius: 18px; padding: 32px 30px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard--feature { border-color: rgba(216,190,134,.42); background: linear-gradient(165deg, #29241B 0%, #18140B 100%); box-shadow: 0 30px 70px rgba(10,10,6,.34); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard__flag { align-self: flex-start; font: 600 .6rem/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: #14120C; background: var(--hm-gold-soft); padding: 6px 11px; border-radius: 999px; margin-bottom: 14px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard__name { font-size: 1.42rem; color: #fff; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard__copy { margin-top: 12px; font: 400 .93rem/1.6 var(--font-sans); color: rgba(247,243,236,.78); flex: 1; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard__rows { list-style: none; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--hm-line); display: flex; flex-direction: column; gap: 11px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard__rows li { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; font: 500 .95rem/1.3 var(--font-sans); color: rgba(247,243,236,.9); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard__from { font: 400 .78rem/1.3 var(--font-sans); letter-spacing: .02em; color: rgba(216,190,134,.9); white-space: nowrap; }

/* Booking phone email note */
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__note { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; font: 400 .82rem/1.5 var(--font-sans); color: rgba(247,243,236,.64); }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__note .ppe-ico { width: 16px; height: 16px; color: var(--hm-gold); flex: none; margin-top: 1px; }
:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-phone__note a { color: var(--hm-gold-soft); }

@media (max-width: 980px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-compass,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-vclass__grid,
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-formats-cards { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-group { padding: 24px; }
	:is(.ppe-lang-en,.ppe-lang-fr).ppe-page-home .ppe-hm-fcard { padding: 26px 24px; }
}
/* ===== END HOME EN SCOPED ===== */

/* ===== PPE premium pricing component (v1.4.31) — Palace Editorial, mobile-safe ===== */
:is(.ppe-lang-en,.ppe-lang-fr) .ppe-pricing{padding:clamp(2.75rem,6vw,4.75rem) 0}
.ppe-pricing__head{max-width:60ch;margin:0 0 2.1rem}
.ppe-pricing__eyebrow{display:inline-block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#a8843c;margin:0 0 .7rem}
.ppe-pricing__title{margin:0 0 .8rem;line-height:1.15;max-width:24ch}
.ppe-pricing__intro{margin:0;max-width:58ch;line-height:1.6;opacity:.82}
.ppe-pricing__group{margin:0 0 2rem}
.ppe-pricing__group-title{display:flex;align-items:center;gap:.75rem;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#8a6d2f;margin:0 0 .95rem}
.ppe-pricing__group-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(198,166,100,.45),rgba(198,166,100,0))}
.ppe-pricing__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:20px;margin:0 0 1.7rem}
.ppe-pricing__card{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 26px;border:1px solid rgba(198,166,100,.34);border-radius:18px;background:linear-gradient(180deg,#fffdf9,rgba(247,243,236,.55));box-shadow:0 10px 30px -22px rgba(30,30,29,.35),0 1px 0 rgba(255,255,255,.7) inset;overflow:hidden}
.ppe-pricing__card::before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,rgba(198,166,100,.75),rgba(198,166,100,.15))}
.ppe-pricing__route{font-weight:600;font-size:1.1rem;line-height:1.3;letter-spacing:.003em;color:#241f1b}
.ppe-pricing__meta{align-self:flex-start;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#8a6d2f;background:rgba(198,166,100,.12);border:1px solid rgba(198,166,100,.4);border-radius:999px;padding:3px 11px}
.ppe-pricing__vehicles{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-direction:column}
.ppe-pricing__vehicle{display:flex;justify-content:space-between;align-items:baseline;gap:1.75rem;padding:11px 0;border-top:1px solid rgba(30,30,29,.08)}
.ppe-pricing__vehicle:first-child{border-top:0}
.ppe-pricing__vehicle-label{opacity:.72;font-size:.95rem;letter-spacing:.01em;white-space:nowrap}
.ppe-pricing__price{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;font-size:1.02rem;color:#8a6d2f}
.ppe-pricing__price--solo{font-size:1.15rem}
.ppe-pricing__note{max-width:64ch;margin:0 0 1.5rem;font-size:.94rem;line-height:1.6;opacity:.78}
/* CTA button */
.ppe-pricing__actions{display:flex;flex-wrap:wrap;gap:14px;margin:.2rem 0 1.4rem}
.ppe-pricing__cta{margin:.2rem 0 1.4rem}
.ppe-pricing__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 30px;border-radius:999px;font-weight:600;font-size:.95rem;letter-spacing:.01em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}
.ppe-pricing__button--primary{background:#1e1e1d;color:#f7f3ec;border-color:rgba(198,166,100,.55);box-shadow:0 12px 26px -16px rgba(30,30,29,.7)}
.ppe-pricing__button--primary:hover{background:#2a2724;box-shadow:0 16px 30px -14px rgba(30,30,29,.75);transform:translateY(-1px)}
.ppe-pricing__button--secondary{background:transparent;color:#241f1b;border-color:rgba(198,166,100,.55)}
.ppe-pricing__button--secondary:hover{background:rgba(198,166,100,.1)}
.ppe-pricing__button:focus-visible{outline:2px solid #a8843c;outline-offset:3px}
/* related-service chips */
.ppe-pricing__links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:1.2rem 0 0;padding:1.1rem 0 0;border-top:1px solid rgba(198,166,100,.28)}
.ppe-pricing__links-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8a6d2f;opacity:.85}
.ppe-pricing__link-list{display:flex;flex-wrap:wrap;gap:8px}
.ppe-pricing__link-chip{display:inline-block;padding:6px 14px;border-radius:999px;border:1px solid rgba(198,166,100,.4);background:rgba(247,243,236,.6);color:#3a332c;font-size:.85rem;text-decoration:none;transition:background .18s ease,border-color .18s ease}
.ppe-pricing__link-chip:hover{background:rgba(198,166,100,.14);border-color:rgba(198,166,100,.7)}
/* backward-compat (__rows/__k/__solo) */
.ppe-pricing__rows{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-direction:column}
.ppe-pricing__rows li{display:flex;justify-content:space-between;align-items:baseline;gap:1.75rem;padding:11px 0;border-top:1px solid rgba(30,30,29,.08)}
.ppe-pricing__rows li:first-child{border-top:0}
.ppe-pricing__k{opacity:.72;white-space:nowrap}
.ppe-pricing__solo{font-size:1.15rem;font-weight:600;color:#8a6d2f}
@media (max-width:768px){.ppe-pricing__grid{gap:16px}}
@media (max-width:560px){
.ppe-pricing__grid{grid-template-columns:1fr;gap:14px}
.ppe-pricing__card{padding:20px 20px}
.ppe-pricing__vehicle,.ppe-pricing__rows li{gap:1rem}
.ppe-pricing__button{width:100%;padding:14px 24px}
.ppe-pricing__links{gap:10px}
}

/* v1.4.31 / v1.4.32 header fit — the desktop nav stays full down to 781px (burger
   only <=780px), and the header row content intrinsically needs ~1222px while the
   .ppe-container caps at 1200px. So the full nav + langpill + WhatsApp button
   overflowed the viewport across the ~1025–1240px band (v1.4.31 hid the button only
   <=1024px, which left that band overflowing). Hide the header WhatsApp button below
   1260px so the row always fits: laptops >=1280px keep the button, and the sticky +
   in-page CTAs cover the narrower band. Mobile already hid it. */
@media (max-width:1260px){.ppe-header__actions .ppe-wa{display:none}.ppe-header__actions{gap:10px}}

/* ===== PPE editorial bridge (v1.4.40) — Palace Editorial transition =====
   A real magazine-style editorial transition between two main sections, replacing
   the old .ppe-seo26/.ppe-seo-note treatment ENTIRELY. Desktop: asymmetric two
   columns (optional champagne label + serif title on the left ~37%, paragraph on
   the right), a subtly differentiated ivory panel with a discreet champagne left
   rule. Mobile: single column, compact. No min-height, no heavy card. Reusable:
   .ppe-editorial-bridge on a <section> (standalone transition) or
   .ppe-editorial-bridge--panel inside an existing section (e.g. V-Class advice). */
.ppe-editorial-bridge { margin-block: 0; }
.ppe-editorial-bridge__inner {
	display: grid;
	grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
	gap: clamp(22px, 3.4vw, 52px);
	align-items: start;
	padding: clamp(30px, 3.6vw, 46px) clamp(26px, 3vw, 44px);
	background: linear-gradient(180deg, rgba(255,253,248,0.9), rgba(247,243,236,0.55));
	border-left: 2px solid var(--ppe-gold);
	border-radius: 4px;
}
.ppe-editorial-bridge__label {
	display: block;
	font-family: var(--font-sans);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ppe-gold-deep);
	margin-bottom: 12px;
}
.ppe-editorial-bridge__title {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(1.35rem, 2.1vw, 1.85rem);
	line-height: 1.14;
	letter-spacing: -0.01em;
	color: var(--ppe-ink);
	text-wrap: balance;
}
.ppe-editorial-bridge__body { margin: 0; }
.ppe-editorial-bridge__body p {
	margin: 0 0 0.85em;
	color: var(--text-muted);
	font-size: clamp(1rem, 1.3vw, 1.075rem);
	line-height: 1.68;
}
.ppe-editorial-bridge__body p:last-child { margin-bottom: 0; }
.ppe-editorial-bridge__body a {
	color: var(--ppe-gold-deep);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.ppe-editorial-bridge__body a:hover { color: var(--ppe-ink); }
/* Inline panel variant (inside an existing section, e.g. the V-Class advice). */
.ppe-editorial-bridge--panel { margin: clamp(22px, 2.8vw, 34px) 0 0; }

/* Collapse the cumulative whitespace with the neighbouring sections so the
   transition sits at ~48-60px external gap, never a stacked 120px+ void. Targets
   ONLY the section before and the pricing/section after a bridge — never global. */
.ppe-section:has(+ .ppe-editorial-bridge) { padding-bottom: clamp(38px, 4.2vw, 52px); }
.ppe-editorial-bridge + .ppe-pricing,
.ppe-editorial-bridge + .ppe-section { padding-top: clamp(38px, 4.2vw, 52px); }
@media (max-width: 760px) {
	.ppe-editorial-bridge__inner { grid-template-columns: 1fr; gap: 14px; padding: clamp(24px, 5vw, 32px) clamp(20px, 5vw, 26px); }
	.ppe-editorial-bridge__title { font-size: clamp(1.3rem, 5vw, 1.55rem); }
	.ppe-section:has(+ .ppe-editorial-bridge) { padding-bottom: clamp(28px, 6vw, 40px); }
	.ppe-editorial-bridge + .ppe-pricing,
	.ppe-editorial-bridge + .ppe-section { padding-top: clamp(28px, 6vw, 40px); }
}

/* (2) V-Class compact editorial pricing matrix (replaces the tall card stack):
   grouped compact rows (route left, price right), up to 2 group-columns on large
   screens, 1 on mobile, subtle champagne, Palace Editorial type. No orphan cards. */
.ppe-vmatrix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 26px); align-items: start; margin: clamp(18px, 2.4vw, 30px) 0 0; }
.ppe-vmatrix__group { background: linear-gradient(180deg, rgba(255,253,248,0.7), rgba(247,243,236,0.5)); border: 1px solid rgba(198,166,100,0.28); border-radius: 14px; padding: clamp(15px, 1.7vw, 21px) clamp(17px, 2vw, 23px); }
.ppe-vmatrix__group-title { font-family: var(--font-sans); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ppe-gold-deep); margin: 0 0 4px; }
.ppe-vmatrix__list { list-style: none; margin: 0; padding: 0; }
.ppe-vmatrix__row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 9px 0; border-top: 1px solid rgba(30,30,29,0.08); }
.ppe-vmatrix__row:first-child { border-top: 0; }
.ppe-vmatrix__route { font-size: 0.95rem; color: var(--ppe-ink); line-height: 1.35; }
.ppe-vmatrix__price { font-family: var(--font-serif); font-size: 1.06rem; font-weight: 600; color: var(--ppe-gold-deep); white-space: nowrap; flex: none; }
@media (max-width: 760px) { .ppe-vmatrix { grid-template-columns: 1fr; gap: 14px; } }

/* (3) Sticky bottom CTA: full-width compact bar on mobile/tablet; a compact
   bottom-right dock on desktop (>=1024px) so it never covers a wide swath of
   content. Hidden when the footer enters the viewport (JS adds .ppe-sticky--footer). */
.ppe-sticky.ppe-sticky--footer { transform: translateY(160%) !important; opacity: 0 !important; pointer-events: none !important; }
@media (max-width: 1023.98px) {
	.ppe-sticky__row { min-height: 58px; }
}
@media (min-width: 1024px) {
	.ppe-sticky { left: auto; right: clamp(16px, 2vw, 28px); width: auto; max-width: 500px; bottom: clamp(16px, 2vw, 24px); border: 1px solid var(--ppe-gold); border-radius: 14px; box-shadow: 0 22px 54px rgba(20,20,20,0.30); }
	.ppe-sticky__row { min-height: 56px; }
	/* Desktop no longer needs the mobile full-viewport footer clearance. */
	.ppe-footer { padding-block: 64px 40px; }
}
