/* Slow Sea — photography, generous type and quiet controls. */
:root{--text:#1d1d1f;--muted:#6e6e73;--paper:#fff;--ink:#08090b;--accent:#0071e3;--blue:#0071e3;--line:#e5e5e7;--shadow:0 16px 48px #00000008}
body{background:white}.site-nav{height:64px;background:rgba(255,255,255,.88);border-color:#e9e9eb}.nav-inner{width:min(1380px,calc(100% - 72px))}.brand{font-size:15px;letter-spacing:2px;font-weight:650}.brand-icon{background:transparent;color:#1d1d1f;font-size:26px;width:24px}.brand small{font-size:8px;letter-spacing:1.4px;margin-top:4px}.nav-links a{font-weight:500;color:#666;font-size:12px}.nav-links .active{background:transparent;color:#111}.nav-cta{background:#1d1d1f;font-size:11px;padding:10px 18px}.container{width:min(1200px,calc(100% - 80px))}.eyebrow{font-size:11px;letter-spacing:2px;color:#74747b}.section{padding:120px 0}.section-heading{margin-bottom:54px}.title-large{font-size:clamp(34px,4.4vw,64px);line-height:1.12;letter-spacing:-2.5px;font-weight:700}.section-heading .subtitle{font-size:17px;color:#777}.section-warm{background:#f5f5f7}.section-dark{background:#08090b}.feature-card{border:0;border-radius:22px;background:#f5f5f7;box-shadow:none;padding:34px}.section-warm .feature-card{background:white}.feature-card h3{font-size:23px}.feature-card p{color:#6e6e73;font-size:14px}.feature-icon{background:transparent;color:#1d1d1f;display:block;font-size:30px;width:auto}.three-grid{gap:24px}.page-card{border:0;background:#f5f5f7;border-radius:24px}.page-card img{height:290px}.page-card-body{padding:32px}.page-card-body h3{font-size:32px}.page-card-body p{font-size:14px}.footer{background:#f5f5f7;color:#6e6e73;padding:60px 0}.footer .brand,.footer a{color:#1d1d1f}.footer .rule{background:#ddd!important}.photo-credit{padding:15px 30px;text-align:center;font-size:10px;color:#888;background:#f5f5f7}.photo-credit a{margin-left:10px;text-decoration:underline}
.editorial-hero{padding:0;background:#07101a;position:relative;isolation:isolate;min-height:750px;color:white;overflow:hidden}.hero-photograph{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-2}.editorial-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0002,#0001 30%,#0009 100%);z-index:-1}.hero-copy{width:min(1200px,calc(100% - 80px));margin:auto;padding:150px 0 115px}.editorial-hero .tiny-label{color:#ffffffb3;font-size:10px;letter-spacing:3px;margin-bottom:28px}.editorial-hero .huge{font-size:clamp(64px,7.5vw,112px);line-height:1.04;letter-spacing:-5px;font-weight:700}.editorial-hero .lead{color:#ffffffc9;font-size:19px;line-height:1.65;margin:24px 0 32px}.hero-button{display:inline-flex;gap:36px;align-items:center;padding:15px 24px;border:1px solid #ffffff70;border-radius:99px;font-size:13px;background:#ffffff16;backdrop-filter:blur(16px);transition:background .2s}.hero-button:hover{background:white;color:#111}.hero-caption{position:absolute;bottom:28px;left:40px;right:40px;display:flex;justify-content:space-between;gap:16px;color:#ffffff91;font-size:9px;letter-spacing:2px}.hero-home,.hero-ship{min-height:850px;background:#07111d}.hero-home .hero-copy,.hero-ship .hero-copy{text-align:center;padding:80px 0 420px}.hero-home .hero-photograph,.hero-ship .hero-photograph{height:auto;top:auto;bottom:54px;object-fit:contain;width:100%}.hero-home:after,.hero-ship:after{background:none}.hero-home .lead,.hero-ship .lead{margin:24px auto 24px}.hero-home .huge{font-size:clamp(60px,7vw,100px)}.hero-ship .huge{font-size:clamp(54px,7vw,100px)}.hero-home .tiny-label,.hero-ship .tiny-label{color:#b6c7d7}.hero-hk .hero-photograph{object-position:center}.hero-shanghai .hero-photograph{object-position:center 60%}
.calculator-area{background:#f5f5f7;padding:110px 0;border:0}.calc-intro{margin-bottom:36px}.calc-intro .lead{color:#6e6e73;font-size:17px!important}.capsule{background:transparent;color:#6e6e73;border-color:#dadade}.calc-sticky{position:static;background:transparent;border:0;padding:26px 0 12px;backdrop-filter:none}.filter-chip{border:0;background:white;color:#6e6e73;font-weight:500;padding:10px 15px}.filter-chip.active{background:#1d1d1f}.chiprow{gap:8px}.search-input{border:0;border-radius:12px;padding:13px 16px;flex:1;font-size:13px}.counter{color:#777}.calc-layout{grid-template-columns:minmax(0,1fr) 330px;gap:28px}.calc-list{gap:12px}.catalog-group{background:white;border-radius:18px;overflow:hidden;border:1px solid transparent}.catalog-group[open]{border-color:#dedee3}.catalog-group>summary{display:flex;align-items:center;gap:20px;padding:26px;cursor:pointer;list-style:none}.catalog-group summary::-webkit-details-marker,.quote-details summary::-webkit-details-marker{display:none}.group-index{font-size:11px;color:#acacb2;font-variant-numeric:tabular-nums}.group-title{font-size:22px;font-weight:650;letter-spacing:-.7px}.group-title small{display:block;font-weight:400;font-size:11px;letter-spacing:0;color:#8e8e95;margin-top:6px}.group-total{font-size:12px;margin-left:auto;color:#777}.group-chevron{font-size:24px;font-weight:300;color:#8a8a91}.catalog-group[open] .group-chevron{transform:rotate(45deg)}.group-items{display:grid;padding:0 26px 8px}.calc-item{border:0;border-top:1px solid #ececf0;border-radius:0;padding:27px 0;box-shadow:none;gap:16px;background:white}.calc-item.selected{background:white;border-color:#ececf0}.big-check{border-radius:50%;height:24px;width:24px;border-color:#c6c6cd}.big-check:checked{background:#0071e3;border-color:#0071e3}.item-name{font-size:17px;font-weight:600;color:#1d1d1f}.item-top{gap:15px}.item-description{font-size:13px;color:#777;margin:8px 0 12px}.rating{color:#987341;font-size:11px;letter-spacing:0}.item-tags{display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:10px;padding:5px 8px;border-radius:6px;font-weight:500}.tag-grey{background:#f5f5f7;color:#777}.key-tag{color:#876127;background:#f5efdf}.price-value{font-size:19px;color:#1d1d1f;font-weight:650}.old-price{text-decoration:none;color:#999}.mini-line{color:#82828a;font-size:11px;line-height:1.7}.price-radio{border-radius:99px;font-size:11px;font-weight:500;color:#777;border-color:#e7e7eb;padding:9px 12px}.price-radio:has(input:checked){background:#edf5ff;color:#0071e3;border-color:#dbeaff}.quantity{border-radius:99px;height:36px;border-color:#e7e7eb}.qty-button{color:#333}.qty-count{width:43px;border:0;outline:0;background:transparent;font-size:12px;padding:0;appearance:textfield}.qty-count::-webkit-inner-spin-button{appearance:none}.key-quantity{padding:0 12px;font-size:11px;color:#777}.item-result{background:#f5f8fd;border-radius:12px;padding:12px 14px;margin:15px 0;font-size:12px;color:#1e5793}.item-result span{display:block;font-size:11px;margin-top:5px}.item-result p{font-size:11px;line-height:1.5;margin:6px 0 0;color:#6481a3}.quote-details summary{display:flex;justify-content:space-between;cursor:pointer;color:#888;font-size:11px;margin-top:14px;list-style:none}.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}.quote-grid label{font-size:11px;color:#777;line-height:1.6}.quote-grid input,.quote-grid select{display:block;width:100%;border:1px solid #dedee3;border-radius:9px;font-size:12px;padding:10px;margin-top:7px;background:white;color:#333}.source-link{font-size:12px;color:#0071e3;text-decoration:none}.fold-tools{display:flex;justify-content:space-between;align-items:center;margin:8px 0 20px;font-size:12px;color:#777}.fold-tools input{accent-color:#0071e3}.fold-tools button{background:transparent;border:0;color:#666;font-size:12px;margin-left:10px}.summary{top:90px;border:0;border-radius:20px;box-shadow:none;padding:28px}.summary h3{font-size:20px;color:#1d1d1f}.summary .eyebrow{font-size:9px}.summary-amount{font-size:38px;letter-spacing:-1.5px;color:#1d1d1f;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.summary-money{color:#8a8a92;font-size:11px}.summary-rows{margin-top:22px}.summary-row{color:#777}.summary-row strong{color:#333}.summary-row .saving{color:#278250}.summary-controls label{font-weight:500;color:#777}.summary-button{border-radius:99px;background:#0071e3;font-weight:500}.summary-button.secondary{background:#f5f5f7;color:#333}.summary-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.summary-actions button{border:0;background:transparent;font-size:10px;color:#888;padding:0}.selected-lines{max-height:240px}.selected-lines p{font-size:11px;line-height:1.65;color:#777}.budget-warning{font-size:11px;background:#fff7e8;color:#8a672d;padding:10px;border-radius:8px}.audit-note{padding:18px 22px;background:#fff;border-radius:15px;margin:0 0 20px;color:#777;font-size:12px}.audit-note summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;color:#555}.audit-note p{margin:14px 0;font-size:12px;line-height:1.8}.key-panel{padding:30px 34px;background:#1d1d1f;color:#fff;border-radius:22px}.key-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.key-heading .eyebrow{color:#c4ae88}.key-heading h3{font-size:30px;letter-spacing:-1px;font-weight:550;margin:9px 0 0}.key-switch{font-size:12px;display:flex;gap:9px;align-items:center;white-space:nowrap}.key-switch input{width:22px;height:22px;accent-color:#c4ae88}.key-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0 20px}.key-benefits span{font-size:11px;color:#9d9da3}.key-benefits b{display:block;font-size:32px;font-weight:500;margin-bottom:5px;color:#e3ceb0;letter-spacing:-1px}.key-note{font-size:12px;color:#aaa;line-height:1.8;margin:0}.key-note a{color:#d0b996;margin-left:15px;white-space:nowrap}.key-settings{margin-top:16px;border-top:1px solid #ffffff1c;padding-top:16px;font-size:11px;color:#aaa}.key-settings summary{cursor:pointer}.key-settings p{font-size:11px;line-height:1.8;margin:14px 0}.key-settings .quote-grid label{color:#aaa}.key-settings .mini-line{color:#aaa}.key-settings input{accent-color:#c4ae88}.check-item{font-size:14px}.note{border-radius:12px;border:0;background:#f0f5f8}.note-warn{background:#f7f3ec;font-size:12px}.day-details h3{font-size:25px;color:#1d1d1f}.day-date strong{color:#1d1d1f}.day-tags span{background:#f5f5f7;color:#888;font-weight:500}.day-details p{font-size:15px;color:#777}.info-table td{font-size:14px}.float-top{box-shadow:none;color:#555}.calc-disclaimer{font-size:10px}.hero-copy{animation:elegantEntrance .7s both}
@media(max-width:1000px){.nav-inner{width:calc(100% - 40px)}.container{width:calc(100% - 48px)}.calc-layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.summary{padding:22px}.summary-amount{font-size:31px}.catalog-group>summary{padding:22px;gap:15px}.group-items{padding:0 20px}.group-title{font-size:20px}.group-total{font-size:11px}.key-heading h3{font-size:27px}.hero-copy{width:calc(100% - 64px)}.hero-home,.hero-ship{min-height:740px}.hero-home .hero-copy,.hero-ship .hero-copy{padding-bottom:340px}.three-grid{gap:16px}.feature-card{padding:26px}}
@media(max-width:760px){.site-nav{height:58px}.nav-inner{width:calc(100% - 28px)}.brand{font-size:11px;letter-spacing:1.2px}.nav-links a{font-size:11px;padding:8px}.container{width:calc(100% - 36px)}.section{padding:75px 0}.section-heading{margin-bottom:30px}.title-large{letter-spacing:-1.4px}.editorial-hero{min-height:660px}.hero-copy{width:calc(100% - 44px);padding:170px 0 90px}.editorial-hero .huge{font-size:66px;letter-spacing:-3px}.editorial-hero .tiny-label{font-size:8px;letter-spacing:2px}.editorial-hero .lead{font-size:16px;margin-top:24px}.hero-button{padding:13px 20px;font-size:12px}.hero-caption{left:22px;right:22px;bottom:22px;font-size:7px;letter-spacing:1px}.hero-caption span:last-child{max-width:56%;text-align:right}.hero-home,.hero-ship{min-height:660px}.hero-home .hero-copy,.hero-ship .hero-copy{padding:75px 0 330px}.hero-home .huge{font-size:62px}.hero-ship .huge{font-size:50px}.hero-home .hero-photograph,.hero-ship .hero-photograph{width:175%;max-width:none;left:-37.5%;bottom:65px;min-height:210px}.hero-shanghai .hero-photograph{object-position:60% center}.hero-hk .hero-photograph{object-position:60% center}.page-card img{height:250px}.page-card-body{padding:28px}.calc-layout{display:block}.calculator-area{padding:75px 0 95px}.calc-intro .title-large{font-size:36px}.calc-intro>.capsule{display:none}.key-panel{padding:24px 20px;border-radius:18px}.key-heading{align-items:flex-start;gap:12px}.key-heading h3{font-size:22px;line-height:1.2}.key-heading .eyebrow{font-size:9px}.key-switch{font-size:10px;padding-top:20px;gap:5px}.key-switch input{width:18px;height:18px;margin:0}.key-benefits{grid-template-columns:repeat(2,1fr);gap:20px;margin:25px 0}.key-benefits b{font-size:30px}.key-benefits span{font-size:10px}.key-note{font-size:11px}.key-note a{margin-left:8px}.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-grid label:last-child{grid-column:1/-1}.quote-grid input{font-size:16px}.calc-sticky{margin:0;padding:22px 0 10px;box-shadow:none}.chiprow{max-height:none;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.filter-chip{flex:none;font-size:11px}.search-input{width:100%;font-size:16px}.calc-controls{gap:12px}.catalog-group>summary{padding:22px 18px;gap:13px}.group-title{font-size:20px}.group-index{font-size:9px}.group-total{font-size:10px}.group-items{padding:0 16px}.item-top{display:block}.rating{display:block;margin-top:5px}.item-name{font-size:16px}.calc-item{padding:24px 0;gap:11px}.item-description{font-size:12px}.price-mode{gap:6px}.price-radio{font-size:10px;padding:8px}.quantity{margin-left:0}.qty-count{font-size:16px;width:42px}.mini-line{font-size:11px}.mobile-summary{background:#1d1d1f;border-radius:99px;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));padding:13px 20px}.mobile-summary .mobile-amount{font-size:21px}.mobile-summary button{background:#0071e3;color:white;border-radius:99px;font-weight:500;font-size:11px;padding:13px}.mobile-summary small{color:#b4b4bb}.drawer-panel{padding:25px 23px 35px}.drawer-panel [data-summary]{display:block}.summary-amount{font-size:35px}.summary{display:none}.footer{padding-bottom:95px}.photo-credit{padding-bottom:95px;font-size:9px}.audit-note{padding:16px;font-size:11px}.audit-note summary{font-size:11px}.fold-tools{font-size:11px}.fold-tools button{font-size:11px}.group-title small{font-size:10px}.timeline-day{grid-template-columns:85px 1fr}.day-details h3{font-size:20px}.day-details p{font-size:13px}.feature-card h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}}

/* Review improvements: readable controls, progressive disclosure and persistent filters. */
.calc-sticky{position:sticky;top:58px;z-index:20;background:rgba(255,255,255,.97)}
.selection-controls{display:none}.calc-item.selected .selection-controls{display:block}
.price-radio,.mini-line,.group-title small,.key-switch,.key-note{font-size:13px}
.qty-button,.price-radio,.key-switch,.fold-tools button{min-height:44px;min-width:44px}
.big-check{width:28px;height:28px;margin:8px}.calc-item{gap:12px}
summary:focus-visible{outline:3px solid #0071e3;outline-offset:4px}
.experience-group>summary{padding:22px 0;font-size:19px;font-weight:600;cursor:pointer;border-bottom:1px solid #ddd}
.key-comparison{margin:24px 0;padding:20px;background:#29292c;border-radius:16px;font-size:14px;line-height:1.6}.key-comparison input{color:#1d1d1f}
.key-comparison strong{font-size:22px}.key-comparison p:last-child{font-size:12px;color:#c7c7cc}
@media(max-width:760px){.calc-sticky{padding:8px 0}.calc-sticky .chiprow{margin:0}.key-heading{flex-wrap:wrap}.key-switch{padding-top:0}.item-description{font-size:14px}.price-value{font-size:20px}.hero-caption{font-size:11px}.group-total{font-size:12px}}

.trip-context{font-size:14px;margin:20px 0;opacity:.85}.trip-shortcuts{display:flex;gap:20px;justify-content:center;font-size:14px}.item-name{cursor:pointer}.old-price{text-decoration:none}.key-comparison .quote-grid{margin:16px 0}

.sailing-panel{padding:28px;margin-bottom:24px;border:1px solid #ddd;border-radius:20px;background:#fff}.sailing-panel h3{font-size:28px;margin:12px 0 22px}.sailing-panel label{display:block;font-size:14px}.sailing-panel select{display:block;width:100%;min-height:48px;margin:10px 0;padding:12px;border:1px solid #ccc;border-radius:10px;font-size:16px}.sailing-panel p{line-height:1.7;overflow-wrap:anywhere}.sailing-actions{display:flex;gap:22px;align-items:center}.sailing-actions button{min-height:44px;border-radius:22px;padding:10px 20px;background:#0071e3;color:white;border:0}.sailing-actions button:disabled{opacity:.6}@media(max-width:760px){.sailing-panel{padding:22px 18px}.sailing-panel h3{font-size:24px}}
