.pat {
	--pat-charcoal: #141414;
	--pat-graphite: #1E1E1D;
	--pat-black: #0A0A0A;
	--pat-ivory: #F7F3EC;
	--pat-paper: #FCFAF6;
	--pat-sand: #EFE7D8;
	--pat-panel: #EFE9DE;
	--pat-ink: #211F1B;
	--pat-muted: #5E5950;
	--pat-line: #E4DCCC;
	--pat-line-2: #D6CCB8;
	--pat-on-dark: #B7B1A4;
	--pat-text-dark: #E4DCCC;
	--pat-gold-ink: #7A5B22;
	--pat-gold: #C6A664;
	--pat-gold-soft: #D8BE86;
	--pat-gold-deep: #A9853F;
	--pat-dline: #2A2A28;
	--pat-drule: #4A4234;
	--pat-grule: #6E5B36;
	--pat-ease: cubic-bezier(.22, 1, .36, 1);
	--pat-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--pat-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--pat-gut: clamp(20px, 3.4vw, 48px);
	--pat-top: calc(var(--ppe-header-h, 74px) + 28px);
	background: var(--pat-charcoal);
	color: var(--pat-ink);
	font-family: var(--pat-sans);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
	font-variant-numeric: lining-nums;
}
.pat *, .pat *::before, .pat *::after { box-sizing: border-box; }
.pat :where(section, [id]) { scroll-margin-top: calc(var(--ppe-header-h, 74px) + 12px); }
:where(.pat) :where(p, h1, h2, h3, figure) { margin: 0; }
.pat a { color: var(--pat-gold-ink); text-decoration: underline; text-underline-offset: 3px; }
.pat a:hover { color: var(--pat-gold-deep); }
:where(.pat) button { font: inherit; }
.pat :focus-visible { outline: 3px solid var(--pat-gold-ink); outline-offset: 2px; box-shadow: 0 0 0 2px var(--pat-paper); }
.pat :is(.pat-hero, .pat-sec--dark, .pat-sec--graphite, .pat-sec--close, .pat-count) :focus-visible { outline-color: var(--pat-gold-soft); box-shadow: 0 0 0 2px var(--pat-charcoal); }
.pat .pat-plate :focus-visible { outline-color: var(--pat-gold-ink); box-shadow: 0 0 0 2px var(--pat-paper); }
.pat-w { max-width: 1344px; margin: 0 auto; padding: 0 var(--pat-gut); }

.pat-num { margin: 0 0 20px; font: 600 12px/1 var(--pat-sans); letter-spacing: .24em; color: var(--pat-gold-ink); }
.pat-h2 { font: 500 clamp(36px, 4.4vw, 64px)/1.02 var(--pat-serif); letter-spacing: -.01em; color: var(--pat-ink); text-wrap: balance; }
.pat-h2--16 { max-width: 16ch; }
.pat-h2--14 { max-width: 14ch; }
.pat-h2--18 { max-width: 18ch; }
.pat-h2--60 { font-size: clamp(36px, 4.2vw, 60px); }
.pat-h2--xl { font-size: clamp(42px, 5.6vw, 84px); line-height: .98; letter-spacing: -.015em; }
.pat-p { font: 400 17px/1.7 var(--pat-sans); color: var(--pat-ink); text-wrap: pretty; }
.pat-muted { color: var(--pat-muted); }
.pat-p--lead { margin-top: 6px; }
.pat-display { display: block; margin-bottom: 18px; font: 500 clamp(24px, 2.2vw, 32px)/1.22 var(--pat-serif); color: var(--pat-ink); }
.pat-rule { padding-top: 28px; border-top: 1px solid var(--pat-line); }
.pat-box { padding: 22px 24px; background: var(--pat-ivory); border-radius: 4px; }
.pat-small { margin-top: 28px; font-size: 16px; color: var(--pat-muted); }
.pat-from { font-size: 15px; font-weight: 400; letter-spacing: 0; margin-right: 2px; }
.pat-stars { display: inline-flex; gap: 2px; color: var(--pat-gold); flex: none; }
.pat-stars svg { display: block; }
.pat-ic { flex: none; }

