:root{--paper:#f6f5f1;--ink:#202724;--muted:#68706a;--line:#d5d8d1;--accent:#e0e5dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:300}h2{font-size:clamp(36px,4.1vw,62px);line-height:1.12;letter-spacing:-.035em}h2 em,h1 em{font-weight:300}p{line-height:1.85}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7c9e90;outline-offset:5px}.container{max-width:1320px;padding:0 70px;margin:auto}.section{padding-top:110px;padding-bottom:110px}.kicker{font-size:10px;font-weight:700;letter-spacing:.21em;text-transform:uppercase;margin-bottom:24px}.section-index{font-size:10px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:54px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:19px 25px;font-size:12px;font-weight:600;min-height:54px;border:1px solid transparent;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:#dfe4dc}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#3b4b41}.text-link{display:inline-flex;gap:24px;align-items:center;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:9px}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:15px;background:white}.skip:focus{top:90px}.masthead{height:90px;position:absolute;left:0;top:0;width:100%;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #ffffff35;color:white;gap:28px}.wordmark{font-size:14px;letter-spacing:.18em;white-space:nowrap;font-weight:600;line-height:1.5}.wordmark span{display:block;font-size:8px;letter-spacing:.48em;margin-top:5px;text-align:center}.desktop-nav,.nav-actions{display:flex;align-items:center;gap:30px}.desktop-nav a,.nav-book{font-size:11px}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:currentColor;transition:width .3s}.desktop-nav a:hover:after{width:100%}.nav-book{padding:12px 17px;border:1px solid #ffffff80}.nav-actions{gap:24px}.lang-dropdown{position:relative}.lang-current{background:none;border:0;display:flex;gap:8px;align-items:center;padding:10px 0;font-size:11px}.lang-options{display:none;position:absolute;right:0;top:40px;min-width:125px;background:var(--paper);color:var(--ink);padding:8px;box-shadow:0 12px 30px #0002}.lang-dropdown.open .lang-options{display:grid}.lang-options button{border:0;background:none;text-align:left;font-size:12px;padding:10px}.lang-options button:hover,.lang-options button.active{background:#e1e5dd}.menu-toggle{display:none;border:0;background:none;width:38px;height:40px;padding:9px}.menu-toggle span{display:block;width:20px;height:1px;background:currentColor;margin:6px 0;transition:transform .3s}.menu-toggle.open span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle.open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-panel{display:none}.opening{position:relative;height:clamp(720px,95svh,1000px);min-height:680px;color:white;background:#253129;overflow:hidden}.opening picture,.opening picture img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.opening picture img{object-fit:cover;object-position:center 62%;animation:cinema 1.7s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(9,20,14,.72),rgba(9,20,14,.27) 60%,rgba(9,20,14,.1)),linear-gradient(180deg,#0005,transparent 28%,#0004)}.opening-copy{position:relative;height:100%;max-width:1320px;margin:auto;padding:190px 70px 120px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.opening-copy .kicker{font-size:10px;color:#e9eee8}.opening h1{font-size:clamp(54px,6.4vw,90px);line-height:1.08;letter-spacing:-.045em;max-width:850px}.opening-copy>p:not(.kicker){font-size:14px;line-height:1.8;margin:28px 0 32px;color:#f0f3ed;max-width:550px}.opening-copy>*{animation:arrival .9s both}.opening-copy h1{animation-delay:.1s}.opening-copy>p:not(.kicker){animation-delay:.2s}.opening-copy>.button{animation-delay:.3s}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em}.hero-bottom a{font-size:10px;letter-spacing:.04em}.intro{border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.body-large{font-size:16px;max-width:540px;color:#505b53}.small-values{display:flex;flex-wrap:wrap;gap:15px 24px;margin-top:28px;font-size:10px;color:var(--muted)}.small-values span:before{content:'·';margin-right:12px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.service{padding:0 26px;position:relative;border-right:1px solid var(--line)}.service:first-child{padding-left:0}.service:last-child{border:0;padding-right:0}.service-no{font-size:10px;display:block;margin-bottom:35px;color:#7d857d}.service h3{font-size:27px;line-height:1.2;min-height:67px;margin-bottom:18px;letter-spacing:-.02em}.service p{font-size:12px;color:var(--muted);line-height:1.9}.service-arrow{display:block;margin-top:28px;font-size:23px;transition:transform .3s}.service:hover .service-arrow{transform:translate(5px,-5px)}.fleet-section{background:#eaece6}.fleet-tabs{display:flex;gap:35px;border-bottom:1px solid #bbc3b9;margin-bottom:30px}.fleet-tabs button{background:none;border:0;padding:0 0 18px;position:relative;font-family:Fraunces,Georgia,serif;font-size:23px;opacity:.5}.fleet-tabs button[aria-selected=true]{opacity:1}.fleet-tabs button[aria-selected=true]:after{position:absolute;content:'';bottom:-1px;left:0;right:0;height:2px;background:var(--ink)}.fleet-tabs span{font:8px Manrope,Arial,sans-serif;letter-spacing:.13em;margin-left:14px;display:inline-block}.fleet-panel{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:center;animation:arrival .5s ease both}.fleet-panel[hidden]{display:none}.fleet-photo{position:relative;overflow:hidden}.fleet-photo img{width:100%;height:440px;object-fit:cover;object-position:center;transition:opacity .2s}.photo-toggle{position:absolute;bottom:20px;left:20px;background:#f6f5f1ed;color:var(--ink);border:0;font-size:11px;padding:12px 16px;display:flex;gap:12px}.fleet-description h3{font-size:37px;line-height:1.2;margin-bottom:22px;letter-spacing:-.025em}.fleet-description>p:not(.kicker){font-size:13px;color:#59665b}.fleet-description .capacity{border-top:1px solid #c8cfc4;margin:25px 0;padding-top:20px;font-size:10px!important}.fleet-description small{display:block;color:#748073;font-size:10px;line-height:1.7;margin-top:24px}.partners{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.partner-picture img{width:100%;height:580px;object-fit:cover;object-position:center}.partner-copy h2{font-size:clamp(38px,4vw,58px)}.partner-copy>p:not(.kicker){font-size:14px;color:var(--muted);margin:25px 0}.partner-copy ul{padding:0;list-style:none;margin:25px 0 35px}.partner-copy li{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.partner-copy li:before{content:'—';margin-right:15px;color:#8b9789}.destinations{background:#222d27;color:#f3f5ef}.destinations .kicker,.destinations .text-link{color:#bec8bb}.destinations .text-link{border-color:#879483}.destination-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #677461}.destination-list a{display:grid;grid-template-columns:1fr auto;gap:15px;padding:30px 20px 12px 0;position:relative;transition:color .2s}.destination-list a:hover{color:#bbcbae}.destination-list a>span:first-child{font-family:Fraunces,Georgia,serif;font-size:23px;grid-column:1/-1}.destination-list small{font-size:9px;letter-spacing:.15em;color:#b7c3b1}.booking{display:grid;grid-template-columns:1fr 1fr;gap:90px}.booking-copy>p:not(.kicker){font-size:13px;max-width:420px;color:var(--muted);margin-top:26px}.booking-copy .booking-note{font-size:10px!important;max-width:370px}.contact-number{display:inline-block;margin-top:25px;font-size:18px;letter-spacing:.03em}.book-panel{padding:35px;background:#ebece7}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px 20px}.booking-fields label{display:grid;gap:10px;font-size:9px;letter-spacing:.07em;text-transform:uppercase;min-width:0}.booking-fields input,.booking-fields textarea{border:0;border-bottom:1px solid #adb6a8;background:transparent;border-radius:0;padding:8px 0;width:100%;min-width:0;min-height:40px;color:var(--ink);font-size:13px;letter-spacing:0;resize:vertical}.booking-fields .full{grid-column:1/-1}.book-panel .button{width:100%;margin-top:30px;text-align:left}.footer{background:#17201b;color:#f5f6ef;padding:65px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:start;padding-bottom:50px}.footer p{font-size:11px;color:#bbc3b6}.footer-top>div{display:grid;gap:12px;font-size:11px}.footer-bottom{border-top:1px solid #3b493d;padding-top:23px;display:flex;gap:30px;font-size:9px;color:#aebaa9}.footer-bottom>span{margin-right:auto}.mobile-contact{display:none}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.motion .reveal.visible{opacity:1;transform:none}@keyframes cinema{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes arrival{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.container{padding-left:40px;padding-right:40px}.opening-copy{padding-left:40px;padding-right:40px}.nav-actions{gap:15px}.desktop-nav{gap:20px}.nav-book{display:none}.partners{gap:55px}.fleet-panel{gap:35px}.fleet-tabs span{display:none}.booking{gap:45px}.service{padding:0 20px}.service h3{font-size:24px}.destination-list a>span:first-child{font-size:20px}}
@media(max-width:760px){html{scroll-padding-top:25px}.container{padding-left:25px;padding-right:25px}.section{padding-top:65px;padding-bottom:65px}.masthead{height:78px;padding:0 25px;gap:15px}.wordmark{font-size:11px;letter-spacing:.15em}.wordmark span{font-size:7px;margin-top:3px}.desktop-nav{display:none}.nav-actions{gap:20px}.menu-toggle{display:block}.mobile-panel.open{display:flex;position:fixed;inset:78px 0 0;background:#17251efb;color:white;z-index:29;flex-direction:column;padding:50px 30px;gap:30px}.mobile-panel a{font-family:Fraunces,Georgia,serif;font-size:30px}.mobile-panel a:last-child{font:15px Manrope,sans-serif;margin-top:20px}.masthead:has(.menu-toggle.open){position:fixed;background:#17251e}.opening{height:calc(100svh - 56px);min-height:720px;max-height:960px}.opening picture img{object-position:center center}.hero-shade{background:linear-gradient(180deg,rgba(7,19,12,.56) 0%,rgba(7,19,12,.55) 40%,rgba(7,19,12,.06) 73%,rgba(7,19,12,.45) 100%)}.opening-copy{padding:135px 25px 280px;justify-content:start}.opening h1{font-size:clamp(39px,10.8vw,66px);line-height:1.08;max-width:100%}.opening-copy .kicker{font-size:8px;letter-spacing:.16em;margin-bottom:22px}.opening-copy>p:not(.kicker){font-size:12px;margin:22px 0 24px;max-width:330px}.opening-copy>p br{display:none}.button{font-size:11px;padding:17px 20px;min-height:52px;gap:24px}.hero-bottom{left:25px;right:25px;bottom:23px}.hero-bottom>span{font-size:7px;max-width:160px}.hero-bottom a{font-size:9px}.intro-grid,.partners,.booking{grid-template-columns:1fr;gap:30px}.intro-grid h2{font-size:43px}.intro .body-large{font-size:14px}.small-values{font-size:9px;gap:12px}.section-heading{align-items:start;margin-bottom:35px;gap:15px}.section-heading .section-index{display:none}.kicker{font-size:8px;margin-bottom:20px;letter-spacing:.17em}h2{font-size:39px}.services-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.service,.service:first-child,.service:last-child{border:0;padding:0 0 25px;border-bottom:1px solid var(--line)}.service-no{margin-bottom:20px}.service h3{font-size:25px;min-height:60px}.service p{font-size:11px;line-height:1.8}.service-arrow{font-size:20px;margin-top:20px}.fleet-tabs{gap:35px}.fleet-tabs button{font-size:22px}.fleet-panel{grid-template-columns:1fr;gap:30px}.fleet-photo img{height:310px}.fleet-description h3{font-size:33px}.fleet-description .kicker{margin-bottom:15px}.fleet-description>p:not(.kicker){font-size:12px}.fleet-description small{font-size:9px}.partner-picture img{height:380px}.partner-copy{padding-top:10px}.partner-copy h2{font-size:42px}.partner-copy>p:not(.kicker){font-size:13px}.destinations .section-heading{display:block}.destinations .text-link{margin-top:25px}.destination-list{grid-template-columns:1fr}.destination-list a{padding:21px 0;grid-template-columns:1fr auto 20px;align-items:center;border-bottom:1px solid #596953;gap:20px}.destination-list a>span:first-child{grid-column:auto;font-size:23px}.destination-list small{font-size:8px}.booking{gap:35px}.booking-copy h2{font-size:42px}.book-panel{padding:25px 22px}.booking-fields{gap:22px 15px}.booking-fields input,.booking-fields textarea{font-size:16px}.booking-fields label{font-size:8px}.footer{padding:50px 0 90px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:35px}.footer-top .wordmark{grid-column:1/-1;justify-self:start}.footer p{font-size:10px}.footer-top>div{font-size:10px}.footer-bottom{flex-wrap:wrap;gap:15px 25px;font-size:8px}.footer-bottom>span{flex-basis:100%}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:1fr 1.7fr;background:var(--paper);box-shadow:0 -2px 20px #0001;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{text-align:center;padding:19px 9px;font-size:10px;font-weight:600;line-height:18px}.mobile-contact a:last-child{background:var(--ink);color:white}.lang-current{font-size:10px}.lang-options{top:35px}.booking-note{line-height:1.8}}
@media(max-width:359px){.opening h1{font-size:36px}.opening-copy{padding-left:20px;padding-right:20px}.container{padding-left:20px;padding-right:20px}.services-grid{gap:20px 18px}.service h3{font-size:22px}.masthead{padding:0 20px;gap:10px}.nav-actions{gap:10px}.book-panel{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
.secondary .masthead{position:relative;color:var(--ink);border-bottom:1px solid var(--line)}.secondary .nav-book{border-color:#adb6a8}.secondary-main{padding-top:65px}.secondary-intro{padding-bottom:65px}.secondary-intro h1{font-size:clamp(40px,5vw,76px);line-height:1.1;letter-spacing:-.035em;max-width:1000px}.secondary-lead{font-size:16px;color:var(--muted);max-width:760px;margin-top:30px}.detail-section{padding-top:50px;padding-bottom:50px;border-top:1px solid var(--line);max-width:1100px}.detail-section h2{font-size:38px;margin:0 0 30px}.detail-section h3{font-size:25px;margin:28px 0 14px}.detail-section p{font-size:14px;color:var(--muted);max-width:850px;margin-bottom:18px}.secondary-contact{padding-top:70px;padding-bottom:90px;border-top:1px solid var(--line)}.secondary-contact .button{margin-top:30px}.secondary .partner-section{padding-top:55px;padding-bottom:55px;border-top:1px solid var(--line)}.partner-section h2{font-size:38px;margin-bottom:25px}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.partner-grid h3{font-size:28px;margin-bottom:20px}.partner-grid p,.partner-section li{font-size:14px;line-height:1.85;color:var(--muted)}.partner-note{font-size:11px;color:var(--muted);margin-top:22px}.partner-intro{font-family:Fraunces,Georgia,serif;font-size:26px;line-height:1.8}.partner-form{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:850px;padding:35px;background:#ebece7}.partner-form label{display:grid;gap:12px;font-size:11px;min-width:0}.partner-form input,.partner-form select,.partner-form textarea{font:inherit;background:transparent;border:0;border-bottom:1px solid #b4bcae;padding:12px 0;border-radius:0;color:var(--ink);width:100%;min-width:0}.partner-form .wide{grid-column:1/-1}.partner-form button{background:var(--ink);color:white;border:0;padding:20px;text-align:center;font:inherit}.partner-form a{font-size:12px}.partner-form .partner-note{margin:0}.partner-form select{background:#ebece7}.secondary .fleet-section{padding-top:50px}.secondary .mobile-panel.open{color:white}.secondary .masthead:has(.menu-toggle.open){color:white}
@media(max-width:760px){.secondary-main{padding-top:40px}.secondary-intro{padding-bottom:40px}.secondary-lead{font-size:13px;margin-top:25px}.secondary-intro h1{font-size:42px;overflow-wrap:anywhere}.detail-section{padding-top:35px;padding-bottom:35px}.detail-section h2,.partner-section h2{font-size:31px}.detail-section p{font-size:13px}.partner-grid{grid-template-columns:1fr;gap:30px}.partner-form{grid-template-columns:1fr;padding:24px}.partner-form input,.partner-form select,.partner-form textarea{font-size:16px}.partner-form .wide{grid-column:auto}.partner-intro{font-size:23px}.secondary .masthead:has(.menu-toggle.open){position:fixed}.secondary .masthead:has(.menu-toggle.open)+.mobile-panel{top:78px}.secondary .booking{padding-top:10px}.partner-section{overflow-wrap:anywhere}}
.secondary-visual{padding-bottom:60px}.secondary-visual img{width:100%;height:360px;object-fit:cover;object-position:center 62%}.secondary-visual+section{border-top:0}@media(max-width:760px){.secondary-visual{padding-bottom:35px}.secondary-visual img{height:260px}}
/* Refined cards: defined surfaces, generous spacing and consistent affordances. */
.arrow-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.service,.service:first-child,.service:last-child{display:flex;flex-direction:column;align-items:flex-start;padding:36px 38px;border:1px solid #d7ddd3;background:#fffefa;border-radius:14px;box-shadow:0 6px 24px rgba(28,43,31,.035);min-height:290px;transition:border-color .3s,box-shadow .3s,transform .3s,background .3s}.service-no{margin-bottom:26px;letter-spacing:.1em;color:#7b887b;font-size:10px}.service h3{font-size:32px;min-height:0;margin:0 0 18px;line-height:1.2;max-width:360px}.service p{font-size:13px;line-height:1.9;max-width:410px;flex:1}.service-arrow{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #d5ddd0;border-radius:50%;background:#f1f4ed;color:#354a37;margin-top:27px;transition:transform .3s,background .3s}.service:hover{border-color:#9dac97;box-shadow:0 16px 36px rgba(28,43,31,.085);transform:translateY(-4px);background:#fff}.service:hover .service-arrow{transform:none;background:#dfe8d9}.service:focus-visible{outline-offset:5px}.services .section-heading{margin-bottom:42px}.intro-grid{gap:100px}.intro .small-values{gap:12px;margin-top:32px}.small-values span{padding:10px 13px;border:1px solid #d8dfd2;border-radius:6px;background:#edf0e8}.small-values span:before{display:none}.fleet-panel{padding:30px;background:#fafbf7;border:1px solid #d3dace;border-radius:16px;gap:45px;box-shadow:0 8px 28px #253d2810}.fleet-photo{border-radius:8px}.fleet-photo img{height:410px}.fleet-description{padding:10px 10px 10px 0}.book-panel{border:1px solid #d2d9cc;border-radius:14px;padding:38px;box-shadow:0 8px 30px #253d2809}.booking-fields{gap:30px 24px}.button,.nav-book{border-radius:6px}.partner-form{border:1px solid #d2d9cc;border-radius:14px}.partner-grid{gap:24px}.partner-grid article{padding:30px;background:#fffefa;border:1px solid #d7ddd3;border-radius:12px}.partner-grid h3{font-size:27px}.section{padding-top:115px;padding-bottom:115px}.section-heading h2{max-width:850px}.mobile-contact a{display:flex;justify-content:center;align-items:center}
@media(min-width:761px) and (max-width:1100px){.service,.service:first-child,.service:last-child{padding:30px}.intro-grid{gap:50px}.fleet-panel{padding:25px;gap:30px}}
@media(max-width:760px){.section{padding-top:76px;padding-bottom:76px}.container{padding-left:25px;padding-right:25px}.intro-grid{gap:36px}.intro .body-large{font-size:14px;line-height:1.95}.intro h2{font-size:40px}.intro .small-values{gap:8px;margin-top:27px}.small-values span{font-size:9px;padding:9px 11px}.services .section-heading{margin-bottom:32px}.services h2{font-size:36px;line-height:1.16}.services-grid{grid-template-columns:minmax(0,1fr);gap:20px}.service,.service:first-child,.service:last-child{padding:28px;min-height:0;border:1px solid #d7ddd3;border-radius:12px}.service-no{font-size:9px;margin-bottom:22px}.service h3{font-size:29px;line-height:1.23;max-width:300px;margin-bottom:18px}.service p{font-size:13px;line-height:1.9}.service-arrow{width:38px;height:38px;margin-top:24px}.service:hover{transform:none}.fleet-panel{padding:19px;border-radius:13px;gap:25px}.fleet-photo img{height:285px}.fleet-description{padding:4px 3px 10px}.fleet-description h3{font-size:29px}.fleet-description .capacity{line-height:1.9}.book-panel{padding:27px 24px;border-radius:12px}.booking-fields{gap:26px 18px}.partner-grid article{padding:26px}.partner-copy h2{font-size:39px}.opening .button{max-width:100%}.button .arrow-icon{width:15px;height:15px}.mobile-contact{box-shadow:0 -3px 22px #172b2112;border-top:1px solid #d6dcd0}.hero-bottom{bottom:29px}}
@media(max-width:359px){.container{padding-left:20px;padding-right:20px}.service,.service:first-child,.service:last-child{padding:25px 23px}.service h3{font-size:27px}.book-panel{padding:24px 18px}.fleet-panel{padding:15px}.fleet-photo img{height:245px}.services h2{font-size:33px}.small-values span{font-size:8px}}
/* Integrated hero action, clear contact dock and touch photo galleries. */
.opening-copy .button.light{background:rgba(20,38,29,.36);color:#fff;border:1px solid rgba(255,255,255,.55);border-radius:50px;padding:17px 24px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 28px #0002;gap:24px;transition:background .2s,transform .2s}
.opening-copy .button.light:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.opening-copy .button.light>span:last-child{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#ffffff18}
.whatsapp-desktop{position:fixed;right:28px;bottom:28px;z-index:24;display:flex;gap:10px;align-items:center;padding:15px 20px;background:#14643d;color:white;border:1px solid #ffffff60;border-radius:40px;box-shadow:0 5px 24px #0003;font-size:13px}
.whatsapp-desktop svg,.mobile-contact svg{width:23px;height:23px;flex-shrink:0}
.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:8px;touch-action:pan-x pan-y}
.gallery-track::-webkit-scrollbar{display:none}
.fleet-photo .gallery-track img{flex:0 0 100%;min-width:100%;scroll-snap-align:center;scroll-snap-stop:always;border-radius:0}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 0 0}
.gallery-controls>button{width:42px;height:42px;border:1px solid #cbd3c9;background:#fff;border-radius:50%;display:grid;place-items:center;color:#21392b;cursor:pointer}
.gallery-controls svg{width:22px;height:22px}
.gallery-controls>button:disabled{opacity:.3;cursor:default}
.gallery-dots{display:flex;gap:5px}
.gallery-dots button{height:36px;width:27px;background:none;border:0;padding:9px;cursor:pointer}
.gallery-dots button:after{content:'';display:block;width:7px;height:7px;background:#c5cec3;border-radius:50%}
.gallery-dots button[aria-current="true"]:after{background:#284735;transform:scale(1.3)}
.gallery-count{position:absolute;right:15px;top:15px;color:#fff;background:#162b24a8;backdrop-filter:blur(8px);padding:7px 11px;border-radius:20px;font-size:10px;letter-spacing:.1em}
.gallery-track:focus-visible,.gallery-controls button:focus-visible,.mobile-contact a:focus-visible{outline:3px solid #a5b59a;outline-offset:3px}
@media(max-width:760px){
 .whatsapp-desktop{display:none}
 .mobile-contact{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:6px;gap:6px;border:1px solid #d8ded5;border-radius:18px;background:rgba(250,251,247,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 5px 30px #15271f30;grid-template-columns:.85fr 1.6fr 1fr}
 .mobile-contact a{padding:10px 4px;min-height:60px;border-radius:12px;gap:6px;flex-direction:column;font-size:10px;line-height:1.3;text-align:center}
 .mobile-contact .contact-call{background:#e5ebe1;color:#263e2d}
 .mobile-contact .contact-quote{background:#233c2f;color:#fff}
 .mobile-contact .contact-wa{background:#14643d;color:#fff}
 .mobile-contact svg{width:21px;height:21px}
 .opening-copy .button.light{padding:13px 19px;font-size:12px;gap:17px}
 .footer{padding-bottom:125px}
 .hero-bottom{bottom:110px}
 .gallery-controls{padding-top:12px}
}
@media(max-width:760px){.mobile-contact a.contact-wa{background:#14643d;color:#fff}}
/* Final motion system: entrances, depth and restrained interaction. */
.motion .reveal{transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion .reveal.visible{opacity:1;transform:none}
.motion .partner-picture img{transform:translateY(var(--photo-shift,0px)) scale(1.08);transition:transform .18s linear}
.motion .opening>picture{transform:translateY(var(--photo-shift,0px)) scale(1.055);transition:transform .2s linear}
.fleet-panel{min-width:0}.fleet-photo{min-width:0}
.gallery-dots{gap:0}.gallery-dots button{width:24px}
.gallery-track img{transition:filter .4s ease}
.fleet-tabs button{transition:color .25s,border-color .25s,background .25s}
.mobile-contact a,.whatsapp-desktop{transition:transform .2s,box-shadow .2s,background .2s}
.mobile-contact a:active{transform:scale(.96)}
@media(hover:hover){.service.visible:hover{transform:translateY(-5px)}.whatsapp-desktop:hover{transform:translateY(-4px);box-shadow:0 9px 30px #0003}.gallery-track:hover img{filter:brightness(1.035)}.destination-list a:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.motion .reveal,.motion .partner-picture img,.motion .opening>picture{transform:none!important;opacity:1!important}.gallery-track{scroll-behavior:auto}}
/* Visible scroll-linked photography, clipped within each original frame. */
.partner-picture,.secondary-photo-window{overflow:hidden;border-radius:8px}
.gallery-slide{flex:0 0 100%;min-width:0;overflow:hidden;scroll-snap-align:center;scroll-snap-stop:always}
.fleet-photo .gallery-track .gallery-slide img{width:100%;min-width:100%;flex:none;scroll-snap-align:none}
.motion .partner-picture img,.motion .secondary-photo-window img,.motion .gallery-slide img{transform:translate3d(0,var(--photo-shift,0px),0) scale(var(--photo-zoom,1.15));transition:transform .15s linear;transform-origin:center}
.motion .opening>picture{transform:translate3d(0,var(--photo-shift,0px),0) scale(var(--photo-zoom,1.15));transition:transform .15s linear}
.motion .secondary-photo-window{animation:photoEntrance 1.15s cubic-bezier(.2,.7,.2,1) both}
@keyframes photoEntrance{from{opacity:0;clip-path:inset(8% 0 8% 0);translate:0 28px}to{opacity:1;clip-path:inset(0);translate:0 0}}
@media(prefers-reduced-motion:reduce){.motion .partner-picture img,.motion .secondary-photo-window img,.motion .gallery-slide img,.motion .opening>picture{transform:none!important;transition:none!important}.motion .secondary-photo-window{animation:none!important}}
/* Editorial invitation and richer, restrained motion. */
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:#a8bd9d;transform-origin:left;z-index:100;pointer-events:none}
.journey-invitation{position:relative;isolation:isolate;overflow:hidden;min-height:580px;display:flex;align-items:center;background:#172c22;color:#fff}
.journey-invitation>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.invitation-shade{position:absolute;inset:0;background:linear-gradient(90deg,#10251eee 0%,#10251eb3 55%,#10251e33);z-index:-1}
.invitation-copy{width:100%;padding-top:90px;padding-bottom:90px}
.invitation-copy h2{max-width:750px;font-size:clamp(40px,5vw,70px)}
.invitation-copy>p:not(.kicker){max-width:470px;margin-top:24px;font-size:14px;color:#e2e9de}
.invitation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin-top:32px}
.invitation-primary{background:#e5ecdf;color:#1d3327;border-radius:40px;padding:19px 26px;box-shadow:0 8px 35px #0002}
.invitation-primary:hover{background:#fff}
.invitation-chat{font-size:12px;display:flex;gap:15px;border-bottom:1px solid #ffffff60;padding:12px 0}
.invitation-copy small{display:block;margin-top:23px;font-size:10px;letter-spacing:.04em;color:#cedac8}
.motion .journey-invitation>img{transform:translateY(var(--photo-shift,0px)) scale(var(--photo-zoom,1.15));transition:transform .15s linear}
.motion .partner-picture.reveal{clip-path:inset(8% 0 8% 0);transition:clip-path 1.25s cubic-bezier(.2,.7,.2,1),opacity 1s,transform 1s}
.motion .partner-picture.reveal.visible{clip-path:inset(0)}
.opening-copy .button.light{position:relative;overflow:hidden}
.opening-copy .button.light:after{content:'';position:absolute;inset:-80% auto -80% -50%;width:25%;background:linear-gradient(90deg,transparent,#fff3,transparent);rotate:25deg;pointer-events:none;animation:buttonLight 1.8s ease 1.4s both}
@keyframes buttonLight{from{left:-50%}to{left:150%}}
@media(hover:hover){.service{overflow:hidden}.service-arrow{transition:background .3s,color .3s,transform .3s}.service:hover .service-arrow{background:#254c36;color:white;transform:rotate(8deg)}.invitation-chat:hover{border-color:white}.nav-book:hover{background:#fff;color:#1d3327}}
@media(max-width:760px){.journey-invitation{min-height:570px}.invitation-copy{padding-top:75px;padding-bottom:75px}.invitation-copy h2{font-size:43px}.invitation-copy>p:not(.kicker){font-size:13px}.invitation-shade{background:linear-gradient(90deg,#10251ee6,#10251e80)}.invitation-actions{gap:13px;align-items:flex-start;flex-direction:column}.invitation-primary{font-size:12px}.journey-invitation>img{object-position:65% center}}
@media(prefers-reduced-motion:reduce){.motion .journey-invitation>img{transform:none!important}.opening-copy .button.light:after{display:none}.motion .partner-picture.reveal{clip-path:none!important}}
/* Final clarity, confidence and a shorter first enquiry. */
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}
.benefit-grid article{border-top:1px solid #cfd8c9;padding-top:18px}
.benefit-index{font-size:10px;color:#75846e;letter-spacing:.1em}
.benefit-grid h3{font-size:25px;margin:12px 0 9px;line-height:1.2}
.benefit-grid p{font-size:12px;line-height:1.8;color:#65705f}
.google-proof{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-top:65px;padding-bottom:65px;border-bottom:1px solid #d5dcd1}
.google-proof h2{font-size:35px}.google-proof p:not(.kicker){font-size:13px;color:#65705f;margin-top:16px}.google-proof .text-link{flex-shrink:0}
.book-panel>[data-polish="intro"]{font-size:12px;line-height:1.8;color:#65705f;margin-bottom:26px}
.booking-extra{margin-top:25px;border-top:1px solid #cbd4c5;padding-top:18px}
.booking-extra summary{cursor:pointer;font-size:12px;font-weight:600;min-height:32px}
.booking-extra[open] .booking-fields{margin-top:22px}
.fleet-photo .gallery-track .gallery-slide img{object-fit:contain;background:#e7ebe3;transform:none!important}
@media(max-width:760px){.benefit-grid{gap:20px}.benefit-grid h3{font-size:23px}.google-proof{align-items:flex-start;flex-direction:column;padding-top:50px;padding-bottom:50px;gap:25px}.google-proof h2{font-size:32px}.booking-fields{gap:23px 17px}.book-panel .button{font-size:12px;line-height:1.6}.partner-copy li{line-height:1.8}}

/* Match each gallery frame to the original photograph: no crop or letterboxing. */
.fleet-photo .gallery-track{align-items:flex-start;overflow-y:hidden;background:transparent;transition:height .28s ease}
.fleet-photo .gallery-track .gallery-slide img{display:block;width:100%;height:auto!important;max-height:none;object-fit:initial;background:transparent;transform:none!important}
.fleet-photo .gallery-slide{line-height:0}
@media(prefers-reduced-motion:reduce){.fleet-photo .gallery-track{transition:none}}

/* Editorial contrast, preserving Driver Privato Lugano's green and ivory identity. */
.section{padding-top:96px;padding-bottom:96px}
.section-heading{margin-bottom:40px}
.opening-copy .button.light{background:#1b342a;color:#fff;border-color:#c4d0bc;padding:18px 26px;min-height:60px;box-shadow:0 8px 24px #0003;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:13px}
.opening-copy .button.light:hover{background:#2b493b;border-color:#fff}
.opening-copy .button.light:after{display:none}
.opening-copy>p:not(.kicker){max-width:510px;line-height:1.85}
.services-grid .service{box-shadow:none;background:#fffefa;border-color:#d4dacf}
.service-no{color:#526c5d}
.service h3{letter-spacing:-.025em}
#partners.partners{width:calc(100% - 100px);max-width:1180px;margin:64px auto;padding:52px;gap:58px;background:#1b3028;color:#f6f5f1;border-radius:16px;border:1px solid #30483a}
#partners .partner-copy .kicker{color:#becfb9}
#partners .partner-copy>p:not(.kicker){color:#e0e7dc;line-height:1.9}
#partners .partner-copy li{color:#e0e7dc;border-color:#496052;line-height:1.8;font-size:12px}
#partners .partner-copy li:before{color:#becfb9}
#partners .text-link{color:#fff;border-color:#a7b99f;font-size:13px;padding:13px 0}
#partners .partner-picture img{height:510px}
#partners .text-link:hover{border-color:white}
.fleet-description h3{font-size:clamp(28px,3vw,40px);line-height:1.15}
@media(max-width:760px){
 .section{padding-top:64px;padding-bottom:64px}
 .section-heading{margin-bottom:30px}
 #partners.partners{width:calc(100% - 40px);margin:35px auto;padding:27px 24px;gap:30px;border-radius:13px}
 #partners .partner-picture img{height:300px}
 #partners .partner-copy h2{font-size:35px}
 .opening-copy .button.light{padding:16px 22px;min-height:58px;font-size:12px}
 .fleet-description h3{font-size:28px}
}
#partners .button.dark{background:#e2eadc;color:#1b3028;border-color:#e2eadc;border-radius:40px}
#partners .button.dark:hover{background:#fff}
