.icon-xs{width:15px;height:15px}.icon-sm{width:20px;height:20px}.icon-md{width:26px;height:26px}.icon-lg{width:32px;height:32px}.icon-xl{width:44px;height:44px}.icon-xs,.icon-sm,.icon-md,.icon-lg,.icon-xl{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.eyebrow{margin-bottom:var(--space-4);color:var(--gold-600);font-size:.72rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.section-heading{max-width:760px;margin-bottom:var(--space-8)}.section-heading--center{text-align:center;margin-inline:auto}.section-heading h2{margin-bottom:var(--space-4)}.section-intro{max-width:660px;color:var(--muted);font-size:1.05rem;line-height:1.8}.section-heading--center .section-intro{margin-inline:auto}
.button-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border:1px solid transparent;border-radius:var(--radius-xs);font-size:.82rem;font-weight:750;letter-spacing:.015em;transition:transform var(--transition),background var(--transition),border var(--transition),box-shadow var(--transition)}.button:hover{transform:translateY(-2px)}.button-lg{min-height:58px;padding-inline:30px}.button-gold{background:linear-gradient(135deg,var(--gold-500),var(--gold-600));color:var(--white);box-shadow:0 8px 24px rgba(185,130,45,.2)}.button-gold:hover{box-shadow:0 13px 30px rgba(185,130,45,.3)}.button-dark{background:var(--navy-950);color:var(--white)}.button-dark:hover{background:var(--navy-800);box-shadow:var(--shadow-sm)}.button-outline{border-color:var(--gold-600);background:transparent;color:var(--gold-600)}.button-light-outline{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.03);color:var(--white);backdrop-filter:blur(8px)}.button-light-outline:hover{background:var(--white);color:var(--navy-950)}.button-footer{border-color:rgba(223,189,124,.45);color:var(--gold-300);min-height:42px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--navy-900);font-size:.82rem;font-weight:750}.text-link::after{content:'';height:1px;width:28px;background:var(--gold-600);transition:width var(--transition)}.text-link:hover::after{width:42px}
.icon-circle{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--gold-100);color:var(--gold-600);border:1px solid rgba(185,130,45,.18);flex:0 0 auto}.badge,.tag,.status-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:5px 10px;border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success);font-size:.68rem;font-weight:750}.badge--gold{background:var(--gold-100);color:var(--gold-600)}.badge--navy{background:#eaf0f7;color:var(--navy-800)}
.site-header{height:var(--header-height);position:sticky;top:0;z-index:100;background:rgba(255,253,249,.94);border-bottom:1px solid rgba(228,221,210,.78);backdrop-filter:blur(18px);transition:box-shadow var(--transition),height var(--transition)}.site-header.is-scrolled{box-shadow:var(--shadow-sm)}.header-inner{height:100%;display:flex;align-items:center;gap:var(--space-6)}.brand{display:flex;align-items:center;gap:14px;white-space:nowrap}.brand-mark{position:relative;display:flex;align-items:flex-end;width:48px;height:48px;color:var(--gold-600);font-family:var(--serif);font-size:2rem;line-height:1}.brand-mark i{font-style:normal}.brand-mark i+ i{margin-left:-8px;margin-bottom:-5px}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font:400 1.08rem var(--serif)}.brand-copy small{margin-top:4px;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.1vw,34px);margin-left:auto}.desktop-nav a,.account-link{position:relative;font-size:.76rem;font-weight:650}.desktop-nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--gold-600);transition:right var(--transition)}.desktop-nav a:hover::after{right:0}.header-actions{display:flex;align-items:center;gap:18px}.desktop-cta{min-height:44px;padding-inline:18px}.menu-toggle{display:none;border:0;background:transparent;color:var(--navy-950);padding:8px}.mobile-menu,.mobile-menu-backdrop{display:none}
.trust-strip{background:var(--paper);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.trust-strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-strip article{display:flex;align-items:center;gap:16px;min-height:112px;padding:20px clamp(18px,2.1vw,32px);border-right:1px solid var(--border)}.trust-strip article:last-child{border:0}.trust-strip strong,.trust-strip small{display:block}.trust-strip strong{font-size:.86rem;color:var(--navy-950)}.trust-strip small{margin-top:3px;color:var(--muted);font-size:.72rem}
.booking-progress{background:var(--white);border-bottom:1px solid var(--border)}.booking-progress ol{display:grid;grid-template-columns:repeat(5,1fr);width:var(--shell);margin:0 auto;padding:0;list-style:none}.booking-progress li{position:relative;display:flex;align-items:center;gap:10px;min-height:76px;color:#9aa2ad;font-size:.72rem}.booking-progress li:not(:last-child)::after{content:'';position:absolute;right:16px;width:36%;height:1px;background:var(--border)}.booking-progress li>span,.booking-progress li>.icon-sm{display:grid;place-items:center;width:30px;height:30px;padding:6px;border:1px solid var(--border);border-radius:50%;font-weight:750}.booking-progress .is-current{color:var(--navy-950)}.booking-progress .is-current>span{background:var(--navy-950);border-color:var(--navy-950);color:#fff}.booking-progress .is-complete{color:var(--success)}.booking-progress .is-complete>.icon-sm{background:var(--success-bg);border-color:#c7e5d2}
.site-footer{position:relative;background:var(--navy-950);color:#d5dde7;padding:78px 0 0}.footer-accent{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,transparent 4%,var(--gold-600) 25%,var(--gold-300) 50%,var(--gold-600) 75%,transparent 96%);opacity:.55}.footer-grid{display:grid;grid-template-columns:1.65fr repeat(4,1fr);gap:clamp(28px,3.5vw,60px)}.footer-brand-column p{max-width:340px;margin:20px 0;color:#9eabb9;font-size:.84rem}.brand-light .brand-copy strong,.brand-light .brand-copy small{color:#fff}.footer-promise{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);max-width:330px;color:var(--gold-300)}.footer-promise span{display:flex;flex-direction:column}.footer-promise strong{color:#fff;font-size:.78rem}.footer-promise small{color:#8f9cac;font-size:.68rem}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-column h3{margin-bottom:10px;color:#fff;font:750 .68rem var(--sans);letter-spacing:.18em;text-transform:uppercase}.footer-column>a:not(.button),.footer-column>p{color:#99a8b8;font-size:.78rem;transition:color var(--transition)}.footer-column>a:not(.button):hover{color:var(--gold-300)}.footer-contact>a{display:flex;align-items:center;gap:8px}.footer-contact p{display:flex;flex-direction:column}.footer-contact p strong{color:#fff}.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-top:64px;padding-block:22px;border-top:1px solid rgba(255,255,255,.1);color:#77879a;font-size:.68rem}.footer-bottom nav{display:flex;gap:22px}.footer-bottom>span:last-child{text-align:right}
.form-error,.form-success{padding:13px 15px;border-radius:var(--radius-sm);font-size:.82rem}.form-error{background:var(--danger-bg);color:var(--danger);border:1px solid #efcaca}.form-success{background:var(--success-bg);color:var(--success);border:1px solid #c9e6d3}.toast{position:fixed;z-index:300;right:24px;bottom:24px;max-width:360px;padding:14px 18px;background:var(--navy-950);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(16px);pointer-events:none;transition:var(--transition)}.toast.show{opacity:1;transform:none}
.fleet-crop{display:block;background-image:url('../images/selected-fleet.png');background-repeat:no-repeat;background-size:300% 100%;background-color:#ece8e1}.fleet-left{background-position:left center}.fleet-center{background-position:center center}.fleet-right{background-position:right center}
.error-page{text-align:center;padding:130px 24px;min-height:70vh}.error-page>span{font:4.5rem var(--serif);color:var(--gold-600)}.error-page h1{font-size:3.4rem}.error-page p{color:var(--muted)}

/* The booking flow has six visible stages. */
.booking-progress ol{grid-template-columns:repeat(6,minmax(0,1fr))}.booking-progress li{min-width:0}

/* Keep the vehicle collection proportional while cropping each panel. */
.fleet-crop{background-size:300% auto}
