
:root{
  --bg:#F6F2EA; --bg2:#EEE7DA; --ink:#14283A; --ink2:#44515E; --mute:#7A8490; --line:#D9D2C4;
  --accent:#A8793A; --accent-ink:#fff; --sea:#2F8F8A; --wa:#128C7E;
  --display:"Fraunces",Georgia,serif; --body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --cjk:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;
  --wrap:1120px; --measure:68ch; --r:4px;
}
html[lang^="zh"]{--display:var(--cjk);--body:var(--cjk)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;}
img,picture{max-width:100%;display:block;height:auto}
a{color:var(--sea);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px}
.skip:focus{left:8px;z-index:100}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;margin:0 0 .4em;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5.5vw,4.2rem)}
h2{font-size:clamp(1.55rem,3vw,2.2rem);margin-top:0}
h3{font-size:1.2rem;font-weight:600}
p{margin:0 0 1em}
.note,small{color:var(--mute);font-size:.92em}


.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{font-family:var(--display);font-size:1.35rem;color:var(--ink);text-decoration:none;font-weight:600;white-space:nowrap}
.brand span{display:block;font-family:var(--body);font-size:.72rem;font-weight:400;color:var(--mute);letter-spacing:.02em;line-height:1}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.nav a{color:var(--ink);text-decoration:none;padding:8px 10px;border-radius:var(--r);font-size:.95rem}
.nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--accent)}
.nav a:hover{background:var(--bg2)}
.burger{display:none}
.lang details{position:relative}
.lang summary{list-style:none;cursor:pointer;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);font-size:.9rem}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;right:0;top:110%;background:var(--bg);border:1px solid var(--line);flex-direction:column;align-items:stretch;min-width:170px;padding:6px;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.btn-top{white-space:nowrap}
@media (max-width:900px){
  .burger{display:inline-block;background:none;border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;font:inherit;color:var(--ink)}
  .nav ul#menu{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg);flex-direction:column;align-items:stretch;padding:12px 20px 20px;border-bottom:1px solid var(--line)}
  .nav.open ul#menu{display:flex}
  .lang ul{position:static;box-shadow:none}
  .btn-top{display:none}
}


.btn{display:inline-block;padding:12px 20px;border-radius:var(--r);text-decoration:none;font-weight:600;font-size:.98rem;border:1px solid transparent;line-height:1.2;cursor:pointer;font-family:var(--body)}
.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn-primary:hover{filter:brightness(1.07)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--bg)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:1.2em 0 1.6em}


