/* Solace measured palette from the original published page: warm rust, cinnamon brown, apricot and burnt ochre.
   Dominant reference colour: RGB(68, 27, 13) / #441b0d. */
:root {
  --ink: #f7eee5;
  --cream: #441b0d;
  --sand: #522416;
  --ochre: #e4a366;
  --rust: #e4a366;
  --olive: #b89572;
  --line: rgba(228, 163, 102, .35);
  --rust-deep: #321308;
  --rust-mid: #512416;
  --rust-raised: #602c1a;
  --copper: #e4a366;
  --text-muted: #e0c4ad;
}
body { background: var(--cream); color: var(--ink); }
.notice { background: #6b351e; color: #f9e4d0; }
.notice-dot { background: #e4a366; }
.site-header { background: #441b0d; border-bottom: 1px solid rgba(228, 163, 102, .22); }
.brand-mark { color: var(--copper); }
.desktop-nav a, .plain-button, .footer-account { color: var(--ink); }
.button-dark { background: var(--copper); color: #351508; }
.button-dark:hover { background: #f0be8d; color: #351508; }
.button-light { background: #f7eee5; color: #38190d; }
.button-light:hover { background: #ebc9a5; color: #38190d; }
.text-link { color: #f1c39b; }
.light-link { color: #f8e9d9; }
.section-number, .service-tag, .step-label { color: var(--copper); }

/* Keep the hero atmospheric, but anchor its edges to the same rust. */
.hero { background: #441b0d; }
.hero-content { background: linear-gradient(115deg, #441b0d 4%, #4d2010 100%); }
.hero h1 em { color: #f0b77f; }
.hero-content > p { color: #f1d6be; }
.hero-art { background: radial-gradient(ellipse at 50% 43%, #9d5934 0%, #6b331d 39%, #451c0e 78%, #321308 100%); }
.arch-back { background: linear-gradient(110deg, #6e361f, #9d6240 35%, #512010 80%); }
.arch-front { background: linear-gradient(115deg, #3e180d 0%, #764027 54%, #ad7750 100%); }
.hero-disc { background: radial-gradient(circle at 45% 38%, #ffdfa7, #d58b52 65%, #9b4d29 100%); }
.hero-index, .eyebrow { color: #eec094; }
.hero-index span, .eyebrow-line { background: #eec094; }

/* Restoration Spectrum: a faithful layout and palette, without clinical promises. */
.benefits-section { background: #441b0d; color: #fff8f1; padding: 104px 0 92px; }
.benefits-head { text-align: center; }
.benefits-head .section-number { color: #e4a366; margin-bottom: 19px; }
.benefits-head h2 { font: 400 clamp(38px, 4.4vw, 58px)/1.1 var(--serif); letter-spacing: -.045em; margin: 0; }
.benefits-rule { height: 1px; background: #bd7740; max-width: 760px; width: 76%; margin: 38px auto 64px; }
.benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(18px, 4vw, 70px); row-gap: 67px; }
.benefit { text-align: center; min-width: 0; display: flex; flex-direction: column; align-items: center; }
.benefit-icon { width: 49px; height: 49px; display: grid; place-items: center; color: #c48b57; margin: 0 0 10px; }
.benefit-icon svg { width: 44px; height: 44px; display: block; }
.benefit h3 { font: 400 clamp(17px, 1.65vw, 21px)/1.25 var(--serif); letter-spacing: .055em; margin: 0; }
.benefit-line { width: min(100%, 210px); height: 1px; background: #a86429; margin: 9px 0 7px; }
.benefit p { color: #e4a366; font-size: 12px; line-height: 1.34; max-width: 255px; margin: 0; }
.benefits-footnote { text-align: center; color: #cba587; font-size: 11px; line-height: 1.6; max-width: 570px; margin: 77px auto 0; }

/* Deep background surfaces carry the dark palette through the whole site. */
.intro { border-top: 1px solid var(--line); }
.intro-main p, .section-head > p, .booking-intro > p, .step p { color: var(--text-muted); }
.intro-seal { border-color: #b97549; }
.intro-seal div { color: #efb478; }
.experience-card { background: var(--rust-mid); border: 1px solid rgba(228, 163, 102, .16); }
.experience-info p, .card-bottom > span { color: var(--text-muted); }
.card-bottom { border-color: var(--line); }
.card-bottom a, .card-bottom a span { color: #f4c294; }
.visual-bed { background: #2a0b0c; }
.visual-bed .bed-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:none; }
.visual-bed:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(68,27,13,.12),transparent 50%,rgba(68,27,13,.18)); pointer-events:none; }
.visual-bed .visual-overline { z-index:2; text-shadow:0 1px 9px rgba(0,0,0,.7); }
.visual-sauna { background: #20050a; }
/* Owner-supplied sauna artwork already matches the rust palette; retain its colours. */
.visual-sauna .sauna-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:none; }
.visual-sauna:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(68,27,13,.1),transparent 50%,rgba(68,27,13,.18)); pointer-events:none; }
.visual-sauna .visual-overline { z-index:2; text-shadow:0 1px 9px rgba(0,0,0,.7); }
.service-price span { border-color: #b37349; background: #64301d; color: #fff1e3; }
.future-strip { border-color: var(--line); }
.future-icon { border-color: var(--line); color: var(--copper); }
.future-strip > div:nth-child(2) span { color: var(--text-muted); }
.soon-tag { background: #703820; color: #f4c294 !important; }
.minute-card { background: #542618; border: 1px solid rgba(228, 163, 102, .18); }
.minute-number, .minute-glyph { color: var(--copper); }
.minute-card p, .minute-foot > span { color: var(--text-muted); }
.minute-foot .text-link { color: #f1c39b; }

.booking-section { background: #351508; }
.booking-meta, .booking-meta > div { border-color: var(--line); }
.meta-icon { color: var(--copper); }
.booking-card { background: #4f2213; box-shadow: 0 18px 55px rgba(15, 5, 2, .22); }
.preview-ribbon { background: #7e4526; color: #fff3e5; }
.form-symbol { color: var(--copper); }
.field-label { color: #e5b388; }
.choice { background: #592818; border-color: #895238; color: #f9ebdc; }
.choice:hover, .choice.selected { background: #6c3620; border-color: #edb27c; }
.choice.selected { box-shadow: inset 0 0 0 1px #edb27c; }
.choice small, .choice-arrow { color: #e6bea0; }
.choice-dot { border-color: #d6a67b; }
.choice.selected .choice-dot { border-color: #e4a366; background: #421a0d; }
.segmented { background: #38180d; }
.segmented button { color: #e8c6ad; }
.segmented button.selected { background: #e4a366; color: #351508; box-shadow: none; }
.addon { background: #5b2b19; border-color: #885034; }
.addon small { color: #e4b899; }
.checkbox-ui { background: #351508; border-color: #d6a67b; }
.addon input:checked + .checkbox-ui { background: #e4a366; border-color: #e4a366; }
.addon input:checked + .checkbox-ui:after { color: #351508; }
.form-divider { background: var(--line); }
.date-button, .slot-button { background: #5b2b1b; border-color: #87513b; color: #f8e8d7; }
.date-button:hover, .date-button.selected, .slot-button:hover, .slot-button.selected { background: #e4a366; border-color: #f4c99d; color: #351508; }
.date-button.selected, .slot-button.selected { box-shadow: inset 0 0 0 1px #f4c99d; }
.slots-heading .field-label span, .slots-heading > span, .show-more, .booking-caveat, .secure-note { color: #e9c5aa; }
.booking-summary { background: #713c24; color: #fff2e7; }

.visit-section { background: #351508; }
.visit-art { background: linear-gradient(110deg, #633019, #ae7648 52%, #74391f); }
.visit-sun { background: radial-gradient(circle, #f6d09c, #c7864f 60%, #9d512f); }
.visit-copy > p { color: #e6cbb5; }
.footer { background: #2d1007; }
.footer-bottom { border-color: var(--line); color: #d4b398; }
.footer-links a, .footer-account { color: #f9ebdc; }
.account-dialog { background: #512416; color: #fff1e2; }
.modal-close { color: #f7ddc4; }
.account-dialog > p { color: var(--text-muted); }
.dialog-feature { border-color: var(--line); }
.dialog-feature span { color: var(--copper); }
.dialog-notice { background: #6a3520; color: #f8dcc2; }

@media (max-width: 800px) {
  .benefits-section { padding: 78px 0 70px; }
  .benefits-grid { column-gap: 20px; row-gap: 52px; }
  .benefit h3 { font-size: 18px; }
  .benefits-rule { margin: 30px auto 52px; }
}
@media (max-width: 600px) {
  .benefits-section { padding: 70px 0 60px; }
  .benefits-grid { grid-template-columns: 1fr; row-gap: 38px; }
  .benefits-rule { width: 86%; margin: 28px auto 44px; }
  .benefit-icon { margin-bottom: 6px; }
  .benefit-line { width: min(100%, 230px); }
  .benefit p { max-width: 300px; }
  .benefits-footnote { margin-top: 56px; }
  .intro { border-top: 0; }
}

/* Owner-supplied Solace Rejuvenation Lounge wordmark (original AVIF bytes). */
.site-header { height: 100px; }
.brand-with-logo { display: inline-flex; align-items: center; min-width: 0; line-height: 0; }
.brand-logo { display: block; width: 205px; height: auto; max-width: 100%; object-fit: contain; border: 1px solid rgba(228,163,102,.26); box-shadow: 0 8px 24px rgba(22,7,2,.16); }
.footer-brand .brand-logo { width: 240px; }
@media (max-width: 800px) { .site-header { height: 84px; } .site-header .brand-logo { width: 165px; } }
@media (max-width: 600px) { .site-header { height: 72px; } .site-header .brand-logo { width: 142px; } .footer-brand .brand-logo { width: min(100%, 175px); } }
@media (max-width: 380px) { .site-header .brand-logo { width: 125px; } }

/* Measured from https://www.solacelounge.au/home, not invented substitutes.
   Wix theme: --color_11 #441B0D, --color_12 #E39A67, --color_14 #8F4505.
   Section overlay #986243; text accent #E4A366. */
:root { --source-rust:#441b0d; --source-brown:#986243; --source-apricot:#e39a67; --source-burnt:#8f4505; --source-copper:#e4a366; --source-taupe:#ccbfa4; }
.site-header { background:var(--source-rust); border-bottom-color:rgba(228,163,102,.28); }
.hero-content { background:linear-gradient(110deg,#441b0d 15%,#6a3009 100%); }
.hero-art { background:radial-gradient(ellipse at 50% 40%,#e39a67 0%,#986243 35%,#6a3009 72%,#441b0d 100%); }
.intro-band { background:#441b0d; color:#fff8ef; }
.intro { background:transparent; border:0; }
.intro .section-number { color:#ffddbc; }
.intro-main h1 em { color:#f8d1ac; }
.intro-main p { color:#fff2e6; }
.intro-seal { border-color:#e4a366; }
.intro-seal div { color:#ffe2c5; }
.experiences-band { background:var(--source-rust); color:#f9eee4; }
.experiences { background:transparent; }
.experiences .section-head > p { color:#e8d0ba; }
.experience-card { background:var(--source-brown); border-color:#bb8b69; }
.experience-info p,.card-bottom > span { color:#fff0e1; }
.card-bottom { border-color:rgba(255,222,192,.4); }
.service-price span { background:#6a3009; border-color:#d79a65; color:#fff0e1; }
.future-strip { border-color:rgba(239,186,139,.45); }
.future-strip > div:nth-child(2) span { color:#e9d0b8; }
.soon-tag { background:#8f4505; color:#fff1e3 !important; }
.minute-card:nth-child(1),.minute-card:nth-child(3) { background:var(--source-brown); border-color:#be8b69; }
.minute-card:nth-child(2) { background:var(--source-burnt); border-color:#ba773b; }
.minute-card:nth-child(2) .minute-number,.minute-card:nth-child(2) .minute-glyph { color:#ffe0bd; }
.minute-card p,.minute-foot > span { color:#f4dac4; }
.booking-section { background:var(--source-apricot); color:#441b0d; }
.booking-intro .section-number { color:#6a3009; }
.booking-intro h2 { color:#441b0d; }
.booking-intro h2 em { color:#8f4505; }
.booking-intro > p { color:#5a2c19; }
.booking-meta,.booking-meta > div { border-color:rgba(89,42,18,.38); }
.booking-meta strong,.booking-meta > div > span:last-child { color:#441b0d; }
.meta-icon { color:#6a3009; }
.booking-card { background:#441b0d; color:#fff1e3; box-shadow:0 24px 70px rgba(76,28,12,.22); }
.preview-ribbon { background:#8f4505; color:#fff0db; }
.choice { background:#602d17; border-color:#9a6344; color:#fff1e3; }
.choice:hover,.choice.selected { background:#7c3b20; border-color:#e4a366; }
.choice.selected { box-shadow:inset 0 0 0 1px #e4a366; }
.choice.selected .choice-dot { background:#441b0d; }
.segmented { background:#5b2a17; }
.addon { background:#602d17; border-color:#a56f4b; }
.checkbox-ui { background:#441b0d; }
.form-divider { background:rgba(228,163,102,.4); }
.date-button,.slot-button { background:#68331c; border-color:#a57553; }
.date-button:hover,.date-button.selected,.slot-button:hover,.slot-button.selected { background:#e39a67; border-color:#f7c398; }
.booking-summary { background:#75402b; color:#fff1e4; }
.booking-caveat,.secure-note,.slots-heading .field-label span,.slots-heading > span,.show-more { color:#edc7aa; }
.visit-section { background:var(--source-brown); }
.visit-art { background:linear-gradient(115deg,#6a3009,#b8734b 55%,#8f4505); }
.visit-copy > p { color:#fff0df; }
.footer { background:var(--source-burnt); }
.footer-bottom { border-color:rgba(255,219,181,.43); color:#ffe4c8; }

/* The owner-supplied logo image is the full-width header banner; never crop its lettering. */
.site-header { height:82px; }
.header-banner { display:flex; justify-content:center; width:100%; overflow:hidden; background:#986243; }
.header-banner img { display:block; width:min(100%,1440px); height:auto; max-height:620px; object-fit:contain; }
.hero.hero-compact { display:block; min-height:0; background:#441b0d; }
.hero-compact .hero-content { width:100%; max-width:1480px; min-height:0; margin:0 auto; padding:clamp(45px,5vw,72px) clamp(22px,8vw,130px) 62px; background:linear-gradient(105deg,#441b0d 12%,#632d18 100%); }
.hero-compact h1 { font-size:clamp(58px,6vw,91px); margin:25px 0 18px; }
.hero-compact .hero-content > p { max-width:560px; }
.hero-compact .hero-actions { margin-top:16px; }
.hero-compact .hero-index { margin-top:0; padding-top:39px; }
@media (max-width:800px) { .site-header { height:74px; } .header-banner img { max-height:none; } .hero-compact .hero-content { min-height:0; padding:50px 32px 48px; } .hero-compact h1 { font-size:clamp(54px,9vw,75px); } }
@media (max-width:600px) { .site-header { height:70px; } .hero-compact .hero-content { min-height:0; padding:45px 24px 42px; } .hero-compact h1 { font-size:clamp(52px,13vw,72px); } .hero-compact .hero-index { padding-top:28px; } }

/* Complementary guest comforts and curtained-suite privacy. */
.comforts-panel { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,5vw,75px); align-items:center; padding:clamp(28px,4vw,55px); margin:0 0 30px; background:#8f4505; border:1px solid #bd7d43; color:#fff3e7; }
.comforts-intro .service-tag { color:#ffe0be; }
.comforts-intro h3 { font-family:var(--serif); font-size:clamp(30px,3vw,44px); line-height:1.15; letter-spacing:-.04em; margin:13px 0 17px; }
.comforts-intro h3 em { color:#ffd4ab; }
.comforts-intro p { color:#f6dfcb; font-size:13px; line-height:1.75; max-width:370px; margin:0; }
.comforts-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 25px; }
.comforts-list li { border-bottom:1px solid rgba(255,211,170,.42); padding:16px 0; font-size:12px; line-height:1.45; font-weight:600; display:flex; gap:11px; align-items:flex-start; }
.comforts-list li:before { content:"✳"; color:#f6c89d; font-size:14px; line-height:1; flex:none; }
@media(max-width:800px) { .comforts-panel { grid-template-columns:1fr; } .comforts-intro p { max-width:600px; } }
@media(max-width:600px) { .comforts-panel { padding:25px; } .comforts-list { grid-template-columns:1fr; } .comforts-list li { padding:12px 0; } }

/* Planned transactional confirmations and 24-hour reminders. */
.booking-notification-note{margin-top:19px;padding:14px 16px;border-left:2px solid #e39a67;background:#63311d;color:#f9e6d4;font-size:11px;line-height:1.65}.booking-notification-note strong{color:#ffe1c1}

/* Footer without logo: message and navigation occupy the full width. */
.footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.footer-top>p{grid-column:1;grid-row:1}.footer-links{grid-column:2;grid-row:1}@media(max-width:600px){.footer-top{grid-template-columns:1fr;gap:22px}.footer-top>p{grid-column:1;grid-row:1}.footer-links{grid-column:1;grid-row:2;align-items:flex-start}}
@media(max-width:480px){.site-header{gap:8px;padding-left:12px;padding-right:12px}.site-header .brand-logo{width:100px}.header-actions{gap:8px}.account-button{white-space:normal;max-width:126px;line-height:1.25;text-align:right;font-size:10px}.top-home-button{padding:8px 10px}}

/* Compact home doorway to the separate Solace Society page. */
.society-invite{display:flex;align-items:end;justify-content:space-between;gap:36px;background:#6a3009;padding:42px clamp(26px,4vw,58px);margin-bottom:82px;border-top:2px solid #e39a67}.society-invite .section-number{color:#f5c69c}.society-invite h2{font:400 clamp(32px,3.5vw,46px)/1.2 var(--serif);letter-spacing:-.04em;margin:14px 0}.society-invite p{font-size:13px;line-height:1.8;color:#f1d4bf;margin:0;max-width:600px}.society-invite p.society-partner-teaser{margin-top:12px;font-size:12px}.society-partner-teaser a{color:#ffe0bd;text-decoration:underline;text-underline-offset:3px}.society-invite .button{flex:none}@media(max-width:700px){.society-invite{align-items:start;flex-direction:column;gap:24px;margin-bottom:58px;padding:30px 26px}}
