/* Visual corrections, 2026-10-14. Original geometry and enquiry handlers retained.
   One clean panorama per section avoids residual lettering and patch seams. */
.hero-artwork,.cruise-artwork{display:none!important}
.hero-photo{object-fit:cover;object-position:center 51%}
.hero-shade{background:linear-gradient(90deg,rgba(3,26,39,.68),rgba(3,26,39,.3) 39%,transparent 66%)}
.cruise-background img{object-fit:cover;object-position:center 47%;filter:none}
.cruise:before{background:linear-gradient(90deg,#062b3e 0%,rgba(6,43,62,.92) 25%,rgba(6,43,62,.45) 44%,transparent 63%)}
/* Images retain their actual aspect ratios at every viewport width. */
.vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{height:auto;max-height:67%;object-fit:contain;object-position:right bottom;bottom:7px;right:3px}
.vehicle-card .vehicle-image{width:60%}.vehicle-card.van .vehicle-image{width:62%}
.vehicle-card:after{z-index:0;opacity:.6}.vehicle-card .text-link{background:none;min-height:19px}
.vehicle-card li{padding-left:16px;line-height:1.5}.vehicle-card li:before{content:none}
.vehicle-detail-icon{position:absolute;left:0;top:1px;width:12px;height:12px;fill:none;stroke:#876234;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact-icon{width:17px;height:17px;flex:none;fill:none;stroke:#aa701d;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.social-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:30px}
/* Replace display-only CSS lettering with accessible HTML. */
.nav:after{content:none}.current-language{font:500 9px/1 var(--sans);flex:none}
/* The reference's smallest type was too small after fitting actual copy. */
.service-options label>span{font-size:9px}.booking-top p{font-size:9px}
.form-row label{font-size:9px}.form-row input{font-size:9px}.form-row .button{font-size:9px;padding-inline:12px}
.card-body>p:not(.eyebrow){font-size:9.5px;line-height:1.4}.card-body{padding-bottom:10px}
.route-link{font-size:9px}.route-link:after{content:none}
.route-link span{margin-left:4px}.vehicle-card ul{font-size:8.5px;width:43%}
.steps p{font-size:9.5px;line-height:1.4}.steps article{min-width:0}
/* Decorative route now has endpoints and labels sharing one coordinate box. */
.cruise-route{left:45.2%;width:39.8%}.cruise-route span:first-child{left:7px}.cruise-route span:last-child{left:auto;right:-39px}
@media(min-width:901px) and (max-width:1199px){
 .nav{padding-right:0}.current-language{position:absolute;right:5px;top:19px}.header-cta{margin-right:51px}
 .hero h1 em{font-size:1.025em}
}
@media(min-width:1200px){
 .current-language{font-size:11px}.nav nav{gap:25px}
 .service-options label>span,.booking-top p{font-size:11px}
 .form-row label{font-size:11px}.form-row input{font-size:12px}.form-row .button{font-size:11px}
 .card-body>p:not(.eyebrow){font-size:12px;line-height:1.45}.route-link{font-size:11px}
 .vehicle-card ul{font-size:10px;width:43%}.vehicle-detail-icon{width:13px;height:13px;top:2px}
 .steps p{font-size:12px}.steps h3{white-space:normal}
 .hero-location{right:3.2%;top:58px;transform:scale(1.2);transform-origin:top right}
}
@media(min-width:601px) and (max-width:900px){
 .current-language{display:none}.booking-top p{font-size:8px}.service-options label>span{font-size:8px;padding-inline:9px}
 .form-row input{font-size:9px}.form-row .button{font-size:8px;padding-inline:10px}
 .hero-location{right:18px;top:42px}.editorial-seal{left:49%;opacity:.4}
 .vehicle-card ul{font-size:9px}.steps h3{white-space:normal}
}
@media(max-width:600px){
 .current-language{display:none}
 .hero-photo{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#031e2be0,#031e2b85),linear-gradient(180deg,#031e2b20,transparent)}
 .hero-location{display:none}
 .service-options label>span{font-size:8px;padding-inline:5px}.booking-top p{display:none}
 .form-row label{font-size:10px}.form-row input{font-size:11px}.form-row .button{font-size:9px;padding-inline:10px}
 .cruise-background img{object-position:65% center;filter:brightness(.87)}
 .cruise:before{background:linear-gradient(180deg,#062b3e 0%,#062b3ef0 46%,#062b3e33 77%)}
 .cruise-route{left:5%;width:75%}
 .card-body>p:not(.eyebrow){font-size:12px;line-height:1.5}.route-link{font-size:11px}
 .vehicle-card ul{font-size:9px;width:43%}
 .vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{max-height:65%;width:60%;bottom:10px}
 .steps p{font-size:12px}.steps h3{white-space:normal}
 .footer-social a{min-height:44px;min-width:32px}
}
@media(max-width:360px){
 .form-row{grid-template-columns:1fr}.form-row label:nth-child(3){grid-column:auto}
 .form-row input{font-size:12px}.form-row .button{font-size:11px;justify-content:center;gap:18px}
 .vehicle-card .vehicle-image,.vehicle-card.van .vehicle-image{width:58%;bottom:12px}
}

/* Wide-screen correction: capped containers must have two automatic margins.
   The 1024px reference geometry above is intentionally left unchanged. */
@media(min-width:1200px){
 .journey-layout,.comfort-layout,.faq-layout,.how-layout,.cruise-inner,
 .footer-main,.footer-legal{width:86%;max-width:1238px;margin-inline:auto}
 .journey-layout{grid-template-columns:minmax(0,28fr) minmax(0,72fr)}
 .comfort-layout{grid-template-columns:minmax(0,31fr) repeat(2,minmax(0,34.5fr))}
 .faq-layout{grid-template-columns:minmax(0,31fr) minmax(0,69fr)}
 .how-layout{grid-template-columns:minmax(0,28fr) minmax(0,72fr)}
 .journeys{height:auto;min-height:338px;padding-bottom:18px}
 .journey-card{height:auto;min-height:320px}
 .card-body{min-height:175px;gap:4px}
 .card-body>p:not(.eyebrow){margin-bottom:10px}
 .comfort{height:auto;min-height:244px;padding-bottom:17px}
 .how{padding-bottom:24px}
 .steps{width:100%;gap:16px}
 .steps article{padding-left:43px}
 .faq{padding-bottom:14px}
 .footer-main{grid-template-columns:150px minmax(160px,1fr) minmax(220px,1fr) 78px 195px;gap:16px}
 /* Keep the original photo ratio and the whole hull visible. */
 .cruise-background{width:86%;max-width:1238px;margin-inline:auto}
 .cruise-background img{object-fit:contain;object-position:right bottom}
 .cruise-route{left:45.2%;width:39.8%;top:17px}
 .cruise-route span:first-child{left:0;top:-1px}
 .cruise-route span:last-child{right:0;top:7px;transform:translateX(100%)}
 .cruise-side-note{right:0;bottom:12px}
 /* Decorations follow the content frame instead of the monitor edges. */
 .architecture-destinations{left:max(0px,calc((100% - 1238px)/2 - 90px))}
 .architecture-destinations-right{right:max(0px,calc((100% - 1238px)/2 - 90px))}
 .architecture-how{left:max(0px,calc((100% - 1238px)/2 - 90px))}
 .architecture-how:after{width:220px}
 .how-map{right:max(0px,calc((100% - 1238px)/2 - 110px));opacity:.55}
 .cruise-engraving{right:max(4.4%,calc((100% - 1238px)/2));bottom:32px}
}
