/* The marketing-only additions sit inside the approved Solace dark-rust design. */
.notice a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.service-detail { padding:clamp(54px,7vw,100px) 0; background:#512416; color:#f7eee5; border-top:1px solid rgba(228,163,102,.24); scroll-margin-top:20px; }
.service-detail.alternate { background:#602c1a; }
.service-detail .detail-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); align-items:start; gap:clamp(35px,6vw,115px); }
.service-detail .eyebrow { color:#e4a366; display:block; letter-spacing:.19em; font-size:11px; font-weight:700; margin:0 0 22px; }
.service-detail h2 { font:400 clamp(34px,4.4vw,62px)/1.12 var(--serif); letter-spacing:-.04em; margin:0; }
.service-detail h2 em { color:#f0b77f; }
.service-detail .detail-copy { max-width:630px; }
.service-detail .detail-copy p { font-size:14px; line-height:1.8; color:#f4ddc9; margin:0 0 22px; }
.service-detail .detail-copy h3 { font:400 clamp(20px,2vw,26px)/1.3 var(--serif); margin:30px 0 10px; color:#fff3e8; }
.public-booking-card { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.public-booking-card .form-heading { width:100%; margin:0; }
.public-booking-card p { color:#f1d4bf; max-width:480px; margin:0; line-height:1.7; font-size:13px; }
.public-booking-card .button { margin-top:4px; }
.public-booking-card .preview-ribbon { margin-bottom:10px; }
.not-found-page { min-height:55vh; padding:clamp(65px,9vw,130px) 0; }
.not-found-page h1 { font:400 clamp(44px,6vw,76px)/1.13 var(--serif); margin:15px 0 20px; }
.not-found-page p { max-width:530px; line-height:1.7; }
@media(max-width:760px){.service-detail .detail-grid { grid-template-columns:1fr; gap:28px; }.service-detail { padding:50px 0; }.service-detail .detail-copy h3 { margin-top:23px; }}
@media(max-width:480px){.site-header { gap:8px; }.site-header .brand-word { font-size:18px; letter-spacing:.12em; }.site-header .brand-word small { font-size:5px; letter-spacing:.21em; }.top-home-nav { gap:5px; }.top-home-button { font-size:10px; }.notice { font-size:10px; line-height:1.4; }}

/* Grand Open Weekend: home-only, dismissible announcement */
.grand-open-dialog[hidden]{display:none}
.grand-open-dialog{border:1px solid #b77c54;border-radius:4px;padding:0;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 36px);overflow:auto;color:#fdf1e5;background:linear-gradient(155deg,#692e1b 0%,#441b0d 85%);box-shadow:0 26px 95px #160801b8}
.grand-open-dialog::backdrop{background:rgba(21,8,4,.78);backdrop-filter:blur(4px)}
.grand-open-inner{padding:clamp(28px,6vw,56px);position:relative}
.grand-open-eyebrow{color:#f0b77f;letter-spacing:.2em;font-size:10px;font-weight:700;padding-right:28px}
.grand-open-close{position:absolute;right:16px;top:12px;width:44px;height:44px;border:0;border-radius:50%;color:#f9e6d3;background:transparent;font:32px/1 system-ui;cursor:pointer;transition:background .2s,transform .2s}
.grand-open-close:hover,.grand-open-close:focus-visible{background:#ffffff20;transform:rotate(90deg)}
.grand-open-dialog h2{font:400 clamp(38px,7vw,62px)/1.08 var(--serif);letter-spacing:-.04em;margin:20px 0 22px}
.grand-open-dialog h2 em{display:block;color:#eeb57c}
.grand-open-dialog p{font-size:14px;line-height:1.7;color:#f0d6c3;margin:0 0 15px}
.grand-open-dialog .grand-open-dates{padding:14px 0;border-top:1px solid #ba8b6a;border-bottom:1px solid #ba8b6a}
.grand-open-dialog .grand-open-dates strong{color:#fff3e8}
.grand-open-dialog .grand-open-offer{font:400 clamp(23px,3vw,30px)/1.3 var(--serif);color:#fff2d6;margin:22px 0 12px}
.grand-open-link{display:inline-flex;align-items:center;gap:20px;background:#f2c8a0;color:#441b0d;padding:14px 18px;margin:10px 0 14px;text-decoration:none;font-size:13px;font-weight:700;transition:background .2s,transform .2s}
.grand-open-link:hover,.grand-open-link:focus-visible{background:#fff0d9;transform:translateY(-2px)}
.grand-open-dialog small{display:block;color:#e6bfa3;line-height:1.55;font-size:11px}
@media (prefers-reduced-motion:reduce){.grand-open-dialog *{transition:none!important}}

.grand-open-hours[hidden]{display:none}
.footer-find-us .grand-open-hours{padding:12px 0 14px;border-top:1px solid rgba(240,183,127,.45);border-bottom:1px solid rgba(240,183,127,.45);color:#f6d7b5}
.footer-find-us .grand-open-hours strong{color:#ffe0be}

.booking-meta > div[hidden]{display:none}
@media(max-width:800px){.booking-meta{display:block;max-width:450px}}