.pat-sec { padding: clamp(72px, 8.4vw, 128px) 0; }
.pat-sec--ivory { background: var(--pat-ivory); }
.pat-sec--paper { background: var(--pat-paper); }
.pat-sec--sand { background: var(--pat-sand); }
.pat-sec--dark, .pat-sec--close { background: var(--pat-charcoal); color: var(--pat-ivory); }
.pat-sec--graphite { background: var(--pat-graphite); color: var(--pat-ivory); }
.pat-sec--close { padding: clamp(80px, 9.4vw, 144px) 0; }
.pat :is(.pat-sec--dark, .pat-sec--graphite, .pat-sec--close) :is(.pat-h2, .pat-h3) { color: var(--pat-ivory); }
.pat :is(.pat-sec--dark, .pat-sec--graphite, .pat-sec--close) .pat-num { color: var(--pat-gold-soft); }
.pat :is(.pat-sec--dark, .pat-sec--graphite, .pat-sec--close) .pat-p { color: var(--pat-text-dark); }
.pat :is(.pat-sec--dark, .pat-sec--graphite, .pat-sec--close) .pat-muted { color: var(--pat-on-dark); }
.pat :is(.pat-hero, .pat-sec--dark, .pat-sec--graphite, .pat-sec--close) a:not(.pat-btn) { color: var(--pat-gold-soft); }
.pat :is(.pat-hero, .pat-sec--dark, .pat-sec--graphite, .pat-sec--close) a:not(.pat-btn):hover { color: var(--pat-ivory); }