.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-home{min-height:min(88vh,820px)}
.hero-inner{min-height:46vh}
.hero picture,.hero>img{position:absolute;inset:0}
.hero picture img{position:absolute;inset:0;width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,30,.05) 30%,rgba(10,20,30,.78) 100%)}
.hero-text{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:inherit;padding-bottom:48px;padding-top:120px}
.hero-text h1{color:#fff;max-width:14ch;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero-inner .hero-text h1{max-width:22ch;font-size:clamp(1.9rem,4vw,3.2rem)}
.kicker{color:#F2E7D2;font-size:.95rem;margin:0 0 .6em;letter-spacing:.01em}
.lede{color:#F2EEE6;max-width:52ch;font-size:1.12rem}
.hero-price{color:#fff;font-weight:600;font-size:1rem;margin:-.4em 0 .2em}
.hero .btn-ghost{color:#fff;border-color:#fff}
.hero .btn-ghost:hover{background:#fff;color:var(--ink)}


.stamp{color:var(--mute);font-size:.9rem;margin:28px 0 8px}
.answer{font-size:1.22rem;line-height:1.5;max-width:var(--measure);font-family:var(--display);font-weight:500;color:var(--ink)}


.facts{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0 8px;padding:14px 0}
.facts div{padding:4px 12px 4px 0}
.facts dt{font-size:.8rem;color:var(--mute);margin:0}
.facts dd{margin:0;font-family:var(--display);font-size:1.5rem;font-weight:600}
@media (max-width:720px){.facts{grid-template-columns:repeat(3,1fr);row-gap:14px}}


.content{padding-bottom:20px}
.sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px 56px;padding:40px 0;border-top:1px solid var(--line)}
.sec>h2{grid-column:1;position:sticky;top:84px;align-self:start;max-width:16ch}
.sec>*:not(h2){grid-column:2}
@media (max-width:860px){.sec{grid-template-columns:1fr}.sec>h2{position:static;max-width:none}.sec>*:not(h2){grid-column:1}}
.prose{max-width:var(--measure)}
.prose ul{padding-left:1.2em}
.prose h3{margin-top:1.4em}


table{border-collapse:collapse;width:100%;margin:8px 0 20px;font-variant-numeric:tabular-nums}
caption{text-align:left;font-family:var(--display);font-size:1.15rem;font-weight:600;padding:0 0 8px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.82rem;color:var(--mute);font-weight:600;border-bottom:2px solid var(--ink)}
tbody th{font-weight:600;width:38%}
tr.extra td{color:var(--ink2);font-size:.95em}
.tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 32px}
table.spec{max-width:620px}


.cabins{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px;margin:12px 0 8px}
.cabin h3{margin:12px 0 6px}
.cabin h3 small{color:var(--mute);font-weight:400;font-size:.8em}
.cabin-img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0 0 10px;font-size:.95rem}
.kv dt{color:var(--mute)}.kv dd{margin:0}
.tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.tags li{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.84rem;color:var(--ink2)}
.tags.big li{font-size:.95rem;padding:6px 12px}


.days{list-style:none;padding:0;margin:0;counter-reset:d}
.days li{padding:14px 0 14px 22px;border-left:2px solid var(--accent);position:relative;margin-bottom:8px}
.days li::before{content:"";position:absolute;left:-7px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.days h3{margin:0 0 4px}
.stops{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.stops span{background:var(--bg2);border-radius:999px;padding:3px 10px;font-size:.85rem}
.map img{border-radius:var(--r);border:1px solid var(--line)}
.map{margin:16px 0}
.map figcaption{font-size:.9rem;color:var(--mute);margin-top:6px}
.dates{columns:3;list-style:none;padding:0;margin:0 0 16px}
.dates li{padding:4px 0;border-bottom:1px solid var(--line);break-inside:avoid}
@media (max-width:600px){.dates{columns:2}}


.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:640px){.two{grid-template-columns:1fr}}
ul.check,ul.cross{list-style:none;padding:0;margin:0}
ul.check li,ul.cross li{padding:5px 0 5px 24px;position:relative;border-bottom:1px solid var(--line)}
ul.check li::before{content:"✓";position:absolute;left:0;color:var(--sea);font-weight:700}
ul.cross li::before{content:"–";position:absolute;left:0;color:var(--mute)}


.faq{border-top:1px solid var(--line);padding-top:20px;margin-top:10px}
.qa{max-width:var(--measure);padding:14px 0;border-bottom:1px solid var(--line)}
.qa h3{font-family:var(--body);font-size:1.05rem;margin:0 0 6px}
.qa p{margin:0;color:var(--ink2)}


.hotels{padding-left:1.2em}
.hotels li{padding:10px 0;border-bottom:1px solid var(--line)}
.hotels h3{margin:0 0 2px}
.hotels p{margin:0 0 4px;font-size:.95rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.grid figure{margin:0}.grid img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}
.occ-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.occ-grid a{display:block;padding:18px 16px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;font-family:var(--display);font-size:1.1rem}
.occ-grid a:hover{border-color:var(--accent)}
.contact-box{max-width:520px}
.plan{display:grid;gap:12px;margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:var(--r)}
.plan label{display:grid;gap:4px;font-size:.9rem;color:var(--ink2)}
.plan input,.plan select{padding:10px;border:1px solid var(--line);border-radius:var(--r);font:inherit;background:#fff;color:var(--ink)}


.close{padding:48px 20px 56px;border-top:1px solid var(--line);margin-top:20px}
.close p{max-width:var(--measure)}


.foot{background:var(--ink);color:#E8E2D6;padding:40px 0 24px;font-size:.93rem}
.foot a{color:#fff}
.foot strong{display:block;margin-bottom:8px;font-family:var(--display);font-size:1.05rem}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{padding:2px 0}
.cols{display:grid;grid-template-columns:2fr 1.3fr 1fr 1fr 1fr;gap:28px}
@media (max-width:860px){.cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.cols{grid-template-columns:1fr}}
.legal{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);color:#B9B2A6;font-size:.85rem}
.legal p{margin:0 0 4px}


.sticky-wa{display:none}
@media (max-width:720px){
  .sticky-wa{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;opacity:0;transform:translateY(80px);transition:opacity .25s,transform .25s;pointer-events:none}
  .sticky-wa.show{opacity:1;transform:none;pointer-events:auto}
  .sticky-wa .btn{display:block;text-align:center;background:var(--wa);border-color:var(--wa);color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.18)}
  body{padding-bottom:72px}
}
body.plain{padding:40px 20px}


.btn-sm{padding:8px 14px;font-size:.9rem}
.lnk{background:none;border:0;padding:0;color:var(--sea);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.9rem;cursor:pointer}
.prov{color:var(--mute);font-size:.84rem;margin:-6px 0 18px}
.hero-img{position:absolute;inset:0}
.hero-img img,.hero-img picture{position:absolute;inset:0;width:100%;height:100%}
.hero-img img{object-fit:cover}
.hero-home .hero-text{padding-top:160px}
.hero-home .hero-text h1{max-width:16ch}
@media (max-width:720px){.hero-home{min-height:min(88vh,720px)}.hero-text{padding-bottom:28px}}


.sec.wide{grid-template-columns:1fr}
.sec.wide>h2{position:static;max-width:22ch;grid-column:1}
.sec.wide>*:not(h2){grid-column:1}
.sec.wide>.prose{max-width:var(--measure);column-gap:40px}
@media (min-width:1000px){.sec.wide>.prose{max-width:none;columns:2}.sec.wide>.prose>*{break-inside:avoid}.sec.wide>.prose p{max-width:none}}


.cabins-v2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;margin:12px 0 10px}
.cabin-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.swiper{position:relative;background:var(--ink)}
.swiper .track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;aspect-ratio:4/3}
.swiper .track::-webkit-scrollbar{display:none}
.swiper .slide{flex:0 0 100%;margin:0;scroll-snap-align:start;position:relative}
.swiper .slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.sw-prev,.sw-next{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.sw-prev{left:10px}.sw-next{right:10px}
.sw-prev:hover,.sw-next:hover{background:#fff}
.swiper .dots{position:absolute;left:0;right:0;bottom:44px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.swiper .dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);transition:transform .2s,background .2s}
.swiper .dots i.on{background:#fff;transform:scale(1.25)}
.sw-all{position:absolute;right:10px;bottom:10px;background:rgba(20,40,58,.78);color:#fff;border:0;border-radius:var(--r);padding:7px 11px;font:inherit;font-size:.82rem;cursor:pointer;backdrop-filter:blur(4px)}
.sw-all:hover{background:var(--ink)}
.cabin-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.cabin-body h3{margin:0;font-size:1.3rem}
.cabin-body h3 small{display:block;color:var(--mute);font-weight:400;font-size:.78rem;font-family:var(--body);margin-top:4px}
.verdict{font-family:var(--display);font-style:italic;color:var(--ink2);margin:0;font-size:1.02rem;line-height:1.45}
ul.icons{list-style:none;margin:4px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;font-size:.92rem;color:var(--ink2)}
ul.icons li small{color:var(--mute)}
.cabin-price{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.cabin-price .lbl{font-size:.78rem;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}
.cabin-price strong{font-size:1.5rem;font-family:var(--display);line-height:1.15}
.cabin-price small{color:var(--mute)}
.cabin-body .for{margin:0;color:var(--ink2);line-height:1.4}
.cabin-body .btn{align-self:flex-start;margin-top:4px}
@media (max-width:720px){.cabins-v2{grid-template-columns:1fr}ul.icons{grid-template-columns:1fr}}


.strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 0 14px;scrollbar-width:thin;margin:8px 0 12px}
.strip-item{flex:0 0 min(78vw,300px);margin:0;scroll-snap-align:start}
.strip-item img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--r)}
.strip-item figcaption{padding:8px 2px 0;font-size:.92rem;line-height:1.35}
.strip-item figcaption strong{display:block;font-family:var(--display);font-size:1.05rem}
.strip-item figcaption span{color:var(--ink2)}


.compass{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px 6px;background:var(--bg2);margin:8px 0 20px}
.compass>.note{margin-top:0}
.next-deps{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.next-deps li{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.next-deps time{font-family:var(--display);font-weight:600;font-size:1.1rem}
.next-deps span{color:var(--mute);font-size:.85rem}
.next-deps .btn{align-self:flex-start}
.dep-year{font-size:1.6rem;margin:10px 0 12px}
.dep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.dep-month{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;min-height:96px}
.dep-month.empty{opacity:.55}
.dep-month h4{margin:0 0 8px;font-family:var(--display);font-size:1.02rem;font-weight:600}
.dep-month ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
li.dep{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.92rem;padding:4px 0;border-bottom:1px dashed var(--line)}
li.dep:last-child{border-bottom:0}
li.dep time{font-variant-numeric:tabular-nums;font-weight:600}
li.dep em{font-style:normal;font-size:.8rem;color:var(--mute)}
li.dep.past{opacity:.45}li.dep.past time{text-decoration:line-through}
li.dep.few em{color:var(--accent)}li.dep.sold em{color:#9b3b2e}
.dep-month.next-year{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-bottom:14px}
.dep-month.next-year h4{margin:0;font-size:1.3rem}.dep-month.next-year p{margin:0;flex:1;min-width:240px;color:var(--ink2)}


.itin2{margin:8px 0 12px}
.itin-day{margin:0 0 22px}
.itin-day h3{margin:0 0 4px;font-size:1.25rem}
table.itin td{font-size:.95rem}
table.itin thead th{font-size:.76rem}
table.itin .tm{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;width:72px;color:var(--ink)}
table.itin tr.k-sail td{color:var(--mute)}
table.itin tr.k-sunrise td,table.itin tr.k-trek td{background:color-mix(in srgb,var(--accent) 7%,transparent)}
table.itin tr.k-snorkel td,table.itin tr.k-swim td{background:color-mix(in srgb,var(--sea) 7%,transparent)}
table.itin tr.night td{background:var(--bg2);color:var(--ink2);font-style:italic}
.flag{display:inline-block;font-size:.72rem;padding:1px 6px;border:1px solid var(--line);border-radius:10px;color:var(--mute);vertical-align:middle;margin-left:4px}
@media (max-width:640px){table.itin th:nth-child(3),table.itin td:nth-child(3){display:none}}


.map-wrap{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.map-wrap img{width:100%;height:auto;display:block}
.map-wrap svg{position:absolute;inset:0;width:100%;height:100%}
.map-wrap .rh{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.map-wrap .rl{fill:none;stroke:#B8322A;stroke-width:4;stroke-dasharray:14 9;stroke-linecap:round;stroke-linejoin:round}
.map-wrap .rp{fill:#B8322A;stroke:#fff;stroke-width:3}
.map-wrap .rt{fill:#fff;font:700 15px var(--body);text-anchor:middle;dominant-baseline:central}


table.eq td:nth-child(2){white-space:nowrap}
.pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.8rem;font-weight:600;letter-spacing:.01em}
.pill.fitted{background:color-mix(in srgb,var(--sea) 16%,transparent);color:var(--sea)}
.pill.not_fitted{background:color-mix(in srgb,#9b3b2e 12%,transparent);color:#9b3b2e}
.pill.on_request{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
tr.total td{font-weight:700;border-top:2px solid var(--ink)}


.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -20px;padding:0 20px}
.tscroll+.note{display:none}
@media (max-width:720px){.tscroll+.note{display:block}}
table.season td{font-size:.9rem;text-transform:capitalize}
table.season td.v-calm,table.season td.v-good,table.season td.v-high,table.season td.v-dry,table.season td:nth-child(4).v-peak,table.season td:nth-child(5).v-low{color:var(--sea);font-weight:600}
table.season td.v-rough,table.season td.v-wet,table.season td.v-low,table.season td:nth-child(5).v-peak,table.season td:nth-child(5).v-high{color:#9b3b2e;font-weight:400}
table.season td.v-moderate,table.season td.v-fair,table.season td.v-medium,table.season td.v-shoulder{color:var(--ink2);font-weight:400}
table.season td:last-child{text-transform:none;min-width:200px}


.fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px 28px;margin:8px 0 14px}
.fit h3{font-size:1.05rem;margin-bottom:6px}


.pay{border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin:10px 0 18px;background:var(--bg2)}
.pay h3{margin:0 0 8px;font-size:1.1rem}
.pay .secure{margin:8px 0 0;color:var(--ink2);font-size:.95rem}
.opbox{border-left:4px solid var(--accent);padding:6px 0 6px 20px;margin:12px 0 18px}
.opbox h3{margin:0 0 8px}
.opbox .kv{margin:0}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:8px 0 14px}
dl.kv dt{color:var(--mute);font-size:.88rem}
dl.kv dd{margin:0}
.isnot{background:var(--bg2);padding:12px 16px;border-radius:var(--r);color:var(--ink2)}
.isnot strong{color:var(--ink)}
table.cmp tr.dim td{color:var(--mute)}
table.cmp td{white-space:nowrap}
table.cmp td:first-child{white-space:normal}


ol.steps{list-style:none;counter-reset:s;margin:10px 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
ol.steps li{counter-increment:s;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 16px 56px;position:relative;display:flex;flex-direction:column-reverse;gap:4px}
ol.steps li::before{content:counter(s);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--display)}
ol.steps li small{color:var(--mute)}


.faq-group{margin-top:38px;font-size:1.4rem}
.qa summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1;flex:0 0 auto}
.qa[open] summary::after{content:"–"}


.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:10px 0 16px}
.grid figure{margin:0;cursor:zoom-in;overflow:hidden;border-radius:var(--r)}
.grid figure img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .3s}
.grid figure:hover img{transform:scale(1.03)}


.lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,16,24,.94);display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}
.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.lightbox button:hover{background:rgba(255,255,255,.28)}
.lb-close{top:16px;right:16px}.lb-prev{left:12px;top:50%;transform:translateY(-50%)}.lb-next{right:12px;top:50%;transform:translateY(-50%)}
body.lb-open{overflow:hidden}


.tags.big li{font-size:.98rem;padding:8px 14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
@media (max-width:640px){.two{grid-template-columns:1fr}}
.contact-box{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.contact-box .plan{width:100%}

.faq>h2{font-size:1.5rem;margin-bottom:6px}
@media (max-width:720px){.hero-home .hero-text h1{font-size:clamp(1.8rem,8vw,2.6rem);max-width:none}.hero-home .lede{font-size:1rem}.hero::after{background:linear-gradient(180deg,rgba(10,20,30,0) 25%,rgba(10,20,30,.86) 70%)}}

.nav a{white-space:nowrap;font-size:.92rem;padding:8px 8px}
@media (max-width:1180px){
  .burger{display:inline-block;background:none;border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;font:inherit;color:var(--ink)}
  .nav ul#menu{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg);flex-direction:column;align-items:stretch;padding:12px 20px 20px;border-bottom:1px solid var(--line);max-height:calc(100vh - 64px);overflow:auto}
  .nav.open ul#menu{display:flex}
  .nav a{font-size:1rem;padding:10px 8px}
  .lang ul{position:static;box-shadow:none}
}
.tables{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:8px 40px}
.dep-month.all-past ul{display:none}.dep-month.all-past{min-height:0;opacity:.7}.show-past{color:var(--mute);text-decoration:none}
.sec,.prose,.sec>*{min-width:0}
table.pp td,table.pp th{white-space:nowrap}
.content{overflow-x:clip}
@media (min-width:721px){.hero.text-right .hero-text{align-items:flex-end;text-align:right}.hero.text-right .hero-text h1{max-width:15ch}.hero.text-right .lede{max-width:46ch}.hero.text-right .cta-row{justify-content:flex-end}.hero.text-right::after{background:linear-gradient(90deg,rgba(10,20,30,.05) 35%,rgba(10,20,30,.62) 100%)}}
li.dep.underway em{color:var(--sea)}

.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:8px 0 12px}
.rv{margin:0;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.rv p{margin:0;font-family:var(--display);font-size:1.08rem;line-height:1.45;color:var(--ink)}
.rv footer{font-size:.88rem;color:var(--ink2)}.rv .stars{color:var(--accent);letter-spacing:1px}
table.ft th{width:36%;font-weight:600}table.ft td small{display:block;color:var(--mute)}table.ft .src{text-decoration:none;margin-left:6px}
table.ft tr.c-low td{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:8px 0 14px}
.svc-item{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}.svc-item h3{font-size:1.05rem;margin:0 0 6px}.svc-item p{margin:0 0 6px}
.spotgrid figure img{aspect-ratio:3/2}
.bookvia{background:var(--bg2);border-left-color:var(--sea);padding:16px 20px;border-radius:0 var(--r) var(--r) 0}
h3.area{margin:26px 0 8px;font-size:1.15rem;color:var(--ink2)}
.hotels li h4{font-family:var(--display);font-size:1.12rem;margin:0 0 2px}.hfrom{margin:0 0 4px}.hfrom small{color:var(--mute);font-weight:400}
.hotels{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 24px;list-style:none;padding:0;margin:0 0 10px}
.hotels li{border-top:1px solid var(--line);padding:12px 0}
ul.posts{list-style:none;padding:0;margin:8px 0 14px;display:grid;gap:10px}
ul.posts a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);color:var(--ink);text-decoration:none}
ul.posts a strong{font-family:var(--display);font-size:1.15rem}ul.posts a span{color:var(--ink2)}ul.posts a small{color:var(--mute)}
ul.posts a:hover{border-color:var(--accent)}
.byline{color:#F2E7D2;margin:0}.srcs{font-size:.92rem}


.rvsrc{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 6px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-size:.92rem;line-height:1}
.badge .bname{font-weight:700;letter-spacing:.2px}.badge .bstars{font-weight:600}.badge small{color:var(--ink2)}
.badge-google{border-color:#d2d8e0}.badge-google .bstars{color:#f4b400}
.badge-ta{border-color:#bfe0d2}.badge-ta .bstars{color:#34e0a1}
.hotel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.hotel img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
@media(min-width:720px){.hotel{grid-template-columns:260px minmax(0,1fr)}}
.hotel .hkexi{font-size:.92rem;color:var(--ink2)}.hotel .hfrom{margin:4px 0}

.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{width:36px;height:36px;border-radius:50%}
.paylogos{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin:14px 0 0}.paylogos img{height:22px;width:auto;max-width:92px;object-fit:contain;filter:grayscale(.15)}
.social{margin-top:22px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}.social h3{margin:0 0 4px}
.soc-links{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 0}.soc-links a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-weight:600}.soc-links img{height:20px;width:auto}
.badge img{height:18px;width:auto}
.fab-wa{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:#25D366;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.fab-wa svg{flex:none}.fab-wa span{font-size:.95rem}
.fab-stack{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fab-stack .fab-wa{position:static}.fab-stack .fab-wc{background:#07C160}.fab-stack .fab-sm{padding:10px;border-radius:50%}
.fab-stack .fab-wc span{font-size:.9rem}
@media(max-width:720px){.fab-wa{padding:14px;border-radius:50%}.fab-wa span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sticky-wa{display:none!important}.fab-stack .fab-wc{padding:12px 16px;border-radius:999px}.fab-stack .fab-wc span{position:static;width:auto;height:auto;overflow:visible;clip:auto}}
.dep-note{margin:0 0 10px}.dep .prov{display:block;color:var(--ink2);font-size:.75rem}

@media(max-width:640px){.brand span{display:none}.brand-mark{width:30px;height:30px}}


.spaces-v2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:14px}
.space-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.space-card .cabin-body{padding:14px 16px}.space-card h4{margin:0 0 6px}
.wechat{display:flex;gap:16px;align-items:flex-start;margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:#fff}.wechat img{width:120px;height:auto;border-radius:6px;flex:none}.wechat.big img{width:180px}.wechat p{margin:4px 0}.wechat .wcid code{font-size:.95rem;background:var(--bg2);padding:2px 6px;border-radius:4px}
.hotel{display:block}.hotel h4{margin:0 0 10px}.hotel img{width:100%;max-width:640px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);display:block;margin-bottom:10px}
@media(min-width:720px){.hotel{grid-template-columns:none}}
.hotel-note{margin-top:18px;padding:12px 14px;border-left:3px solid var(--accent);background:var(--bg2)}
.quiet{padding:12px 14px;border-left:3px solid var(--accent);background:var(--bg2);border-radius:0 var(--r) var(--r) 0}

@media(max-width:1500px){.brand span{display:none}}
.lang summary{white-space:nowrap}
nav .lang li a{white-space:nowrap}
.wechat .wcid code{word-break:break-all}.wechat{min-width:0}.wechat>div{min-width:0}


ul.posts.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;list-style:none;padding:0;margin:14px 0 0}
ul.posts.cards li a{display:block;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);height:100%}
ul.posts.cards .thumb{margin:0;aspect-ratio:16/10;overflow:hidden}ul.posts.cards .thumb img{width:100%;height:100%;object-fit:cover;display:block}
ul.posts.cards .card-body{padding:12px 14px 14px;display:grid;gap:6px}ul.posts.cards strong{font-family:var(--display);font-size:1.08rem;line-height:1.3}ul.posts.cards span{color:var(--ink2);font-size:.92rem}ul.posts.cards small{color:var(--ink2)}


.nav-mega>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav-mega li.grp>details>summary{list-style:none;cursor:pointer;white-space:nowrap;font-size:.92rem;padding:8px 10px;border-radius:var(--r);color:var(--ink);display:flex;align-items:center;gap:6px}
.nav-mega li.grp>details>summary::-webkit-details-marker{display:none}
.nav-mega li.grp>details>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.nav-mega li.grp>details[open]>summary,.nav-mega li.grp>details>summary:hover{background:var(--bg2)}
.nav-mega li.grp.on>details>summary{box-shadow:inset 0 -2px 0 var(--accent)}
.nav-mega .panel ul{list-style:none;margin:0;padding:0;display:block;gap:0}
.nav-mega .panel li{display:block}
.nav-mega .panel li.hd{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:10px 10px 2px}
.nav-mega .panel li.all a{font-weight:600}
.nav-mega .panel a{display:block;padding:7px 10px;border-radius:var(--r);white-space:normal;line-height:1.3;font-size:.92rem}
.nav-mega .panel a:hover{background:var(--bg2)}
.nav-mega .panel a[aria-current="page"]{color:var(--accent);font-weight:600}
@media (min-width:1181px){
  .nav-mega li.grp{position:relative}
  .nav-mega li.grp>details>.panel{position:absolute;left:0;top:calc(100% + 6px);width:max-content;min-width:260px;max-width:min(92vw,420px);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 32px rgba(10,20,30,.14);padding:10px;z-index:60}
  .nav-mega li.grp>details>.panel.cols{width:400px}
  .nav-mega li.grp>details>.panel.cols ul{display:grid;grid-template-columns:repeat(2,180px);gap:0 8px;width:368px}
  .nav-mega li.grp>details>.panel.cols a{white-space:nowrap}
  .nav-mega li.grp>details>.panel.cols li.all{grid-column:1/-1}
  .nav-mega li.grp>details>.panel.cols li.all:first-of-type{border-top:1px solid var(--line);margin-top:6px;padding-top:4px}
  .nav-mega li.grp:nth-last-child(-n+3)>details>.panel{left:auto;right:0}
}
@media (max-width:1180px){
  .nav-mega li.grp{border-bottom:1px solid var(--line)}
  .nav-mega li.grp>details>summary{font-size:1.05rem;padding:12px 8px;justify-content:space-between}
  .nav-mega li.grp>details>.panel{padding:0 0 10px 12px}
  .nav-mega .panel a{font-size:1rem;padding:9px 8px}
  .nav-mega>ul>li>a{display:block;font-size:1.05rem;padding:12px 8px;border-bottom:1px solid var(--line)}
}


.bar{min-width:0}.brand{flex:none}
@media(max-width:1180px){.brand-long{font-size:1.12rem}}
@media(max-width:480px){.brand-long{font-size:1rem;gap:7px}.brand-long .brand-mark{width:26px;height:26px}.brand-long~.nav .burger{padding:7px 9px;font-size:.92rem}.brand-long~.btn-top{padding:9px 10px;font-size:.86rem}.bar:has(.brand-long){gap:10px}}

.tscroll[data-hint].is-scroll::after{content:attr(data-hint);display:block;position:sticky;left:0;font-size:.8rem;opacity:.75;padding:6px 0 0}
table.rates.ft th,table.rates.ft td{white-space:normal;text-align:left;vertical-align:top}table.rates.ft th{min-width:7.5em;width:32%}
.rv p.rv-orig{margin:.3em 0 0;font-size:.78rem;font-family:inherit;opacity:.8;font-style:normal}




@font-face{font-family:"SeaglassGeorgia";src:local("Georgia"),local("Gelasio");size-adjust:100%;ascent-override:92.8%;descent-override:34.2%;line-gap-override:0%}
@font-face{font-family:"SeaglassTimes";src:local("Times New Roman"),local("TimesNewRomanPSMT"),local("Liberation Serif"),local("Tinos");size-adjust:109.6%;ascent-override:84.7%;descent-override:31.2%;line-gap-override:0%}
@font-face{font-family:"SeaglassSans";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Arimo"),local("Helvetica");size-adjust:99.7%;ascent-override:100.3%;descent-override:26.1%;line-gap-override:0%}
:root{
  --bg:#EBF6F4;--bg2:#F6E8DB;--ink:#0F2340;--ink2:#2E4460;--mute:#4C6272;--line:#C3DAD6;--rule:#A6C6C1;
  --accent:#243E70;--accent-ink:#FFFFFF;--sea:#17607A;--wa:#0F7A66;--bad:#A63A27;
  --accent-deep:#182C54;--aqua:#D2EAE6;--aqua-hi:#9ED6D0;--sand:#EFD3BC;--coral:#E5705B;--coral-deep:#AE3F2B;
  --card:rgba(255,255,255,.74);--card-solid:#F9FCFC;--night:#0E2740;--night2:#091B2D;
  --shadow:inset 0 1px 0 rgba(255,255,255,.95),0 30px 56px -40px rgba(15,35,64,.42),0 2px 8px rgba(15,35,64,.04);
  --shadow-up:inset 0 1px 0 rgba(255,255,255,.95),0 40px 64px -38px rgba(15,35,64,.5),0 4px 12px rgba(15,35,64,.06);
  --r:28px;--r-sm:18px;--wrap:1200px;--measure:64ch;--ease:cubic-bezier(.22,.8,.24,1);--head-h:72px;
  
  --wave-fill:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 44' preserveAspectRatio='none'%3E%3Cpath d='M0 44V20C40 6 80 6 120 20S200 34 240 20V44Z'/%3E%3C/svg%3E");
  --wave-rule:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 16'%3E%3Cpath d='M0 8Q12 1 24 8T48 8T72 8T96 8' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");
  --wave-short:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 10'%3E%3Cpath d='M1 5Q8 0 14 5T28 5T42 5T55 5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
  --manta:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 96'%3E%3Cg fill='none' stroke='%23000' stroke-width='.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M60 12C48 11 26 14 3 41C26 38 45 38 55 54C58 59 59 64 59.5 70L60 92L60.5 70C61 64 62 59 65 54C75 38 94 38 117 41C94 14 72 11 60 12Z'/%3E%3Cpath d='M60 20V50M52 24C50 30 50 36 52 42M68 24C70 30 70 36 68 42M40 30C42 34 44 36 47 38M80 30C78 34 76 36 73 38M22 40C30 39 36 40 42 43M98 40C90 39 84 40 78 43'/%3E%3Ccircle cx='108' cy='14' r='2.4'/%3E%3Ccircle cx='100' cy='6' r='1.4'/%3E%3Ccircle cx='13' cy='80' r='2'/%3E%3Ccircle cx='20' cy='72' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
  --reef:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M24 48C20 36 28 28 22 14M24 48C30 38 34 30 40 22M24 48C26 40 22 34 16 30'/%3E%3Cpath d='M92 48V32M92 32L84 22M92 32L100 20M92 40L82 34M92 40L102 32'/%3E%3Cpath d='M150 48C146 38 154 30 148 18M150 48C156 40 158 34 164 26'/%3E%3Cpath d='M214 48C210 40 214 32 210 24M214 48C220 38 226 36 230 28M214 48C218 42 216 36 220 30'/%3E%3Cpath d='M274 48V34M274 34L268 26M274 34L282 24M274 42L266 38M274 42L284 36'/%3E%3Ccircle cx='60' cy='14' r='2.2'/%3E%3Ccircle cx='66' cy='6' r='1.3'/%3E%3Ccircle cx='186' cy='12' r='2'/%3E%3Ccircle cx='250' cy='10' r='2.4'/%3E%3Ccircle cx='256' cy='3' r='1.2'/%3E%3Ccircle cx='302' cy='18' r='1.8'/%3E%3C/g%3E%3C/svg%3E");
  --display:"Gelasio","SeaglassGeorgia","SeaglassTimes",Georgia,"Times New Roman",serif;
  --body:"Outfit","SeaglassSans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
html[lang^="zh"]{--display:var(--cjk);--body:var(--cjk)}
html{scroll-padding-top:calc(var(--head-h) + 16px);font-synthesis-weight:none}
body{font-size:17px;line-height:1.68;overflow-x:clip;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums;font-weight:400;color:var(--ink2);background:radial-gradient(1100px 520px at 92% -6%,rgba(158,214,208,.38),transparent 62%),var(--bg)}
::selection{background:var(--aqua-hi);color:var(--ink)}
h1,h2,h3,h4,caption,.cabin-price strong,.facts dd,.dep-year,.next-deps time,.dep-month h4,.strip-item figcaption strong,ul.posts a strong,ul.posts.cards strong{font-weight:500;color:var(--ink)}
h1,h2,h3{letter-spacing:-.012em;line-height:1.1}
h1{font-size:clamp(2.5rem,5.2vw,4.5rem)}
h2{font-size:clamp(1.95rem,3.3vw,2.95rem)}
h3{font-size:1.45rem}
.note,small{color:var(--mute)}
a{color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:var(--sea);transition:color .2s var(--ease),background-size .35s var(--ease)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.tscroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}


.top{background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);border-bottom:1px solid var(--line)}
.bar{min-height:var(--head-h)}
.brand{font-family:var(--display);font-size:1.55rem;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--ink);min-height:44px;display:inline-flex;align-items:center;gap:11px;text-decoration:none}
.brand-mark{width:40px;height:40px;border-radius:50%;box-shadow:0 8px 16px -10px rgba(15,35,64,.6)}
.brand span{display:block;font-family:var(--body);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:500;margin:.3em 0 0 2px;line-height:1}
.nav a,.nav-mega li.grp>details>summary,.lang summary{font-size:.94rem;font-weight:450;letter-spacing:.005em;border-radius:999px;color:var(--ink);position:relative;padding:10px 12px 10px 18px;background:transparent;transition:color .2s,background-color .3s var(--ease)}
.nav a:hover,.nav-mega li.grp>details[open]>summary,.nav-mega li.grp>details>summary:hover{background:color-mix(in srgb,var(--aqua) 70%,transparent);color:var(--accent-deep)}
.nav a::before,.nav-mega li.grp>details>summary::before{content:"";position:absolute;left:6px;top:50%;width:8px;height:8px;margin-top:-4px;box-sizing:border-box;border:1.5px solid var(--coral-deep);border-radius:50%;opacity:0;transform:translateY(8px) scale(.4);transition:opacity .3s,transform .55s var(--ease),background-color .3s}
.nav a:hover::before,.nav-mega li.grp>details>summary:hover::before,.nav-mega li.grp>details[open]>summary::before{opacity:1;transform:none}
.nav a[aria-current]::before,.nav-mega li.grp.on>details>summary::before{opacity:1;transform:none;background:var(--coral);border-color:var(--coral)}
.nav a[aria-current],.nav-mega li.grp.on>details>summary{box-shadow:none;color:var(--accent-deep);font-weight:600}
.lang summary{border:1px solid var(--line);background:var(--card);min-height:40px;display:flex;align-items:center;padding:8px 14px}
.lang summary::before{display:none}
.btn-top{min-height:46px}
.lang ul,.nav-mega li.grp>details>.panel{background:color-mix(in srgb,#fff 88%,var(--bg));border:1px solid var(--line);border-radius:24px;box-shadow:0 36px 56px -30px rgba(15,35,64,.42);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.nav .panel a,.lang ul a{font-size:.95rem;color:var(--ink);border-radius:14px;min-height:40px;display:flex;align-items:center;padding:8px 12px}
.nav .panel a::before,.lang ul a::before{display:none}
.nav .panel a:hover,.lang ul a:hover{background:var(--aqua);color:var(--accent-deep)}
.nav-mega .panel a[aria-current="page"]{color:var(--accent-deep);font-weight:600;box-shadow:none}
.nav-mega .panel li.hd{color:var(--coral-deep);letter-spacing:.16em;font-weight:600;font-size:.68rem}
@media (min-width:1181px){.nav-mega>ul{gap:0}.bar{gap:16px}.top .bar.wrap{max-width:min(1400px,100%)}}
@media (min-width:1181px) and (max-width:1500px){.bar{gap:10px}.brand{font-size:1.4rem}.brand span{display:none}.nav a,.nav-mega li.grp>details>summary,.lang summary{font-size:.86rem;padding-left:15px;padding-right:7px}.nav a::before,.nav-mega li.grp>details>summary::before{left:4px}.nav-mega li.grp>details>summary{gap:4px}}
@media (max-width:1180px){
  :root{--head-h:66px}
  .burger{border:1px solid var(--accent)!important;color:var(--accent)!important;border-radius:999px!important;min-height:44px;min-width:44px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;background:transparent;font-family:var(--body)}
  .nav ul#menu{top:var(--head-h);background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 34px 44px -28px rgba(15,35,64,.42);border-radius:0 0 28px 28px}
  .nav-mega li.grp>details>summary{min-height:48px;font-size:1.05rem;border-radius:14px}
  .nav-mega>ul>li>a{min-height:48px;display:flex;align-items:center;font-size:1.05rem;border-radius:14px}
  .nav a::before,.nav-mega li.grp>details>summary::before{left:5px}
  .nav-mega li.grp>details>.panel,.lang ul{box-shadow:none;border:0;background:transparent;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav-mega .panel a{font-size:1rem}
}
@media (max-width:480px){.brand,.brand.brand-long{font-size:1.2rem;gap:8px}.brand-mark,.brand-long .brand-mark{width:34px;height:34px}.brand span{display:none}.top .wrap{padding-left:16px;padding-right:16px}.bar{gap:8px}.burger{padding-left:10px;padding-right:10px}}
@media (max-width:340px){.top .wrap{padding-left:10px;padding-right:10px}.bar{gap:4px}.brand,.brand.brand-long{font-size:1.02rem;gap:5px}.brand-mark,.brand-long .brand-mark{width:28px;height:28px}.burger{padding-left:7px;padding-right:7px}}

.top .btn-top{white-space:nowrap;flex:none}
.top .nav-mega>ul>li,.top .nav-mega li.grp>details>summary{white-space:nowrap}
@media (max-width:640px){.top .btn-top{display:none}}


.btn{--disc:38px;display:inline-flex;align-items:center;justify-content:center;gap:.8em;text-align:center;min-height:54px;padding:8px 26px;border-radius:999px;border:1.5px solid transparent;font-family:var(--body);font-weight:550;font-size:.97rem;letter-spacing:.01em;line-height:1.25;text-decoration:none;cursor:pointer;transition:background-size .7s var(--ease),color .35s,border-color .3s,background-color .3s,box-shadow .35s var(--ease),transform .35s var(--ease)}
.btn-primary{padding:8px 8px 8px 28px;background-color:var(--accent);border-color:var(--accent);color:var(--accent-ink);background-image:radial-gradient(circle closest-side,var(--sand) 98%,transparent 100%);background-repeat:no-repeat;background-position:right 8px center;background-size:var(--disc) var(--disc);box-shadow:0 16px 26px -18px rgba(15,35,64,.8)}
.btn-primary::after{content:"\2192";display:inline-grid;place-items:center;flex:none;width:var(--disc);height:var(--disc);color:var(--accent-deep);font-size:1.1rem;line-height:1;transition:transform .45s var(--ease)}
.btn-primary:hover,.btn-primary:focus-visible{filter:none;color:var(--accent-deep);border-color:var(--sand);background-size:520px 520px;box-shadow:0 22px 30px -18px rgba(15,35,64,.7)}
.btn-primary:hover::after{transform:translateX(3px)}
.btn-ghost,.btn-secondary{background:transparent;color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.btn-ghost:hover,.btn-secondary:hover{background:var(--card);color:var(--accent-deep);border-color:var(--accent);box-shadow:0 14px 24px -18px rgba(15,35,64,.6)}
.btn-sm{--disc:32px;min-height:46px;font-size:.9rem}
.btn-top{--disc:32px;padding:6px 6px 6px 22px;font-size:.9rem;min-height:46px}
.cta-row{gap:12px 14px;align-items:center}
.hero .btn-ghost,.close .btn-ghost{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.hero .btn-ghost:hover,.close .btn-ghost:hover{background:var(--card);color:var(--accent-deep);border-color:var(--accent)}


.hero{--hero-photo:clamp(300px,58vh,640px);background:var(--bg);color:var(--ink);display:grid;grid-template-rows:var(--hero-photo) auto;min-height:0;overflow:hidden}
.hero-inner{--hero-photo:clamp(210px,34vh,380px);min-height:0}
.hero-home{min-height:0}
.hero::after,.hero.text-right::after{content:none;display:none;background:none}
.hero-img{position:relative;inset:auto;grid-row:1;grid-column:1;overflow:hidden;min-height:0;background:var(--aqua)}
.hero-img img{transform-origin:50% 60%;animation:sg-drift 32s ease-in-out infinite alternate}
@keyframes sg-drift{from{transform:scale(1.015)}to{transform:scale(1.07)}}
.hero-img::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:46px;z-index:3;pointer-events:none;background:var(--bg);-webkit-mask:var(--wave-fill) 0 100%/560px 100% repeat-x;mask:var(--wave-fill) 0 100%/560px 100% repeat-x;animation:sg-tide 26s linear infinite}
@keyframes sg-tide{to{-webkit-mask-position:560px 100%;mask-position:560px 100%}}
.hero-inner .hero-img::after{height:34px}
.hero .hero-text,.hero.text-right .hero-text,.hero-home .hero-text{grid-row:2;grid-column:1;position:relative;z-index:2;min-height:0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:auto auto auto auto auto;column-gap:clamp(40px,6vw,88px);row-gap:0;align-content:start;align-items:start;text-align:left;justify-content:stretch;padding-top:26px;padding-bottom:64px;width:100%}
.hero-inner .hero-text{display:block;padding-top:20px;padding-bottom:36px}
.hero .kicker{color:var(--coral-deep);font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.1em;display:flex;align-items:center;gap:14px;grid-column:1;grid-row:1}
.hero .kicker::before{content:"";width:34px;height:8px;flex:none;background:var(--coral);-webkit-mask:var(--wave-short) center/contain no-repeat;mask:var(--wave-short) center/contain no-repeat}
.hero-text h1,.hero-home .hero-text h1,.hero-inner .hero-text h1,.hero.text-right .hero-text h1{grid-column:1;grid-row:2/7;align-self:start;color:var(--ink);text-shadow:none;max-width:14em;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.03;margin:0;text-wrap:balance;font-weight:500}
.hero-inner .hero-text h1{max-width:22em;font-size:clamp(2rem,3.8vw,3.3rem);line-height:1.08}
.hero .lede{grid-column:2;grid-row:2;align-self:start;color:var(--ink2);max-width:30em;font-size:1.1rem;line-height:1.6;margin:.35em 0 1.1em}
.hero .hero-price{grid-column:2;grid-row:3;color:var(--ink);font-family:var(--body);font-size:1.02rem;font-weight:550;margin:0 0 .35em;padding:0 0 0 18px;border-left:2px solid var(--coral);line-height:1.45;font-variant-numeric:lining-nums tabular-nums}
.hero .hero-price.hero-next{grid-row:4;color:var(--accent);font-weight:450;border-left-color:var(--aqua-hi)}
.hero .cta-row,.hero.text-right .cta-row,.hero-home .cta-row{grid-column:2;grid-row:5;justify-content:flex-start;margin:1.1em 0 0}
.byline{color:var(--ink2)}
.hero .byline{margin-top:1.2em}
.hero-price .amt{white-space:nowrap}
@media (max-width:900px){
  .hero{--hero-photo:clamp(250px,46svh,460px)}
  .hero-inner{--hero-photo:clamp(190px,30svh,300px)}
  .hero .hero-text,.hero.text-right .hero-text,.hero-home .hero-text{display:flex;flex-direction:column;align-items:flex-start;padding-top:18px;padding-bottom:44px}
  .hero-text h1,.hero-home .hero-text h1,.hero.text-right .hero-text h1{max-width:none;font-size:clamp(2.2rem,9.6vw,3.1rem);margin-bottom:.5em}
  .hero-inner .hero-text h1{font-size:clamp(1.9rem,8vw,2.5rem)}
  .hero .lede{margin:0 0 1em;font-size:1.04rem}
  .hero .hero-price{margin:0 0 .4em}
  .hero .cta-row{flex-direction:column;align-items:stretch;width:100%;gap:10px;margin-top:1em}
  .hero .cta-row .btn{width:100%}
  .hero .btn-primary{justify-content:space-between}
  .hero-img::after{height:34px;-webkit-mask-size:380px 100%;mask-size:380px 100%}
  @keyframes sg-tide{to{-webkit-mask-position:380px 100%;mask-position:380px 100%}}
}
@media (max-width:480px){.hero .kicker{letter-spacing:.14em;gap:10px}.hero .kicker::before{width:24px}.hero .hero-price .seg{display:block}.hero .hero-price .dot{display:none}}
.photo-cap{margin:0;font-family:var(--body);font-size:.74rem;font-weight:550;letter-spacing:.05em;line-height:1.2;color:var(--ink);background:rgba(235,246,244,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:7px 14px 7px 12px;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.photo-cap::before{content:"";width:7px;height:7px;box-sizing:border-box;border:1.5px solid var(--coral-deep);border-radius:50%;flex:none}
.hero-img .photo-cap{position:absolute;z-index:4;top:16px;right:16px}
.fleet-cards .thumb{position:relative}
.fleet-cards .thumb .photo-cap{position:absolute;left:14px;bottom:14px;z-index:2;max-width:calc(100% - 28px)}


.stamp{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--mute);margin:30px 0 12px;font-weight:500}
.answer{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,2.1vw,1.7rem);line-height:1.45;max-width:46em;color:var(--ink);text-wrap:pretty;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:26px 32px 26px 58px;margin:0 0 8px;position:relative}
.answer::before{content:"";position:absolute;left:26px;top:34px;width:14px;height:14px;box-sizing:border-box;border:2px solid var(--coral);border-radius:50%}
.answer::after{content:"";position:absolute;left:31px;top:20px;width:5px;height:5px;box-sizing:border-box;border:1.5px solid var(--coral);border-radius:50%;opacity:.7}
.facts{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px 8px 20px;margin:30px 0 6px;text-align:center;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.facts div{padding:2px 14px;border-left:1px solid var(--line);min-width:0}
.facts div:first-child{border-left:0}
.facts dt{text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;color:var(--mute);font-weight:550;overflow-wrap:anywhere}
.facts dd{font-family:var(--display);font-weight:500;font-size:2.15rem;color:var(--accent);font-variant-numeric:lining-nums;line-height:1.2}
@media (max-width:720px){.facts div:nth-child(4){border-left:0}.facts dd{font-size:1.65rem}}
@media (max-width:480px){.facts div{padding-left:8px;padding-right:8px}.facts dt{letter-spacing:.08em}.facts dd{font-size:1.4rem}.answer{padding:22px 22px 22px 46px;font-size:1.2rem}.answer::before{left:18px;top:30px}.answer::after{left:23px;top:17px}}


.content{overflow-x:clip;padding-bottom:40px}
.sec,.sec.wide{display:block;border-top:0;padding:68px 0 58px;position:relative}
.sec::before{content:"";display:block;height:14px;margin:0 0 44px;background:var(--rule);opacity:.8;-webkit-mask:var(--wave-rule) left center/96px 14px repeat-x;mask:var(--wave-rule) left center/96px 14px repeat-x}
.sec:first-child::before{display:none}
.sec:nth-of-type(even){background:var(--bg2);border-radius:44px;margin:14px -20px;padding:60px clamp(20px,4.6vw,68px) 56px}
.sec:nth-of-type(even)::before{display:none}
.sec>h2,.sec.wide>h2{position:static;max-width:21em;margin:0 0 .55em;text-wrap:balance}
.sec>h2::before{content:"";display:block;width:56px;height:10px;margin-bottom:18px;background:var(--coral);-webkit-mask:var(--wave-short) left center/56px 10px no-repeat;mask:var(--wave-short) left center/56px 10px no-repeat}
.sec>.prose{max-width:var(--measure)}
.sec>*,.sec.wide>*{grid-column:auto}
.prose h3{margin-top:1.7em}
.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--sea);text-decoration-thickness:1.5px;background-image:linear-gradient(var(--aqua),var(--aqua));background-repeat:no-repeat;background-position:0 100%;background-size:100% 0;border-radius:3px}
.prose a:hover{color:var(--accent-deep);background-size:100% 100%}
.sec:nth-of-type(even) .prose a{background-image:linear-gradient(var(--sand),var(--sand))}
.prose ul{padding-left:1.3em}
.prose li::marker{color:var(--coral)}
@media (min-width:1100px){
  .sec:not(.wide)::after{content:"";position:absolute;right:0;top:72px;width:300px;height:240px;background:var(--rule);opacity:.5;pointer-events:none;-webkit-mask:var(--manta) center/contain no-repeat;mask:var(--manta) center/contain no-repeat}
  .sec:nth-of-type(even):not(.wide)::after{right:clamp(20px,4.6vw,68px);top:60px;background:var(--coral);opacity:.32}
}
@media (max-width:860px){.sec,.sec.wide{padding:52px 0 44px}.sec::before{margin-bottom:34px}.sec:nth-of-type(even){border-radius:32px;padding-top:48px;padding-bottom:44px}body{font-size:16.5px}}
.close{border-top:0;margin:36px auto 0;padding:84px clamp(20px,5vw,72px) 76px;background:linear-gradient(135deg,var(--bg2) 0%,#F1D8C3 100%);border-radius:48px;text-align:center;position:relative;overflow:hidden;max-width:calc(var(--wrap) - 40px)}
.close::before{content:"";position:absolute;left:50%;top:26px;width:260px;height:208px;margin-left:-130px;background:var(--accent);opacity:.07;pointer-events:none;-webkit-mask:var(--manta) center/contain no-repeat;mask:var(--manta) center/contain no-repeat}
.close::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;background:var(--coral);opacity:.35;pointer-events:none;-webkit-mask:var(--reef) center bottom/320px 44px repeat-x;mask:var(--reef) center bottom/320px 44px repeat-x}
.close>*{position:relative;z-index:1}
.close h2{font-size:clamp(2.1rem,4.4vw,3.6rem);max-width:18em;margin:0 auto .45em;text-wrap:balance}
.close p{margin-left:auto;margin-right:auto;max-width:56ch;color:var(--ink2)}
.close .cta-row{justify-content:center;margin-bottom:28px}
.close .btn-primary{background-image:radial-gradient(circle closest-side,var(--bg2) 98%,transparent 100%)}
.close .btn-primary:hover{background-size:520px 520px}
.close .btn-ghost{border-color:var(--accent);background:rgba(255,255,255,.35)}
.close a:not(.btn){color:var(--accent-deep)}
@media (max-width:860px){.close{margin:28px 12px 0;max-width:none;border-radius:36px;padding:68px 20px 70px}.close .cta-row{flex-direction:column;align-items:stretch}.close .btn-primary{justify-content:space-between}}


.cabin-img,.swiper,.strip-item img,.grid figure,.hotel img,.spotgrid figure,.thumb,.map-wrap,.map img{border-radius:24px}
.cabin-img,.swiper .slide img,.strip-item img,.grid figure img,.hotel img,.thumb img{filter:saturate(1.04) contrast(1.015)}
.swiper{background:var(--aqua);overflow:hidden}
.swiper .track{aspect-ratio:5/4}
.sw-prev,.sw-next{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--accent-deep);box-shadow:0 10px 22px -10px rgba(15,35,64,.55);border:0;transition:transform .35s var(--ease),background .2s}
.sw-prev:hover,.sw-next:hover{background:#fff;transform:translateY(-50%) scale(1.08)}
.swiper .dots i{border-radius:999px;width:7px;height:7px;background:rgba(255,255,255,.7)}
.swiper .dots i.on{width:24px;transform:none;background:#fff}
.sw-all{border-radius:999px;background:rgba(15,35,64,.78);letter-spacing:.04em;font-family:var(--body);padding:8px 14px}
.strip{gap:20px;padding-bottom:18px}
.strip-item{flex-basis:min(74vw,290px)}
.strip-item img{aspect-ratio:4/5;transition:transform .9s var(--ease)}
.strip-item a{display:block;overflow:hidden;border-radius:24px}
.strip-item:hover img{transform:scale(1.05)}
.strip-item figcaption strong{font-size:1.3rem}
.grid{gap:14px;grid-auto-flow:dense;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(150px,44vw,230px)}
.grid figure{overflow:hidden;position:relative;background:var(--aqua)}
.grid figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform 1.1s var(--ease)}
.grid figure:hover img{transform:scale(1.06)}
.grid figure::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 0 rgba(255,255,255,0);transition:box-shadow .4s var(--ease);pointer-events:none}
.grid figure:hover::after{box-shadow:inset 0 0 0 6px rgba(255,255,255,.6)}
.grid figure:nth-child(5n+1){grid-column:span 2}
@media (min-width:721px){
  .grid:not(.spotgrid){grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(190px,21vw,290px);gap:16px}
  .grid:not(.spotgrid) figure:nth-child(5n+2){grid-row:span 2}
}
.spotgrid{grid-auto-rows:auto}
.spotgrid figure:nth-child(5n+1){grid-column:auto}
.spotgrid figure img{aspect-ratio:3/2;height:auto}
ul.posts.cards .thumb{aspect-ratio:3/2}
.map-wrap{border-color:var(--line);overflow:hidden}
.lightbox button{border-radius:50%}


.cabin-card,.space-card,.rv,.svc-item,.pay,.social,.wechat,ol.steps li,.compass,.plan,ul.posts a,ul.posts.cards li a,.fleet-cards li.vcard,.bookvia,.isnot,.quiet,.hotel-note,.occ-grid a,.next-deps li,.dep-month,.badge,.soc-links a{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);transition:transform .5s var(--ease),box-shadow .5s var(--ease),background-color .3s,border-color .3s}
.sec:nth-of-type(even) .cabin-card,.sec:nth-of-type(even) .rv,.sec:nth-of-type(even) .compass,.sec:nth-of-type(even) .next-deps li,.sec:nth-of-type(even) .dep-month{background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.9)}
.compass,.next-deps li,.dep-month,.badge,.soc-links a{border-radius:var(--r-sm);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 30px -26px rgba(15,35,64,.4)}
.bookvia,.isnot,.quiet,.hotel-note{background:var(--bg2);border:0;border-left:3px solid var(--coral);border-radius:6px 22px 22px 6px;box-shadow:none}
.opbox{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:6px 0 16px;box-shadow:none;background:transparent}
.cabin-card:hover,ul.posts.cards li a:hover,ul.posts a:hover,.fleet-cards li.vcard:hover,.occ-grid a:hover{transform:translateY(-6px);box-shadow:var(--shadow-up);border-color:rgba(255,255,255,.95)}
.cabins-v2{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:32px}
.cabin-card{border-radius:32px}
.cabin-card .cabin-img,.cabin-card .swiper{border-radius:0}
.cabin-card .swiper .slide img{transition:transform 1.2s var(--ease)}
.cabin-card:hover .swiper .slide img{transform:scale(1.035)}
.cabin-body{padding:28px 30px 32px;gap:12px}
.cabin-body h3{font-size:1.95rem;line-height:1.1}
.cabin-body h3 small{font-family:var(--body);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--mute)}
.verdict{font-family:var(--display);font-style:italic;font-size:1.22rem;color:var(--ink2);line-height:1.42}
.cabin-body .for{color:var(--ink2)}
ul.icons li::marker{color:var(--coral)}
.cabin-price{border-top:1px solid var(--line);padding-top:14px}
.cabin-price .lbl{font-size:.66rem;letter-spacing:.16em;font-weight:600;color:var(--mute);text-transform:uppercase}
.cabin-price strong{font-family:var(--body);font-weight:600;font-size:1.5rem;color:var(--accent);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.hfrom,.hfrom strong{color:var(--accent)}
.hfrom small{color:var(--mute)}
.rv{padding:30px 30px 26px}
.rv p{font-family:var(--display);font-style:italic;font-size:1.25rem;line-height:1.5;color:var(--ink)}
.rv .stars{color:var(--coral-deep)}
.pill{border-radius:999px;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;background:var(--aqua);color:var(--accent-deep);border:0}
.pill.fitted{background:var(--aqua);color:var(--sea)}
.tags li{border-radius:999px;border-color:var(--rule);background:var(--card)}
.stops span{border-radius:999px;background:var(--aqua);color:var(--ink)}
ol.steps li{padding-top:28px}
ol.steps li::before{background:var(--aqua);color:var(--accent-deep);border:0;border-radius:50%;font-family:var(--display);font-weight:500;font-size:1.2rem;box-shadow:0 0 0 5px rgba(210,234,230,.45)}
.days li{border-left:1.5px dashed var(--aqua-hi)}
.days li::before{width:12px;height:12px;left:-7.5px;top:22px;box-sizing:border-box;border-radius:50%;background:var(--bg);border:2px solid var(--coral)}
ul.check li::before{color:var(--sea)}
.qa{border:1px solid var(--line);border-radius:22px;background:var(--card);padding:0 26px;margin:0 0 12px;max-width:880px;box-shadow:var(--shadow);transition:background-color .3s,box-shadow .4s var(--ease)}
.qa[open]{background:#fff}
.qa summary{min-height:58px;align-items:center;padding:12px 0;gap:18px}
.qa summary h3{margin:0;font-family:var(--body);font-weight:550;font-size:1.06rem;color:var(--ink)}
.qa summary::after,.qa[open] summary::after{content:"+";display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--aqua);color:var(--accent-deep);font-size:1.4rem;font-weight:400;line-height:1;transition:transform .5s var(--ease),background-color .3s}
.qa[open] summary::after{transform:rotate(45deg);background:var(--sand)}
.qa[open]>p{animation:sg-fade .5s var(--ease)}
@keyframes sg-fade{from{opacity:0;transform:translateY(-6px)}}
.qa p{padding:0 0 22px;color:var(--ink2)}
.faq-group{font-size:1.75rem}
.compass{padding:26px 28px 12px}
.next-deps time{font-size:1.3rem;color:var(--accent)}
.dep-month h4{font-size:1.3rem}
.dep-year{font-size:2.2rem}
li.dep.few em{color:var(--coral-deep)}
li.dep.sold em{color:var(--bad)}


ul.posts.cards{gap:22px}
ul.posts.cards li a{padding:10px 10px 8px;position:relative;overflow:hidden;display:block}
ul.posts.cards .thumb{border-radius:20px;overflow:hidden}
ul.posts.cards .thumb img{transition:transform 1.1s var(--ease)}
ul.posts.cards li a:hover .thumb img{transform:scale(1.06)}
ul.posts.cards .card-body{padding:16px 14px 12px;gap:6px}
ul.posts.cards li a::after{content:"\2192";position:absolute;right:18px;bottom:16px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--accent-deep);font-size:1.05rem;opacity:0;transform:translate(-8px,8px) scale(.85);transition:opacity .35s,transform .5s var(--ease)}
ul.posts.cards li a:hover::after,ul.posts.cards li a:focus-visible::after{opacity:1;transform:none}
ul.posts.cards.occ-feat{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
ul.posts.cards.occ-feat .thumb{aspect-ratio:4/5}
ul.posts.cards.occ-feat strong{font-size:1.6rem;line-height:1.1}
@media (max-width:720px){ul.posts.cards.occ-feat{grid-template-columns:1fr 1fr;gap:12px}ul.posts.cards.occ-feat li:first-child{grid-column:1/-1}ul.posts.cards.occ-feat li:first-child .thumb{aspect-ratio:16/11}ul.posts.cards.occ-feat strong{font-size:1.3rem}ul.posts.cards.occ-feat span{display:none}ul.posts.cards.occ-feat li:first-child span{display:block}ul.posts.cards.occ-feat .card-body{padding:12px 6px 10px}ul.posts.cards li a::after{display:none}}
@media (min-width:1100px){ul.posts.cards.occ-feat{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}ul.posts.cards.occ-feat strong{font-size:1.45rem}}
ul.posts a{padding:16px 20px}
ul.occ-grid a{font-family:var(--display);font-size:1.3rem;padding:22px 22px;text-align:left}
ul.occ-grid.occ-more{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
ul.occ-grid.occ-more a{padding:12px 18px;font-size:1.12rem;box-shadow:none}
@media (min-width:721px){ul.occ-grid.occ-more{grid-template-columns:repeat(3,1fr)}}
.occ-grid a:hover{background:var(--aqua)}
ul.occ-grid:not(.occ-more) li{display:flex}
ul.occ-grid:not(.occ-more) a{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
ul.occ-grid:not(.occ-more) a::after{content:"\2192";font-family:var(--body);font-size:1rem;color:var(--accent);transition:transform .35s var(--ease)}
ul.occ-grid:not(.occ-more) a:hover::after{transform:translateX(5px)}
ul.posts.cards .thumb picture,.fleet-cards .thumb picture{display:block;width:100%;height:100%}
ul.posts.cards .thumb img,.fleet-cards .thumb img{width:100%;height:100%;object-fit:cover}


li[data-vessel]::before,th[data-vessel]::before,td[data-vessel]::before,.vessel-blk>h3::before{display:inline-grid;place-items:center;width:1.75em;height:1.75em;box-sizing:border-box;margin-right:.6em;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-family:var(--display);font-weight:500;font-size:.82em;line-height:1;vertical-align:-.3em;letter-spacing:0;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--accent)}
li[data-vessel="1"]::before,th[data-vessel="1"]::before,td[data-vessel="1"]::before,.vessel-blk[data-vessel="1"]>h3::before{content:"1"}
li[data-vessel="2"]::before,th[data-vessel="2"]::before,td[data-vessel="2"]::before,.vessel-blk[data-vessel="2"]>h3::before{content:"2"}
li[data-vessel="3"]::before,th[data-vessel="3"]::before,td[data-vessel="3"]::before,.vessel-blk[data-vessel="3"]>h3::before{content:"3"}
section.vessel-blk[data-vessel]::before{content:none}
.nav-mega .panel li[data-vessel]::before{display:none}
.fleet-cards{gap:30px;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.fleet-cards li.vcard{position:relative;overflow:hidden;border-radius:32px;border:1px solid var(--line);background:var(--card)}
.fleet-cards li.vcard::before{position:absolute;z-index:3;top:16px;left:16px;width:2.6rem;height:2.6rem;margin:0;font-size:1.15rem;vertical-align:baseline;box-shadow:0 0 0 3px rgba(255,255,255,.85),0 10px 18px -8px rgba(15,35,64,.6)}
.fleet-cards .thumb{aspect-ratio:4/3;border-radius:0}
.fleet-cards .thumb img{transition:transform 1.2s var(--ease)}
.fleet-cards li.vcard:hover .thumb img{transform:scale(1.045)}
.fleet-cards .vbody{padding:26px 30px 30px}
.fleet-cards .vbody h3{font-size:2rem}
.fleet-cards .vprice strong{color:var(--accent);font-weight:600}
.fleet-cards .vlink{text-decoration:none}
.flegend b,.fchip b{border-radius:50%;font-family:var(--display);font-weight:500;border-color:var(--accent);color:var(--accent-deep)}
.fchip{border-radius:999px;background:var(--card)}
a.fchip:hover{border-color:var(--accent);background:var(--aqua)}
.fdep-year>summary::after{color:var(--coral-deep)}
.vessel-blk>h3{border-bottom:1px solid var(--line)}
@media (min-width:1100px){.fleet-cards:has(>li:nth-child(2):last-child){grid-template-columns:1fr 1fr}.fleet-cards .thumb{aspect-ratio:16/11}}


table{border-collapse:separate;border-spacing:0;font-variant-numeric:lining-nums tabular-nums;margin:8px 0 26px;background:transparent;border:0;box-shadow:0 26px 40px -34px rgba(15,35,64,.45);border-radius:20px}
caption{font-family:var(--display);font-size:1.55rem;text-align:left;padding:0 0 12px;background:transparent;color:var(--ink);font-weight:500}
th,td{padding:15px 20px;border:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.8);color:var(--ink2)}
thead th{background:var(--accent-deep);color:#EAF6F4;border-bottom:0;font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:14px 20px}
thead th a{color:#EAF6F4;text-decoration-color:var(--aqua-hi)}
tbody th{color:var(--ink);font-weight:600}
tbody tr:nth-child(even)>*{background:rgba(210,234,230,.55)}
tbody tr>*{transition:background-color .3s}
tbody tr:hover>*{background:var(--aqua)}
tbody tr:last-child>*{border-bottom:0}
thead tr:first-child>:first-child{border-top-left-radius:20px}
thead tr:first-child>:last-child{border-top-right-radius:20px}
table:not(:has(thead)) tbody tr:first-child>:first-child{border-top-left-radius:20px}
table:not(:has(thead)) tbody tr:first-child>:last-child{border-top-right-radius:20px}
tbody:last-child tr:last-child>:first-child{border-bottom-left-radius:20px}
tbody:last-child tr:last-child>:last-child{border-bottom-right-radius:20px}
tr.extra td{color:var(--ink2)}
tr.total td{background:var(--sand);font-weight:700;color:var(--accent-deep);border-top:0}
table.rates td:not(:first-child){font-family:var(--body);font-size:1rem;font-weight:500;color:var(--ink)}
table.pp td:not(:first-child),table.ot td:not(:first-child),table.pc td:not(:first-child){font-size:1.02rem;font-weight:600;color:var(--accent-deep)}
table.rates td small,table.pp td small{font-family:var(--body);font-weight:400;color:var(--mute)}
table.rates.ft td,table.ft td{font-size:inherit;font-weight:400}
table.itin tr.k-sunrise td,table.itin tr.k-trek td{background:color-mix(in srgb,var(--sand) 55%,#fff)}
table.itin tr.k-snorkel td,table.itin tr.k-swim td{background:color-mix(in srgb,var(--aqua-hi) 38%,#fff)}
table.itin tr.night td{background:var(--aqua);font-style:normal}
table.season td.v-rough,table.season td.v-wet,table.season td.v-low,table.season td:nth-child(5).v-peak,table.season td:nth-child(5).v-high{color:var(--bad)}
table.fleet-cmp thead th:first-child{background:var(--accent-deep)}
.fleet-ot tr.vrow th{background:var(--sand);color:var(--ink);text-transform:none;letter-spacing:0;font-size:1rem;font-weight:600}
.fleet-ot tr.vrow th a{color:var(--ink)}
table.rates[data-vessel]::before,table.rates::before,table.rates>caption::before{content:none!important;display:none!important}
table.rates td:first-child,table.rates th:first-child,table.rates th[scope="row"]{white-space:nowrap}
.content table.rates.fleet-cmp th,.content table.rates.fleet-cmp td{padding:14px 18px}
.content table.rates.fleet-cmp thead th:not(:first-child){padding:14px 18px;font-size:.68rem}
.tscroll{padding-bottom:12px}
.tscroll[data-hint].is-scroll::after{color:var(--ink2);opacity:1;letter-spacing:.05em;font-size:.78rem;font-weight:550}
@media (max-width:720px){th,td{padding:12px 14px}thead th{padding:12px 14px}.content table.rates.fleet-cmp th,.content table.rates.fleet-cmp td{padding:12px 14px}}
@media (max-width:560px){
 table.season{min-width:0;width:100%}
 table.season th:last-child,table.season td:last-child{display:none}
 table.season.rates td,table.season.rates th{padding:9px 4px;font-size:.74rem!important;letter-spacing:0;white-space:nowrap;vertical-align:middle}
 table.season thead th{font-size:.58rem;letter-spacing:.06em}
}


.plan{padding:28px}
.plan input,.plan select{border-radius:14px;background:#fff;border:1px solid var(--rule);min-height:48px;font-family:var(--body);color:var(--ink)}
.plan input:focus,.plan select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--aqua)}


.foot{background:linear-gradient(180deg,var(--night) 0%,var(--night2) 100%);color:#C3D8DE;padding:116px 0 30px;position:relative;margin-top:84px;border-top:0;overflow:hidden;font-size:.97rem}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:48px;background:var(--aqua-hi);opacity:.4;pointer-events:none;-webkit-mask:var(--reef) center top/320px 48px repeat-x;mask:var(--reef) center top/320px 48px repeat-x;transform:scaleY(-1)}
.foot::after{content:"";position:absolute;right:-30px;bottom:30px;width:460px;height:368px;background:var(--aqua-hi);opacity:.07;pointer-events:none;-webkit-mask:var(--manta) center/contain no-repeat;mask:var(--manta) center/contain no-repeat}
.foot>*{position:relative;z-index:1}
.foot a{color:#EAF6F4;text-decoration-color:rgba(158,214,208,.55)}
.foot a:hover{color:#fff;text-decoration-color:var(--coral)}
.foot strong{font-family:var(--body);font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--aqua-hi);padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid rgba(158,214,208,.28)}
.foot .cols>div:first-child strong{font-family:var(--display);font-size:1.5rem;letter-spacing:-.005em;text-transform:none;font-weight:500;color:#fff;border-bottom:0;padding-bottom:0}
.foot li{padding:3px 0}
.foot :focus-visible{outline-color:var(--aqua-hi)}
.foot .note,.foot small{color:#B5CBD3}
@media (max-width:720px){.foot{padding-top:96px}.foot li a{min-height:44px;display:inline-flex;align-items:center}.foot p a{display:inline-flex;align-items:center;min-height:44px}}
.legal{border-top:1px solid rgba(158,214,208,.22);color:#B5CBD3}
.legal a{color:#EAF6F4}
.paylogos img{background:#fff;border-radius:8px;padding:3px 8px;height:28px;box-shadow:0 1px 0 rgba(255,255,255,.3)}
.fab-wa{background:var(--wa);border:1px solid rgba(255,255,255,.3);transition:transform .35s var(--ease)}
.fab-wa:hover{transform:translateY(-3px)}


@keyframes sg-rise{from{opacity:0;transform:translateY(22px)}}
@keyframes sg-surface{from{opacity:0;transform:translateY(26px) scale(.985);filter:blur(5px)}}
@supports (animation-timeline:view()){
  .sec>h2,.sec .prose>*,.answer,.stamp{animation:sg-rise linear backwards;animation-timeline:view();animation-range:entry 0% entry 50%}
  .cabin-card,.fleet-cards li.vcard,ul.posts.cards li,.rv,.grid figure,ol.steps li,.facts,.compass,.qa,.space-card{animation:sg-surface linear backwards;animation-timeline:view();animation-range:entry 0% entry 60%}
}
@media (prefers-reduced-motion:reduce){.hero-img img,.hero-img::after{animation:none}.cabin-card:hover,ul.posts.cards li a:hover,ul.posts a:hover,.fleet-cards li.vcard:hover,.occ-grid a:hover,.btn-primary:hover,.fab-wa:hover{transform:none}}


html[lang^="zh"] .btn,html[lang^="zh"] .kicker,html[lang^="zh"] thead th,html[lang^="zh"] .brand span,html[lang^="zh"] .facts dt,html[lang^="zh"] .stamp,html[lang^="zh"] .pill,html[lang^="zh"] .cabin-body h3 small,html[lang^="zh"] .cabin-price .lbl,html[lang^="zh"] .nav-mega .panel li.hd,html[lang^="zh"] .foot strong{letter-spacing:0;text-transform:none}
html[lang^="zh"] h1,html[lang^="zh"] h2,html[lang^="zh"] h3,html[lang^="zh"] .brand{font-weight:600;letter-spacing:0}
html[lang^="zh"] .answer,html[lang^="zh"] .verdict,html[lang^="zh"] .rv p{font-style:normal}
html[lang^="zh"] .hero-text h1{line-height:1.18;font-size:clamp(2.1rem,4.6vw,3.8rem)}
html[lang^="zh"] .hero-text .kicker::before{display:none}
html[lang^="zh"] .foot .cols>div:first-child strong{font-size:1.3rem}
@media (max-width:480px){
  html[lang^="zh"] .fab-stack{bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  html[lang^="zh"] .fab-stack .fab-wc{padding:10px;width:48px;height:48px;border-radius:50%;justify-content:center}
  html[lang^="zh"] .fab-stack .fab-wc span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}


dl.kv{grid-template-columns:max-content minmax(0,1fr)}
dl.kv dt,dl.kv dd{min-width:0;overflow-wrap:anywhere}
@media (max-width:560px){dl.kv{grid-template-columns:minmax(0,1fr);gap:0}dl.kv dt{margin-top:10px}dl.kv dt:first-child{margin-top:0}dl.kv dd{margin:0 0 2px}main{padding-bottom:84px}}
.qa summary,.qa summary h3,ul.posts a strong,.cabin-body h3{overflow-wrap:anywhere}
.flegend a,li.fdate .fask,.vessel-blk>h3 a,.rv footer a,.rvsrc a{display:inline-block;padding:12px 0;margin:-12px 0}
.flegend li{min-height:44px}
ul.vessel-links a{display:inline-flex;align-items:center;min-height:44px}
th[data-vessel],th[data-vessel] a{white-space:nowrap}
th[data-vessel] a{display:inline-block;padding:12px 0;margin:-12px 0}
p.note:empty,.hotel-note:empty{display:none}
.cabin-price strong,.fleet-cards .vprice strong,.vprice strong,td strong,.tables td,.hero-price .amt,.price,.amt,.usd{white-space:nowrap}
@media (max-width:720px){.hotels .hotel img,.hotels .hotel picture{display:none}.hotels .hotel{padding-block:10px}}
.cabin-card .photos-pending{margin:0;aspect-ratio:16/8;display:grid;place-items:center;text-align:center;padding:18px 24px;font-family:var(--display);font-style:italic;font-size:1.15rem;line-height:1.3;color:var(--ink2);background:linear-gradient(135deg,var(--aqua),var(--bg) 60%,var(--bg2));position:relative;overflow:hidden}
.cabin-card .photos-pending::before{content:"";position:absolute;right:-16px;bottom:-14px;width:150px;height:120px;background:var(--accent);opacity:.1;-webkit-mask:var(--manta) center/contain no-repeat;mask:var(--manta) center/contain no-repeat}
html[lang^="zh"] .cabin-card .photos-pending{font-style:normal}
@media (max-width:560px){.cabin-card .photos-pending{padding:16px 64px 16px 20px;font-size:1.05rem}.cabin-body{padding:24px 22px 28px}.cabin-body h3{font-size:1.7rem}.qa{padding:0 18px}.rv{padding:24px 22px 20px}}



@media (max-width:860px){.sec:nth-of-type(even),.sec.wide:nth-of-type(even){margin:14px -8px;padding:48px 22px 44px}}

.rvsrc a.badge{padding:10px 16px;margin:0;min-height:44px;display:inline-flex}
.rvsrc a.btn{display:inline-flex;align-items:center;padding:8px 24px;margin:0}
.rvsrc{gap:12px;margin-top:22px}
.badge{background:var(--card-solid);border-color:var(--line)}

.grid figure picture{display:block;width:100%;height:100%}

@media (min-width:721px){
  .spotgrid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(150px,15vw,210px);gap:14px}
  .spotgrid figure img{aspect-ratio:auto;height:100%}
  .spotgrid figure:first-child:nth-last-child(3n){grid-column:span 2;grid-row:span 2}
}

@media (min-width:1100px){
  .sec:not(.wide)~.sec:not(.wide)::after{content:none}
  .sec:not(.wide)>h2{max-width:min(21em,calc(100% - 330px))}
}

.sec:nth-of-type(even) tbody tr>*{background:rgba(255,255,255,.88)}
.sec:nth-of-type(even) tbody tr:nth-child(even)>*{background:rgba(255,250,245,.55)}
.sec:nth-of-type(even) tbody tr:hover>*{background:#fff}
.sec:nth-of-type(even) tr.total td{background:var(--sand)}

thead th[data-vessel]::before{font-size:1.3em;background:var(--sand);color:var(--accent-deep);box-shadow:none;letter-spacing:0;margin-right:.7em}

@media (max-width:720px){table.ot td,table.pp td:not(:first-child),table.pc td:not(:first-child),table.rates:not(.fleet-cmp):not(.ft) td:not(:first-child){white-space:nowrap}}

@media (max-width:720px){body{padding-bottom:0}main{padding-bottom:0}.foot{margin-top:56px;padding-bottom:104px}}
@media (max-width:560px){main{padding-bottom:0}}

@media (max-width:520px){.foot .cols{grid-template-columns:1fr 1fr;gap:6px 18px}.foot .cols>div:nth-child(-n+2){grid-column:1/-1}.foot .cols>div{min-width:0}.foot li a{overflow-wrap:anywhere}}

ul.occ-grid:not(.occ-more) a{min-height:150px;font-size:1.22rem;line-height:1.28;background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.95)}
ul.occ-grid:not(.occ-more) a::before{content:"";display:block;width:34px;height:8px;background:var(--coral);-webkit-mask:var(--wave-short) left center/contain no-repeat;mask:var(--wave-short) left center/contain no-repeat;margin-bottom:-4px}
@media (max-width:720px){ul.occ-grid:not(.occ-more){grid-template-columns:1fr 1fr;gap:10px}ul.occ-grid:not(.occ-more) a{min-height:128px;font-size:1.06rem;padding:18px 16px}}

@media (max-width:720px){.fab-wa{padding:11px;box-shadow:0 4px 14px rgba(15,35,64,.22)}.fab-wa svg{width:22px;height:22px}}
@media (max-width:480px){.hero .hero-price.hero-next{padding-right:68px}}
@media (min-width:481px){.hero .hero-price{padding-right:190px}}


.fleet-cards{list-style:none;margin:1.2rem 0;padding:0;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.fleet-cards .vcard{display:flex;flex-direction:column;border:1px solid var(--line,rgba(0,0,0,.14));border-radius:12px;overflow:hidden;background:var(--card,transparent)}
.fleet-cards .vlink{display:block}
.fleet-cards .thumb{margin:0;aspect-ratio:3/2;overflow:hidden}
.fleet-cards .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fleet-cards .vbody{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem}
.fleet-cards .vbody h3{margin:0}
.fleet-cards .vbody h3 small{font-size:.7em;font-weight:400;opacity:.7}
.fleet-cards .vfacts,.fleet-cards .suits{margin:0}
.fleet-cards .vprice{margin:0;display:flex;flex-direction:column;gap:.15rem}
.fleet-cards .vlinks{margin:.3rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.vessel-blk{margin:1.6rem 0 2.2rem}
.vessel-blk>h3{margin:0 0 .8rem;padding-bottom:.4rem;border-bottom:1px solid var(--line,rgba(0,0,0,.14))}
.vessel-blk>h3 small{font-size:.7em;font-weight:400;opacity:.7}
table.rates.fleet-cmp{width:100%;table-layout:fixed}
table.rates.fleet-cmp th,table.rates.fleet-cmp td,table.rates.fleet-cmp thead th:not(:first-child){padding:8px 12px;vertical-align:top;text-align:left;white-space:normal;font-size:.95rem}
table.rates.fleet-cmp th[scope=row]{width:21%}
.fleet-cmp td.sx span{display:block;line-height:1.35}
.fleet-cmp td.sx span+span{margin-top:3px}
.fleet-cmp tr.links td{font-size:.9em}
table.fleet-pp,table.fleet-ot{width:100%}
.fleet-ot tr.vrow th{text-align:left;font-weight:600;background:var(--bg2)}
.fleet-ot tr.vrow small{font-weight:400;opacity:.75}
.flegend{list-style:none;margin:.3rem 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}
.flegend li{display:flex;align-items:center;gap:.5rem}
.flegend b,.fchip b{display:inline-grid;place-items:center;width:1.55em;height:1.55em;border:1px solid var(--accent);color:var(--accent);font-weight:600;font-size:.9em;line-height:1;flex:none}
.fdep-year{border-top:1px solid var(--line);margin:1.2rem 0 .4rem}
.fdep-year>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:48px}
.fdep-year>summary::-webkit-details-marker{display:none}
.fdep-year>summary::after{content:"+";font-size:1.7rem;line-height:1;color:var(--accent)}
.fdep-year[open]>summary::after{content:"\2212"}
.fdep-year>summary h3{margin:0}
.fdep-month{margin:.8rem 0 1.4rem}
.fdep-month h4{margin:0 0 .3rem;font-size:1.2rem}
ol.fdates{list-style:none;margin:0;padding:0}
li.fdate{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;padding:.65rem 0;border-top:1px solid var(--line)}
li.fdate time{font-weight:600;font-variant-numeric:tabular-nums;min-width:5.5rem}
li.fdate .froute{color:var(--mute);font-size:.85rem}
li.fdate .fask{margin-left:auto;order:3}
li.fdate .fchips{display:flex;flex-wrap:wrap;gap:.4rem;order:2}
.fchip{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:0 .8rem 0 .45rem;border:1px solid var(--line);font-size:.88rem;line-height:1.2;color:inherit;text-decoration:none;white-space:nowrap}
a.fchip:hover{border-color:var(--accent)}
.fchip.none{opacity:.35}
.fchip.few{color:var(--accent);font-weight:600}
.fchip.sold{opacity:.6;text-decoration:line-through}
.fchip.underway{color:var(--sea)}
@media (min-width:721px){li.fdate .fchip{flex:0 0 10.2rem}li.fdate .fchips{flex:1}li.fdate .froute{min-width:3rem}}
@media (max-width:720px){li.fdate .fchips{order:4;flex-basis:100%}li.fdate .fchip{flex:1 1 auto;justify-content:flex-start}
table.rates.fleet-cmp{table-layout:auto;width:auto;min-width:100%}
table.rates.fleet-cmp th[scope=row]{width:118px;min-width:118px;font-size:.85rem}
li.fdate .fask{letter-spacing:.03em;font-size:.72rem}
li.fdate{column-gap:.6rem}
table.rates.fleet-cmp td,table.rates.fleet-cmp thead th:not(:first-child){min-width:150px}
.tscroll table.fleet-cmp td.sx{white-space:normal}
.tscroll table.fleet-ot tr.vrow>th{position:static;box-shadow:none;background:var(--bg2)}}
.legal-co{display:flex;flex-wrap:wrap;gap:.2rem 1.6rem}
.legal-co span:first-child{font-weight:600}
.legal-pay .paylogos{margin:.7rem 0 .2rem}
.legal-pay .pay-other{margin:.3rem 0 0}
.vessel-links{list-style:none;padding:0;margin:.6rem 0;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.legal-pay+p{margin-top:.8rem}
