:root{--navy:#061d2d;--deep:#031522;--gold:#ffb000;--ink:#0b2b3c;--muted:#536675;--pale:#f2f6f7;--line:#d4dfe3;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font:400 1rem/1.65 var(--sans)}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e99b00;outline-offset:5px}::selection{background:var(--gold);color:var(--navy)}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.section{padding:108px 0}.eyebrow{font-size:.78rem;line-height:1.6;letter-spacing:.16em;font-weight:700;margin:0 0 25px}.header{background:var(--navy);padding:24px 56px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff}.brand{display:block}.brand img{width:202px;height:auto}.brand span{display:block;font-size:.75rem;letter-spacing:.13em;margin-top:8px;color:#ced9df}.header nav{display:flex;align-items:center;gap:34px;font-size:.9rem}.header nav>a:not(.button):hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--deep);padding:17px 28px;line-height:1.4;font-size:.94rem;font-weight:700;border:1px solid var(--gold);transition:background .2s,transform .2s;text-align:center}.button:hover{background:#ffc143;border-color:#ffc143;transform:translateY(-2px)}.button.small{padding:12px 21px}.hero{position:relative;background:var(--deep);color:#fff;min-height:770px;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,23,38,.87) 0,rgba(2,23,38,.55) 38%,rgba(2,23,38,.05) 80%),linear-gradient(0deg,rgba(2,23,38,.88),transparent 38%);z-index:-2}.hero-content{padding-top:62px;padding-bottom:120px}.light{color:#e9eff1;display:flex;align-items:center;gap:16px}.rule{width:36px;height:2px;background:var(--gold);flex:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--sans);font-weight:700}h1{font-size:clamp(5rem,7.7vw,8rem);line-height:.94;letter-spacing:-.025em;margin:0 0 30px}h2 em,.closing em{font-style:normal;font-weight:inherit}h1 em{color:#ffd481}.hero-copy{font-size:1.08rem;line-height:1.7;color:#e5edf1;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{display:inline-block;font-size:.94rem;font-weight:600;border:0;border-bottom:1px solid currentColor;padding:4px 0;background:transparent;color:#fff}.text-link:hover{color:var(--gold)}.text-link.dark{color:var(--navy)}.text-link.dark:hover{color:#946000}.hero-bottom{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;font-weight:600;letter-spacing:.12em;border-top:1px solid #ffffff42;padding:24px 0 37px}.hero-bottom>span:first-child{display:flex;align-items:center;gap:17px}.route-line{width:66px;height:1px;background:var(--gold)}.photo-note{position:absolute;right:22px;top:50%;writing-mode:vertical-rl;letter-spacing:.14em;font-size:.75rem;color:#fff9}.section-heading{display:flex;justify-content:space-between;gap:65px;align-items:flex-end;margin-bottom:56px}h2{font-size:clamp(2.35rem,3.9vw,3.75rem);line-height:1.08;letter-spacing:-.045em;margin:0;text-wrap:balance}.intro{max-width:390px;color:var(--muted);margin:0 0 6px;line-height:1.8}.port-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.port{position:relative;text-align:left;border:0;background:#fff;padding:26px 20px 30px;color:var(--ink);transition:background .2s}.port+.port{border-left:1px solid var(--line)}.port-top{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.75rem;letter-spacing:.1em}.port-top>span{font-size:.75rem}.port-dot{display:block;width:9px;height:9px;border:1px solid #8a9da8;border-radius:100%;margin:24px 0}.port strong{display:block;font-weight:600;font-size:1.09rem;margin-bottom:5px}.port time{display:block;font-family:var(--sans);font-size:2.05rem;font-weight:700;line-height:1.3;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap}.port-purpose{font-size:.75rem;color:var(--muted)}.port.active,.port:hover{background:var(--navy);color:#fff}.port.active .port-top,.port.active .port-purpose,.port:hover .port-top,.port:hover .port-purpose{color:#b8c8d2}.port.active .port-dot{background:var(--gold);border-color:var(--gold)}.port-panel{padding:35px 40px;background:var(--pale);display:grid;grid-template-columns:1fr 250px;gap:50px;margin-top:24px;border-left:3px solid var(--gold)}.port-panel .eyebrow{font-size:.7rem;margin-bottom:8px}.port-panel h3{font-family:var(--sans);font-size:1.85rem;font-weight:700;line-height:1.15;letter-spacing:-.035em;margin-bottom:12px}.port-panel p:last-child{color:var(--muted);max-width:620px;margin:0}.port-detail{border-left:1px solid var(--line);padding-left:32px}.port-detail>span{font-size:.75rem;letter-spacing:.12em;display:block}.port-detail strong{font-family:var(--sans);display:block;font-size:3rem;font-weight:700;letter-spacing:-.045em;line-height:1.35}.port-detail small{font-family:var(--sans);font-size:.9rem;font-weight:400}.port-detail .text-link{font-size:.85rem}.schedule-note{font-size:.78rem;color:var(--muted);margin:20px 0 0;max-width:950px}.operations{background:var(--navy);color:#fff}.operations .eyebrow{color:#cfb77e}.operations .intro{color:#b9c8d2}.operations-photo{position:relative}.operations-photo img{width:100%;height:480px;object-fit:cover;object-position:center 64%}.operations-photo span{position:absolute;bottom:0;left:0;padding:14px 20px;font-size:.75rem;letter-spacing:.12em;background:var(--navy);color:#d4e0e7;max-width:90%}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-top:48px}.principles article>span{display:block;font-size:.8rem;color:var(--gold);margin-bottom:18px}.principles h3{font-size:1.16rem;font-weight:700;letter-spacing:-.02em;margin-bottom:13px}.principles p{color:#b9c8d2;line-height:1.75;font-size:.95rem;margin:0}.enquiry{background:#edf3f5}.enquiry-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:95px;align-items:start}.enquiry-copy h2{font-size:clamp(2.6rem,4.1vw,4rem);margin-bottom:26px}.enquiry-copy>p:not(.eyebrow){color:var(--muted);max-width:400px}.contact-person{border-top:1px solid #c8d6dd;padding-top:28px;margin-top:38px}.contact-person>span{display:block;letter-spacing:.12em;font-size:.7rem;margin-bottom:16px}.contact-person a{display:block;font-size:1.05rem;overflow-wrap:anywhere}.contact-person a:first-of-type{font-family:var(--sans);font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:1.4;margin-bottom:10px}.enquiry-note{font-size:.8rem;margin-top:25px}.enquiry-card{background:white;padding:38px 40px;box-shadow:0 12px 40px #102d3d08;border-top:3px solid var(--gold)}.enquiry-card h3{font-family:var(--sans);font-size:1.65rem;font-weight:700;line-height:1.18;letter-spacing:-.03em;margin-bottom:28px}.enquiry-card label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600;margin-bottom:21px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{width:100%;border:1px solid #cbd6dc;background:#fff;padding:12px;color:var(--ink);font-size:.9rem;min-width:0;border-radius:0}input[readonly]{background:var(--pale);color:var(--muted)}textarea{resize:vertical;min-height:96px}input::placeholder,textarea::placeholder{color:#6c7b85}.enquiry-card .button{width:100%}.optional{font-weight:400;color:var(--muted);font-size:.75rem;margin-top:-8px}.form-note{color:var(--muted);font-size:.875rem;line-height:1.55;margin:14px 0 0}.enquiry-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--pale);padding:20px;font:400 .88rem/1.7 var(--sans);max-height:400px;overflow:auto}.result-actions{display:flex;gap:24px;justify-content:center;margin-top:18px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:23px 0}summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:1.3rem;font-weight:400;color:#6c7d87}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:.95rem;line-height:1.8;margin:16px 32px 0 0}.closing{background:var(--gold);padding:62px 0}.closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.closing p{font-family:var(--sans);font-size:clamp(2.35rem,4.2vw,3.75rem);font-weight:700;line-height:1.08;letter-spacing:-.045em;margin:0;text-wrap:balance}.closing .button{background:var(--navy);border-color:var(--navy);color:#fff}.closing .button:hover{background:#123b54}footer{background:var(--deep);color:#b7c9d4;padding:55px 0 26px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:40px}.footer-main p{font-size:.875rem;line-height:1.9;margin:0}.footer-main>a{font-size:.8rem;border-bottom:1px solid #567384}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;padding-top:24px;font-size:.75rem;color:#8ba0ad}.footer-bottom div{display:flex;gap:24px}.skip{position:absolute;left:10px;top:-70px;background:white;color:var(--navy);padding:12px;z-index:20}.skip:focus{top:10px}[hidden]{display:none!important}@media(min-width:1800px){.hero{min-height:850px}.hero-content{padding-top:85px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{padding:20px 32px}.header nav{gap:24px}.hero{min-height:740px}.section{padding:80px 0}.enquiry-grid{gap:45px}.enquiry-card{padding:30px}.port{padding:24px 13px}.port-top>span{font-size:.75rem}.port strong{font-size:.95rem}.port time{font-size:1.75rem}.faq-grid{gap:55px}.footer-main{flex-wrap:wrap}.footer-main p{order:3;width:100%}.brand span{font-size:.75rem}}@media(max-width:760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header{padding:18px 20px;gap:12px}.brand img{width:160px}.brand span{font-size:.75rem;letter-spacing:.07em}.header nav>a:not(.button){display:none}.button.small{padding:10px 12px;font-size:.875rem}.hero{min-height:740px}.hero-photo{object-position:63% 68%}.hero-shade{background:linear-gradient(90deg,#031c2ede,#031c2e4a),linear-gradient(0deg,#031522f2,transparent 50%)}.hero-content{padding-top:55px;padding-bottom:80px}.eyebrow{font-size:.7rem;letter-spacing:.12em}.hero .eyebrow{font-size:.75rem;gap:10px}.hero .rule{width:22px}h1{font-size:clamp(4.7rem,15vw,6.5rem);line-height:.97}.hero-copy{font-size:1rem;max-width:310px}.hero-actions{gap:23px;flex-wrap:wrap}.hero-actions .button{font-size:.88rem;padding:15px 20px}.hero-actions .text-link{font-size:.85rem}.hero-bottom{flex-direction:column;gap:10px;font-size:.75rem;letter-spacing:.08em;padding-bottom:25px}.hero-bottom>span:first-child{gap:10px}.route-line{width:32px}.photo-note{display:none}.section{padding:68px 0}.section-heading{display:block;margin-bottom:34px}.section-heading .intro{margin-top:25px;max-width:100%;font-size:.95rem}.section-heading .eyebrow{margin-bottom:19px}h2{font-size:clamp(2rem,6vw,2.9rem)}.port-list{grid-template-columns:1fr}.port{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:6px 13px;padding:17px 18px}.port+.port{border-left:0;border-top:1px solid var(--line)}.port-top{grid-row:1/3;grid-column:1;font-size:.7rem}.port-top>span{display:none}.port-dot{display:none}.port strong{grid-column:2;grid-row:1;margin:0;font-size:1.07rem}.port time{grid-column:3;grid-row:1/3;font-size:1.55rem}.port-purpose{grid-column:2;grid-row:2;font-size:.7rem}.port-panel{grid-template-columns:1fr;padding:26px 24px;gap:24px}.port-panel h3{font-size:1.6rem}.port-panel p:last-child{font-size:.93rem}.port-detail{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px}.port-detail strong{grid-column:2;grid-row:1/3;font-size:2.5rem}.port-detail>span{font-size:.75rem}.port-detail .text-link{justify-self:start;font-size:.8rem}.schedule-note{font-size:.75rem}.operations-photo img{height:315px;object-position:center 63%}.operations-photo span{font-size:.75rem;padding:10px 12px}.principles{grid-template-columns:1fr;gap:28px;padding-top:35px}.principles article{padding-bottom:25px;border-bottom:1px solid #ffffff20}.principles article:last-child{border-bottom:0;padding-bottom:0}.principles article>span{margin-bottom:10px}.principles h3{margin-bottom:8px}.enquiry-grid,.faq-grid{grid-template-columns:1fr;gap:38px}.enquiry-copy h2{font-size:clamp(2.45rem,8vw,3.4rem)}.enquiry-copy>p:not(.eyebrow){max-width:100%}.enquiry-card{padding:28px 24px}.field-row{grid-template-columns:1fr;gap:0}.enquiry-card h3{font-size:1.5rem}.enquiry-card label{font-size:.88rem}input,select,textarea{font-size:1rem}.faq-grid h2{font-size:clamp(2rem,6vw,2.9rem)}.closing{padding:44px 0}.closing .wrap{align-items:flex-start;flex-direction:column;gap:28px}.closing p{font-size:clamp(1.9rem,6.8vw,2.85rem)}.footer-main{gap:28px}.footer-main>a{font-size:.75rem}.footer-bottom{flex-wrap:wrap;gap:16px}.footer-bottom>span:last-child{width:100%}.footer-main p{font-size:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:760px){.header .brand span{display:none}.header nav .button{font-size:.875rem}.header .brand img{width:152px}.header{min-height:82px}}

/* Compact, photo-led opening. */
.hero{min-height:0;display:block;background:var(--navy);overflow:visible}
.hero-content{display:grid;grid-template-columns:1.18fr 1fr;align-items:end;gap:48px;padding:30px 0 32px}
.hero .eyebrow{margin:0 0 15px;font-size:.75rem;letter-spacing:.14em}
.hero h1{font-family:var(--sans);font-size:clamp(3.4rem,5.8vw,5.6rem);font-weight:700;line-height:.98;letter-spacing:-.055em;margin:0}
.hero h1 span{color:var(--gold)}
.hero-details{padding-bottom:4px}
.hero-copy{font-size:1.05rem;line-height:1.6;margin:0 0 24px;color:#dbe6ec}
.hero-actions{gap:24px;flex-wrap:wrap}
.hero-actions .button{padding:14px 22px}
.hero-visual{position:relative;height:clamp(245px,24vw,340px);overflow:hidden;background:#476c80}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 82%;z-index:auto}
.hero .photo-note{position:absolute;inset:auto 24px 16px auto;writing-mode:horizontal-tb;font-size:.75rem;letter-spacing:.07em;background:#031522d9;padding:7px 10px;color:#e6edf1}
.hero-bottom{border:0;padding:18px 0 20px;font-size:.75rem;letter-spacing:.09em}
@media(max-width:1100px){.hero-content{gap:30px}.hero-actions{gap:16px}.hero-actions .button{font-size:.875rem;padding:13px 18px}.hero-actions .text-link{font-size:.875rem}}
@media(max-width:760px){
 .hero-content{grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:24px 0 26px}
 .hero h1{font-size:clamp(2.65rem,7.7vw,3.6rem);line-height:1.03;letter-spacing:-.05em}
 .hero .eyebrow{font-size:.75rem;letter-spacing:.065em;gap:8px;margin-bottom:14px}
 .hero .rule{display:none}
 .hero-copy{font-size:.94rem;line-height:1.5;margin-bottom:17px}
 .desktop-break{display:none}
 .hero-actions{gap:9px 18px}
 .hero-actions .button{padding:12px 16px}
 .hero-visual{height:230px}
 .hero .photo-note{display:block;font-size:.75rem;right:12px;bottom:10px;letter-spacing:0;max-width:calc(100% - 24px);padding:5px 8px}
 .hero-bottom{flex-direction:row;flex-wrap:wrap;gap:9px 20px;padding:15px 0;font-size:.75rem;letter-spacing:.035em}
 .hero-bottom>span:first-child{gap:10px}
 .hero-bottom .route-line{width:24px}
}
@media(max-width:540px){
 .hero-content{grid-template-columns:1fr;gap:18px;padding:23px 0 24px}
 .hero h1{font-size:3.25rem;line-height:.99}
 .hero-heading{position:relative}
 .hero .eyebrow{margin-bottom:12px}
 .hero-copy{font-size:.94rem;margin-bottom:17px;max-width:100%}
 .hero-copy br{display:none}
 .hero-copy br:after{content:' '}
 .hero-visual{height:185px}
 .hero .photo-note{font-size:.75rem}
 .hero-actions{gap:16px;flex-wrap:wrap}
 .hero-bottom{font-size:.75rem}
}

/* Two clear paths: a personal enquiry or self-service on the main site. */
.online-option{margin-top:30px;padding:26px 28px;background:var(--navy);color:#fff;border-top:3px solid var(--gold)}
.online-option .eyebrow{font-size:.75rem;color:#ffd481;margin:0 0 10px;letter-spacing:.1em}
.online-option h3{font:600 1.35rem/1.3 var(--sans);margin:0 0 13px}
.online-option>p:not(.eyebrow){color:#dbe6ec;font-size:1rem;line-height:1.65;margin-bottom:21px}
.online-option .button{width:100%;padding:14px 18px}
.online-destination{display:block;color:#bdcdd7;font-size:.75rem;line-height:1.5;margin-top:12px;text-align:center}
.faq-list p a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.closing-actions{display:flex;flex-direction:column;align-items:center;gap:14px}
@media(max-width:760px){.online-option{padding:24px}.closing-actions{align-items:flex-start}.footer-main>a{line-height:1.7}}

/* Match the hero’s modern type throughout the sailing page. */
.section-heading>div,.faq-grid>div,.enquiry-grid>div{min-width:0}
.operations h2 em{color:var(--gold)}
.online-option h3{font-weight:700;letter-spacing:-.025em}
.port-detail small{letter-spacing:0}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-error{color:#8b2435;background:#fff2f1;border-left:3px solid #b94244;padding:14px;font-size:.9rem;line-height:1.6;margin:20px 0 0;overflow-wrap:anywhere}
.button:disabled{cursor:wait;opacity:.65;transform:none}
.form-note a{text-decoration:underline;text-underline-offset:3px}
#enquiry-result>.text-link{margin-top:24px}
#enquiry-reference{overflow-wrap:anywhere}