.pat .pat-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 58px; padding: 0 28px; border-radius: 4px; font: 600 16px/1.2 var(--pat-sans); text-decoration: none; text-align: center; transition: transform .2s var(--pat-ease), box-shadow .2s var(--pat-ease), background-color .2s var(--pat-ease); }
.pat .pat-btn--dark { background: var(--pat-charcoal); color: var(--pat-ivory); }
.pat .pat-btn--dark .pat-ic { color: var(--pat-gold); }
.pat .pat-btn--dark:hover { background: var(--pat-black); color: var(--pat-ivory); box-shadow: 0 10px 30px rgba(198, 166, 100, .28); transform: translateY(-1px); }
.pat .pat-btn--ivory { background: var(--pat-ivory); color: var(--pat-charcoal); }
.pat .pat-btn--ivory:hover { background: #FFFFFF; color: var(--pat-charcoal); box-shadow: 0 10px 30px rgba(198, 166, 100, .3); transform: translateY(-1px); }
.pat .pat-btn:active { transform: translateY(1px); }
.pat .pat-btn--block { display: flex; width: 100%; padding: 0 24px; }
.pat .pat-btn--lg { min-height: 60px; padding: 0 32px; font-size: 17px; }
.pat-cta { margin-top: 8px; }
.pat-ctarow { margin-top: clamp(28px, 3vw, 44px); display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.pat-airnote { font: 400 15px/1.4 var(--pat-sans); color: var(--pat-on-dark); }

.pat-hero { position: relative; overflow: hidden; background: var(--pat-charcoal); color: var(--pat-ivory); }
.pat-hero__line { position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, rgba(198, 166, 100, 0), rgba(198, 166, 100, .5), rgba(198, 166, 100, 0)); }
.pat-hero__in { max-width: 1344px; margin: 0 auto; padding: clamp(36px, 5.6vw, 84px) var(--pat-gut) clamp(56px, 6vw, 96px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 470px); grid-template-areas: 'h plate' 'p plate'; column-gap: clamp(40px, 6vw, 112px); row-gap: clamp(28px, 3vw, 40px); align-items: start; }
.pat-hero__h { grid-area: h; }
.pat-hero__p { grid-area: p; display: flex; flex-direction: column; gap: 22px; max-width: 620px; }
.pat-kicker { margin: 0 0 clamp(18px, 2vw, 30px); display: flex; gap: 14px; align-items: center; font: 600 12px/1 var(--pat-sans); letter-spacing: .28em; color: var(--pat-gold-soft); }
.pat-kicker__r { width: 28px; height: 1px; background: var(--pat-grule); }
.pat-h1 { font: 500 clamp(46px, 6.9vw, 106px)/.96 var(--pat-serif); letter-spacing: -.015em; color: var(--pat-ivory); text-wrap: balance; max-width: 11ch; }
.pat-hero__lead { font: 400 clamp(16px, 1.25vw, 18px)/1.68 var(--pat-sans); color: var(--pat-text-dark); text-wrap: pretty; }
.pat-rating { display: flex; align-items: center; gap: 12px; font: 600 14px/1.3 var(--pat-sans); color: var(--pat-ivory); letter-spacing: .02em; }
.pat-plate { grid-area: plate; width: 100%; max-width: 640px; background: var(--pat-ivory); color: var(--pat-ink); border-radius: 6px; padding: clamp(20px, 2.2vw, 32px); box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.pat-plate__t { width: 100%; border-collapse: collapse; }
.pat-plate__t caption { caption-side: top; text-align: left; padding: 0 0 8px; font: 600 12px/1.4 var(--pat-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pat-muted); }
.pat-plate__t th { text-align: left; padding: 14px 0; border-bottom: 1px solid var(--pat-line); font: 600 19px/1 var(--pat-sans); letter-spacing: .12em; color: var(--pat-charcoal); }
.pat-plate__t th span { display: block; margin-top: 6px; font: 400 13px/1.2 var(--pat-sans); letter-spacing: 0; color: var(--pat-muted); }
.pat-plate__t td { text-align: right; padding: 14px 0; border-bottom: 1px solid var(--pat-line); font: 600 clamp(34px, 3vw, 44px)/1 var(--pat-sans); letter-spacing: -.03em; color: var(--pat-charcoal); white-space: nowrap; }
.pat-plate__t .pat-from { color: var(--pat-muted); }
.pat-plate__k { margin-top: 14px; font: 600 12px/1.4 var(--pat-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pat-gold-ink); }
.pat-plate .pat-btn--block { margin-top: clamp(20px, 2vw, 26px); }
.pat-plate__note { margin-top: clamp(18px, 2vw, 24px); padding-top: clamp(16px, 1.8vw, 22px); border-top: 1px solid var(--pat-line); font: 400 14.5px/1.62 var(--pat-sans); color: var(--pat-muted); text-wrap: pretty; }
.pat-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.pat-tab { min-height: 64px; padding: 10px 8px; border-radius: 4px; border: 1px solid var(--pat-line-2); background: transparent; color: var(--pat-ink); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; transition: border-color .2s var(--pat-ease), background-color .2s var(--pat-ease); }
.pat-tab:hover { border-color: var(--pat-gold-deep); }
.pat-tab[aria-pressed="true"] { background: var(--pat-charcoal); border-color: var(--pat-charcoal); color: var(--pat-ivory); }
.pat-tab b { font: 600 19px/1 var(--pat-sans); letter-spacing: .12em; }
.pat-tab small { font: 400 12px/1.2 var(--pat-sans); opacity: .86; }
.pat-big { margin-top: clamp(20px, 2.2vw, 30px); display: flex; align-items: flex-end; gap: 12px; }
.pat-big__from { font: 400 18px/1 var(--pat-sans); color: var(--pat-muted); padding-bottom: 14px; }
.pat-big__v { font: 600 clamp(72px, 7.4vw, 112px)/.84 var(--pat-sans); letter-spacing: -.04em; color: var(--pat-charcoal); }
.pat.is-js .pat-plate__t { display: none; }

.pat-headrow { display: flex; flex-wrap: wrap; gap: 24px clamp(40px, 6vw, 96px); align-items: flex-end; justify-content: space-between; }
.pat-headrow__h { flex: 1 1 520px; max-width: 760px; }
.pat-headrow__p { flex: 1 1 380px; max-width: 520px; line-height: 1.68; }
.pat-tbl { margin-top: clamp(40px, 4.4vw, 64px); }
.pat-prices { width: 100%; border-collapse: separate; border-spacing: 0; }
.pat-prices thead th { padding: 0 0 12px; border-bottom: 1px solid var(--pat-ink); text-align: left; vertical-align: bottom; }
.pat-prices .pat-prices__corner { padding: 0 20px 18px 0; width: 28%; font: 600 12px/1.4 var(--pat-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pat-muted); }
.pat-colh { display: flex; align-items: center; width: 100%; background: none; border: 0; border-bottom: 2px solid transparent; min-height: 44px; padding: 8px 12px 10px; font: 600 15px/1.3 var(--pat-sans); color: var(--pat-ink); text-align: left; }
.pat-prices tbody th { text-align: left; padding: 0; border-bottom: 1px solid var(--pat-line-2); font-weight: 400; }
.pat-rowh { display: flex; align-items: center; width: 100%; text-align: left; background: none; border: 0; color: inherit; padding: 26px 20px; font: 500 26px/1.1 var(--pat-serif); }
.pat-prices td { padding: 6px; border-bottom: 1px solid var(--pat-line-2); }
.pat-cell { display: flex; align-items: center; width: 100%; min-height: 64px; text-align: left; padding: 0 14px; border-radius: 4px; border: 1px solid transparent; background: transparent; color: var(--pat-ink); font: 600 26px/1 var(--pat-sans); letter-spacing: -.02em; transition: background-color .2s var(--pat-ease), border-color .2s var(--pat-ease); }
.pat-prices tr { transition: background-color .2s var(--pat-ease); }
.pat-prices tr.is-on { background: var(--pat-charcoal); color: var(--pat-ivory); }
.pat-prices tr.is-on .pat-cell { color: var(--pat-ivory); border-color: #3A3833; }
.pat-cards { margin-top: 36px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px; align-items: start; }
.pat-cards__k { grid-column: 1 / -1; font: 600 12px/1.4 var(--pat-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pat-muted); }
.pat-card { border-radius: 6px; border: 1px solid var(--pat-line); background: transparent; color: var(--pat-ink); overflow: hidden; }
.pat.is-js .pat-card { background: var(--pat-paper); }
.pat .pat-card.is-on { background: var(--pat-charcoal); border-color: var(--pat-charcoal); color: var(--pat-ivory); }
.pat-card__h { display: flex; align-items: center; width: 100%; text-align: left; background: none; border: 0; color: inherit; padding: 18px 16px 12px; font: 500 24px/1.1 var(--pat-serif); }
.pat-card__c { width: 100%; min-height: 52px; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 0 16px; border: 0; border-top: 1px solid var(--pat-line); background: transparent; color: inherit; text-align: left; font: 400 15px/1.3 var(--pat-sans); }
.pat-card.is-on .pat-card__c { border-top-color: var(--pat-dline); }
.pat-card__p { font: 600 20px/1 var(--pat-sans); white-space: nowrap; }
.pat-card__p .pat-from { font-size: 13px; margin-right: 1px; }
.pat :is(.pat-cell, .pat-card__c)[aria-pressed="true"] { background: var(--pat-gold); border-color: var(--pat-gold); color: var(--pat-charcoal); }
.pat button:is(.pat-colh, .pat-rowh, .pat-cell, .pat-card__h, .pat-card__c) { cursor: pointer; }
.pat button.pat-colh:hover { border-bottom-color: var(--pat-gold-deep); }
.pat button.pat-colh[aria-pressed="true"] { border-bottom-color: var(--pat-gold); }
.pat button.pat-cell:hover { border-color: var(--pat-gold-deep); }
@media (max-width: 999px) { .pat-tbl { display: none; } }
@media (min-width: 1000px) { .pat-cards { display: none; } }
.pat-sel { margin-top: 20px; min-height: 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 12px 16px; border-radius: 4px; background: var(--pat-panel); font: 400 15px/1.45 var(--pat-sans); color: var(--pat-ink); }
.pat-sel[hidden] { display: none; }
.pat-sel .pat-ic { color: var(--pat-gold-ink); }
.pat-cols { margin-top: clamp(40px, 4.4vw, 64px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 24px clamp(40px, 5vw, 80px); }
.pat-cols--3 { margin-top: clamp(40px, 4.6vw, 64px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px clamp(28px, 3.4vw, 56px); }
.pat-cols--3 .pat-p { font-size: 16px; }

.pat-gates { margin-top: clamp(40px, 4.6vw, 68px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: clamp(12px, 1.4vw, 20px); }
.pat-gate { border: 1px solid var(--pat-dline); border-radius: 6px; padding: clamp(22px, 2.2vw, 34px); display: flex; flex-direction: column; gap: 18px; transition: background-color .2s var(--pat-ease), border-color .2s var(--pat-ease); }
.pat-gate.is-on { background: var(--pat-graphite); border-color: var(--pat-gold); }
.pat-gate__code { align-self: flex-start; display: flex; align-items: baseline; gap: 14px; background: none; border: 0; padding: 0; color: var(--pat-ivory); }
.pat button.pat-gate__code { cursor: pointer; color: #9C978B; transition: color .2s var(--pat-ease); }
.pat button.pat-gate__code:hover, .pat button.pat-gate__code[aria-pressed="true"] { color: var(--pat-ivory); }
.pat-gate__c { font: 500 clamp(72px, 7vw, 108px)/.8 var(--pat-serif); letter-spacing: .02em; }
.pat-gate__p { font: 600 16px/1 var(--pat-sans); color: var(--pat-gold-soft); }
.pat-gate__p .pat-from { font-size: 13px; margin-right: 0; }
.pat-gate .pat-h3 { margin-top: 8px; font: 500 clamp(24px, 2vw, 30px)/1.15 var(--pat-serif); }
.pat-gate .pat-p { font-size: 16px; line-height: 1.68; }

.pat-split { display: flex; flex-wrap: wrap; gap: 32px clamp(48px, 7vw, 120px); align-items: flex-start; }
.pat-split__head { flex: 1 1 380px; max-width: 520px; }
.pat-split__main { flex: 1 1 520px; max-width: 700px; display: flex; flex-direction: column; gap: 28px; }
#faq .pat-split { gap: 32px clamp(48px, 6vw, 104px); }
#faq .pat-split__head { flex-basis: 320px; max-width: 440px; }

.pat #destination { padding-top: 0; }
.pat-dest__fig { position: relative; }
.pat-dest__fig .pat-photo { display: block; width: 100%; height: clamp(300px, 44vw, 660px); object-fit: cover; object-position: 50% 62%; }
.pat-dest__fig figcaption { position: absolute; right: var(--pat-gut); bottom: calc(14px - clamp(-160px, -9vw, -80px)); font: 400 12px/1.3 var(--pat-sans); letter-spacing: .06em; color: var(--pat-ivory); background: rgba(20, 20, 20, .72); padding: 6px 10px; border-radius: 2px; }
.pat-dest__plate { position: relative; margin-top: clamp(-160px, -9vw, -80px); background: var(--pat-ivory); border-radius: 6px; padding: clamp(24px, 3.4vw, 56px) clamp(24px, 3.4vw, 56px) 0; display: flex; flex-wrap: wrap; gap: 28px clamp(48px, 6vw, 104px); }
.pat-dest__head { flex: 1 1 380px; max-width: 520px; }
.pat-dest__body { flex: 1 1 480px; max-width: 680px; display: flex; flex-direction: column; gap: 22px; padding-top: clamp(0px, 2.6vw, 36px); }

.pat-path { list-style: none; margin: clamp(44px, 5vw, 76px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: clamp(36px, 4vw, 56px) clamp(28px, 3.4vw, 56px); }
.pat-path li { position: relative; padding-top: 34px; border-top: 1px solid var(--pat-drule); }
.pat-path__dot { position: absolute; top: -6px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--pat-gold); }
.pat-path li.is-next .pat-path__dot { background: var(--pat-charcoal); border: 1px solid var(--pat-gold); }
.pat-path__n { display: block; font: 600 14px/1 var(--pat-sans); letter-spacing: .2em; color: var(--pat-gold-soft); }
.pat-path .pat-h3 { margin: 16px 0; font: 500 clamp(26px, 2.2vw, 32px)/1.12 var(--pat-serif); }
.pat-path .pat-p { font-size: 16px; line-height: 1.68; }
.pat-fields { margin-top: 24px; background: var(--pat-graphite); border: 1px solid var(--pat-dline); border-radius: 6px; padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 10px; font: 400 14px/1.45 var(--pat-sans); color: var(--pat-text-dark); }
.pat-fields__r { display: flex; gap: 10px; }
.pat-fields__n { color: var(--pat-gold-soft); font-weight: 600; }
.pat-note { margin-top: clamp(44px, 5vw, 72px); max-width: 880px; padding-left: 22px; border-left: 1px solid var(--pat-grule); font: 400 17px/1.7 var(--pat-sans); color: var(--pat-on-dark); text-wrap: pretty; }

.pat-veh { display: flex; flex-wrap: wrap; gap: 40px clamp(48px, 5.6vw, 96px); align-items: flex-start; }
.pat-veh__intro { flex: 1 1 380px; max-width: 480px; display: flex; flex-direction: column; gap: 26px; }
.pat-count { background: var(--pat-charcoal); color: var(--pat-ivory); border-radius: 6px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.pat-count[hidden] { display: none; }
.pat-count__r { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; font: 400 16px/1.2 var(--pat-sans); }
.pat-count__r + .pat-count__r { padding-top: 14px; border-top: 1px solid var(--pat-dline); }
.pat-count__ctl { display: flex; align-items: center; gap: 6px; }
.pat-count__ctl button { width: 44px; height: 44px; border-radius: 4px; border: 1px solid var(--pat-drule); background: transparent; color: var(--pat-ivory); cursor: pointer; font: 400 22px/1 var(--pat-sans); }
.pat-count__ctl button:hover { border-color: var(--pat-gold); }
.pat-count__ctl button:disabled { opacity: .4; cursor: default; }
.pat-count__ctl output { min-width: 48px; text-align: center; font: 600 28px/1 var(--pat-sans); }
.pat-count__help { padding-top: 12px; border-top: 1px solid var(--pat-dline); font: 400 13.5px/1.5 var(--pat-sans); color: var(--pat-on-dark); }
.pat-veh__grid { flex: 1 1 560px; min-width: 0; display: flex; flex-direction: column; }
.pat-vg { display: grid; grid-template-columns: 160px minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1fr); gap: 16px 20px; align-items: center; }
.pat-vg--head { gap: 16px; padding: 0 0 12px; border-bottom: 1px solid var(--pat-ink); font: 600 12px/1.4 var(--pat-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--pat-muted); }
.pat-vg--head > span:first-child { grid-column: span 2; }
.pat-vg--row { text-align: left; padding: 16px 12px; margin: 0 -12px; border: 0; border-bottom: 1px solid var(--pat-line-2); background: transparent; box-shadow: inset 3px 0 0 transparent; color: var(--pat-ink); transition: background-color .2s var(--pat-ease), box-shadow .2s var(--pat-ease); }
.pat button.pat-vg--row { cursor: pointer; }
.pat button.pat-vg--row:hover { background: var(--pat-panel); }
.pat-vg--row.is-match { box-shadow: inset 3px 0 0 var(--pat-gold); }
.pat-vg--row.is-sel { background: var(--pat-panel); box-shadow: inset 3px 0 0 var(--pat-charcoal); }
.pat-vg__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; }
.pat-vg__tile { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4 / 3; border-radius: 3px; background: var(--pat-charcoal); color: var(--pat-gold-soft); font: 600 clamp(18px, 1.6vw, 22px)/1 var(--pat-sans); letter-spacing: .06em; }
.pat-vg__name { display: flex; flex-direction: column; gap: 8px; }
.pat-vg__title { font: 500 24px/1.1 var(--pat-serif); }
.pat-vg__ref { font: 400 15px/1.55 var(--pat-sans); }
.pat-vg__chk { font: 400 15px/1.55 var(--pat-sans); color: var(--pat-muted); }
.pat-chip { align-self: flex-start; font: 600 11px/1 var(--pat-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--pat-gold-ink); border: 1px solid var(--pat-gold); border-radius: 999px; padding: 5px 9px; }
.pat-chip--pref { color: var(--pat-ivory); background: var(--pat-charcoal); border-color: var(--pat-charcoal); }
@media (max-width: 1099px) { .pat-vg { grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); } }
@media (max-width: 759px) {
	.pat-vg--head { grid-template-columns: minmax(0, 1fr); }
	.pat-vg--head > span:first-child { grid-column: auto; }
	.pat-vg__d { display: none; }
	.pat-vg--row { grid-template-columns: 104px minmax(0, 1fr); }
	.pat-vg__ref, .pat-vg__chk { grid-column: 1 / -1; }
}

.pat-media { display: flex; flex-wrap: wrap; gap: 40px clamp(48px, 6vw, 104px); align-items: flex-start; }
.pat-media--rev { flex-wrap: wrap-reverse; }
.pat-media--end { align-items: flex-end; }
.pat-media--center { align-items: center; }
.pat-media__fig { flex: 1 1 360px; max-width: 520px; }
.pat-media__fig--sm { flex-basis: 340px; }
.pat-media__fig .pat-photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; }
.pat-media__fig figcaption { margin-top: 12px; font: 400 13px/1.4 var(--pat-sans); color: var(--pat-muted); }
.pat-media__main { flex: 1 1 520px; max-width: 700px; display: flex; flex-direction: column; gap: 24px; }
.pat-media__main .pat-num { margin: 0; }
.pat-media__main--wide { gap: 22px; }
.pat-sec--sand .pat-media__fig { max-width: 500px; }
.pat-confirm { flex: 1 1 380px; max-width: 500px; display: flex; flex-direction: column; gap: 16px; }
.pat-sheet { background: #FFFFFF; border: 1px solid var(--pat-line); border-radius: 6px; padding: clamp(22px, 2.4vw, 34px); box-shadow: 0 18px 44px rgba(33, 31, 27, .07); }
.pat-sheet__top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--pat-ink); font: 500 16px/1 var(--pat-serif); letter-spacing: .12em; text-transform: uppercase; }
.pat-sheet__top svg { color: var(--pat-gold-ink); flex: none; }
.pat-sheet__r { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--pat-line); font: 400 15px/1.3 var(--pat-sans); }
.pat-sheet__r:last-child { border-bottom: 0; padding-bottom: 0; }
.pat-sheet__dots { flex: 0 0 32%; border-bottom: 1px dotted var(--pat-on-dark); }
.pat-badge { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 6px; background: var(--pat-charcoal); color: var(--pat-ivory); font: 600 15px/1.3 var(--pat-sans); }

.pat-exec { margin-top: clamp(40px, 4.6vw, 68px); display: flex; flex-wrap: wrap; gap: 40px clamp(48px, 6vw, 104px); align-items: flex-start; }
.pat-roles { flex: 1 1 380px; max-width: 520px; display: flex; flex-direction: column; }
.pat-roles div { display: flex; align-items: baseline; gap: 18px; padding: 22px 0; border-top: 1px solid var(--pat-drule); }
.pat-roles div:last-child { border-bottom: 1px solid var(--pat-drule); }
.pat-roles__k { flex: none; width: 28px; font: 600 13px/1 var(--pat-sans); letter-spacing: .2em; color: var(--pat-gold-soft); }
.pat-roles__v { font: 500 clamp(30px, 3vw, 44px)/1.05 var(--pat-serif); color: var(--pat-ivory); }
.pat-exec__main { flex: 1 1 480px; max-width: 680px; display: flex; flex-direction: column; gap: 22px; }

.pat-beyond__head { flex: 1 1 380px; max-width: 520px; display: flex; flex-direction: column; gap: 32px; }
.pat-routes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pat-ink); }
.pat-routes li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--pat-line-2); }
.pat-routes__r { font: 500 22px/1.2 var(--pat-serif); color: var(--pat-ink); }
.pat-routes__q { font: 400 14px/1.3 var(--pat-sans); color: var(--pat-muted); text-align: right; }
.pat-routes__p { font: 600 18px/1 var(--pat-sans); color: var(--pat-ink); white-space: nowrap; }
.pat-routes__p .pat-from { font-size: 13px; margin-right: 0; }
#beyond .pat-media__main { flex-basis: 480px; max-width: 680px; gap: 22px; }

