@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap");:root{--ink:#18293c;--night:#14253a;--rose:#aa3153;--peach:#e7c6ad;--paper:#f9f4ec;--muted:#657071;--line:#ddcdbc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:absolute;z-index:5;inset:0 0 auto;border-bottom:1px solid rgba(255,255,255,.2);color:white}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-family:Playfair Display,Georgia,serif;font-size:1.45rem;font-weight:600;letter-spacing:-.04em;white-space:nowrap}.brand span{color:var(--peach)}.nav-links{display:flex;gap:28px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav-links a{opacity:.85;transition:opacity .2s}.nav-links a:hover{opacity:1}.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;display:grid;grid-gap:5px;gap:5px;width:38px;padding:10px 6px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;height:1px;background:#fff;transition:transform .2s}.mobile-menu[open] summary span:first-child{transform:translateY(6px) rotate(45deg)}.mobile-menu[open] summary span:nth-child(2){opacity:0}.mobile-menu[open] summary span:last-child{transform:translateY(-6px) rotate(-45deg)}.mobile-menu-links{position:absolute;top:calc(100% + 14px);right:0;width:185px;padding:10px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(20,37,58,.98);box-shadow:0 15px 35px rgba(0,0,0,.22)}.mobile-menu-links a{display:block;padding:12px 14px;border-radius:10px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.mobile-menu-links a:hover{background:rgba(255,255,255,.1)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;background:var(--rose);color:#fff;padding:15px 24px;font-size:.88rem;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#8f2745}.button-small{padding:10px 17px;font-size:.76rem}.hero{min-height:690px;position:relative;display:flex;align-items:center;color:white;overflow:hidden;background:var(--night)}.hero-photo{object-fit:cover;object-position:center;opacity:.72}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,28,45,.93),rgba(18,39,59,.7) 50%,rgba(15,35,53,.22)),linear-gradient(0deg,rgba(14,31,47,.72),transparent 40%)}.hero-content{position:relative;padding:155px 0 150px}.kicker{margin:0 0 15px;color:var(--rose);font-size:.72rem;font-weight:700;letter-spacing:.21em;text-transform:uppercase}.kicker.light{color:#f0c8b9}.hero h1,h2,h3{font-family:Playfair Display,Georgia,serif;line-height:1.06}.hero h1{max-width:760px;margin:0;font-size:clamp(3.25rem,7.5vw,6.7rem);font-weight:600;letter-spacing:-.055em}.hero h1 em{color:#efcbd1;font-weight:500}.hero-copy{max-width:540px;margin:26px 0 0;font-size:clamp(1rem,2vw,1.2rem);color:rgba(255,255,255,.8)}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:38px}.text-link{font-size:.84rem;font-weight:700;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:4px}.hero-details{position:absolute;z-index:1;bottom:0;inset-inline:0;background:rgba(249,244,236,.96);color:var(--ink)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr)}.detail-grid p{margin:0;padding:19px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column}.detail-grid p:first-child{padding-left:0}.detail-grid p:last-child{border:0}.detail-grid b{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}.detail-grid span{font-size:.86rem;color:var(--muted);margin-top:2px}.section{padding:120px 0}.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;grid-gap:clamp(42px,9vw,130px);gap:clamp(42px,9vw,130px);align-items:center}.image-panel{position:relative;min-height:520px;overflow:hidden;border-radius:36px;background:#d9c2a7}.cover-image{object-fit:cover}.image-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,29,45,.75),transparent 50%)}.image-panel p{position:absolute;z-index:1;bottom:26px;left:28px;right:28px;margin:0;color:#fff;font-family:Playfair Display,Georgia,serif;font-size:1.5rem;line-height:1.25}.about-copy h2,.booking h2,.process-grid h2{margin:0;font-size:clamp(2.6rem,5vw,4.65rem);letter-spacing:-.05em}.about-copy>p:not(.kicker){max-width:610px;color:var(--muted);font-size:1.02rem}.about-copy .intro{font-size:1.2rem;margin-top:28px;color:#3d4b50}.check-list{list-style:none;padding:24px 0 0;margin:26px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;color:#425055;font-size:.9rem}.check-list li:before{content:"✦";color:var(--rose);margin-right:9px}.treatments{background:var(--night);color:white;padding:120px 0}.section-heading{display:grid;grid-template-columns:1fr .8fr;grid-gap:70px;gap:70px;align-items:end}.section-heading h2{font-size:clamp(2.8rem,5vw,4.8rem);letter-spacing:-.05em;margin:0}.section-heading>p{margin:0;color:rgba(255,255,255,.65);font-size:1.05rem}.treatment-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;margin-top:65px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:28px;overflow:hidden}.treatment{padding:38px;background:var(--night);min-height:300px;display:flex;flex-direction:column;transition:background .2s}.treatment:hover{background:#21364e}.treatment>span{font-family:Playfair Display,Georgia,serif;font-size:3.5rem;color:#d99aac}.treatment h3{font-size:2rem;margin:62px 0 11px}.treatment p{margin:0;color:rgba(255,255,255,.62);font-size:.94rem}.treatment a{margin-top:auto;padding-top:28px;color:#f0c8d1;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:100px;gap:100px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:25px;padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.steps b{font-family:Playfair Display,Georgia,serif;color:var(--rose);font-size:1.8rem}.steps h3{font-size:1.5rem;margin:0}.steps p{margin:5px 0 0;color:var(--muted)}.booking{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:80px;gap:80px;padding:84px;align-items:center;border-radius:42px;background:#e8d1bd;margin-bottom:110px}.booking>div>p:not(.kicker){font-size:1.1rem;color:#5e5d5b;max-width:600px;margin:22px 0 0}.booking-card{background:#fffaf4;padding:38px;border-radius:26px;box-shadow:0 18px 35px rgba(84,52,27,.1)}.sms-label{margin:0 0 8px;color:var(--rose)!important;text-transform:uppercase;font-size:.72rem!important;font-weight:700;letter-spacing:.18em}.number{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.05em}.booking-card>p:not(.sms-label){font-size:.86rem!important;margin:16px 0 25px!important}.footer{background:var(--night);color:#fff;padding:32px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer a:not(.brand),.footer p{margin:0;color:rgba(255,255,255,.62);font-size:.82rem}.footer a:not(.brand){font-weight:700;color:#f1c9d0}@media(max-width:760px){.shell{width:min(100% - 32px,1180px)}.nav{min-height:68px}.nav-links{display:none}.mobile-menu{display:block}.hero{min-height:720px}.hero-content{padding:125px 0 165px}.hero h1{font-size:clamp(3rem,14vw,4.4rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.detail-grid{grid-template-columns:1fr}.detail-grid p{display:none}.detail-grid p:first-child{display:flex;padding:13px 0;border:0}.section,.treatments{padding:78px 0}.about-grid,.booking,.process-grid,.section-heading{grid-template-columns:1fr;gap:38px}.image-panel{min-height:410px}.check-list,.treatment-grid{grid-template-columns:1fr}.treatment-grid{margin-top:40px}.treatment{min-height:260px;padding:30px}.treatment h3{margin-top:35px}.booking{padding:38px 25px;margin-bottom:70px;border-radius:28px}.footer-inner{align-items:flex-start;flex-direction:column}.site-header .button{display:none}}