/* Luxury V5 public tokens and motion, no layout shifts or private-data caching */
:root{--v5-jade:#0e4c41;--v5-gold:#bfa26d;--v5-gold-soft:#e6d6b7;--v5-ink:#172b29}
.v5-hero-ribbon{display:inline-flex;gap:10px;align-items:center;letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:700;color:#8d7444;padding:9px 13px;border:1px solid rgba(187,151,91,.3);border-radius:40px;margin-bottom:22px;background:rgba(240,232,211,.35)}
.v5-hero-sparkle{font-size:16px;color:#b5935a}.v5-quick-services{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 0;font-size:11px;color:#947a50;letter-spacing:.025em}.v5-quick-buttons{display:flex;gap:6px;flex-wrap:wrap}.v5-quick-buttons a{color:inherit;text-decoration:none;border:1px solid currentColor;border-radius:30px;padding:6px 11px;opacity:.95;transition:background .2s ease,color .2s ease}.v5-quick-buttons a:hover{background:#184d40;color:white}
.site-header{transition:box-shadow .22s ease,background .22s ease,transform .22s ease}.site-header.v5-compact{box-shadow:0 7px 23px rgba(21,54,46,.08);background:var(--v5-header-bg,#fff)}.site-header.v5-compact .header-wrap{padding-top:7px;padding-bottom:7px}.v5-reveal{opacity:0;transform:translateY(15px);transition:opacity .56s ease,transform .56s ease}.v5-reveal.v5-visible{opacity:1;transform:none}
.v5-theme-control select{height:37px;width:94px;max-width:100%;border:1px solid rgba(188,156,103,.34);border-radius:8px;background:transparent;color:inherit;font-size:11px;padding:4px 7px;cursor:pointer}
.v5-date-picker{border:1px solid rgba(182,154,106,.35);border-radius:14px;padding:16px;margin:7px 0 13px;background:rgba(250,248,240,.55)}.v5-date-heading{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px}.v5-date-status{font-size:10px;color:#81765a}.v5-date-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.v5-date-option{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid #ded9cc;border-radius:10px;background:white;color:#22453d;padding:10px 4px;min-height:88px;cursor:pointer;font:inherit}.v5-date-option strong{font-size:23px}.v5-date-option small{font-size:9px;text-align:center}.v5-date-option.selected,.v5-date-option:not(:disabled):hover{border-color:#a38a52;background:#eaf3ed}.v5-date-option:disabled{opacity:.48;cursor:not-allowed}.v5-book-progress{font-size:11px;color:#977a45;letter-spacing:.11em;text-transform:uppercase}.v5-field-hint{color:#b34343!important;font-size:11px!important}.public-site [aria-invalid=true]{outline:2px solid #b34343!important;outline-offset:2px}
.v5-route-panel{border-top:1px solid rgba(226,201,153,.4);margin-top:20px;padding-top:14px;display:grid;gap:8px}.v5-route-panel p{margin:0;font-size:13px}.v5-route-link{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(206,174,109,.6);color:#e3c69a!important;text-decoration:none;border-radius:7px;padding:10px 15px;max-width:max-content}
html[data-theme=dark]{--v5-header-bg:#102e28}.public-site:is([data-theme=dark] *) .v5-hero-ribbon,html[data-theme=dark] .v5-hero-ribbon{background:rgba(28,73,62,.38);color:#d6b981}html[data-theme=dark] .v5-date-picker{background:rgba(23,58,49,.75)}html[data-theme=dark] .v5-date-option{background:#1c3933;color:#f3ebdf;border-color:#466153}html[data-theme=dark] .v5-date-option.selected{background:#2c5546}
@media(max-width:850px){.v5-theme-control{display:none}.v5-quick-services{margin-top:18px}.v5-hero-ribbon{font-size:9px;letter-spacing:.07em}.v5-date-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.v5-date-list{grid-template-columns:repeat(3,minmax(0,1fr))}.v5-hero-ribbon{font-size:8px}.v5-quick-services{font-size:10px}}
@media(prefers-reduced-motion:reduce){.v5-reveal{opacity:1;transform:none;transition:none!important}.site-header,.v5-quick-buttons a{transition:none!important}}

.v5-theme-control .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
