/* Responsive adaptations and native scroll interactions. Figma IDs retain traceability. */
section *,header *,footer *{min-width:0}section p,section h1,section h2,section h3,section a,footer p,footer a{max-width:100%}
section>div,footer>div{width:100%}.section-heading{align-self:center}.section-heading h2{max-width:800px}.section-heading>p{max-width:780px}
#navigation{height:96px;gap:24px}#navigation>a{flex-shrink:0}#hero{height:auto}.n-124-269{flex:2}.n-124-272{flex:1}.n-124-282{flex:2;overflow:hidden}.n-124-286{flex:1}.n-124-283{background:rgba(246,245,238,.65)}
[data-name="Service row"]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}[data-name="Service row"]>div{width:100%;height:100%}
.n-17-299>div{flex:1}.n-17-305{flex:.94}.n-17-300>p,.n-17-300>div:not(.n-24-120){z-index:1}
.service-card{width:100%;isolation:isolate;scroll-margin-top:24px}.service-card>[data-name="Case information"]{flex:1;min-width:0}.service-card>[data-name^="Service image"]{flex:1.085}.service-card img{transition:transform .24s}.service-card:hover img{transform:scale(1.02)}
.n-101-12{overflow:visible}.n-101-13{flex:0 0 calc(480 / 1312 * 100%)}.n-101-39{flex:1;overflow:visible}.n-101-39>div{width:100%;scroll-margin-top:24px}.n-101-39>div>div,.n-101-39>div>p,.n-101-39>div>a{max-width:100%}.n-101-13>*{max-width:100%}
[data-name="Three illustrated booking steps"]{width:100%}[data-name="Three illustrated booking steps"]>div{flex:1}.rental-art{max-width:100%}.rental-art img{object-fit:contain}
.n-39-2>div{flex:1}.n-39-2>div>div{width:100%}.n-49-3{width:100%;height:auto;aspect-ratio:3/1}
.n-17-387>div{flex:1}.n-113-22{flex:2}.n-113-26{flex:1}.n-113-36>div{flex:1}.n-113-59{flex-wrap:wrap}.n-113-59>p{width:auto;flex:1}.n-115-6{width:100%;gap:4.2%}.n-I115-6-113-14{width:15%;height:auto;aspect-ratio:197.59/217.349}.n-115-6>p{font-size:clamp(50px,16.2vw,259px);letter-spacing:-.04em;white-space:nowrap}
.stack-enabled .service-card{position:sticky;top:calc(24px + var(--index)*48px);z-index:var(--layer)}.rental-stack-enabled .n-101-13{position:sticky;top:24px}.rental-stack-enabled .n-101-39>div{position:sticky;top:calc(24px + var(--index)*28px);z-index:var(--layer)}
@media (max-width:1100px){section,footer{padding-left:32px!important;padding-right:32px!important}#navigation{padding-inline:32px;gap:16px}#navigation>a:not(:last-of-type),#navigation>p{width:auto}.n-124-269{font-size:64px}.n-124-268{gap:32px}.n-124-281{gap:20px}.n-124-283{width:85%;left:20px}.n-124-286{padding:24px}.n-17-299{flex-wrap:wrap}.n-17-299>div{min-width:260px}.service-card{gap:24px;padding-inline:28px}.service-card h3{font-size:32px}.n-101-13{padding:24px}.n-101-39>div{padding:24px}.n-113-21{gap:48px}}
@media (max-width:760px){
section,footer{padding:48px 24px!important;gap:32px!important}section *:not(img):not(video),footer *:not(img){max-width:100%}section>div{width:100%}
#navigation{padding:20px 24px;height:80px;position:relative;flex-wrap:wrap;z-index:20}#navigation>div{width:auto}#navigation>div p{font-size:27px}#navigation>a,#navigation>p{display:none}#menu-toggle{display:block;margin-left:auto;padding:10px 14px;background:#123e32;color:white;border-radius:8px}#navigation.menu-open{height:auto}#navigation.menu-open>a{display:flex;width:100%;padding:12px;background:#f6f5ee}#navigation.menu-open>a:last-of-type{background:#123e32}
.n-124-268,.n-124-281,.n-124-314,.n-17-299,.n-101-12,.n-39-2,.n-17-387,.n-113-21,.n-113-36,.n-113-59{flex-direction:column!important;gap:24px!important}
.n-124-268>*,.n-124-281>*,.n-124-314>*,.n-17-299>*,.n-101-12>*,.n-39-2>*,.n-17-387>*,.n-113-21>*,.n-113-36>*{width:100%!important;flex:auto!important}
.n-124-269{font-size:44px;letter-spacing:-1.76px}.n-124-272{gap:20px}.n-124-282{height:304px;flex:none!important}.n-124-282>img{object-fit:cover;height:100%;width:100%}.n-124-283{top:auto;bottom:20px;left:16px;width:calc(100% - 32px)}.n-124-286{height:auto;padding:24px}.n-124-286>a{width:100%}.n-124-263{flex-shrink:0}.n-124-262>p{font-size:10px}
.section-heading h2{font-size:34px!important;letter-spacing:-1.02px!important}.section-heading>p{font-size:15px!important}
[data-name="Service row"]{grid-template-columns:1fr;gap:16px}[data-name="Service row"]>div{padding:24px}.n-17-299{padding:12px}.n-17-305{gap:16px}.n-17-300{height:500px}.n-17-313{padding:24px}.n-17-316{height:280px}.n-17-306,.n-17-310{padding:24px}
.service-card{flex-direction:column;height:auto;gap:24px;padding:24px;border-radius:24px}.service-card>[data-name="Case information"]{width:100%;height:auto;gap:16px;flex:none}.service-card h3{font-size:30px}.service-card [data-name="Flexible breathing space"]{display:none}.service-card a{width:100%;height:auto;min-height:76px}.service-card a>div:nth-child(2){flex:1}.service-card a>div:first-child{flex:0 0 42px}.service-card>[data-name^="Service image"]{flex:none;width:100%;height:280px}.service-card [data-name="Case metadata"]>div{flex:1}
.n-101-13{height:auto;min-height:660px;padding:24px}.n-101-39{width:100%;gap:24px}.n-101-39>div{height:auto;min-height:660px;padding:24px}.n-101-39>div>div:not([data-name^="Subtle"]){width:100%}.n-101-39 [data-name="Trip details"]{flex-direction:column;gap:12px}.rental-art{height:100px!important;width:100%!important}[data-name="Three illustrated booking steps"]{gap:8px!important}[data-name="Three illustrated booking steps"] p{font-size:10px!important}[data-name^="Subtle route pattern"]{pointer-events:none}
.n-39-2{gap:24px}.n-39-2>div{gap:24px}.n-39-2>div>div{padding:24px}.n-49-3{aspect-ratio:3/1}.n-17-387>div{padding:24px}.n-17-424{flex-direction:column}.n-17-424>a{width:100%}.n-113-24{font-size:56px}.n-113-26>a{width:100%}.n-113-36{gap:32px!important}.n-113-59>p{flex:auto}.n-115-6>p{font-size:16vw}.n-115-6{gap:3%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.service-card,.n-101-13,.n-101-39>div{position:relative!important;top:auto!important}}
#navigation .n-27-120{flex:1;justify-content:flex-end;gap:40px;width:auto}#navigation .n-27-120>a{flex-shrink:0;width:auto}#navigation .n-27-120>a:last-child{width:200px}#navigation .n-27-120 p{font-size:15px}
@media(max-width:1100px){#navigation .n-27-120{gap:20px}#navigation .n-27-120>a:last-child{width:170px}}
@media(max-width:760px){#navigation .n-27-120{display:none}#navigation.menu-open .n-27-120{display:flex;order:3;width:100%;flex-basis:100%;flex-direction:column;align-items:stretch;gap:8px}#navigation.menu-open .n-27-120>a{width:100%;padding:12px}#navigation .n-124-317 p{font-size:27px}}
.section-heading h2,.section-heading>p{max-width:100%}

/* Shared 24-second Figma rental illustration timeline. */
.n-103-583,.n-103-679,.n-103-775{animation:rental-plan 24s linear infinite;animation-play-state:paused}
.in-view .n-103-583,.in-view .n-103-679,.in-view .n-103-775{animation-play-state:running}
@keyframes rental-plan{0%{translate:0px 3px}0%{translate:0px 3px;animation-timing-function:ease-out}2.5%{translate:0px 0px;animation-timing-function:linear}12.5%{translate:0px 0px;animation-timing-function:ease-in-out}16.667%{translate:0px 3px;animation-timing-function:linear}25%{translate:0px 3px;animation-timing-function:ease-out}27.5%{translate:0px 0px;animation-timing-function:linear}37.5%{translate:0px 0px;animation-timing-function:ease-in-out}41.667%{translate:0px 3px;animation-timing-function:linear}50%{translate:0px 3px;animation-timing-function:ease-out}52.5%{translate:0px 0px;animation-timing-function:linear}62.5%{translate:0px 0px;animation-timing-function:ease-in-out}66.667%{translate:0px 3px;animation-timing-function:linear}75%{translate:0px 3px;animation-timing-function:ease-out}77.5%{translate:0px 0px;animation-timing-function:linear}87.5%{translate:0px 0px;animation-timing-function:ease-in-out}91.667%{translate:0px 3px;animation-timing-function:linear}100%{translate:0px 3px}}
.n-103-615,.n-103-711,.n-103-807{animation:rental-confirm 24s linear infinite;animation-play-state:paused}
.in-view .n-103-615,.in-view .n-103-711,.in-view .n-103-807{animation-play-state:running}
@keyframes rental-confirm{0%{translate:0px 3px}1.875%{translate:0px 3px;animation-timing-function:ease-out}4.375%{translate:0px 0px;animation-timing-function:linear}14.375%{translate:0px 0px;animation-timing-function:ease-in-out}18.542%{translate:0px 3px;animation-timing-function:linear}26.875%{translate:0px 3px;animation-timing-function:ease-out}29.375%{translate:0px 0px;animation-timing-function:linear}39.375%{translate:0px 0px;animation-timing-function:ease-in-out}43.542%{translate:0px 3px;animation-timing-function:linear}51.875%{translate:0px 3px;animation-timing-function:ease-out}54.375%{translate:0px 0px;animation-timing-function:linear}64.375%{translate:0px 0px;animation-timing-function:ease-in-out}68.542%{translate:0px 3px;animation-timing-function:linear}76.875%{translate:0px 3px;animation-timing-function:ease-out}79.375%{translate:0px 0px;animation-timing-function:linear}89.375%{translate:0px 0px;animation-timing-function:ease-in-out}93.542%{translate:0px 3px;animation-timing-function:linear}100%{translate:0px 3px}}
.n-103-646,.n-103-742,.n-103-838{animation:rental-journey 24s linear infinite;animation-play-state:paused}
.in-view .n-103-646,.in-view .n-103-742,.in-view .n-103-838{animation-play-state:running}
@keyframes rental-journey{0%{translate:-5px 0px}3.75%{translate:-5px 0px;animation-timing-function:ease-out}6.25%{translate:0px 0px;animation-timing-function:linear}16.25%{translate:0px 0px;animation-timing-function:ease-in-out}20.417%{translate:-5px 0px;animation-timing-function:linear}28.75%{translate:-5px 0px;animation-timing-function:ease-out}31.25%{translate:0px 0px;animation-timing-function:linear}41.25%{translate:0px 0px;animation-timing-function:ease-in-out}45.417%{translate:-5px 0px;animation-timing-function:linear}53.75%{translate:-5px 0px;animation-timing-function:ease-out}56.25%{translate:0px 0px;animation-timing-function:linear}66.25%{translate:0px 0px;animation-timing-function:ease-in-out}70.417%{translate:-5px 0px;animation-timing-function:linear}78.75%{translate:-5px 0px;animation-timing-function:ease-out}81.25%{translate:0px 0px;animation-timing-function:linear}91.25%{translate:0px 0px;animation-timing-function:ease-in-out}95.417%{translate:-5px 0px;animation-timing-function:linear}100%{translate:-5px 0px}}
@media(prefers-reduced-motion:reduce){.rental-art{animation:none!important}}

/* Reference-video scroll stacks: never disable just because a card is tall. */
.stack-enabled .service-card{top:calc(var(--service-top,24px) + var(--index)*48px);flex-shrink:0}
.rental-stack-enabled .n-101-13{top:var(--rental-top,24px);align-self:flex-start}
.rental-stack-enabled .n-101-39>div{top:calc(var(--rental-top,24px) + var(--index)*28px);flex-shrink:0}
#selected-services,#rent-a-car,.n-101-12,.n-101-39{overflow:visible}
.keyboard-browse .service-card,.keyboard-browse .n-101-39>div,.keyboard-browse .n-101-13{position:relative!important;top:auto!important}
.mobile-call{display:none}
@media(max-width:760px){
 #navigation{gap:12px;padding:16px 20px;align-items:center}
 #navigation .n-124-317{flex:1;min-width:0}
 #navigation .n-124-317 p{font-size:24px}
 #navigation .n-I124-318-113-7{width:25px;height:28px;flex-shrink:0}
 #navigation a.mobile-call,#navigation.menu-open a.mobile-call{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;height:44px;padding:0 12px;border-radius:8px;background:#123e32;color:white;font-size:13px;font-weight:700;flex-shrink:0}
 #menu-toggle{width:44px;height:44px;margin-left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px;background:transparent;color:#123e32;border:1px solid #123e3226}
 #menu-toggle span{display:block;width:20px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
 #menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 #menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 #menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* A single sticky stage matches the reference's final, intact stack. */
.scroll-stack-track{position:relative;width:100%;flex-shrink:0}
.scroll-stack-stage{display:flex;flex-direction:column;gap:32px;width:100%}
.scroll-stack-track.is-active .scroll-stack-stage{display:block;position:sticky;top:32px;overflow:hidden;isolation:isolate}
.scroll-stack-track.is-active .service-card{position:absolute;inset-inline:0;top:calc(var(--index)*56px);margin:0;will-change:transform}
.scroll-stack-track.is-active .n-101-12{position:relative;align-items:flex-start;height:100%}
.scroll-stack-track.is-active .n-101-13{position:relative;top:auto}
.scroll-stack-track.is-active .n-101-39{position:relative;height:100%}
.scroll-stack-track.is-active .n-101-39>div{position:absolute;inset-inline:0;top:calc(var(--index)*28px);will-change:transform}
@media(min-width:1001px){
 .service-card{padding-top:16px;padding-bottom:16px}
 .service-card>[data-name="Case information"]{height:496px;gap:12px}
 .service-card>[data-name="Case information"]>p:first-child{font-size:22px;line-height:1.35}
 .service-card h3{font-size:34px;line-height:1.12}
 .service-card>[data-name="Case information"]>p:not(:first-child){font-size:15px;line-height:1.5}
 .service-card>[data-name^="Service image"]{height:496px}
}
/* Keep enquiry actions next to the information, not at the card's foot. */
.service-card>[data-name="Case information"]>p:first-child{font-size:18px;line-height:1.35}
.service-card [data-name="Flexible breathing space"]{display:none}
.service-card [data-name="Case information"]>a{margin-top:144px;flex-shrink:0}
@media(min-width:1001px){
 .service-card>[data-name="Case information"]{justify-content:flex-start;gap:10px}
 .service-card h3{font-size:30px}
 .service-card [data-name="Case information"]>a{height:64px;min-height:64px}
 .scroll-stack-track.is-active .service-card{top:calc(var(--index)*var(--stack-step,40px))}
}

/* Tighter category strips; more breathing space before the enquiry CTA. */
@media(min-width:1001px){
 .service-card{padding-top:8px;padding-bottom:8px}
 .service-card>[data-name="Case information"]{height:512px}
 .service-card>[data-name="Case information"]>p:first-child{line-height:24px;margin-bottom:-4px}
}

/* Keep the category strip fixed; lower the complete content below it. */
.service-card > [data-name="Case information"] > :not(:first-child){translate:0 36px}

/* Keep rental artwork generous; trim whitespace before shrinking artwork. */
@media(min-width:1001px){
 #rent-a-car .n-101-13,#rent-a-car .n-101-39>div{height:756px;gap:16px;padding:24px}
 #rent-a-car .is-active .scroll-stack-stage{top:40px}
 #rent-a-car .is-active .n-101-13,#rent-a-car .is-active .n-101-39>div{height:var(--rental-card-height,756px)}
 #rent-a-car [data-name="Three illustrated booking steps"]{height:192px;flex-shrink:0;padding-inline:8px}
 #rent-a-car .rental-art{height:156px;width:215px;flex-shrink:0}
 #rent-a-car [data-name="Three illustrated booking steps"]>div{align-items:center;gap:8px}
 #rent-a-car .n-101-13>.n-101-15{font-size:32px}
 #rent-a-car .n-101-39>div>a,#rent-a-car .n-101-13>a{flex-shrink:0}
}
@media(min-width:1001px) and (max-height:735px){
 #rent-a-car [data-name="Three illustrated booking steps"]{height:168px}
 #rent-a-car .rental-art{height:136px;width:187px}
 #rent-a-car .n-101-13,#rent-a-car .n-101-39>div{gap:10px;padding:20px}
 #rent-a-car .n-101-13>.n-101-15{font-size:30px}
}
/* Anchor the original full-size route artwork to the bottom: a fixed top
   cropped most of it away when the card became shorter. */
#rent-a-car [data-name^="Subtle route pattern"]{top:auto;bottom:0;height:260px;width:792px;max-width:none;left:50%;transform:translateX(-50%);pointer-events:none}
/* Shared header across routed pages. */
#primary-navigation a[aria-current="page"]{color:#f65a30;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){#navigation>a.n-124-317,#navigation.menu-open>a.n-124-317{display:flex;width:auto;padding:0;background:transparent;flex:1}}

/* Mobile: clear reading order, reachable CTAs and native touch scrolling. */
@media(max-width:760px){
 .service-card{flex-direction:column;height:auto;padding:20px;gap:20px;border-radius:22px}
 .service-card>[data-name="Case information"]{width:100%;height:auto;flex:none;gap:12px}
 .service-card>[data-name="Case information"]>:not(:first-child){translate:none}
 .service-card [data-name="Case information"]>a{margin-top:8px;min-height:60px;height:auto;width:100%;padding:12px;gap:10px}
 .service-card [data-name="Case information"]>a>div:first-child{flex:0 0 36px;width:36px;height:36px}
 .service-card [data-name="Case information"]>a>div:nth-child(2){flex:1}
 .service-card [data-name="Case information"]>a p{font-size:13px;line-height:1.4}
 .service-card [data-name="Case information"]>a>div:nth-child(2)>p:first-child{font-size:15px}
 .service-card h3{font-size:28px;line-height:1.14;letter-spacing:-.8px}
 .service-card [data-name="Case information"]>p:not(:first-child){font-size:14px;line-height:1.5}
 .service-card [data-name="Case metadata"]{width:100%;gap:12px}
 .service-card [data-name="Case metadata"]>div{flex:1;width:auto}
 .service-card [data-name="Case metadata"] p{font-size:12px;line-height:1.4}
 .service-card [data-name="Case metadata"] p:first-child{font-size:9px}
 .service-card>[data-name^="Service image"]{width:100%;height:180px;flex:none;border-radius:14px;overflow:hidden}
 .service-card>[data-name^="Service image"] img{width:100%;height:100%;object-fit:cover}
 .mobile-stack .scroll-stack-stage{overflow:visible;gap:24px}
 .mobile-stack .service-card,.mobile-stack .n-101-39>div{position:sticky;top:var(--mobile-pin-top,16px);flex-shrink:0;box-shadow:0 -8px 24px rgb(18 62 50 / 5%)}
 .mobile-stack .n-101-12{height:auto;flex-direction:column;gap:24px}
 .mobile-stack .n-101-13{width:100%;height:auto;min-height:0;flex:auto;gap:20px;padding:24px}
 .mobile-stack .n-101-39{width:100%;height:auto;gap:24px;overflow:visible}
 .mobile-stack .n-101-39>div{height:auto;min-height:0;padding:20px;gap:16px}
 .mobile-stack .n-101-39>div>a,.mobile-stack .n-101-13>a{min-height:52px;height:auto;flex-shrink:0}
 #rent-a-car .n-101-39 [data-name="Trip details"]{flex-direction:row;gap:12px}
 #rent-a-car .n-101-39 [data-name="Trip details"]>div{flex:1;width:100%}
 #rent-a-car .n-101-39 [data-name="Trip details"] p{font-size:12px}
 #rent-a-car [data-name="Three illustrated booking steps"]{height:auto;gap:8px}
 #rent-a-car .rental-art{height:auto!important;aspect-ratio:215/156;width:100%!important}
 #rent-a-car .n-101-39>div>div:empty{display:none}
}
@media(max-width:760px){
 #hero .n-hero-23,#hero .n-hero-24{width:100%;height:100%;object-fit:cover;object-position:center 35%}
 #hero .n-124-283{padding:16px;border-radius:18px}
 #hero .n-124-285{font-size:28px}
 #hero .n-124-286{padding:22px;gap:20px}
 #hero .n-124-286 a p{max-width:100%}
 #hero .n-124-286 [data-name$="copy"]{flex:1}
 #hero .n-124-286 a>div:last-child{flex-shrink:0}
 #services [data-name="Service row"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #services [data-name="Service row"]>div{padding:16px;min-height:210px;height:auto;gap:12px}
 #services [data-name="Service row"]>div>p{font-size:15px;width:auto;line-height:1.4}
 #services [data-name="Service row"]>div>p:first-child{font-size:12px}
 #services [data-name="Service row"]>div>a{margin-top:auto;min-height:44px}
 .n-17-299>div{min-width:0}
 .n-17-300{height:440px}
 .n-124-314 p{font-size:12px;line-height:1.6}
}

/* A shared release boundary keeps the completed desktop stack intact. */
@media(min-width:1001px){
 .scroll-stack-track.is-active .scroll-stack-stage,
 #rent-a-car .is-active .scroll-stack-stage{top:var(--stack-pin-top,32px)}
}

/* Match row spacing to column spacing; retain heading-to-grid breathing room. */
#services{gap:16px!important}
#services>.section-heading{margin-bottom:16px}
@media(max-width:760px){
 #services{gap:12px!important}
 #services>.section-heading{margin-bottom:20px}
}


/* Homepage selected solutions only: separate the reading and action groups. */
@media(max-width:760px){
 main>#selected-services .service-card{padding:24px;gap:24px}
 main>#selected-services .service-card>[data-name="Case information"]{gap:16px}
 main>#selected-services .service-card>[data-name="Case information"]>p:first-child{margin-bottom:4px}
 main>#selected-services .service-card h3{font-size:26px;line-height:1.18;letter-spacing:-.65px}
 main>#selected-services .service-card [data-name="Case metadata"]{margin-top:8px;gap:16px}
 main>#selected-services .service-card [data-name="Case information"]>a{margin-top:24px;min-height:64px;padding:14px 12px}
 main>#selected-services .service-card>[data-name^="Service image"]{height:200px}
}

/* Footer navigation: four desktop columns, a two-by-two mobile grid. */
#footer .footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;width:100%}
#footer .footer-links>div,#footer .footer-links>nav{display:flex;flex-direction:column;gap:14px;width:100%!important;min-width:0}
#footer .footer-links>div>*,#footer .footer-links>nav>*{width:auto;max-width:100%}
#footer .footer-quick-links{font-family:Inter,sans-serif;font-size:15px;line-height:1.5;color:#f6f5ee}
#footer .footer-quick-links>p{color:#93ac9b;font-size:11px}
@media(max-width:760px){
 #footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px!important}
 #footer .footer-links a{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
 #footer .footer-links>div,#footer .footer-links>nav{gap:14px}
}
