:root{--ink:#242321;--dark:#151513;--cream:#f0eee8;--paper:#faf9f5;--muted:#76726a;--line:#d9d5cb;--lime:#c7b18b;--gold:#c7b18b;--max:1320px}body{font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.75}h1,h2,h3{font-family:Inter,Arial,sans-serif;font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(2.4rem,4.2vw,4.2rem);line-height:1.13}h2 em{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.17em;font-weight:400;letter-spacing:-.035em}h3{letter-spacing:-.025em}.container{width:min(var(--max),calc(100% - 112px))}.eyebrow{font-size:.66rem;letter-spacing:.22em;font-weight:500;color:#8a7252;margin-bottom:25px}.topbar{display:none}.header{position:relative;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:98px;gap:38px}.header nav{gap:32px;margin-left:auto}.header nav a{font-size:.76rem;font-weight:400;color:var(--ink)}.header nav a:hover,.header nav a[aria-current]{color:#9b7d51}.header-cta{border:1px solid #9b8665;background:transparent;color:var(--ink);border-radius:0;font-weight:500;padding:11px 22px;font-size:.75rem}.logo{display:block;font-family:Inter,Arial,sans-serif;font-size:1.55rem;letter-spacing:.17em;font-weight:500}.logo span{font-weight:400}.logo small{display:block;font-family:Inter,Arial,sans-serif;font-size:.43rem;font-weight:400;letter-spacing:.35em;text-align:center;margin-top:9px}.home-page .header{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:1px solid #ffffff25;color:white}.home-page .header nav a,.home-page .header-cta{color:white}.home-page .header-cta{border-color:#ffffff70}.button{border-radius:0;padding:16px 27px;font-size:.73rem;letter-spacing:.06em;font-weight:500;background:#c7b18b;border-color:#c7b18b;color:#1e211e;gap:40px}.button:hover{background:#d8c5a4;transform:none}.button-secondary{background:transparent;color:inherit;border-color:#a39a8e}.button-secondary:hover{background:#b7a18512}.quiet-link{display:inline-flex;gap:35px;align-items:center;text-decoration:none;border-bottom:1px solid #ffffff65;padding:11px 0;font-size:.76rem;font-weight:400}.dark-link{border-color:#bbb2a2}.quiet-link span{font-size:1.1rem}.cinema{height:min(920px,calc(100svh + 10px));min-height:740px;position:relative;background:#171816;color:#fff;overflow:hidden}.cinema video,.cinema-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cinema-shade{background:linear-gradient(90deg,#11120fec 0%,#11120f85 45%,#11120f15 100%),linear-gradient(0deg,#11120f99,transparent 50%)}.cinema-content{height:100%;position:relative;padding-top:205px;padding-bottom:100px;display:flex;flex-direction:column;justify-content:center}.cinema .eyebrow{color:#d0c4ad;margin-bottom:27px}.cinema h1{font-size:clamp(3.7rem,6.8vw,7rem);line-height:1.07;letter-spacing:-.06em;font-weight:400;margin-bottom:24px}.cinema h1 em{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.03em;font-weight:400;font-size:1.14em;color:#e4d8c2}.cinema-description{color:#d3d2cb;font-size:.92rem;line-height:1.9;max-width:490px}.cinema .actions{gap:32px;margin-top:18px;align-items:center}.cinema-bottom{margin-top:auto;padding-top:60px;display:flex;justify-content:space-between;align-items:center;font-size:.57rem;letter-spacing:.2em;color:#d1cbc0}.cinema-bottom button{color:#dedad1;font-size:.66rem;background:none;border:1px solid #ffffff50;padding:7px 13px;letter-spacing:.05em}.journey-bar{position:relative;z-index:3;display:grid;grid-template-columns:1.1fr 1.25fr 1.25fr .65fr;align-items:center;min-height:135px;margin-top:-37px;background:#faf9f5;box-shadow:0 20px 40px #28251d0a;padding:27px 38px;gap:28px;border-bottom:1px solid var(--line)}.journey-bar>div>span,.journey-bar a>span{display:block;font-size:.58rem;letter-spacing:.18em;color:#857256}.journey-bar p{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.65rem;margin:6px 0 0;line-height:1.2}.journey-bar a{padding-left:28px;border-left:1px solid var(--line);text-decoration:none}.journey-bar strong{font-size:.78rem;font-weight:500;display:block;margin-top:8px}.journey-bar .journey-other{font-size:.78rem;display:flex;justify-content:space-between;align-items:center}.journey-other span{font-size:1.2rem!important}.section{padding:125px 0}.editorial{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;align-items:center}.editorial-copy h2{margin-bottom:30px}.editorial-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);font-size:.88rem}.editorial-copy .quiet-link{margin-top:20px}.editorial-photo{margin:0}.editorial-photo img{width:100%;height:590px;object-fit:cover;object-position:55% center;display:block;filter:saturate(.6)}.editorial-photo figcaption{font-size:.61rem;letter-spacing:.08em;color:var(--muted);padding-top:15px}.section-heading{gap:65px;margin-bottom:58px;align-items:end}.section-heading h2{max-width:700px}.section-heading p{font-size:.87rem;line-height:1.9;max-width:350px}.section-heading .eyebrow{margin-bottom:25px}.route-list{border-top:1px solid #bfb8aa}.route-list>a{display:grid;grid-template-columns:95px 85px 160px 1fr 45px;gap:20px;align-items:center;padding:40px 0;text-decoration:none;border-bottom:1px solid #cfc8bb}.route-code{font-family:'Cormorant Garamond',Georgia,serif;font-size:3.5rem;line-height:1}.route-code small{font-family:Inter,sans-serif;display:block;font-size:.48rem;letter-spacing:.12em;color:#817568;margin-top:13px;white-space:nowrap}.route-line{color:#9a8461;font-size:2rem;font-weight:400}.route-detail{font-size:1.05rem}.route-detail small{display:block;margin-top:8px;font-size:.77rem;color:var(--muted)}.route-arrow{font-size:1.8rem;color:#8b7658;transition:transform .2s}.route-list a:hover .route-arrow{transform:translate(4px,-4px)}.route-note{font-size:.74rem;color:var(--muted);margin:25px 0 0}.fleet-grid{gap:28px}.fleet-card{background:none;border:0}.fleet-image{height:270px;background:#eeede6}.fleet-image img{transition:transform .6s}.fleet-card:hover img{transform:scale(1.035)}.fleet-body{padding:25px 0 0}.fleet-body>span{color:#8c7658;font-size:.58rem;font-weight:500;letter-spacing:.15em}.fleet-body h3{font-size:1.2rem;margin:12px 0 19px}.fleet-body .button{border:0;border-bottom:1px solid #c8bca8;padding:8px 0;font-size:.67rem;gap:28px}.service-note{display:flex;align-items:center;gap:70px;border-top:1px solid var(--line);padding-top:35px;margin-top:65px}.service-note>span{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.8rem;line-height:1}.service-note small{display:block;font-family:Inter,sans-serif;font-size:.51rem;letter-spacing:.14em;color:#87795f;margin-top:10px}.service-note p{color:var(--muted);font-size:.8rem;margin:0 0 0 auto}.reviews-widget{min-height:0}.reviews-placeholder{background:transparent;border:0;border-top:1px solid #cfc8bb;padding:30px 0;margin:0;font-size:.85rem;max-width:670px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.faq-layout>div>p:not(.eyebrow){font-size:.85rem;color:var(--muted)}.faq-layout a{color:var(--ink);text-underline-offset:6px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:25px 0}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;font-size:.95rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.4rem;color:#9a8159;line-height:1}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:.84rem;margin:20px 40px 0 0}.closing{text-align:center;padding:15px 0}.closing .eyebrow{color:#bfa77e}.closing h2{font-size:clamp(3.5rem,7vw,6.7rem);line-height:1.1}.closing h2 em{color:#d8c7a6}.closing .actions{justify-content:center;gap:40px;align-items:center}.footer{background:#151513;border-top:1px solid #ffffff20;color:#eae6de;padding-top:70px}.footer-main a:not(.logo),.footer-main p{color:#aba99f}.footer-main h3{font-weight:500;letter-spacing:.15em;font-size:.62rem}.footer-main p{font-size:.8rem}.footer-bottom{border-color:#ffffff20;color:#8b897f}.subhero{background:#20211e;padding:85px 0 95px}.subhero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3rem,5.6vw,5.4rem);max-width:850px;font-weight:400;letter-spacing:-.025em}.subhero .lead{font-size:1rem;line-height:1.8;max-width:650px}.subhero .eyebrow{color:#c7b18b}.card{border-width:1px 0 0;background:transparent;padding:30px 0;min-height:235px}.card:hover{transform:none;border-color:#8a7252}.card-number{color:#967d56;font-weight:400}.card h3{font-weight:400;font-size:1.75rem}.card p{font-size:.85rem}.text-link{font-size:.68rem;font-weight:500}.cards{column-gap:70px;row-gap:20px}.benefits b,.price-panel>span,.contact-card>span{color:#8a7252;font-weight:500}.price-row strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}.contact-card,.price-panel,.booking-form{background:transparent}.booking-form{border:0;padding:0}.booking-form label{font-weight:500;font-size:.73rem}.booking-form input,.booking-form select,.booking-form textarea{background:#faf9f5;border-color:#cdc7bb;border-radius:0;padding:14px;outline-color:#a78a60}.contact-card{border:0;border-top:1px solid var(--line);padding:26px 0}.contact-card h2{font-size:1.3rem}.contact-card p{font-size:.78rem}.form-layout{grid-template-columns:.8fr 1.5fr}.cta p{color:var(--muted)}.section-dark .cta p{color:#c4c2b7}.cookie-banner{box-shadow:0 8px 35px #0002;border-color:#c9c0b0;max-width:790px;background:#faf9f5}.cookie-banner p{font-size:.73rem}.cookie-banner .button{font-weight:500}.review{border:0;background:#faf9f5}.review-stars{color:#9b8158}.review p{font-size:.88rem}.review a{font-weight:500}.maps-attribution{color:#605c53}
@media(min-width:1600px){.cinema-content{padding-top:195px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.header nav{gap:20px}.header-inner{gap:25px}.journey-bar{padding:26px;gap:16px}.journey-bar a{padding-left:18px}.journey-bar strong{font-size:.68rem}.editorial{gap:8%}.editorial-photo img{height:500px}.route-list>a{grid-template-columns:80px 50px 130px 1fr 25px;gap:14px}.fleet-image{height:220px}}
@media(max-width:820px){.container{width:calc(100% - 44px)}.header-inner{height:80px;min-height:80px}.header nav{top:80px;background:var(--paper)}.home-page .header nav a{color:var(--ink)}.menu-toggle{font-size:.8rem;color:inherit;font-weight:400}.cinema{height:820px;min-height:680px;max-height:1100px}.cinema-content{padding-top:145px;padding-bottom:90px}.cinema h1{font-size:clamp(3.8rem,9vw,5.8rem)}.cinema-bottom{padding-top:45px}.journey-bar{grid-template-columns:1fr 1fr;gap:22px;margin-top:-35px}.journey-bar>div{grid-column:1/-1}.journey-bar a{border-left:0;padding:0}.journey-bar .journey-other{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px}.journey-bar strong{font-size:.76rem}.section{padding:85px 0}.editorial{grid-template-columns:1fr 1fr;gap:7%}.editorial-photo img{height:440px}.section-heading{display:flex;align-items:end}.section-heading p{max-width:260px;font-size:.8rem}.route-list>a{grid-template-columns:65px 30px 115px 1fr;gap:12px}.route-code{font-size:2.6rem}.route-detail{font-size:.85rem}.route-detail small{font-size:.65rem}.route-arrow{display:none}.fleet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.fleet-image{height:180px}.fleet-body h3{font-size:.97rem}.fleet-body .button{font-size:.59rem;gap:12px}.faq-layout{grid-template-columns:1fr 1.2fr;gap:6%}.footer-main{gap:30px}.service-note{gap:40px}.header-cta{display:none}}
@media(max-width:580px){.container{width:calc(100% - 40px)}.logo{font-size:1.25rem}.cinema{height:740px;min-height:670px}.cinema-content{padding-top:140px;padding-bottom:85px;justify-content:flex-start}.cinema h1{font-size:3.7rem;letter-spacing:-.055em;margin-bottom:25px}.cinema h1 em{font-size:1.08em}.cinema .eyebrow{font-size:.54rem}.cinema-description{font-size:.81rem;max-width:310px}.cinema-description br{display:none}.cinema .actions{gap:19px;align-items:start;flex-direction:column}.cinema .button{padding:15px 22px}.quiet-link{font-size:.7rem}.cinema-bottom{font-size:.45rem;letter-spacing:.1em;gap:8px;padding-top:30px}.cinema-bottom button{font-size:.56rem;padding:6px 8px}.cinema-shade{background:linear-gradient(90deg,#151611d9,#15161155),linear-gradient(0deg,#151611ab,transparent)}.journey-bar{padding:25px 20px;gap:20px}.journey-bar strong{font-size:.63rem}.journey-bar>div>span,.journey-bar a>span{font-size:.51rem}.journey-bar p{font-size:1.5rem}.section{padding:70px 0}.editorial{grid-template-columns:1fr;gap:40px}.editorial-copy h2{font-size:2.9rem}.editorial-photo img{height:380px}.section-heading{display:block;margin-bottom:35px}.section-heading p{max-width:none;margin-top:25px}.section-heading .quiet-link{margin-top:20px}.route-list>a{grid-template-columns:60px 30px 1fr;padding:28px 0;gap:20px}.route-detail{grid-column:1/-1;font-size:.85rem;margin-top:10px}.route-code small{font-size:.46rem}.route-detail small{font-size:.71rem}.route-code{font-size:3rem}.fleet-grid{grid-template-columns:1fr;gap:35px}.fleet-image{height:275px}.fleet-body{padding-top:18px}.fleet-body h3{font-size:1.24rem;margin:8px 0 8px}.fleet-body .button{font-size:.68rem}.service-note{gap:35px;flex-wrap:wrap;margin-top:40px}.service-note p{width:100%;margin:0}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:.85rem}.closing h2{font-size:3.8rem}.closing .actions{gap:23px;flex-direction:column}.footer-main{grid-template-columns:1fr}.subhero{padding:65px 0}.subhero h1{font-size:3.2rem}.cards{grid-template-columns:1fr}.form-layout{grid-template-columns:1fr}.cookie-banner{width:calc(100% - 24px)}.cookie-banner>div{justify-content:flex-end}.section-heading h2{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.cinema video{object-fit:cover}.fleet-image img{transition:none}}

#booking-form{scroll-margin-top:28px}
.booking-form-intro{border-top:1px solid #b7aa98;border-bottom:1px solid #d9d2c7;padding:18px 0 22px;margin-bottom:26px}.booking-form-intro span{display:block;color:#8a7252;font-size:.7rem;letter-spacing:.13em;font-weight:600}.booking-form-intro strong{display:block;margin:7px 0 4px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.8rem,3vw,2.35rem);font-weight:500;line-height:1.1}.booking-form-intro p{margin:0;color:#605c53;font-size:.83rem}

/* Keep secondary information readable at every breakpoint. */
.eyebrow,.cinema .eyebrow{font-size:.75rem}
.logo small{font-size:.56rem;letter-spacing:.28em}
.header .logo img{width:92px;height:86px}
.footer .logo img{width:96px;height:90px}
.inner-page .header .logo img{filter:brightness(.72) saturate(1.2)}
@media(max-width:580px){.header .logo img{width:72px;height:68px}.footer .logo img{width:82px;height:77px}}
.header nav a,.header-cta,.button,.quiet-link,.fleet-body .button,.text-link{font-size:.85rem}
.cinema-bottom{font-size:.69rem;letter-spacing:.13em}
.cinema-bottom button{font-size:.75rem}
.journey-bar>div>span,.journey-bar a>span,.fleet-body>span,.service-note small{font-size:.72rem;letter-spacing:.12em}
.journey-bar strong,.journey-bar .journey-other{font-size:.85rem}
.editorial-photo figcaption,.route-code small{font-size:.72rem}
.route-detail small,.route-note,.service-note p{font-size:.85rem}
.footer-main h3{font-size:.75rem}
.footer-bottom,.footer-bottom a,.footer-bottom button{font-size:.8rem}
.booking-form label,.contact-card p,.cookie-banner p{font-size:.85rem}
@media(max-width:580px){
  .cinema-bottom{flex-wrap:wrap;row-gap:12px}
  .cinema{height:auto;min-height:780px}
  .cinema-content{min-height:780px}
  .route-code small{white-space:normal;line-height:1.45}
  .journey-bar strong{font-size:.8rem}
}

/* Keep the full gold logo legible while scaling it down on smaller screens. */
.header .logo{flex:0 1 auto;min-width:0}
.header .logo img{width:clamp(48px,8vw,92px);height:auto;max-width:100%;object-fit:contain}
.footer .logo img{width:clamp(58px,9vw,96px);height:auto;max-width:100%;object-fit:contain}
@media(max-width:820px){
  .header-inner{height:80px;min-height:80px;gap:20px}
  .header nav{top:80px}
  .header .logo img{width:clamp(48px,9vw,74px)}
}
@media(max-width:580px){
  .header-inner{height:clamp(64px,15vw,76px);min-height:64px;gap:12px}
  .header nav{top:clamp(64px,15vw,76px)}
  .header .logo img{width:clamp(48px,11.5vw,64px)}
  .footer .logo img{width:clamp(56px,14vw,78px)}
  .menu-toggle{white-space:nowrap}
}
@media(max-width:380px){
  .header-inner{height:64px;min-height:64px}
  .header nav{top:64px}
  .header .logo img{width:44px}
  .menu-toggle{font-size:.75rem}
}

/* Keep square fleet images fully inside the responsive frame. */
.fleet-image img{min-width:0;min-height:0}
.fleet-card:hover .fleet-image img{transform:none}
.review-cta{margin-top:18px}

/* Navigation: restrained editorial panel with an animated, accessible toggle. */
body{font-size:16px}
.header nav a{font-size:.94rem}
.mobile-nav-cta,.mobile-nav-contact{display:none!important}
.menu-toggle{align-items:center;gap:13px;min-height:44px;padding:8px 0;font-size:.94rem;font-weight:500;letter-spacing:.02em;color:inherit}
.menu-icon{display:flex;width:27px;height:20px;flex-direction:column;justify-content:space-between}
.menu-icon i{display:block;width:100%;height:1.5px;background:currentColor;transform-origin:center;transition:transform .35s ease,opacity .22s ease,width .35s ease}
.menu-icon i:nth-child(2){width:70%;margin-left:auto}
.menu-toggle[aria-expanded="true"] .menu-icon i:first-child{transform:translateY(9px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(2){opacity:0;transform:translateX(8px)}
.menu-toggle[aria-expanded="true"] .menu-icon i:last-child{transform:translateY(-9px) rotate(-45deg)}
.menu-toggle:focus-visible,.header nav a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
@media(max-width:1050px){
  body.nav-open{overflow:hidden}
  .header{z-index:40}
  .header-inner{height:80px;min-height:80px}
  .header-cta{display:none}
  .menu-toggle{display:inline-flex;margin-left:auto}
  .header nav,.header nav.open{position:absolute;display:flex;left:0;right:0;top:100%;width:100%;min-height:calc(100dvh - 80px);max-height:calc(100dvh - 80px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:26px max(36px,calc((100vw - var(--max))/2)) 42px;background:#181917;color:#f4f0e8;box-shadow:0 28px 55px #0005;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease}
  .header nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .header nav>a:not(.mobile-nav-cta){display:block;color:#f4f0e8!important;border-bottom:1px solid #ffffff24;padding:15px 0;font-size:clamp(1.3rem,3.2vw,1.7rem);font-weight:400;letter-spacing:-.035em;line-height:1.3;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,color .2s ease}
  .header nav.open>a:not(.mobile-nav-cta){opacity:1;transform:translateY(0)}
  .header nav.open>a:nth-child(1){transition-delay:.04s}.header nav.open>a:nth-child(2){transition-delay:.08s}.header nav.open>a:nth-child(3){transition-delay:.12s}.header nav.open>a:nth-child(4){transition-delay:.16s}.header nav.open>a:nth-child(5){transition-delay:.2s}
  .header nav>a[aria-current],.header nav>a:hover{color:#d9bd8b!important}
  .header nav .mobile-nav-cta{display:flex!important;justify-content:space-between;align-items:center;margin-top:26px;padding:17px 20px;background:#c7b18b;color:#1e211e!important;font-size:1rem;font-weight:500;letter-spacing:0}
  .header nav .mobile-nav-contact{display:block!important;margin:24px 0 0;color:#d0c9bb;font-size:.94rem}
  .header nav .mobile-nav-contact a{display:inline;padding:0;border:0;color:#f4f0e8!important;font-size:inherit;text-decoration:underline;text-underline-offset:4px}
  .home-page.nav-open .header{background:#181917;border-bottom-color:#ffffff2e}
}
@media(max-width:580px){
  .header-inner{height:clamp(64px,15vw,76px);min-height:64px}
  .header nav,.header nav.open{min-height:calc(100dvh - 64px);max-height:calc(100dvh - 64px);padding:18px 24px 34px}
  .header nav>a:not(.mobile-nav-cta){font-size:1.4rem;padding:13px 0}
}

/* Legible secondary type without changing the visual hierarchy. */
.eyebrow,.cinema .eyebrow,.journey-bar>div>span,.journey-bar a>span,.fleet-body>span,.service-note small,.route-code small,.editorial-photo figcaption,.route-detail small,.route-note,.footer-main h3,.booking-form-intro span,.card-number,.price-panel>span,.contact-card>span{font-size:.86rem;letter-spacing:.1em}
.header-cta,.button,.quiet-link,.fleet-body .button,.text-link,.cinema-bottom,.cinema-bottom button,.footer-bottom,.footer-bottom a,.footer-bottom button,.booking-form label,.contact-card p,.cookie-banner p,.reviews-notice,.review-author small{font-size:.9rem}
.journey-bar strong,.journey-bar .journey-other,.footer-main a:not(.logo),.footer-main p,.card p,.faq-list details p,.service-note p{font-size:.94rem}
.cinema-description,.editorial-copy>p:not(.eyebrow),.section-heading p,.review p{font-size:1rem}
@media(max-width:580px){.cinema .eyebrow{font-size:.83rem}.cinema-description{font-size:.96rem}.journey-bar strong{font-size:.9rem}.cinema-bottom{font-size:.83rem}}

/* Reveal content only when JS can observe it; keep motion subtle. */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.fleet-card.reveal:nth-child(2),.card.reveal:nth-child(2){transition-delay:.07s}
.fleet-card.reveal:nth-child(3),.card.reveal:nth-child(3){transition-delay:.14s}

/* Skeletons appear only for actual async content and lazy media. */
.skeleton,.is-loading::after{background:linear-gradient(105deg,#e7e2d8 8%,#f3f0e9 25%,#e7e2d8 43%);background-size:220% 100%;animation:skeleton-shimmer 1.5s linear infinite}
.review-skeleton-head{height:25px;width:min(300px,75%);margin:0 0 30px}
.review-skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.review-skeleton{height:220px;border-top:1px solid #d5ccbd}
.fleet-image,.editorial-photo{position:relative}
.fleet-image.is-loading img,.editorial-photo.is-loading img{opacity:0}
.fleet-image.is-loading::after,.editorial-photo.is-loading::after{content:"";position:absolute;inset:0;pointer-events:none}
.editorial-photo.is-loading::after{bottom:35px}
.fleet-image.is-loaded img,.editorial-photo.is-loaded img{opacity:1;transition:opacity .35s ease}
@keyframes skeleton-shimmer{to{background-position-x:-220%}}
@media(max-width:820px){.review-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-skeleton:nth-child(3){display:none}}
@media(max-width:580px){.review-skeleton-grid{grid-template-columns:1fr}.review-skeleton:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.skeleton,.is-loading::after{animation:none}.menu-icon i,.header nav,.header nav>a{transition:none!important}}