.pat-ft__head { display: flex; flex-wrap: wrap; gap: 32px clamp(48px, 6vw, 104px); align-items: flex-end; justify-content: space-between; }
.pat-ft__h { flex: 1 1 460px; max-width: 720px; }
.pat-ft__dia { flex: 0 1 460px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: stretch; gap: 12px; }
.pat-ft__box { border: 1px solid var(--pat-drule); border-radius: 6px; padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.pat-ft__box--opt { border-style: dashed; border-color: var(--pat-grule); }
.pat-ft__k { font: 600 11px/1 var(--pat-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--pat-gold-soft); }
.pat-ft__v { font: 500 22px/1.15 var(--pat-serif); color: var(--pat-ivory); }
.pat-ft__plus { align-self: center; font: 400 28px/1 var(--pat-serif); color: var(--pat-gold); }
.pat-sec--graphite .pat-cta { margin-top: clamp(28px, 3vw, 44px); }

.pat-faq { flex: 1 1 560px; max-width: 800px; border-top: 1px solid var(--pat-ink); }
.pat-faq__item { border-bottom: 1px solid var(--pat-line-2); }
.pat-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 72px; padding: 18px 0; cursor: pointer; list-style: none; }
.pat-faq__item summary::-webkit-details-marker { display: none; }
.pat-faq__q { font: 500 clamp(21px, 1.7vw, 25px)/1.25 var(--pat-serif); color: var(--pat-ink); }
.pat-faq__i { flex: 0 0 auto; display: inline-block; font: 400 24px/1 var(--pat-sans); color: var(--pat-gold-ink); transition: transform .24s var(--pat-ease); }
.pat-faq__item[open] .pat-faq__i { transform: rotate(45deg); }
.pat-faq__item .pat-p { margin: 0 0 24px; max-width: 66ch; font-size: 16px; }

