:root{--paper:#f4f0e9;--ink:#22221f;--muted:#77766f;--clay:#bd6040;--sage:#75805a;--line:#d8cec1;--white:#fffdfa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}.header{position:absolute;z-index:10;top:0;left:0;width:100%;height:94px;padding:0 clamp(24px,4.2vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.logo{font-size:25px;letter-spacing:-1.2px;color:inherit;text-decoration:none}.nav{display:flex;gap:52px}.nav a,.header-cta,.text-link{color:inherit;text-decoration:none;font-size:16px}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:.25s}.nav a:hover:after{width:100%}.header-cta{justify-self:end;border-bottom:1px solid var(--sage);padding-bottom:5px}.menu-button{display:none;background:none;border:0}.hero{position:relative;min-height:920px;display:grid;grid-template-columns:52% 48%;overflow:hidden}.hero-copy{z-index:2;padding:165px 4.2vw 190px;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 75%,rgba(244,240,233,.78) 100%)}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--sage);font-weight:600}.hero h1,.content-section h2,.booking h2{font-family:Prata,Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.035em}.hero h1{font-size:clamp(54px,5.5vw,96px);margin:24px 0 24px}.rhythm{width:min(520px,90%);display:flex;flex-direction:column;gap:7px;margin:0 0 30px}.rhythm i{height:1.5px;background:linear-gradient(90deg,var(--clay),transparent)}.rhythm i:nth-child(2){width:88%}.rhythm i:nth-child(3){width:70%}.rhythm i:nth-child(4){width:54%}.lead{color:var(--muted);font-size:20px;line-height:1.6;margin:0}.actions{display:flex;gap:60px;align-items:center;margin-top:34px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:64px;padding:0 42px;background:var(--clay);color:white;border:0;text-decoration:none;font:600 16px Manrope;border-radius:2px;cursor:pointer;transition:.2s}.button:hover{background:#a84f33;transform:translateY(-2px)}.text-link{color:var(--sage);border-bottom:1px solid var(--sage);padding:10px 0}.hero-photo{position:absolute;right:0;top:0;width:53%;height:100%;background:url('assets/massage-room.png') center/cover no-repeat}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,240,233,.9),transparent 27%)}.facts{position:absolute;z-index:3;left:3.2%;right:3.2%;bottom:34px;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;background:rgba(255,253,250,.94);backdrop-filter:blur(8px);border:1px solid rgba(183,166,146,.45);border-radius:14px;min-height:108px}.fact{display:flex;align-items:center;gap:24px;padding:20px 44px;font-size:16px}.fact+.fact{border-left:1px solid var(--line)}.icon{color:var(--sage);width:42px;height:42px;border:1px solid var(--sage);border-radius:50%;display:grid;place-items:center;font-size:25px;flex:0 0 auto}.content-section{padding:130px max(8vw,40px);display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}.content-section .section-label{grid-row:span 2}.content-section h2{font-size:clamp(44px,4.5vw,72px);margin:0}.content-section>p:last-child{grid-column:2;font-size:19px;color:var(--muted);line-height:1.7;max-width:640px}.muted{background:#e9e4db}.booking{background:#30352b;color:var(--white);padding:110px max(8vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.booking h2{font-size:clamp(52px,5vw,82px);margin:20px 0}.booking .section-label{color:#b7c29a}.booking-form{display:grid;gap:28px}.booking-form label{display:grid;gap:8px;color:#d8d9d3;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.booking-form input{border:0;border-bottom:1px solid #767a70;background:transparent;color:white;font:18px Manrope;padding:14px 0;outline:none}.booking-form input:focus{border-color:#dbe3c9}.booking-form .button{justify-self:start}.form-status{min-height:24px;margin:0;color:#dbe3c9}footer{background:#20221e;color:#d7d7d1;padding:52px max(4.2vw,24px);display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:30px;align-items:start}footer p{margin:0;line-height:1.7;font-size:14px}footer a{color:inherit;text-decoration:none}.mobile-break{display:none}
@media(max-width:900px){.header{height:76px;grid-template-columns:1fr auto}.nav{position:fixed;inset:0;background:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;opacity:0;visibility:hidden;transition:.25s}.nav.open{opacity:1;visibility:visible}.nav a{font:36px Prata,serif}.header-cta{display:none}.menu-button{position:relative;z-index:2;display:grid;gap:7px;padding:10px}.menu-button span{width:27px;height:1px;background:var(--ink);transition:.2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{display:block;min-height:auto;padding-bottom:0}.hero-copy{min-height:700px;padding:130px 24px 300px;background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 67%,transparent 100%)}.hero h1{font-size:clamp(47px,12vw,68px)}.hero-photo{top:auto;bottom:0;width:100%;height:390px}.hero-photo:before{background:linear-gradient(180deg,var(--paper),transparent 38%)}.facts{position:relative;left:auto;right:auto;bottom:auto;margin:0;border:0;border-radius:0;grid-template-columns:1fr}.fact{padding:20px 24px}.fact+.fact{border-left:0;border-top:1px solid var(--line)}.content-section{padding:88px 24px;grid-template-columns:1fr;gap:28px}.content-section .section-label{grid-row:auto}.content-section>p:last-child{grid-column:1}.booking{padding:82px 24px;grid-template-columns:1fr;gap:48px}footer{grid-template-columns:1fr;gap:28px}.desktop-break{display:none}}
@media(max-width:560px){.logo{font-size:21px}.hero-copy{min-height:650px;padding-top:118px}.hero h1{font-size:12vw;line-height:1.15}.lead{font-size:17px}.actions{gap:24px}.button{min-height:58px;padding:0 24px}.text-link{font-size:14px}.mobile-break{display:block}.facts{font-size:14px}.fact{gap:16px}.icon{width:36px;height:36px}.content-section h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
