@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--modern-ink:#142f2d;--modern-deep:#0c2827;--modern-jade:#14786c;--modern-jade-2:#28a08b;--modern-gold:#b8904d;--modern-paper:#fffdfa;--modern-sand:#f5f1e8;--modern-line:rgba(20,65,56,.13);--modern-shadow:0 18px 60px rgba(19,55,47,.11)}
html{font-family:Manrope,"DM Sans",sans-serif!important;background:var(--modern-sand)!important}body{font-family:Manrope,"DM Sans",sans-serif!important;color:var(--modern-ink)!important;letter-spacing:-.01em}h1,h2,h3,.hero h1,.hero-detail h1,.results-bar h2,.heading h2,.panel h2{font-family:"DM Serif Display","Cormorant Garamond",Georgia,serif!important;font-weight:400!important;letter-spacing:-.035em!important}
.header{height:74px!important;background:rgba(255,253,250,.88)!important;border-bottom:1px solid rgba(20,65,56,.11)!important;box-shadow:0 8px 30px rgba(20,65,56,.07)!important;backdrop-filter:blur(22px) saturate(125%)!important}.header-inner{gap:15px!important}.brand-round,.round,.brand-mark{filter:drop-shadow(0 5px 11px rgba(25,91,78,.16))!important}.wordmark,.brand-wordmark img{filter:drop-shadow(0 4px 10px rgba(25,91,78,.08))}.nav,.desktop-nav{color:#385b54!important;font-weight:800!important}.nav a,.desktop-nav a{height:74px!important;color:#466960!important}.nav a:hover,.nav a.active,.desktop-nav a:hover,.desktop-nav a.active{color:var(--modern-jade)!important}.nav a.active:after,.desktop-nav a.active:after{background:linear-gradient(90deg,var(--modern-jade),var(--modern-gold))!important;height:3px!important}.mobile,.hamburger{color:var(--modern-ink)!important}
.hero{background-position:50% 42%!important}.hero-overlay{background:linear-gradient(105deg,rgba(7,38,36,.86),rgba(12,76,66,.46) 53%,rgba(8,31,31,.08))!important}.hero h1{font-size:clamp(48px,6vw,82px)!important}.hero h1:after{background:linear-gradient(90deg,var(--modern-gold),transparent)!important}.hero p{color:rgba(255,253,248,.84)!important}.search-box,.route-box{border:1px solid rgba(255,255,255,.76)!important;border-radius:19px!important;box-shadow:0 25px 70px rgba(3,32,29,.23)!important}.search-btn,.search-box button,.search-btn{background:linear-gradient(110deg,var(--modern-deep),var(--modern-jade),var(--modern-gold))!important;background-size:180% 100%!important}.search-btn:hover,.search-box button:hover{transform:translateY(-2px)!important}
.section{padding-top:clamp(48px,6vw,80px)!important}.section-heading,.results-bar,.heading{margin-bottom:30px!important}.section-heading h2,.results-bar h2,.heading h2{font-size:clamp(36px,4.2vw,56px)!important}.stay-card,.transport-card,.card,.panel{border:1px solid var(--modern-line)!important;border-radius:22px!important;background:rgba(255,253,250,.9)!important;box-shadow:var(--modern-shadow)!important}.stay-card:hover,.transport-card:hover,.card:hover{transform:translateY(-7px)!important;border-color:rgba(184,144,77,.55)!important;box-shadow:0 28px 70px rgba(19,55,47,.15)!important}.stay-card .photo,.transport-photo,.card img{border-radius:16px!important}.stay-card .detail,.btn-primary,.primary,.search-btn{border-radius:999px!important}.stay-card .detail,.btn-primary,.primary{background:var(--modern-deep)!important}.stay-card .detail:hover,.btn-primary:hover,.primary:hover{background:var(--modern-jade)!important}.btn-secondary,.secondary{border-color:#bcd8ce!important;background:rgba(255,255,255,.8)!important;color:var(--modern-jade)!important}.btn-secondary:hover,.secondary:hover{background:#eaf7f2!important}
.notice,.note{border:1px solid rgba(20,120,108,.18)!important;border-radius:18px!important;background:linear-gradient(135deg,#eef9f4,#fbfaf2)!important}.badge{background:#e6f5ef!important;color:#1b7366!important}.badge.gold{background:#fbf0d8!important;color:#927039!important}.filter,.filter-chip,.sort-select{border-color:var(--modern-line)!important;background:rgba(255,253,250,.84)!important}.filter.active,.filter:hover,.filter-chip.active,.filter-chip:hover{border-color:var(--modern-jade)!important;background:var(--modern-jade)!important;color:#fff!important}
.footer{background:linear-gradient(135deg,#0b2726,#163e37)!important}.footer strong{color:#e6cc93!important}.mobile-cta{box-shadow:0 18px 42px rgba(12,40,39,.2)!important;border-color:rgba(255,255,255,.9)!important}
.hero-detail{background:radial-gradient(circle at 80% 0%,rgba(216,190,132,.2),transparent 34%),linear-gradient(125deg,#edf7f2,#fbf5e8)!important}.hero-photo{border-radius:22px!important;box-shadow:0 20px 50px rgba(20,77,65,.18)!important}.contact-card{box-shadow:0 20px 56px rgba(19,55,47,.12)!important}.contact-card .phone{color:var(--modern-jade)!important}
@media(max-width:900px){.header,.header-inner{height:66px!important}.desktop-nav{display:none!important}.site-title{color:var(--modern-ink)!important}.brand-wordmark img{max-width:175px!important}.hero h1{font-size:clamp(43px,11vw,62px)!important}.section-heading h2,.results-bar h2,.heading h2{font-size:clamp(34px,9vw,45px)!important}}
@media(max-width:560px){.header{height:62px!important}.hero{min-height:0!important}.hero-content{padding:62px 0 72px!important}.search-box,.route-box{border-radius:16px!important}.card,.transport-card,.panel,.stay-card{border-radius:18px!important}.section{padding-top:38px!important}.mobile-cta{bottom:10px!important}}

/* Premium motion layer: expressive by default, respectful when motion is reduced. */
body{overflow-x:hidden;animation:fx-page-in .7s cubic-bezier(.2,.8,.2,1) both}.fx-progress{position:fixed;top:0;left:0;z-index:9999;width:100%;height:3px;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--modern-jade-2),var(--modern-gold));box-shadow:0 0 14px rgba(40,160,139,.7);pointer-events:none}.fx-cursor-glow{position:fixed;z-index:0;top:var(--pointer-y,50%);left:var(--pointer-x,50%);width:260px;height:260px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(40,160,139,.12),transparent 67%);filter:blur(5px);pointer-events:none;mix-blend-mode:multiply;transition:top .18s ease-out,left .18s ease-out}.header,main,.footer{position:relative;z-index:1}.fx-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.8,.2,1) var(--fx-delay,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--fx-delay,0ms)}.fx-reveal.fx-visible{opacity:1;transform:none}.fx-tilt{position:relative;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateZ(0);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease,border-color .35s ease;will-change:transform}.fx-tilt:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.34),transparent 34%);transition:opacity .3s ease;mix-blend-mode:screen}.fx-tilt:hover:after{opacity:1}.btn,.detail,.search-btn,.signup,.filter,.filter-chip,.nav a,.desktop-nav a{transition:transform .25s cubic-bezier(.2,.8,.2,1),background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.btn:hover,.detail:hover,.search-btn:hover,.signup:hover{transform:translateY(-2px)}button,.btn,.detail,.search-btn,.signup{position:relative;overflow:hidden}.fx-ripple{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.32);transform:scale(0);animation:fx-ripple .62s cubic-bezier(.2,.8,.2,1) forwards;pointer-events:none}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.08) 45%,transparent 65%);transform:translateX(-110%);animation:fx-sweep 11s ease-in-out 1.2s infinite}.hero-content,.hero-detail-grid{animation:fx-hero-land .95s cubic-bezier(.2,.8,.2,1) both}.route-box,.search-box{animation:fx-float-in 1s .18s cubic-bezier(.2,.8,.2,1) both}.hero-detail .hero-photo{animation:fx-photo-in 1.1s .08s cubic-bezier(.2,.8,.2,1) both}.hero-detail-grid>div{animation:fx-copy-in 1s .2s cubic-bezier(.2,.8,.2,1) both}@keyframes fx-page-in{from{opacity:0}to{opacity:1}}@keyframes fx-hero-land{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fx-float-in{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}@keyframes fx-photo-in{from{opacity:0;transform:translateX(-18px) scale(.97)}to{opacity:1;transform:none}}@keyframes fx-copy-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}@keyframes fx-sweep{0%,55%,100%{transform:translateX(-110%)}72%{transform:translateX(110%)}}@keyframes fx-ripple{to{opacity:0;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.fx-reveal{opacity:1!important;transform:none!important}.fx-cursor-glow{display:none}.fx-progress{display:none}}
@media(max-width:700px){.fx-cursor-glow{display:none}.fx-tilt{transform:none!important}.fx-tilt:after{display:none}.hero:before{animation:none}.fx-reveal{transform:translateY(16px)}}

/* One-shell navigation: booking, food and transport share one calm workspace. */
body.transport-mode main>section:not(#transportView),body.transport-mode main>.cta,body.transport-mode .coto-footer{display:none!important}body.transport-mode #transportView{display:block!important}body.transport-mode .header{background:rgba(255,253,250,.95)!important}.transport-mode-hero{background:linear-gradient(120deg,#102f2d,#1c6c60);color:#fff;padding:72px 24px 64px}.transport-mode-inner,.transport-mode-content{width:min(1160px,100% - 48px);margin:auto}.transport-mode-kicker{color:#e4c987;font-size:10px;font-weight:900;letter-spacing:.2em}.transport-mode-hero h1{max-width:720px;margin:13px 0 15px;color:#fff;font:400 clamp(44px,6vw,74px)/.98 "DM Serif Display",Georgia,serif;letter-spacing:-.04em}.transport-mode-hero p{max-width:620px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.7}.transport-mode-actions{display:flex;gap:10px;margin-top:24px}.transport-mode-actions a{display:inline-flex;align-items:center;min-height:42px;border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:0 15px;color:#fff;font-size:11px;font-weight:900}.transport-mode-actions a:last-child{border-color:#ddc486;background:#ddc486;color:#17302f}.transport-mode-content{padding:54px 0 82px}.transport-mode-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}.transport-mode-head span{color:#a37c37;font-size:10px;font-weight:900;letter-spacing:.16em}.transport-mode-head h2{margin:7px 0 4px;font:400 clamp(36px,4vw,52px)/1 "DM Serif Display",Georgia,serif}.transport-mode-head p{margin:0;color:#71817b;font-size:12px}.transport-mode-all{color:#237466;font-size:12px;font-weight:900}.transport-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.transport-mode-card{overflow:hidden;border:1px solid var(--modern-line);border-radius:20px;background:var(--modern-paper);box-shadow:var(--modern-shadow);transition:transform .35s ease,box-shadow .35s ease}.transport-mode-card:hover{transform:translateY(-6px);box-shadow:0 26px 65px rgba(19,55,47,.15)}.transport-mode-card img{width:100%;height:174px;object-fit:cover;display:block}.transport-mode-card>div{padding:17px}.transport-mode-card small{color:#a37c37;font-size:9px;font-weight:900;letter-spacing:.12em}.transport-mode-card h3{margin:8px 0 5px;font:400 27px/1 "DM Serif Display",Georgia,serif}.transport-mode-card p{min-height:36px;margin:0;color:#5e756c;font-size:11px;line-height:1.5}.transport-mode-card b{display:block;margin-top:11px;color:#277365;font-size:11px}.transport-mode-card a{display:flex;align-items:center;justify-content:center;margin-top:15px;min-height:38px;border-radius:999px;background:#102827;color:#fff;font-size:11px;font-weight:900}.transport-mode-card a:hover{background:#14786c}.transport-mode-note{margin-top:24px;padding:16px 18px;border:1px solid rgba(20,120,108,.18);border-radius:15px;background:linear-gradient(135deg,#eef9f4,#fbfaf2);color:#4d7268;font-size:11px;line-height:1.6}.transport-mode-note strong{color:#1b675b}@media(max-width:760px){.transport-mode-hero{padding:48px 0 45px}.transport-mode-inner,.transport-mode-content{width:calc(100% - 28px)}.transport-mode-hero h1{font-size:48px}.transport-mode-actions{display:grid;grid-template-columns:1fr 1fr}.transport-mode-actions a{justify-content:center;padding:0 10px}.transport-mode-head{align-items:flex-start;flex-direction:column}.transport-mode-grid{grid-template-columns:1fr}.transport-mode-card img{height:190px}.transport-mode-content{padding:38px 0 80px}}

/* Compact mobile journey assistant: useful, not duplicative. */
@media(max-width:900px){.journey-assistant .mobile-bottom-nav-inner{grid-template-columns:repeat(3,1fr)!important;gap:5px!important}.journey-assistant .mobile-bottom-nav-inner>a,.journey-assistant .mobile-bottom-nav-inner>button{display:flex!important;align-items:center;justify-content:center;gap:7px;height:47px;border:0;border-radius:16px;background:transparent;color:#6d817b;font:inherit;font-size:11px;font-weight:800;cursor:pointer;text-decoration:none}.journey-assistant .mobile-bottom-nav-inner>a:hover,.journey-assistant .mobile-bottom-nav-inner>button:hover{background:#edf7f3;color:#1e7061}.journey-assistant .bottom-nav-icon{width:24px!important;height:24px!important;display:grid!important;place-items:center;border-radius:9px;background:#edf5f0;color:#1f7969;font-size:17px!important;line-height:1}.journey-assistant .bottom-nav-label{font-size:10px!important}.journey-assistant .mobile-bottom-nav-inner>a:first-child{color:#1b6d60;background:linear-gradient(135deg,#eef9f4,#fffdf6)}}

/* One-tap service rail for mobile; desktop keeps the uncluttered top navigation. */
.service-switcher{display:none}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
@media(max-width:900px){.service-switcher{position:sticky;top:62px;z-index:19;display:block;padding:7px 12px;border-bottom:1px solid rgba(20,65,56,.1);background:rgba(255,253,250,.88);backdrop-filter:blur(18px) saturate(130%)}.service-switcher-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:min(100%,520px);margin:auto;padding:4px;border:1px solid rgba(20,65,56,.1);border-radius:999px;background:rgba(244,248,242,.82)}.service-switcher a{display:flex;align-items:center;justify-content:center;min-height:31px;border-radius:999px;color:#71817b;font-size:10px;font-weight:900;text-decoration:none;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}.service-switcher a:active{transform:scale(.97)}.service-switcher a.is-active{background:var(--modern-deep);color:#fff;box-shadow:0 5px 13px rgba(12,40,39,.16)}body.transport-mode .service-switcher a.is-active,body.food-mode .service-switcher a.is-active{background:var(--modern-jade)}}

/* Partner registration: one choice, one clear next step. */
.partner-switcher>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.partner-switcher .partner-switch{display:flex;align-items:center;justify-content:center;text-align:center;min-height:36px;text-decoration:none;line-height:1.2}.submit-result{padding:28px;border:1px solid rgba(20,120,108,.18);border-radius:20px;background:linear-gradient(135deg,#eef9f4,#fbfaf2);box-shadow:0 15px 42px rgba(19,55,47,.08);text-align:center}.submit-result[hidden]{display:none!important}.submit-result small{color:#a37c37;font-size:10px;font-weight:900;letter-spacing:.16em}.submit-result h2{margin:9px 0 8px;font:400 34px/1 "DM Serif Display",Georgia,serif}.submit-result p{max-width:580px;margin:0 auto 18px;color:#5c756c;font-size:13px;line-height:1.65}.submit-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.submit-result-actions a,.submit-result-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:0;border-radius:999px;padding:0 16px;background:#102827;color:#fff;font:inherit;font-size:11px;font-weight:900;text-decoration:none;cursor:pointer}.submit-result-actions button{border:1px solid #c3ddd4;background:#fff;color:#277365}.partner-type-options{grid-template-columns:repeat(3,minmax(0,1fr))!important}.partner-type-option{height:100%}@media(max-width:700px){.partner-switcher>div{grid-template-columns:1fr!important}.partner-type-options{grid-template-columns:1fr!important}.submit-result{padding:23px 17px}}

.field[hidden],.transport-only[hidden]{display:none!important}
