/* Experiences are separate photographic chapters, connected by an unobtrusive index. */
body.experiences-page main{padding-top:0}
html:has(.experiences-page){scroll-padding-top:190px}
.exp-label{font-size:.75rem;font-weight:550;letter-spacing:.16em;line-height:1.5;text-transform:uppercase}
.exp-hero{height:min(900px,100svh);min-height:730px;position:relative;isolation:isolate;overflow:hidden;background:#101924}
.exp-hero-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.exp-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 63%;will-change:transform}
.exp-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#04090f70,transparent 65%,#05090ee0),linear-gradient(90deg,#03070bba,transparent 76%)}
.exp-hero-content{height:100%;padding-top:168px;padding-bottom:70px;display:flex;flex-direction:column;align-items:flex-start}
.exp-hero .exp-label{color:#d6e0ed;margin-bottom:22px}
.exp-hero h1{font-size:clamp(62px,7.3vw,110px);line-height:.99;letter-spacing:-.065em;font-weight:650;max-width:960px;text-shadow:0 3px 40px #0003}
.exp-hero h1 span{color:#9cb8ff}
.exp-hero-bottom{margin-top:auto;display:flex;align-items:flex-end;gap:60px}
.exp-hero-bottom p{font-size:1.0625rem;line-height:1.6;color:#dce5ef;text-shadow:0 1px 15px #000}
.exp-button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;border-radius:999px;padding:16px 26px;font-size:.875rem;font-weight:600;line-height:1.4;transition:background .25s,transform .25s;gap:0}
.exp-button:hover{transform:translateY(-2px)}.exp-button:active{transform:translateY(0)}
.exp-button-white{background:#f7f9fc;color:#111e30}.exp-button-white:hover{background:#d6e4ff;color:#111e30}
.exp-button-dark{background:#132131;color:#fff}.exp-button-dark:hover{background:#284763;color:white}
.exp-button-blue{background:#164bff;color:#fff}.exp-button-blue:hover{background:#3867ff;color:white}
.exp-hero-location{position:absolute;bottom:78px;right:var(--gutter);font-size:.6875rem;letter-spacing:.16em;color:#c2cedd}
.exp-chapters{position:sticky;top:105px;z-index:10;background:#080e16f2;backdrop-filter:blur(16px);border-bottom:1px solid #223145}
.exp-chapters>.container{display:flex;align-items:center;gap:44px}
.exp-chapters a{display:flex;align-items:center;min-height:68px;color:#9bacbf;font-size:.875rem;position:relative}
.exp-chapters a::after{content:'';position:absolute;bottom:0;height:3px;left:0;right:0;background:#507fff;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.exp-chapters a[aria-current]{color:#fff}.exp-chapters a[aria-current]::after{transform:scaleX(1)}.exp-chapters a:hover{color:#fff}
.exp-chapter{scroll-margin-top:0}
.exp-self{background:#e9edf1;color:#101f30;padding:98px 0 60px}
.exp-section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:end;margin-bottom:52px}
.exp-section-heading .exp-label{color:#526378;margin-bottom:25px}
.exp-chapter h2,.exp-planning h2{font-size:clamp(42px,5vw,76px);line-height:1.04;letter-spacing:-.055em;font-weight:650}
.exp-section-copy{padding-bottom:5px}.exp-section-copy>p{font-size:1.0625rem;line-height:1.75;color:#526276;max-width:390px;margin-bottom:26px}
.exp-drive-image{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:2.45;background:#0d1b27}
.exp-drive-image img{width:100%;height:100%;object-position:50% 63%}
.exp-drive-image>span{position:absolute;top:26px;left:28px;color:#fff;font-size:.6875rem;font-weight:550;letter-spacing:.14em;text-shadow:0 1px 9px #000}
.exp-drive-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;font-size:.9375rem;line-height:1.7;color:#526276}
.exp-drive-bottom>a{display:inline-flex;align-items:center;min-height:48px;color:#1e3e65;text-decoration:underline;text-underline-offset:6px;white-space:nowrap}
.exp-chauffeur{padding:100px 0;background:#0c151f}
.exp-chauffeur-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:10%;align-items:center}
.exp-chauffeur .exp-label{color:#8facd5;margin-bottom:26px}
.exp-chauffeur h2{font-size:clamp(44px,4.9vw,72px)}
.exp-body{font-size:1rem;line-height:1.8;color:#acbdcf;margin-top:27px;max-width:440px}
.exp-plan-details{margin:36px 0;display:grid;gap:20px;font-size:.875rem;line-height:1.5}.exp-plan-details dt{color:#f2f5fa;font-weight:550}.exp-plan-details dd{margin:4px 0 0;color:#92a6be}
.exp-passenger-photo{margin:0;position:relative;overflow:hidden;border-radius:180px 8px 8px 8px;aspect-ratio:.77}
.exp-passenger-photo img{width:100%;height:100%;object-position:48% 50%}
.exp-passenger-photo::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#050c14bd);pointer-events:none}
.exp-passenger-photo figcaption{position:absolute;left:28px;right:24px;bottom:30px;z-index:1;font-size:.875rem;line-height:1.5;color:#eff4fa}
.exp-wedding{background:#dfe5e6;color:#14252d;padding:110px 0}
.exp-wedding-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}
.exp-wedding-photo{margin:0;position:relative;max-width:620px;padding:0 25px 35px 0;isolation:isolate}
.exp-wedding-photo::before{content:'';position:absolute;inset:40px 0 0 35px;background:#bfcace;z-index:-1}
.exp-wedding-photo img{width:100%;aspect-ratio:.84;object-position:53% 50%}
.exp-wedding-photo figcaption{font-size:.6875rem;letter-spacing:.13em;margin:17px 0 -19px 50px;color:#3f555e}
.exp-wedding .exp-label{color:#4c626d;margin-bottom:25px}
.exp-wedding .exp-body{color:#50646c}.exp-wedding .exp-button{margin-top:30px}
.exp-small{font-size:.8125rem;color:#5d7078;line-height:1.6;margin-top:19px;max-width:310px}
.exp-planning{padding-block:96px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.exp-planning .exp-label{color:#8fafd9;margin-bottom:25px}.exp-planning h2{font-size:clamp(36px,3.6vw,52px)}
.exp-planning-intro>p:last-child{font-size:1rem;line-height:1.7;color:#9dafc4;margin-top:25px;max-width:350px}
.exp-questions details{border-bottom:1px solid #293643}.exp-questions details:first-child{border-top:1px solid #293643}
.exp-questions summary{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:80px;padding:20px 0;cursor:pointer;list-style:none;font-size:1rem;line-height:1.5;font-weight:500}.exp-questions summary::-webkit-details-marker{display:none}
.exp-questions summary>span{width:20px;height:20px;flex-shrink:0;position:relative}.exp-questions summary>span::before,.exp-questions summary>span::after{content:'';position:absolute;left:3px;top:9px;background:#91b1f9;width:14px;height:2px;transition:transform .25s}.exp-questions summary>span::after{transform:rotate(90deg)}.exp-questions details[open] summary>span::after{transform:rotate(0)}
.exp-questions summary:hover{color:#bdd3ff}.exp-questions details>div{padding:0 30px 27px 0;font-size:.9375rem;line-height:1.8;color:#a8b9cd}
.exp-questions details[open]>div{animation:exp-answer .28s ease-out}@keyframes exp-answer{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.exp-finale{padding:76px 0 85px;background:#15263c}
.exp-finale .exp-label{color:#9db7de;margin-bottom:20px}.exp-finale h2{font-size:clamp(38px,5vw,70px);letter-spacing:-.055em;font-weight:650;line-height:1.1}
.exp-planner{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:end;margin-top:38px}
.exp-planner label{display:flex;flex-direction:column;gap:12px;font-size:.8125rem;color:#adc1dc;min-width:0}
.exp-planner select{width:100%;min-width:0;background:#20364f;border:1px solid #425971;border-radius:9px;color:#fff;min-height:56px;padding:14px 40px 14px 17px;font-size:1rem}
.exp-planner .exp-button{min-height:56px;padding-inline:34px}.exp-finale-note{font-size:.8125rem;color:#9db3cf;line-height:1.6;margin-top:23px}
.exp-reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .85s cubic-bezier(.2,.65,.2,1)}.exp-reveal.is-visible{opacity:1;transform:none}
.occasion-heading>a.button{margin-top:24px}
@media(max-width:1100px){.exp-hero-location{display:none}.exp-chauffeur-layout,.exp-wedding-layout{gap:6%}.exp-chauffeur h2{font-size:50px}.exp-passenger-photo{aspect-ratio:.68;border-top-left-radius:120px}.exp-chapter h2{font-size:clamp(40px,5.3vw,62px)}.exp-section-heading{gap:6%;grid-template-columns:1.15fr 1fr}}
@media(max-width:760px){.exp-hero{min-height:650px;height:87svh;max-height:820px}.exp-hero-content{padding-top:137px;padding-bottom:45px}.exp-hero h1{font-size:clamp(47px,8.8vw,68px);line-height:1.04;letter-spacing:-.055em}.exp-hero .exp-label{font-size:.6875rem;margin-bottom:22px}.exp-hero-photo{inset:160px -30% 30px -30%}.exp-hero-photo img{object-position:56% 53%}.exp-hero::after{background:linear-gradient(180deg,#0c151f 15%,#0c151f75 38%,transparent 55%,#0c151f 98%)}.exp-hero-bottom{display:block}.exp-hero-bottom p{font-size:.9375rem;line-height:1.6}.exp-hero-bottom .exp-button{margin-top:21px}.exp-chapters{top:87px}.exp-chapters>.container{gap:0;justify-content:space-between}.exp-chapters a{min-height:62px;font-size:.75rem}.exp-chapter{scroll-margin-top:173px}.exp-self{padding:58px 0 38px}.exp-section-heading{display:block;margin-bottom:32px}.exp-chapter h2{font-size:clamp(36px,8.2vw,56px)}.exp-section-heading .exp-label,.exp-chauffeur .exp-label,.exp-wedding .exp-label{font-size:.6875rem;margin-bottom:20px}.exp-section-copy{padding:0}.exp-section-copy>p{font-size:1rem;line-height:1.7;margin:24px 0;max-width:520px}.exp-drive-image{aspect-ratio:1.3}.exp-drive-image img{object-position:50% 60%}.exp-drive-image>span{top:19px;left:18px;font-size:.625rem}.exp-drive-bottom{display:block;font-size:.875rem;margin-top:20px}.exp-drive-bottom>a{margin-top:12px}.exp-chauffeur{padding:57px 0}.exp-chauffeur-layout{display:flex;flex-direction:column;gap:36px}.exp-chauffeur-copy{width:100%}.exp-body{max-width:520px;margin-top:23px;font-size:1rem}.exp-plan-details{grid-template-columns:1fr;gap:17px;margin:25px 0}.exp-plan-details>div{display:grid;grid-template-columns:100px 1fr;gap:8px}.exp-plan-details dd{margin:0}.exp-passenger-photo{width:100%;aspect-ratio:1.02;border-top-left-radius:110px}.exp-passenger-photo figcaption{left:23px;bottom:24px;font-size:.8125rem}.exp-wedding{padding:58px 0 65px}.exp-wedding-layout{display:flex;flex-direction:column-reverse;gap:37px}.exp-wedding-copy{width:100%}.exp-wedding-photo{width:100%;max-width:none;padding:0 17px 32px 0}.exp-wedding-photo img{aspect-ratio:1.05}.exp-wedding-photo figcaption{margin-left:25px;font-size:.625rem}.exp-wedding-photo::before{inset:27px 0 0 25px}.exp-planning{padding-block:58px;grid-template-columns:1fr;gap:29px}.exp-planning .exp-label{font-size:.6875rem;margin-bottom:20px}.exp-planning h2{font-size:37px}.exp-planning-intro>p:last-child{margin-top:21px}.exp-questions summary{min-height:77px;font-size:.9375rem;gap:18px}.exp-questions details>div{padding-right:13px;font-size:.9375rem}.exp-finale{padding:55px 0 62px}.exp-finale h2{font-size:42px}.exp-finale .exp-label{font-size:.6875rem}.exp-planner{grid-template-columns:1fr;gap:23px;margin-top:30px}.exp-planner .exp-button{width:100%;margin-top:3px}.exp-finale-note{padding-right:30px}.exp-button{font-size:.875rem;min-height:54px}}
@media(max-width:360px){.exp-hero h1{font-size:42px}.exp-hero{min-height:650px}.exp-chapters a{font-size:.6875rem}.exp-chapter h2{font-size:35px}.exp-finale h2{font-size:36px}.exp-plan-details>div{grid-template-columns:1fr;gap:3px}}
@media(prefers-reduced-motion:reduce){.exp-reveal{opacity:1;transform:none}.exp-hero-photo img{will-change:auto;transform:none!important}.exp-button:hover{transform:none}}
@media(max-width:760px){html:has(.experiences-page){scroll-padding-top:170px}.exp-chapter{scroll-margin-top:0}}
@media(min-width:361px) and (max-width:760px){.exp-hero{height:calc(100svh - 166px);min-height:650px}}
