/* Reversible logo-colour trial. Colour only: no layout, type, motion or media changes. */
:root{
 --brand-navy:#143b59;
 --brand-blue:#054e93;
 --brand-cyan:#008ac5;
 --brand-leaf:#5aac46;
 --brand-green:#327038;
 --surface-white:#fffefa;
 --surface-blue:#edf5f8;
 --surface-green:#f0f6ec;
 --surface-range:#dcecf4;
 --ink-muted:#526773;
 --line:#c6d5dc;
 --control-line:#718997;
 --focus:#054e93;
 /* Existing component aliases keep this trial removable without component edits. */
 --teal:var(--brand-navy);--ivory:var(--surface-white);--sand:var(--surface-blue);
 --coral:var(--brand-green);--muted:var(--ink-muted);--peach:var(--surface-green);
}
.button:hover{box-shadow:0 8px 24px #143b591a}
.teal,.mobile-plan{background:var(--brand-blue)}
.teal:hover,.mobile-plan:hover{background:var(--brand-navy)}
.ivory:hover{background:var(--surface-blue)}
.outline{border-color:var(--control-line)}
.site-header{box-shadow:0 8px 28px #143b590d}
.hero,.hero-photographic,.final-invite,.experience{background:var(--brand-navy)}
.hero-shade{background:linear-gradient(180deg,#143b5940 0%,#143b5926 18%,#143b596b 50%,#143b5961 76%,#143b595e 100%)}
.hero .eyebrow,.hero-copy{text-shadow:0 1px 10px #143b59}
.hero h1{text-shadow:0 2px 25px #143b5933}
.hero h1 em,.final-invite h2 em{color:#edf7fb}
.booking-strip,.notice,.room-placeholder,#gallery-photo{background:var(--surface-blue)}
.booking-strip label,.booking-intro,.room-specs p,.travel-detail,.faq-list details,.faq-list details:last-child,.footer-bottom,.dialog-header,.gallery-toolbar,.gallery-empty{border-color:var(--line)}
.island-inset{box-shadow:0 15px 30px #143b5912}
.destination-inset{box-shadow:0 12px 30px #143b5914}
.sun-mark,.gallery-mark{color:var(--brand-leaf)}
.room-tabs button{border-color:var(--control-line)}
.room-tabs button[aria-selected=true]{background:var(--brand-blue);border-color:var(--brand-blue)}
.room-info{box-shadow:0 10px 30px #143b5920}
.experiences{background:var(--surface-blue)}
.experience:after{background:linear-gradient(0deg,#143b59b8,transparent 70%)}
.service-list article{border-color:#c6d8c1}
.service-symbol,.travel-detail>span{color:var(--brand-green)}
.service-list p,.room-placeholder-copy{color:var(--ink-muted)}
.room-placeholder-copy{border-color:var(--line)}
.island-photo:after{background:linear-gradient(transparent,#143b5966)}
.final-shade{background:linear-gradient(#143b5938,#143b5966)}
.mobile-plan{box-shadow:0 5px 25px #143b5933}
.gallery-card .gallery-expand{box-shadow:0 2px 12px #143b5910}
/* Cyan and leaf are decorative; functional text/surfaces use their deeper siblings. */
.gallery-toolbar>span{color:var(--brand-green)}
.notice{border-left-color:var(--brand-cyan)}
dialog{box-shadow:0 20px 90px #143b5950}
dialog::backdrop{background:#102d46aa}
.dialog-header .close-dialog,.gallery-controls button,.calendar-heading button,.calendar-actions button{border-color:var(--control-line)}
.dialog-body{scrollbar-color:#718997 transparent}
input,select,textarea,#date-range-toggle,#date-calendar{border-color:var(--control-line);background:var(--surface-white)}
/* Preserve the booking strip's transparent fields. */
.booking-strip input,.booking-strip select{background:transparent}
#calendar-days button:not(:disabled):hover,#calendar-days button.in-range{background:var(--surface-range)}
#calendar-days button[aria-pressed=true],#calendar-today{background:var(--brand-blue);color:#fff}
#calendar-days button:disabled{color:#85959e}
.bicycle-art{background:#c6dfbd;color:var(--surface-white)}
/* Two-tone focus remains identifiable on both light and dark brand surfaces. */
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--focus);box-shadow:0 0 0 2px #fffefa}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--focus)}
#calendar-days button:focus-visible{outline-color:var(--focus)}
#calendar-days button[aria-pressed=true]:focus-visible{outline-color:#fffefa}
@media(max-width:760px){
 .room-info{background:var(--surface-blue);box-shadow:none}
 .experience:not(.active):after{background:#143b5970}
}
