/* Cool light gray with graphite text and muted violet accents. */
:root{--page:#f1f2f4;--surface:#e9ebee;--field:#f6f7f8;--ink:#272b33;--gray:#626873;--line:#cfd3d9;--purple:#615080;--purple-dark:#493b63;--lavender:#e8e5ed}
html,body,main{background:var(--page)}
header{background:var(--surface)}.nav-line{border-top-color:#dce0e5;border-bottom-color:var(--line)}
.site-search{background:var(--field);border-color:#b9bec7}.site-search input::placeholder{color:#69717d}.site-search:focus-within{box-shadow:0 0 0 3px #dcd6e7}
nav.open{background:var(--surface)}.brand small,.header-phone small{color:var(--gray)}
.sort select{background:var(--page);color:var(--gray)}.region-tabs button{color:var(--gray)}.region-tabs button.active{color:var(--purple)}
.product-media{background:#e0e3e7}.product-meta,.product-meta>span:first-child,.product-subtitle,.catalog-all>.product .product-subtitle,.product-route,.product-price-note{color:var(--gray)}
.product-toolbar,.industry-heading,.help{border-color:var(--line)}.product-detail{color:#414854;border-bottom-color:#9aa2ad}.empty-results{background:var(--surface)}
.floating-contact{background:#e5e2ec;color:#493b63;border-color:#c4bbd2}.floating-contact:hover{background:#dbd5e5}
footer{background:#e4e7eb}.footer-links{border-color:#ccd1d9}.footer-links .wrap,.footer-main p,.footer-main>div{color:#626873}.footer-main .brand{opacity:1}
dialog{background:var(--field);box-shadow:0 20px 80px #272b3340}.dialog-close{background:#e4e7ec;color:var(--ink)}dialog::backdrop{background:#252a356e}.program-facts,.detail-tabs,.program-itinerary li{border-color:var(--line)}.dialog-notice{background:#e8e5ee}.dialog-body p,.dialog-body [role=tabpanel]>ul{color:var(--gray)}.dialog-body #dialog-meta{color:var(--purple)}.detail-tabs button{color:var(--gray)}.detail-tabs button[aria-selected=true]{color:var(--purple)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#8874a7}.primary{background:var(--purple);color:#fff}.primary:hover{background:var(--purple-dark)}

/* Search fills the space between the brand and phone. */
@media(min-width:761px){.header-main{gap:32px}.header-main .site-search{max-width:none;flex:1;min-width:0}.header-phone{margin-left:0;flex-shrink:0}}
