:root{--clay:#b7664e;--clay-dark:#8e4938;--cream:#f5eee5;--paper:#fbf8f3;--ink:#292523;--muted:#716963;--line:#d8cec3;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.65 var(--sans)}a{color:inherit;text-decoration:none}p{margin:0 0 1.1rem}h1,h2,h3{margin:0;font-weight:400}h2{font:clamp(3rem,6vw,6.3rem)/.96 var(--serif);letter-spacing:-.04em}h2 em,h1 em{font-style:italic}.site-header{height:86px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,70px);position:absolute;z-index:4;color:#fff}.wordmark{font:600 15px/.78 var(--sans);letter-spacing:.04em}.wordmark i{font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:-.02em}.site-header nav{display:flex;gap:36px;margin-left:auto;margin-right:45px}.site-header nav a,.footer-label,.eyebrow{font:500 10px/1.1 var(--mono);letter-spacing:.11em;text-transform:uppercase}.site-header nav a{opacity:.88}.site-header nav a:hover{opacity:.55}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid transparent;padding:15px 18px;text-transform:uppercase;font:500 10px var(--mono);letter-spacing:.1em;transition:.25s}.button span,.text-link span{font-size:16px;line-height:0}.button:hover{transform:translateY(-2px)}.button-small{padding:12px 15px}.button-light{background:var(--paper);color:var(--ink)}.button-outline{border-color:var(--ink)}.button-clay{background:var(--clay);color:white}.button-dark{background:var(--ink);color:white}.text-link{display:inline-flex;align-items:center;gap:14px;padding-bottom:5px;border-bottom:1px solid currentColor;text-transform:uppercase;font:500 10px var(--mono);letter-spacing:.1em}.light{color:#fff}.menu-toggle{display:none}.hero{height:min(850px,100vh);min-height:680px;position:relative;overflow:hidden;background:var(--clay-dark);color:white}.hero>img,.experience-image img,.visit-image img{width:100%;height:100%;object-fit:cover}.hero>img{object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,19,16,.65),rgba(26,19,16,.09) 66%),linear-gradient(0deg,rgba(20,14,11,.4),transparent 40%)}.hero-content{position:absolute;z-index:1;top:28%;left:clamp(22px,12vw,190px);max-width:680px}.eyebrow{color:var(--clay-dark);margin-bottom:23px}.hero h1{font:clamp(4.5rem,9.2vw,9.7rem)/.85 var(--serif);letter-spacing:-.055em;margin-bottom:33px}.hero-copy{max-width:410px;font-size:17px;line-height:1.5}.actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:30px}.hero-location{position:absolute;z-index:1;bottom:28px;left:clamp(22px,4vw,70px);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.hero-location span{color:#e9a38c;margin:0 8px}.intro,.membership,.how{padding:clamp(85px,14vw,200px) clamp(22px,8vw,140px)}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px}.section-label{display:flex;gap:17px;font:500 10px var(--mono);letter-spacing:.11em;text-transform:uppercase}.section-label span{color:var(--clay);font-size:11px}.section-label p{margin:0}.intro-copy{max-width:800px}.intro-copy h2{margin-bottom:36px}.intro-copy>p,.how-heading>p{font-size:17px;line-height:1.6;max-width:460px}.experiences{overflow:hidden}.experience{min-height:720px;display:grid;grid-template-columns:1.06fr .94fr;background:#efe7dd}.experience.reverse{grid-template-columns:.94fr 1.06fr;background:#ded3c7}.experience.reverse .experience-image{order:2}.experience-image{overflow:hidden}.experience-image img{filter:saturate(.72)}.image-massage img{object-position:18% center}.image-contrast img{object-position:76% center}.image-sauna img{object-position:44% center}.image-normatec img{object-position:88% center}.experience-content{padding:clamp(62px,9vw,145px) clamp(30px,7vw,112px);align-self:center;max-width:680px}.experience-content h2{font-size:clamp(3.25rem,5.5vw,6.4rem);margin-bottom:27px}.experience-content h3{font:20px/1.2 var(--serif);margin-bottom:23px}.experience-content>p:not(.price){color:#4e4844;max-width:490px}.price{text-transform:uppercase;font:500 12px var(--mono);letter-spacing:.08em;margin-top:29px}.price span{color:var(--clay);margin:0 5px}details{border-top:1px solid #bcb1a5;border-bottom:1px solid #bcb1a5;margin:28px 0;padding:16px 0}summary{cursor:pointer;list-style:none;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.1em;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}details[open] summary{margin-bottom:20px}details strong{display:block;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}details div p{font-size:13px;margin:4px 0 15px}details small{display:block;font-size:11px;line-height:1.4;color:var(--muted)}.statement{background:var(--clay);color:#fff;padding:clamp(90px,15vw,210px) 10vw;text-align:center}.statement .eyebrow{color:#f7d5c7}.statement h2{font-size:clamp(3.4rem,8vw,9rem);margin-bottom:40px}.statement>p:last-child{font-size:17px;max-width:420px;margin:auto}.membership{background:var(--paper)}.membership-heading{margin:60px 0 70px}.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1250px}.plan{border:1px solid var(--line);padding:clamp(28px,4vw,58px);display:flex;flex-direction:column;align-items:start}.plan-featured{background:#ead6cb;border-color:#ead6cb}.plan-price{font:clamp(3.2rem,5vw,5.5rem)/1 var(--serif);letter-spacing:-.05em;margin:20px 0 29px}.plan-price small{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.plan h3{font:28px/1.1 var(--serif);margin-top:-5px;margin-bottom:25px}.plan>p:not(.eyebrow):not(.plan-price){max-width:460px;color:#514b46}.plan ul{list-style:none;padding:25px 0 18px;margin:auto 0 18px;width:100%;border-top:1px solid #c9bdb2}.plan li{padding:8px 0 8px 19px;position:relative;font-size:13px}.plan li:before{content:'+';position:absolute;left:0;color:var(--clay-dark)}.how{background:#eee7dd}.how-heading{margin:62px 0 80px;display:flex;gap:14vw;align-items:end}.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.steps li{padding:25px 24px 10px 0;min-height:240px;border-right:1px solid var(--line)}.steps li+li{padding-left:24px}.steps li:last-child{border:0}.steps span{font:11px var(--mono);color:var(--clay-dark)}.steps h3{font:22px/1.08 var(--serif);margin:34px 0 17px}.steps p{font-size:13px;line-height:1.6;color:#615a55}.how .actions{margin-top:65px}.visit{display:grid;grid-template-columns:1fr 1fr;background:#c56c51}.visit-image{min-height:850px}.visit-image img{filter:saturate(.65);object-position:67% center}.visit-content{padding:clamp(80px,11vw,160px) clamp(30px,8vw,130px);color:#fff}.visit-content .eyebrow{color:#ffe1d5}.visit-content h2{font-size:clamp(3.2rem,5vw,6.2rem);margin-bottom:43px}.visit address{font:22px/1.35 var(--serif);font-style:normal;margin-bottom:30px}.visit-content>p:not(.eyebrow):not(.hours){max-width:480px;color:#fff4ee}.hours{text-transform:uppercase;font:500 10px/1.7 var(--mono);letter-spacing:.1em;margin-top:29px}.hours strong{font-size:13px}footer{background:#292523;color:#f4ede4;padding:65px clamp(22px,6vw,100px) 22px}.footer-top{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid #554d48;padding-bottom:58px}.footer-top>p{font:clamp(25px,3vw,40px)/1.1 var(--serif);max-width:420px}.footer-top>p span{font:14px/1.5 var(--sans);display:block;margin-top:13px;color:#bdb4ac}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:58px 0}.footer-grid address{font-style:normal;margin-bottom:18px}.footer-grid a{display:block;color:#d3c9c1;margin-bottom:8px}.footer-grid a:hover{text-decoration:underline}.footer-label{color:#a49a92;margin-bottom:16px}.spaced{margin-top:34px}.footer-bottom{padding-top:21px;border-top:1px solid #554d48;display:flex;justify-content:space-between;color:#a49a92;font-size:11px}.footer-bottom div{display:flex;gap:24px}.massage-link{color:#e9dfd5}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:70px}.site-header nav{display:none}.header-book{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:38px;padding:11px 5px;background:transparent;border:0}.menu-toggle span{height:1px;width:100%;background:#fff;transition:.2s}body.menu-open{overflow:hidden}body.menu-open .site-header{position:fixed;background:var(--ink)}body.menu-open nav{display:flex;position:fixed;inset:70px 0 0;background:var(--ink);padding:48px 28px;flex-direction:column;gap:30px;margin:0;font:32px var(--serif)}body.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}body.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:650px;height:88vh}.hero>img{object-position:54% center}.hero-content{top:auto;bottom:100px;left:24px;right:24px}.hero h1{font-size:clamp(4.1rem,17vw,6.3rem)}.hero-copy{font-size:15px;max-width:350px}.hero-location{left:24px;bottom:26px}.intro,.membership,.how{padding:82px 24px}.intro{display:block}.section-label{margin-bottom:48px}.intro-copy h2{margin-bottom:27px}.experience,.experience.reverse{grid-template-columns:1fr;min-height:auto}.experience.reverse .experience-image{order:0}.experience-image{height:390px}.experience-content{padding:65px 24px 70px}.experience-content h2{font-size:clamp(3.35rem,14vw,5rem)}.statement{padding:90px 24px}.statement h2{font-size:clamp(3.45rem,14vw,5.4rem)}.membership-heading{margin:0 0 48px}.plans{grid-template-columns:1fr;gap:12px}.plan{min-height:500px}.how-heading{display:block;margin:0 0 55px}.how-heading h2{margin-bottom:24px}.steps{display:block}.steps li,.steps li+li{min-height:0;padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.steps h3{margin:20px 0 9px}.how .actions{margin-top:42px}.visit{grid-template-columns:1fr}.visit-image{min-height:410px;height:410px}.visit-content{padding:70px 24px}.visit-content h2{font-size:clamp(3.3rem,14vw,5rem)}.footer-top{display:block}.footer-top>p{margin-top:45px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom div{margin-top:14px;gap:16px;flex-wrap:wrap}.reveal{opacity:1;transform:none}}


/* Scoped membership card and shared dialog interactions. */
.plan{position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.membership-card-trigger{cursor:pointer;background:transparent;color:inherit}
@media(hover:hover) and (pointer:fine){#membership .plan,#membership .plan *{cursor:pointer}}
.membership-card-trigger::after{content:"";position:absolute;inset:0;z-index:1}
.membership-card-trigger:focus-visible{outline:none}
.plan:has(.membership-card-trigger:focus-visible){outline:3px solid var(--clay-dark);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.plan:hover{transform:translateY(-5px);box-shadow:0 16px 35px #29252312;border-color:var(--clay)}.membership-card-trigger{opacity:.7}.plan:hover .membership-card-trigger{opacity:1}}
.membership-dialog{border:1px solid #cbb5a5;padding:0;width:min(920px,calc(100% - 32px));max-width:920px;max-height:85vh;max-height:85dvh;overflow:auto;overscroll-behavior:contain;background:#292523;color:#fbf8f3}
.membership-dialog::backdrop{background:#181311b8}
.membership-dialog[open]{animation:membership-enter .2s ease-out}
.membership-dialog__surface{position:relative;padding:64px 56px 44px;isolation:isolate;min-width:0}
.membership-dialog__surface::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(25,20,18,.95),rgba(35,26,22,.87)),var(--membership-image) center/cover}
.membership-dialog__close{position:sticky;top:12px;float:right;margin:-48px -40px 0 0;width:44px;height:44px;border:1px solid #b6a295;background:#292523;color:#fbf8f3;font:28px var(--sans);cursor:pointer;z-index:2}
.membership-dialog .eyebrow{color:#e9b8a6;font:500 11px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.membership-dialog h2{font:400 clamp(32px,5vw,48px)/1.08 var(--serif);letter-spacing:-.025em;margin:0 0 24px;max-width:650px}
.membership-dialog p,.membership-dialog li{font:400 15px/1.65 var(--sans)}
.membership-dialog h3{font:600 12px/1.5 var(--sans);letter-spacing:.09em;text-transform:uppercase;margin:30px 0 14px;color:#edc1ae}
.membership-dialog h4{font:500 16px/1.4 var(--sans);margin:0 0 10px}
.membership-dialog .membership-dialog__price{font:500 38px/1.2 var(--sans);margin:0 0 26px}.membership-dialog__price small{font-size:13px}
.membership-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.membership-dialog ul{padding-left:20px}.membership-dialog li{padding-left:3px;margin:9px 0}
.membership-prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0;border-block:1px solid #806f63}
.membership-price{padding:20px 12px}.membership-price+.membership-price{border-left:1px solid #806f63}
.membership-price p{font-size:12px;margin:6px 0;color:#dbd2ca}.membership-price p span{display:block;font-size:18px}
.membership-price .membership-price__member{color:#edc1ae}.membership-price strong{display:block;font-size:28px;font-weight:500}
.membership-dialog .membership-saving{font-weight:600;color:#edc1ae;text-transform:uppercase;font-size:12px;letter-spacing:.04em}
.membership-dialog__final{border-top:1px solid #806f63;margin-top:32px}
.membership-terms-toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 0;border:0;border-block:1px solid #806f63;background:transparent;color:inherit;font:500 14px/1.5 var(--sans);text-align:left;cursor:pointer}
.membership-terms-toggle span{font-size:23px;flex-shrink:0}
.membership-terms{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .25s ease,visibility .25s}
.membership-terms.is-expanded{grid-template-rows:1fr;visibility:visible}.membership-terms>div{overflow:hidden;min-height:0}
.membership-terms li{font-size:13px;color:#ede4dc}.membership-terms ul{margin:20px 0}
.membership-dialog #membership-join{display:flex;width:100%;margin-top:24px;background:var(--clay-dark);color:#fff;min-height:52px;white-space:normal;text-align:center;line-height:1.5}
.membership-dialog button:focus-visible,.membership-dialog a:focus-visible{outline:3px solid #edc1ae;outline-offset:4px}
body.membership-open{overflow:hidden}
@keyframes membership-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.membership-dialog__surface{padding:62px 24px 28px}.membership-dialog__close{margin:-48px -12px 0 0}.membership-services{grid-template-columns:1fr;gap:12px}.membership-prices{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-price:nth-child(3){border-left:0}.membership-price:nth-child(n+3){border-top:1px solid #806f63}}
@media(prefers-reduced-motion:reduce){.plan,.membership-terms{transition:none}.membership-dialog[open]{animation:none}}

/* Temporary photography: remove these captions when actual photography replaces it. */
.temporary-photo-caption{margin:0;padding:8px 16px;background:var(--paper);color:var(--muted);font:400 10px/1.5 var(--sans);letter-spacing:0;text-align:left;overflow-wrap:break-word}
.experience-image:has(.temporary-photo-caption),.visit-image:has(.temporary-photo-caption),.pace-section__image:has(.temporary-photo-caption){display:grid;grid-template-rows:minmax(0,1fr) auto}
.experience-image:has(.temporary-photo-caption)>img,.visit-image:has(.temporary-photo-caption)>img,.pace-section__image:has(.temporary-photo-caption)>img{min-height:0;display:block}
.membership-dialog>.temporary-photo-caption{background:#292523;color:#cbbeb2}
.location-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:800px){.temporary-photo-caption{padding:8px 12px;font-size:10px}}
/* Understated mobile action arrows; desktop interaction remains unchanged. */
@media(max-width:800px){
  .button>span,.text-link>span{font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;width:16px;opacity:.75}
  .button,.text-link{min-height:44px;gap:12px}
  .button:hover,.button:focus,.button:active,.text-link:hover,.text-link:focus,.text-link:active{transform:none}
  .button:focus-visible,.text-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
}

/* Shared non-emoji CTA icons and removable temporary image captions. */
.ui-arrow{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hero>.temporary-photo-caption--hero,.experience-hero>.temporary-photo-caption--hero{position:absolute;bottom:0;left:0;right:0;z-index:2;background:linear-gradient(transparent,rgba(25,20,18,.75));color:#f5eee5;font-size:10px;padding:10px 16px;pointer-events:none}
.hero:has(.temporary-photo-caption--hero) .hero-location{bottom:52px}
.booking-policy-note{margin:0;padding:18px 24px;background:var(--paper);color:var(--muted);font:400 12px/1.6 var(--sans);text-align:center}
.booking-policy-note a{text-decoration:underline;text-underline-offset:3px}
[hidden]{display:none!important}
@media(max-width:800px){.hero:has(.temporary-photo-caption--hero) .hero-location{bottom:64px}.ui-arrow{width:12px;height:12px}}

.detail-footer .footer-bottom div{flex-wrap:wrap}

/* Opening announcement */
.opening-announcement{padding:22px clamp(22px,4vw,70px);background:var(--cream);color:var(--ink);text-align:center;border-bottom:1px solid var(--line)}
.opening-announcement p{margin:0;font:500 13px/1.7 var(--sans);letter-spacing:.04em}.opening-announcement span{display:inline-block;margin-left:20px;color:var(--clay-dark)}
@media(max-width:600px){.opening-announcement span{display:block;margin-left:0}}

/* Actual Noosa photography: preserve subjects across screen sizes. */
.hero>img{object-position:68% 52%;filter:saturate(.82)}
.hero .eyebrow{color:#f2c5ac}
.experience-image img,.visit-image img{display:block;filter:saturate(.85)}
.image-massage img{object-position:60% center}
.image-contrast img{object-position:69% 68%}
.image-sauna img{object-position:68% center}
.image-normatec img{object-position:64% 68%}
.visit-image img{object-fit:cover;object-position:38% center;background:#e9dfd3}
@media(max-width:800px){
 .hero{height:auto;min-height:0;padding-top:360px;background:#34251e}
 .hero>img{position:absolute;inset:0;width:100%;height:360px;object-position:68% 45%}
 .hero-shade{background:linear-gradient(0deg,#34251e 5%,transparent 55%)}
 .hero-content{position:relative;top:auto;bottom:auto;left:auto;right:auto;padding:22px 24px 48px;max-width:none}
 .hero h1{font-size:clamp(3.8rem,16vw,5.5rem)}
 .image-contrast img{object-position:69% 65%}
 .image-normatec img{object-position:64% 65%}
 .visit-image{min-height:0;height:auto}
 .visit-image img{height:auto;object-fit:contain}
}

/* Space-led photography: people appear only in the sauna detail auxiliary image. */
.hero>img{object-position:40% 52%}
.image-contrast img{object-position:center 65%}
.image-normatec img{object-position:42% center}
.image-sauna img{width:330%;max-width:none;object-fit:cover;object-position:left center}
@media(max-width:800px){
 .hero>img{object-position:38% center}
 .image-sauna img{width:330%;object-position:left center}
}

/* Keep the reception wall logo clear of the headline. */
@media(min-width:801px){
 .hero-content{left:auto;right:7vw;max-width:430px}
 .hero-shade{background:linear-gradient(270deg,rgba(26,19,16,.76),rgba(26,19,16,.12) 78%),linear-gradient(0deg,rgba(20,14,11,.25),transparent 40%)}
}

/* A quieter, darker treatment for the actual venue photography. */
.hero>img,.experience-image img,.visit-image img,.experience-hero>img,.pace-section__image img{filter:brightness(.8) saturate(.82)}

/* Deeper shade for treatment rooms and lounge photographs. */
main img[src*="/massage-original.jpg"],main img[src*="/lounge-original.jpg"],main img[src*="/normatec-experience-original.jpg"]{filter:brightness(.65) saturate(.82)}

/* Crop the recovery lounge below the ceiling and favour the right-hand seating. */
main img[src*="/normatec-experience-original.jpg"]{object-position:66% bottom;transform:scale(1.25);transform-origin:66% bottom}

/* Restore the complete sauna experience photograph. */
.image-sauna img{width:100%;max-width:100%;object-fit:cover;object-position:65% center}
