
:root{--ink:#122744;--paper:#FFFFFF;--accent:#BB3D4F;--soft:#E4EBF3;--line:#ABBCCC;--cta-bg:#BB3D4F;--cta-ink:#FFFFFF;--cta-hover:#8F2333;--cta-hover-ink:#FFFFFF;--control-border:#647B94;--form-bg:#122744;--form-ink:#FFFFFF;--form-line:#8FA5BD;--field-bg:#FFFFFF;--field-ink:#122744;--field-border:#A3B7CB;--form-cta:#BB3D4F;--form-cta-ink:#FFFFFF;--form-focus:#FFFFFF;--focus:#BB3D4F;--focus-outer:#FFFFFF;--table-bg:#FFFFFF;--table-ink:#122744;--table-head:#122744;--table-head-ink:#FFFFFF;--table-line:#ABBCCC;--card-bg:#FFFFFF;--card-ink:#122744;--footer-bg:#122744;--footer-ink:#FFFFFF;--footer-line:#5D7797}
.layout-compass .site-header{background:#122744;color:#FFFFFF;border-bottom:4px solid #BB3D4F;padding-block:1.2rem}
.layout-compass .brand>span{font-family:var(--body);font-weight:700;letter-spacing:.025em;font-size:1.5rem}
.layout-compass .languages{border-color:#7B90A9}.layout-compass .nav-enquire{background:#BB3D4F;color:#FFFFFF;border-color:#BB3D4F}
.layout-compass .site-header :focus-visible{outline-color:#FFFFFF;box-shadow:0 0 0 7px #122744}
.layout-compass .menu-toggle{border-color:#FFFFFF;color:#FFFFFF}
.layout-compass .cover-compass{padding:0 4.5vw;background:#E4EBF3;gap:0;border-bottom:2px solid #122744}
.layout-compass .compass-heading{background:#122744;color:#FFFFFF;padding:3rem 2.5rem;border:0;margin-block:2rem}
.layout-compass .compass-heading h1{font-size:clamp(2.5rem,4.1vw,4.5rem);line-height:1.17;letter-spacing:-.035em}
.layout-compass .compass-heading .eyebrow{border-left:4px solid #BB3D4F;padding-left:.8rem}
.layout-compass .compass-window{padding:2rem 0 2rem 1.5rem;max-height:620px}
.layout-compass .photo-label{background:#FFFFFF;color:#122744;border-left:4px solid #BB3D4F;left:2.5rem}
.layout-compass .compass-index{border-top:1px solid #899FB7;color:#122744;font-weight:700;font-size:.66rem}
.layout-compass .compass-atlas{padding-top:3rem}.layout-compass .course-start{background:#122744;color:#FFFFFF;border-inline-start:5px solid #BB3D4F;padding:2rem}
.layout-compass .course-start .check-list li{border-color:#5D7797}
.layout-compass .card{background:#FFFFFF;color:#122744;border:1px solid #ABBCCC;padding:1.8rem;border-radius:0}
.layout-compass .cards{gap:1rem;background:transparent;border:0}.layout-compass .fleet-for-course .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-compass .card:hover{background:#E4EBF3;transform:none;box-shadow:inset 4px 0 #BB3D4F}
.layout-compass .card-number{border:0;border-radius:0;background:#122744;color:#FFFFFF;width:2.5rem;height:2.5rem;font-weight:700}
.layout-compass .card h3{font-size:1.45rem;line-height:1.3}.layout-compass .card-arrow{color:#BB3D4F;margin-top:1.4rem}
.layout-compass .fleet-for-course{border-top:4px solid #122744}.layout-compass .course-finish{border-top:1px solid #ABBCCC;padding-top:2rem}
.layout-compass .compass-interior>.distinct-title{background:#122744;color:#FFFFFF;border-top:5px solid #BB3D4F;padding:2.5rem 3rem}
.layout-compass .compass-interior>.distinct-title h1{max-width:28ch;font-size:clamp(2.3rem,4vw,4.1rem);line-height:1.17}
.layout-compass .compass-reading{gap:2.5rem;grid-template-columns:250px minmax(0,1fr)}
.layout-compass .navigation-rail{background:#E4EBF3;border:0;padding:1.4rem;align-self:start;border-top:4px solid #122744}
.layout-compass .distinct-index a{border-color:#A5B6CA;font-weight:700}.layout-compass .distinct-index a span{color:#BB3D4F;opacity:1}
.layout-compass .navigation-rail .references{background:#FFFFFF;padding:1rem;border-top:3px solid #BB3D4F}
.layout-compass .course-document>.copy-section{padding-top:1.5rem;border-bottom:1px solid #ABBCCC}
.layout-compass .course-document .copy-section h2{font-family:var(--body);font-weight:700;font-size:1.85rem;letter-spacing:-.02em}
.layout-compass .route-line{background:#122744;color:#FFFFFF}.layout-compass .course-outline .small{padding-top:.7rem}
.layout-compass .distinct-visual .photo{border:1px solid #ABBCCC;padding:5px;background:#FFFFFF}
.layout-compass .enquiry-section{border:0;border-top:6px solid #BB3D4F;padding:3rem;gap:5vw}
.layout-compass .enquiry-section h2{font-size:2.4rem;line-height:1.2}
.layout-compass .faq-list details{border-color:#ABBCCC}.layout-compass .faq-list summary:after{color:#BB3D4F}
.layout-compass .table-scroll{border:1px solid #ABBCCC}.layout-compass .site-footer .footer-brand img{background:transparent}
.layout-compass .next-step{border-top:4px solid #122744;background:#E4EBF3;padding:2.5rem}
@media(max-width:800px){.layout-compass .compass-heading{margin:1.2rem 0 0;padding:1.6rem}.layout-compass .compass-heading h1{font-size:2.5rem}.layout-compass .compass-window{padding:1rem 0}.layout-compass .photo-label{left:.6rem;font-size:.5rem;max-width:90%}.layout-compass .compass-index{font-size:.52rem;gap:.5rem}.layout-compass .compass-interior>.distinct-title{padding:1.6rem 1.3rem}.layout-compass .navigation-rail{width:100%;padding:1rem}.layout-compass .compass-reading{gap:1.5rem}.layout-compass .course-start{padding:1.5rem;margin-bottom:2rem}.layout-compass .next-step{padding:1.5rem}.layout-compass .enquiry-section{padding:2rem 1.5rem}.layout-compass .fleet-for-course .cards{grid-template-columns:1fr}}

/* Site-owned visual system. Structural page order and authored content are unchanged. */
body{background:var(--paper);color:var(--ink)}
.button,.nav-enquire{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}
body .button{background:var(--cta-bg);color:var(--cta-ink);border:1px solid var(--cta-bg);font-weight:700}
body .button:hover,body .enquiry-form .button:hover{background:var(--cta-hover);color:var(--cta-hover-ink);border-color:var(--cta-hover)}
body .outline-button,body .save-style{color:var(--ink);border-color:var(--control-border);background:transparent}
body .outline-button:hover,body .save-style:hover{background:var(--soft)}
body .save-style[aria-pressed=true]{color:var(--cta-ink);background:var(--cta-bg);border-color:var(--cta-bg)}
body .enquiry-section{--line:var(--form-line);color:var(--form-ink);background:var(--form-bg)}
body .field input,body .field select,body .field textarea{color:var(--field-ink);background:var(--field-bg);border:1px solid var(--field-border)}
body .field input::placeholder,body .field textarea::placeholder{color:var(--field-ink);opacity:.7}
body .field select option{color:var(--field-ink);background:var(--field-bg)}
body .enquiry-form .button{background:var(--form-cta);color:var(--form-cta-ink);border-color:var(--form-cta)}
body .form-intro .small,body .privacy-note,body .field label span,body .image-caption{opacity:1}
body .trip-details{border-color:var(--form-line)}
body .form-status.error{background:#FFF0F0;color:#781919;border:1px solid #A62D2D}
body .form-status.success{background:#E4F7EC;color:#14542E;border:1px solid #2C794C}
body .search-tool input{background:var(--field-bg);color:var(--field-ink);border:1px solid var(--control-border)}
body table{color:var(--table-ink);background:var(--table-bg)}
body thead{background:var(--table-head);color:var(--table-head-ink)}
body tbody th,body tbody td{border-color:var(--table-line)}
body .site-footer{background:var(--footer-bg);color:var(--footer-ink);border-color:var(--footer-line)}
body .footer-bottom{border-color:var(--footer-line)}
body .site-header nav>a:hover{color:inherit;text-decoration:underline;text-decoration-thickness:2px}
body .site-header nav>.nav-enquire:hover{color:var(--cta-hover-ink);background:var(--cta-hover);border-color:var(--cta-hover)}
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:4px;box-shadow:0 0 0 7px var(--focus-outer)}
body .enquiry-section :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--form-focus);box-shadow:0 0 0 7px var(--form-bg)}
body .check-list li:before{color:currentColor}
body .image-caption{font-size:.73rem}
body .references{overflow-wrap:anywhere}
body .card p{line-height:1.65}
body .compare-card{background:var(--card-bg);color:var(--card-ink);border-color:var(--control-border)}
body .sitemap-grid{align-items:start}body .sitemap-grid>section:last-child:nth-child(odd){grid-column:1/-1}body .sitemap-grid>section ul{max-width:70ch}
/* Balance real card counts: 4 => 2+2, 5 => 3+2, 7 => 3+2+2; never leave a painted empty cell. */
body :is(.distinct-shell,.nacre-journal>.local-yachts,.fleet-for-course,.vessel-assessment,.lake-salon,.lario-album>.local-routes,.rimal-stay>.local-routes) .cards{grid-template-columns:repeat(6,minmax(0,1fr));background:transparent}
body :is(.distinct-shell,.nacre-journal>.local-yachts,.fleet-for-course,.vessel-assessment,.lake-salon,.lario-album>.local-routes,.rimal-stay>.local-routes) .cards>.card{grid-column:span 2}
body :is(.distinct-shell,.nacre-journal>.local-yachts,.fleet-for-course,.vessel-assessment,.vessel-assessment,.lake-salon,.lario-album>.local-routes,.rimal-stay>.local-routes) .cards>.card:only-child{grid-column:1/-1}
body :is(.distinct-shell,.nacre-journal>.local-yachts,.fleet-for-course,.vessel-assessment,.lake-salon,.lario-album>.local-routes,.rimal-stay>.local-routes) .cards:has(>.card:last-child:nth-child(3n + 2))>.card:nth-last-child(-n + 2){grid-column:span 3}
body :is(.distinct-shell,.nacre-journal>.local-yachts,.fleet-for-course,.vessel-assessment,.lake-salon,.lario-album>.local-routes,.rimal-stay>.local-routes) .cards:has(>.card:last-child:nth-child(3n + 1)):has(>.card:nth-child(4))>.card:nth-last-child(-n + 4){grid-column:span 3}
.nacre-cover:not(:has(>.distinct-visual)),.resort-cover:not(:has(>.distinct-visual)),.dispatch-cover:not(:has(>.course-outline)){grid-template-columns:1fr}
.dispatch-evidence:has(>:only-child),.resort-details:has(>:only-child){grid-template-columns:1fr}
.nacre-chapters>.nacre-chapter:last-child:nth-child(odd),.resort-comfort>.copy-section:last-child:nth-child(odd){grid-column:1/-1}
.fleet-for-course .local-yachts,.vessel-assessment .local-yachts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 2.2rem}
.fleet-for-course .local-yachts>h2,.fleet-for-course .local-yachts>.cards,.vessel-assessment .local-yachts>h2,.vessel-assessment .local-yachts>.cards{grid-column:1/-1}
.fleet-for-course .local-yachts>p,.vessel-assessment .local-yachts>p{max-width:none;margin:0}
.nacre-journal>.local-yachts,.lake-salon>.local-yachts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem 2rem}
.nacre-journal>.local-yachts>h2,.nacre-journal>.local-yachts>.cards,.lake-salon>.local-yachts>h2,.lake-salon>.local-yachts>.cards{grid-column:1/-1}
.nacre-journal>.local-yachts>p,.lake-salon>.local-yachts>p{max-width:none;margin:0}
@media(max-width:800px){body :is(.distinct-shell,.nacre-journal>.local-yachts,.fleet-for-course,.vessel-assessment,.lake-salon,.lario-album>.local-routes,.rimal-stay>.local-routes) .cards{grid-template-columns:1fr}body :is(.distinct-shell,.nacre-journal>.local-yachts,.fleet-for-course,.vessel-assessment,.lake-salon,.lario-album>.local-routes,.rimal-stay>.local-routes) .cards>.card{grid-column:1/-1!important}.fleet-for-course .local-yachts,.vessel-assessment .local-yachts,.nacre-journal>.local-yachts,.lake-salon>.local-yachts{display:block}.fleet-for-course .local-yachts>p,.vessel-assessment .local-yachts>p,.nacre-journal>.local-yachts>p,.lake-salon>.local-yachts>p{margin-top:1.2rem}}
@media(max-width:800px){body .site-header{padding:1rem 5vw}body .site-header nav{border-color:currentColor}body .site-header nav.is-open{padding-bottom:.5rem}body .distinct-shell h1{font-size:clamp(2rem,8.8vw,2.55rem)}body .distinct-shell .enquiry-section{margin-top:2.5rem}body .enquiry-section h2{font-size:2rem}body .card h3{font-size:1.55rem}}
@media(prefers-reduced-motion:reduce){body .card,body .button,body .nav-enquire{transition:none}}
