:root{--plum:#3b1632;--plum-2:#5b284e;--ink:#211b20;--ivory:#f7f3ed;--paper:#fffdfa;--line:#d9d0c8;--gold:#b39163}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3rem,6.5vw,6.5rem);max-width:900px}h2{font-size:clamp(2.35rem,4.5vw,4.6rem)}h3{font-family:"Playfair Display",serif;font-size:2rem;font-weight:500;margin-bottom:.6rem}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--paper);position:relative;z-index:10}.brand{font-family:"Playfair Display",serif;font-size:1.55rem;letter-spacing:.16em;line-height:1;display:flex;flex-direction:column}.brand span{font-family:"DM Sans",sans-serif;font-size:.53rem;letter-spacing:.24em;margin-top:8px}.site-header nav{display:flex;gap:2.3rem;font-size:.92rem}.site-header nav a:hover{color:var(--plum-2)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--plum);color:white;border:1px solid var(--plum);border-radius:2px;padding:1rem 1.5rem;font:600 .94rem "DM Sans",sans-serif;cursor:pointer;transition:.2s}.button:hover{background:var(--plum-2);transform:translateY(-1px)}.button-small{padding:.7rem 1rem}.hero{position:relative;min-height:calc(100vh - 92px);color:white;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,10,21,.86) 0%,rgba(32,13,27,.66) 43%,rgba(25,10,21,.1) 75%)}.hero-copy{position:relative;z-index:2;padding:7vw 6vw 10vw;max-width:1080px}.hero-copy>p:not(.eyebrow){font-size:1.15rem;max-width:620px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.75rem;font-weight:600;color:#e1c9db;margin-bottom:1.3rem}.eyebrow.dark{color:var(--plum-2)}.hero-actions{display:flex;align-items:center;gap:1.7rem;margin-top:2rem}.text-link{font-weight:600}.service-strip{position:absolute;z-index:2;bottom:0;left:0;right:0;display:flex;gap:1.4rem;justify-content:center;align-items:center;padding:1.3rem;background:rgba(25,10,21,.66);backdrop-filter:blur(8px);font-size:.8rem;text-transform:uppercase;letter-spacing:.14em}.service-strip i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;padding:10vw 7vw 6vw;align-items:end}.intro h2{margin-bottom:0}.intro>p{font-size:1.08rem;max-width:610px}.services{padding:0 7vw 10vw}.service-card{display:grid;grid-template-columns:70px 1fr 220px;gap:2rem;border-top:1px solid var(--line);padding:3rem 0;align-items:start}.service-card.featured{background:var(--plum);color:white;border:none;padding:3.3rem;margin:0 -3.3rem}.service-number{font-family:"Playfair Display";font-size:1.3rem;color:var(--gold)}.service-card p{max-width:700px}.service-meta{display:flex;flex-direction:column;text-align:right}.service-meta strong{font-family:"Playfair Display";font-size:1.8rem}.service-meta span{font-size:.85rem;color:#736a70}.featured .service-meta span{color:#d9cdd5}.session-guide{background:var(--plum);color:white;padding:9vw 7vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.guide-copy p:not(.eyebrow){color:#ddd0d8;max-width:620px}.guide-list>div{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding:1.6rem 0;border-bottom:1px solid rgba(255,255,255,.18)}.guide-list span{color:var(--gold)}.guide-list p{margin:0}.guide-list strong{display:block;font-family:"Playfair Display";font-size:1.5rem;font-weight:500;color:white}.addons{padding:9vw 7vw;display:grid;grid-template-columns:1fr 1fr;gap:3rem 8vw}.addons>p{font-size:1.08rem}.addon-tags{grid-column:1/-1;display:flex;gap:.8rem;flex-wrap:wrap}.addon-tags span{border:1px solid var(--line);padding:.7rem 1rem;border-radius:100px}.how{padding:8vw 7vw;background:var(--ivory);text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;text-align:left}.steps div{border-top:2px solid var(--plum);padding-top:2rem}.steps b{color:var(--plum);font-size:.8rem}.steps h3{margin-top:2.3rem}.booking{background:var(--plum);color:white;padding:9vw 7vw}.booking-heading{max-width:830px;margin-bottom:4rem}.booking-heading>p:not(.eyebrow){color:#d8cbd4;font-size:1.08rem;max-width:650px}form{display:grid;grid-template-columns:1fr 1fr;gap:2rem}fieldset{border:1px solid rgba(255,255,255,.22);padding:2rem;margin:0}fieldset:first-child{grid-row:span 2}legend{font-family:"Playfair Display";font-size:1.4rem;padding:0 .6rem}legend small{font:400 .75rem "DM Sans";text-transform:uppercase;letter-spacing:.12em;color:#cbbbc6;margin-left:.5rem}.session-row{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 0;border-bottom:1px solid rgba(255,255,255,.16)}.session-row:last-child{border:0}.session-row strong,.session-row span{display:block}.session-row span{font-size:.8rem;color:#cabac5}.counter{display:flex;align-items:center;border:1px solid rgba(255,255,255,.3);height:42px}.counter button{width:38px;height:40px;border:0;background:none;color:white;font-size:1.3rem;cursor:pointer}.counter output{width:34px;text-align:center}.checks{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.checks label{cursor:pointer}.checks input{position:absolute;opacity:0}.checks span{display:block;border:1px solid rgba(255,255,255,.26);padding:.7rem;text-align:center;font-size:.86rem}.checks input:checked+span{background:white;color:var(--plum)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.form-grid .wide{grid-column:1/-1}input,select,textarea{display:block;width:100%;margin-top:.35rem;padding:.82rem;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);color:white;font:1rem "DM Sans"}select option{color:var(--ink)}textarea{min-height:90px;resize:vertical}::placeholder{color:#bcaeb8}.booking-summary{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;background:white;color:var(--ink);padding:1.5rem 2rem}.booking-summary>div{display:flex;flex-direction:column}.booking-summary strong{font-family:"Playfair Display";font-size:2rem;color:var(--plum)}.booking-summary small{color:#70666d}.form-note{grid-column:1/-1;color:#cbbbc6;font-size:.85rem;text-align:center}.care-note{padding:9vw 20vw;text-align:center}.care-note p:last-child{font-size:1.08rem}.footer-brand{color:white}footer{background:#1c1119;color:#d5cbd2;padding:5vw 7vw}footer>p{font-family:"Playfair Display";font-size:1.7rem;max-width:500px;margin:2rem 0}footer>div:not(.brand){display:flex;gap:2rem;flex-wrap:wrap;border-top:1px solid #4e3d49;border-bottom:1px solid #4e3d49;padding:1.4rem 0;margin-bottom:1.5rem}footer small{color:#9b8e97}@media(max-width:850px){.site-header{height:74px}.site-header nav{display:none}.button-small{font-size:.75rem}.hero{min-height:780px}.hero-copy{padding:5rem 1.4rem 9rem}.hero-shade{background:linear-gradient(90deg,rgba(25,10,21,.88),rgba(25,10,21,.36))}.hero h1{font-size:3.4rem}.service-strip{font-size:.6rem;gap:.65rem}.intro,.session-guide,.addons{grid-template-columns:1fr;padding:5.5rem 1.4rem;gap:2rem}.services{padding:0 1.4rem 5rem}.service-card,.service-card.featured{grid-template-columns:38px 1fr;margin:0;padding:2rem 0}.service-card.featured{margin:0 -1.4rem;padding:2rem 1.4rem}.service-meta{grid-column:2;text-align:left}.steps{grid-template-columns:1fr}.booking{padding:5.5rem 1.2rem}form{grid-template-columns:1fr}fieldset:first-child{grid-row:auto}.booking-summary,.form-note{grid-column:auto}.booking-summary{align-items:stretch;gap:1.2rem;flex-direction:column}.care-note{padding:5rem 1.4rem}.checks,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}footer{padding:4rem 1.4rem}}@media(max-width:480px){.site-header .button-small{display:none}.hero-actions{align-items:flex-start;flex-direction:column}.service-strip span:nth-of-type(3),.service-strip i:nth-of-type(2){display:none}}
