/* 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}}

.booking-meta > div[hidden]{display:none}
@media(max-width:800px){.booking-meta{display:block;max-width:450px}}
/* Home "Book your visit" band (directly under the logo banner) */
.book-band{background:#5a2715;border-top:1px solid #a86c4a;border-bottom:1px solid #a86c4a;color:#fff3e8}
.book-band-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:clamp(30px,4vw,46px);padding-bottom:clamp(30px,4vw,46px)}
.book-band-copy .section-number{color:#f0b77f}
.book-band h2{font:400 clamp(32px,3.6vw,48px)/1.08 var(--serif,'Playfair Display',serif);letter-spacing:-.03em;margin:10px 0 10px;color:#fff3e8}
.book-band h2 em{color:#eeb57c}
.book-band p{margin:0;max-width:620px;font-size:15px;line-height:1.65;color:#efd5c1}
.book-band-button{flex:0 0 auto;display:inline-flex;align-items:center;gap:14px;background:#f2c8a0;color:#441b0d;padding:18px 30px;font-size:16px;font-weight:700;text-decoration:none;letter-spacing:.02em;transition:background .2s ease,transform .2s ease}
.book-band-button:hover,.book-band-button:focus-visible{background:#fff0d9;transform:translateY(-2px)}
@media (max-width:720px){.book-band-inner{flex-direction:column;align-items:flex-start}.book-band-button{width:100%;justify-content:center}}

/* Gift certificate link on the home booking card: shown only while online gift sales are on. */
.gift-cta-line { margin: 14px 0 0; font-size: 0.95rem; }
.gift-cta-line a { color: inherit; text-decoration: underline; text-underline-offset: 3px; transition: opacity .2s ease; }
.gift-cta-line a:hover { opacity: .75; }
.gift-cta-line[hidden] { display: none; }
