@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Montserrat:wght@300;400;500;600&display=swap";:root{--bg-deep:#0d0a0b;--bg-card:#1a1416;--bg-elevated:#231c1f;--gold:#c9a962;--gold-light:#e8d5a3;--gold-dark:#9a7b3c;--rose:#8b4557;--rose-light:#b86b7a;--cream:#f5efe6;--cream-muted:#c4b8a8;--text:#f0ebe3;--text-muted:#9a9088;--border:#c9a96226;--shadow:0 24px 80px #00000080;--radius:12px;--radius-lg:20px;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Montserrat", system-ui, sans-serif;--transition:.35s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text);font-weight:300;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1200px,92vw);margin:0 auto}.header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:var(--transition);background:linear-gradient(#0d0a0bf2,#0000);padding:1.25rem 0;position:fixed;top:0;left:0;right:0}.header-solid{border-bottom:1px solid var(--border);background:#0d0a0bf7}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;gap:.6rem;display:flex}.logo-mark{color:var(--gold);font-size:1.2rem}.logo-text{font-family:var(--font-display);letter-spacing:.02em;font-size:1.35rem;font-weight:500;line-height:1.2}.logo-text em{color:var(--gold-light);font-size:.95em;font-style:italic;display:block}.nav{align-items:center;gap:2rem;display:flex}.nav a{letter-spacing:.12em;text-transform:uppercase;color:var(--cream-muted);transition:color var(--transition);font-size:.8rem}.nav a:hover{color:var(--gold-light)}.nav-cta{border:1px solid var(--gold);border-radius:999px;padding:.65rem 1.4rem;color:var(--gold-light)!important;transition:all var(--transition)!important}.nav-cta:hover{background:var(--gold);color:var(--bg-deep)!important}.btn{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all var(--transition);border:none;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 2rem;font-size:.75rem;font-weight:500;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--gold), var(--gold-dark));color:var(--bg-deep);box-shadow:0 8px 32px #c9a9624d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px #c9a96273}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{color:var(--cream);background:0 0;border:1px solid #f5efe640}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-light)}.btn-outline{border:1px solid var(--gold);color:var(--gold-light);background:0 0}.btn-outline:hover{background:var(--gold);color:var(--bg-deep)}.btn-lg{padding:1.1rem 2.5rem;font-size:.8rem}.hero{align-items:center;min-height:100vh;padding:9rem 0 4rem;display:flex;position:relative}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-overlay{background:linear-gradient(135deg, #0d0a0beb 0%, #0d0a0b99 50%, #8b455740 100%), linear-gradient(to top, var(--bg-deep) 0%, transparent 40%);position:absolute;inset:0}.hero-content{z-index:1;max-width:720px;position:relative}.hero-badge{border:1px solid var(--border);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);background:#c9a9621f;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1.2rem;font-size:.75rem;display:inline-flex}.hero-badge span{color:var(--gold)}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(3rem,7vw,5.5rem);font-weight:400;line-height:1.05}.hero-accent{color:var(--gold-light);background:linear-gradient(135deg, var(--gold-light), var(--rose-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}.hero-subtitle{color:var(--cream-muted);max-width:540px;margin-bottom:2.5rem;font-size:1.05rem;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:1rem;margin-bottom:4rem;display:flex}.hero-stats{border-top:1px solid var(--border);flex-wrap:wrap;gap:2.5rem;padding-top:2rem;display:flex}.hero-stats strong{font-family:var(--font-display);color:var(--gold-light);margin-bottom:.25rem;font-size:1.75rem;font-weight:500;display:block}.hero-stats span{color:var(--text-muted);letter-spacing:.05em;font-size:.8rem}.section{padding:6rem 0}.section-header{text-align:center;max-width:640px;margin:0 auto 4rem}.eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-size:.7rem;display:block}.section-header h2{font-family:var(--font-display);margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.2}.section-header p{color:var(--text-muted);font-size:1rem}.services-section{background:linear-gradient(180deg, var(--bg-deep) 0%, var(--bg-card) 50%, var(--bg-deep) 100%)}.services-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem;display:grid}.service-card{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border);transition:transform var(--transition), box-shadow var(--transition);position:relative;overflow:hidden}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}.service-card.featured{border-color:#c9a96259}.featured-badge{z-index:2;background:var(--gold);color:var(--bg-deep);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:.35rem .9rem;font-size:.65rem;font-weight:600;position:absolute;top:1rem;right:1rem}.service-image{height:220px;position:relative;overflow:hidden}.service-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.service-card:hover .service-image img{transform:scale(1.08)}.service-image-overlay{background:linear-gradient(to top, var(--bg-elevated), transparent 60%);position:absolute;inset:0}.service-content{padding:1.75rem}.service-tagline{letter-spacing:.15em;text-transform:uppercase;color:var(--rose-light);font-size:.7rem}.service-content h3{font-family:var(--font-display);margin:.5rem 0 .75rem;font-size:1.5rem;font-weight:500}.service-content p{color:var(--text-muted);margin-bottom:1.25rem;font-size:.9rem}.service-pricing-row{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding-top:1rem;display:flex}.service-price-chip{border:1px solid var(--border);color:var(--gold-light);letter-spacing:.04em;background:#c9a9621a;border-radius:999px;padding:.35rem .65rem;font-size:.72rem}.service-link{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);transition:color var(--transition);font-size:.75rem}.service-link:hover{color:var(--gold-light)}.pricing-section{background:var(--bg-deep)}.pricing-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.pricing-card{text-align:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition), border-color var(--transition);flex-direction:column;align-items:center;padding:2.5rem 1.5rem;display:flex;position:relative}.pricing-card:hover{border-color:#c9a96266;transform:translateY(-4px)}.pricing-duration{letter-spacing:.15em;text-transform:uppercase;color:var(--rose-light);margin-bottom:.75rem;font-size:.75rem}.pricing-amount{font-family:var(--font-display);color:var(--gold-light);margin-bottom:.35rem;font-size:3rem;font-weight:500;line-height:1}.pricing-label{color:var(--text-muted);margin-bottom:1.5rem;font-size:.8rem}.pricing-cta{padding:.6rem 1.25rem;font-size:.65rem}.pricing-note{text-align:center;color:var(--text-muted);font-size:.85rem}.promo-callout,.extras-callout{border-radius:var(--radius-lg);background:#c9a96214;border:1px solid #c9a96240;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding:1.25rem 1.5rem;display:flex}.promo-callout-mark,.extras-callout-icon{color:var(--gold-light);flex-shrink:0;margin-top:.15rem;font-size:1.1rem}.promo-callout strong,.extras-callout strong{color:var(--gold-light);margin-bottom:.35rem;font-size:.95rem;display:block}.promo-callout p,.extras-callout p{color:var(--cream-muted);margin:0;font-size:.88rem;line-height:1.6}.pricing-free-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--gold-light);background:#8b455759;border:1px solid #c9a96259;border-radius:999px;padding:.25rem .65rem;font-size:.62rem;position:absolute;top:1rem;right:1rem}.service-price-chip-free{color:var(--gold-light);background:#8b455740;border-color:#c9a96266}.book-page-promo{color:var(--gold-light);letter-spacing:.04em;background:#c9a96226;border:1px solid #c9a96259;border-radius:999px;margin-top:1rem;padding:.55rem 1.1rem;font-size:.82rem;display:inline-block}.therapist-note{border:1px solid var(--border);border-radius:var(--radius);background:#8b45571f;grid-column:1/-1;padding:1rem 1.15rem}.therapist-note strong{color:var(--gold-light);margin-bottom:.35rem;font-size:.85rem;display:block}.therapist-note p{color:var(--cream-muted);margin:0;font-size:.85rem;line-height:1.55}.selected-price-note{color:var(--gold-light);font-size:.82rem}.selected-price{border:1px solid var(--border);border-radius:var(--radius);color:var(--cream-muted);background:#c9a96214;margin-top:1rem;padding:.85rem 1rem;font-size:.9rem}.service-image img,.hero-bg img,.book-page-hero-bg img,.about-image img,.gallery-item img{object-fit:cover;width:100%;height:100%}.image-fallback{background:linear-gradient(135deg, var(--bg-elevated), var(--rose));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;height:100%;min-height:180px;padding:1.5rem;display:flex}.image-fallback span{color:var(--gold);font-size:2rem}.image-fallback p{color:var(--cream-muted);letter-spacing:.06em;font-size:.75rem}.field-privacy-note{border-left:2px solid var(--rose-light);border-radius:0 var(--radius) var(--radius) 0;background:#8b45571f;margin:.25rem 0 .5rem;padding:.75rem 1rem;line-height:1.6;color:var(--rose-light)!important;text-transform:none!important;letter-spacing:normal!important;font-size:.8rem!important}.privacy-callout{border-radius:var(--radius);background:#8b45571a;border:1px solid #b86b7a4d;margin-bottom:2rem;padding:1.25rem 1.5rem}.privacy-callout strong{color:var(--gold-light);margin-bottom:.5rem;font-size:.9rem;display:block}.privacy-callout p{color:var(--cream-muted);font-size:.85rem;line-height:1.7}.privacy-callout-form{margin-bottom:1.25rem}.selected-price strong{color:var(--gold-light);font-size:1.1rem}.book-page-hero{align-items:flex-end;min-height:42vh;padding:7rem 0 3rem;display:flex;position:relative}.book-page-hero-bg{z-index:0;position:absolute;inset:0}.book-page-hero-bg img{object-fit:cover;width:100%;height:100%}.book-page-hero-overlay{background:linear-gradient(to top, var(--bg-deep) 0%, #0d0a0bbf 50%, #0d0a0be6 100%), linear-gradient(135deg, #8b455733, transparent);position:absolute;inset:0}.book-page-hero-content{z-index:1;position:relative}.book-back-link{letter-spacing:.08em;color:var(--cream-muted);transition:color var(--transition);margin-bottom:1.5rem;font-size:.8rem;display:inline-block}.book-back-link:hover{color:var(--gold-light)}.book-page-hero-content h1{font-family:var(--font-display);margin-bottom:1rem;font-size:clamp(2.25rem,5vw,3.5rem);font-weight:400}.book-page-hero-content>p{color:var(--text-muted);max-width:560px;margin-bottom:1.5rem}.book-page-pricing{flex-wrap:wrap;gap:.65rem;display:flex}.book-price-pill{border:1px solid var(--border);color:var(--gold-light);background:#c9a9621f;border-radius:999px;padding:.45rem 1rem;font-size:.8rem}.book-page-form-section{padding-top:3rem}.gallery-section{background:var(--bg-card)}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:1rem;display:grid}.gallery-grid-expanded{grid-auto-rows:180px}.gallery-item{border-radius:var(--radius);margin:0;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item figcaption{letter-spacing:.08em;color:var(--cream-muted);opacity:0;transition:opacity var(--transition);background:linear-gradient(#0000,#0d0a0be6);padding:1.5rem 1rem 1rem;font-size:.75rem;position:absolute;bottom:0;left:0;right:0}.gallery-item:hover figcaption{opacity:1}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.reviews-section{background:var(--bg-deep)}.reviews-summary{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:center;gap:3rem;margin-bottom:3rem;padding:2rem;display:flex}.reviews-summary-stat{text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.reviews-summary-stat strong{font-family:var(--font-display);color:var(--gold-light);font-size:2rem;font-weight:500;line-height:1}.reviews-summary-stat span:last-child{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem}.reviews-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.review-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition), transform var(--transition);flex-direction:column;gap:.75rem;padding:1.75rem;display:flex}.review-card:hover{border-color:#c9a96259;transform:translateY(-2px)}.review-card-header{align-items:center;gap:1rem;display:flex}.review-avatar{object-fit:cover;border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:56px;height:56px}.review-name{font-family:var(--font-display);color:var(--gold-light);margin:0;font-size:1.15rem;font-weight:500}.review-suburb{color:var(--text-muted);margin:0;font-size:.8rem}.review-stars{color:var(--gold);letter-spacing:.1em;font-size:.9rem}.review-stars-dim{color:var(--bg-elevated)}.review-service{letter-spacing:.1em;text-transform:uppercase;color:var(--rose-light);margin:0;font-size:.7rem}.review-text{color:var(--cream-muted);flex:1;margin:0;font-size:.9rem;font-style:italic;line-height:1.65}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.about-image{position:relative}.about-image img{border-radius:var(--radius-lg);aspect-ratio:4/5;object-fit:cover;width:100%}.about-image-accent{border:1px solid var(--gold);border-radius:var(--radius-lg);z-index:-1;opacity:.4;width:60%;height:60%;position:absolute;bottom:-1.5rem;right:-1.5rem}.about-content h2{font-family:var(--font-display);margin-bottom:1.25rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:400}.about-content>p{color:var(--text-muted);margin-bottom:2rem}.about-list{margin-bottom:2rem;list-style:none}.about-list li{border-bottom:1px solid var(--border);color:var(--cream-muted);padding:.75rem 0;font-size:.95rem}.about-list strong{color:var(--gold-light);font-weight:500}.booking-section{background:radial-gradient(ellipse at 20% 50%, #8b45571f 0%, transparent 50%), radial-gradient(ellipse at 80% 50%, #c9a96214 0%, transparent 50%), var(--bg-deep)}.booking-layout{grid-template-columns:1fr 1.4fr;align-items:start;gap:4rem;display:grid}.booking-intro h2{font-family:var(--font-display);margin-bottom:1rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:400}.booking-intro>p{color:var(--text-muted);margin-bottom:2.5rem}.booking-perks{flex-direction:column;gap:1.5rem;display:flex}.perk{align-items:flex-start;gap:1rem;display:flex}.perk>span{color:var(--gold);margin-top:.15rem;font-size:1rem}.perk strong{margin-bottom:.2rem;font-size:.9rem;font-weight:500;display:block}.perk p{color:var(--text-muted);font-size:.85rem}.booking-form-wrap{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:2.5rem}.booking-form fieldset{border:none;border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:2rem}.booking-form fieldset:last-of-type{border-bottom:none;margin-bottom:1rem;padding-bottom:0}.booking-form legend{font-family:var(--font-display);color:var(--gold-light);margin-bottom:1.25rem;padding:0;font-size:1.25rem;font-weight:500}.form-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-grid .span-2{grid-column:span 2}.booking-form label{letter-spacing:.08em;text-transform:uppercase;color:var(--cream-muted);flex-direction:column;gap:.4rem;font-size:.75rem;display:flex}.booking-form input,.booking-form select,.booking-form textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);transition:border-color var(--transition);padding:.85rem 1rem;font-size:.95rem;font-weight:300}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--gold);outline:none}.booking-form select{cursor:pointer}.booking-form textarea{resize:vertical;min-height:80px}.checkbox-label{cursor:pointer;align-items:center;text-transform:none!important;letter-spacing:normal!important;color:var(--text)!important;flex-direction:row!important;font-size:.9rem!important}.checkbox-label input{width:auto;accent-color:var(--gold)}.form-note{color:var(--text-muted);margin-bottom:1.5rem;font-size:.8rem}.form-error{border:1px solid var(--rose);border-radius:var(--radius);color:var(--rose-light);background:#8b455733;margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.booking-success{text-align:center;padding:3rem 1rem}.success-icon{color:var(--gold);margin-bottom:1.5rem;font-size:2.5rem}.booking-success h3{font-family:var(--font-display);margin-bottom:1rem;font-size:1.75rem}.booking-success p{color:var(--text-muted);max-width:400px;margin-bottom:2rem;margin-left:auto;margin-right:auto}.footer{border-top:1px solid var(--border);text-align:center;padding:4rem 0 2rem}.footer-brand{font-family:var(--font-display);justify-content:center;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1.25rem;display:flex}.footer-tagline{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.footer-meta{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:2rem;font-size:.75rem;display:flex}.footer-copy{color:var(--text-muted);font-size:.75rem}@media (width<=900px){.nav a:not(.nav-cta){display:none}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item.wide{grid-column:span 1}.about-grid,.booking-layout{grid-template-columns:1fr;gap:2.5rem}.reviews-grid{grid-template-columns:repeat(2,1fr)}.about-image-accent{display:none}.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.hero-stats{flex-direction:column;gap:1.5rem}.services-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr 1fr}.pricing-amount{font-size:2.25rem}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.booking-form-wrap{padding:1.5rem}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:180px}.gallery-item.tall{grid-row:span 1}.reviews-grid{grid-template-columns:1fr}.reviews-summary{gap:1.5rem;padding:1.5rem}}