.pat-arr { display: flex; flex-wrap: wrap; gap: 40px clamp(48px, 6vw, 104px); align-items: center; }
.pat-arr__main { flex: 1 1 520px; max-width: 680px; display: flex; flex-direction: column; gap: 26px; }
.pat-sec--close .pat-p--xl { font-size: 18px; line-height: 1.68; }
.pat-phone { flex: 1 1 380px; max-width: 520px; background: var(--pat-graphite); border: 1px solid var(--pat-dline); border-radius: 6px; padding: 22px 22px 18px; }
.pat-phone__top { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--pat-dline); font: 600 12px/1 var(--pat-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pat-gold-soft); }
.pat-phone__msg { margin-top: 16px; background: var(--pat-ivory); color: var(--pat-ink); border-radius: 6px 6px 6px 2px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; font: 400 14px/1.5 var(--pat-sans); }
.pat-phone__msg span { min-height: 10px; overflow-wrap: anywhere; }

@media (max-width: 959px) {
	.pat-hero__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'h' 'plate' 'p'; }
}
@media (min-width: 1200px) {
	.pat-stk { position: sticky; top: var(--pat-top); }
}
@media (max-width: 759px) {
	.pat-dest__plate { margin-top: 0; padding-left: 0; padding-right: 0; }
	.pat-dest__fig figcaption { bottom: 14px; }
}

