@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Italiana&display=swap');
:root{--ink:#173f38;--cream:#f6f1e8;--sand:#ded0bc;--sage:#789082;--gold:#b9935a;--white:#fff;--line:rgba(23,63,56,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Italiana',serif;font-weight:400;line-height:1.04;letter-spacing:-.02em}h1{font-size:clamp(3.4rem,7vw,7rem)}h2{font-size:clamp(2.5rem,5vw,5rem)}em{color:var(--gold);font-weight:400}.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.2em}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:relative;z-index:10}.brand{display:grid;color:var(--ink);text-decoration:none;line-height:1}.brand span{font-size:.59rem;letter-spacing:.17em}.brand strong{font-family:'Italiana';font-size:1.4rem;letter-spacing:.08em;margin:.2rem 0}.brand small{font-family:'Italiana';font-style:italic;text-align:right}.site-header nav{display:flex;gap:2.2rem;align-items:center}.site-header nav a,.text-link{color:inherit;text-decoration:none;font-size:.9rem}.menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 2rem;background:var(--ink);color:white!important;text-decoration:none;border:0;cursor:pointer;text-transform:uppercase;font:600 .72rem 'DM Sans';letter-spacing:.14em}.button-small{min-height:43px;padding:0 1.4rem}.button-dark{background:#0f2f2a}.button-light{background:var(--cream);color:var(--ink)!important}.hero{min-height:calc(100vh - 100px);display:grid;grid-template-columns:1.1fr .9fr;padding:3vw 6vw 7vw;gap:5vw;align-items:center}.hero-copy .lead{font-size:1.15rem;max-width:580px;color:#526760}.hero-copy h1{margin:.5rem 0 2rem}.actions{display:flex;gap:2rem;align-items:center;margin:2.5rem 0}.trust{display:flex;gap:1.5rem;font-size:.75rem;color:#60736d}.hero-art{min-height:650px;position:relative;background:linear-gradient(160deg,#d6c6ae,#aebaad);overflow:hidden}.sun{width:290px;height:290px;border-radius:50%;background:#e9d7b4;position:absolute;top:8%;left:13%}.arch{position:absolute;width:72%;height:78%;right:0;bottom:0;background:#36594f;border-radius:200px 200px 0 0}.massage-table{position:absolute;width:80%;height:13px;background:#d7c6ae;bottom:29%;left:-20%;box-shadow:0 16px 0 -4px #b89464}.massage-table:before,.massage-table:after{content:'';position:absolute;width:8px;height:120px;background:#795e43;top:10px}.massage-table:before{left:15%}.massage-table:after{right:15%}.hero-note{position:absolute;right:4%;bottom:5%;background:var(--cream);padding:1.2rem 1.5rem;display:grid}.hero-note span{font-size:.75rem}.intro{text-align:center;padding:10vw 20vw}.intro h2{margin:1rem 0 2rem}.intro>p:last-child{max-width:650px;margin:auto}.treatments{padding:8vw 6%;background:var(--ink);color:var(--cream)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.section-heading>p{max-width:480px;color:#bdcac5}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5rem;border-top:1px solid rgba(255,255,255,.2)}.service-card{padding:2rem;border-right:1px solid rgba(255,255,255,.2);min-height:390px;display:flex;flex-direction:column}.service-card:first-child{border-left:1px solid rgba(255,255,255,.2)}.service-card .number{color:var(--gold)}.service-card h3{font:400 1.8rem 'Italiana';margin:3rem 0 1rem}.service-card p{color:#b9c6c2;font-size:.9rem}.service-meta{display:flex;justify-content:space-between;margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}.service-card>a{color:var(--cream);margin-top:1.5rem;font-size:.8rem}.experience{padding:9vw 8%;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.experience ol{list-style:none;padding:0}.experience li{display:flex;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}.experience li>span{color:var(--gold)}.experience h3{font:400 1.6rem 'Italiana';margin-bottom:.3rem}.experience p{color:#63746e}.about{background:#d9cebd;display:grid;grid-template-columns:1fr 1fr;align-items:center}.portrait{height:700px;background:linear-gradient(145deg,#b9a78e,#536e64);display:flex;align-items:flex-end;justify-content:center;color:#e9decc;font:9rem 'Italiana';overflow:hidden}.about>div:last-child{padding:8vw}.about blockquote{font:italic 1.4rem 'Italiana';border-left:2px solid var(--gold);padding-left:1.5rem;margin:2rem 0}.areas{text-align:center;padding:8vw 8%}.areas h2{font-size:2.5rem}.areas>p:nth-of-type(2){font:2rem 'Italiana';color:var(--gold);line-height:1.8}.cta{text-align:center;padding:9vw;background:var(--ink);color:var(--cream)}.cta .button{margin-top:2rem}.booking-hero{text-align:center;padding:6vw 10% 8vw;background:var(--ink);color:var(--cream)}.booking-hero h1{margin:.5rem 0 1.5rem}.booking-hero>p:last-child{max-width:550px;margin:auto;color:#bdcac5}.booking-wrap{max-width:1300px;margin:0 auto;padding:6vw;display:grid;grid-template-columns:1fr 340px;gap:5vw;align-items:start}.form-section{display:grid;grid-template-columns:50px 1fr;gap:1.5rem;padding:0 0 3.5rem;margin-bottom:3.5rem;border-bottom:1px solid var(--line)}.step{color:var(--gold);font-weight:600}.form-section h2{font-size:2.5rem}.service-options{display:grid;gap:1rem}.select-card input{position:absolute;opacity:0}.select-card>span{display:grid;padding:1.2rem 1.4rem;border:1px solid var(--line);cursor:pointer;transition:.2s}.select-card small{color:#6f7e79}.select-card b{margin-top:.5rem}.select-card input:checked+span{border:2px solid var(--ink);background:white}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:grid;gap:.45rem;font-size:.8rem;font-weight:600;margin-bottom:1rem}input,select,textarea{width:100%;border:1px solid var(--line);background:white;padding:.9rem 1rem;color:var(--ink);font:inherit;border-radius:0}textarea{resize:vertical}.check{display:flex;grid-template-columns:20px 1fr;align-items:start;font-weight:400}.check input{width:18px;margin-top:.3rem}.help{font-size:.8rem;color:#71807b}.error{color:#a33}.submit-row{display:flex;justify-content:space-between;align-items:center}.submit-row>div{display:grid}.booking-wrap aside{position:sticky;top:2rem}.summary,.contact-box{background:white;padding:2rem;margin-bottom:1rem}.summary h3{font:1.8rem 'Italiana'}.summary>div{display:flex;justify-content:space-between;font-size:1.2rem}.contact-box a{color:var(--ink)}.success-page,.legal{max-width:850px;margin:auto;padding:10vw 6%;min-height:70vh}.success-page{text-align:center}.success-page p{max-width:600px;margin:1rem auto 2rem}.success-mark{width:70px;height:70px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;margin:auto;font-size:2rem}.legal h1{font-size:4rem}.legal h2{font-size:2rem;margin-top:3rem}footer{background:#0d2f2a;color:var(--cream);padding:6vw}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem}.brand.light{color:var(--cream)}footer a{display:block;color:var(--cream);margin-bottom:.5rem}.copyright{margin:5rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);font-size:.75rem;color:#a8b6b1}
@media(max-width:900px){.site-header{height:80px;padding:0 5%}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:2rem;flex-direction:column}.site-header nav.open{display:flex}.menu{display:block;border:0;background:none;color:var(--ink)}.hero{grid-template-columns:1fr;padding:10vw 6%}.hero-art{min-height:480px}.trust{flex-wrap:wrap}.intro{padding:20vw 7%}.section-heading,.experience,.about{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.portrait{height:480px}.booking-wrap{grid-template-columns:1fr}.booking-wrap aside{position:static}.footer-grid{grid-template-columns:1fr}.about>div:last-child{padding:14vw 7%}}
@media(max-width:600px){h1{font-size:3.2rem}.hero-art{min-height:380px}.actions{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.two-cols{grid-template-columns:1fr}.form-section{grid-template-columns:1fr}.submit-row{gap:1.5rem;align-items:stretch;flex-direction:column}.portrait{height:380px;font-size:6rem}}