body.ppe-page-airport .ppe-sticky { background: var(--pat-charcoal, #141414); border-top: 1px solid #2A2A28; box-shadow: 0 -6px 24px rgba(10, 10, 10, .24); transition: transform .32s cubic-bezier(.22, 1, .36, 1), opacity .2s linear; }
body.ppe-page-airport .ppe-sticky.pat-off { transform: translateY(110%) !important; opacity: 0; pointer-events: none; }
body.ppe-page-airport .ppe-sticky__row { min-height: 66px; padding: 10px 12px; gap: 10px; }
body.ppe-page-airport .ppe-sticky__label { font: 600 10.5px/1.25 'DM Sans', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #B7B1A4; white-space: normal; overflow: visible; text-overflow: clip; }
body.ppe-page-airport .ppe-sticky__value { font: 600 15px/1.15 'DM Sans', sans-serif; color: #F7F3EC; }
body.ppe-page-airport .ppe-sticky__value:empty { display: none; }
body.ppe-page-airport .ppe-sticky .ppe-wa { flex: 0 0 auto; background: #25D366; border: 0; color: #0B1F12; border-radius: 4px; min-height: 46px; padding: 0 14px; gap: 8px; font: 600 11.5px/1.1 'DM Sans', sans-serif; letter-spacing: .06em; text-transform: uppercase; }
body.ppe-page-airport .ppe-sticky .ppe-wa .ppe-ico { color: #0B1F12; width: 18px; height: 18px; }
body.ppe-page-airport .ppe-sticky .ppe-wa:hover { background: #1EBE5B; color: #0B1F12; box-shadow: none; }
body.ppe-page-airport .ppe-sticky .ppe-wa:focus-visible { outline: 2px solid #D8BE86; outline-offset: 3px; }
@media (min-width: 760px) {
	body.ppe-page-airport .ppe-sticky { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.pat *, .pat *::before, .pat *::after { transition: none !important; animation: none !important; }
	body.ppe-page-airport .ppe-sticky { transition: none; }
}
