:root{--ink:#333;--sand:#dfbd89;--cream:#fcf2e9;--blue:#e5f3f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.5 Arial,Helvetica,sans-serif}a{color:inherit}img{display:block;max-width:100%;object-fit:cover}header{position:absolute;z-index:2;top:0;width:100%;height:100px}nav{width:min(980px,calc(100% - 40px));margin:30px auto;display:flex;gap:26px}nav a{text-decoration:none;font-size:14px;padding:7px 0;color:#111}nav a[aria-current],nav a:hover{color:#93795e}a:focus-visible{outline:2px solid #775332;outline-offset:6px}.skip{position:fixed;top:-100px;z-index:5;background:#fff;padding:12px}.skip:focus{top:0}h1,h2,h3,p{margin:0}p+p{margin-top:24px}h1,.home-services>h2{font:italic 76px/1.12 'Times New Roman',serif;font-weight:400}.hero{height:833px;background:#dfbd89 url('assets/hero.avif') center center/cover no-repeat;text-align:center;padding-top:180px}.brand>span{display:block;font:italic 98px/.95 'Times New Roman',serif;white-space:nowrap}.brand>small{display:block;font:italic 36px/1.25 Arial,sans-serif;margin-top:10px}.intro{height:1085px;position:relative;background:linear-gradient(to bottom,var(--cream) 0 45%,white 45% 55%,#fafafa 55% 88%,transparent 88%),url('assets/spa-bowl.avif') bottom center/cover}.intro-spa{position:absolute;top:0;left:0;width:50%;height:483px;overflow:hidden}.intro-spa img{width:100%;height:100%}.intro-copy{margin-left:50%;padding:124px 40px 0 50px;max-width:550px}.intro-copy p{font-size:16px;line-height:1.4}.intro-copy .welcome{font-size:24px;margin-bottom:10px}.intro-copy h1{margin-bottom:16px}.intro-portrait{position:absolute;top:354px;left:max(3.4%,calc((100% - 1340px)/2));width:min(46.2%,665px);height:713px}.home-services{max-width:1164px;margin:30px auto 0;background:#ead3b0;padding:58px 92px 80px}.home-services>p{margin:20px 0 44px}.service-links{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-links>a{position:relative;text-decoration:none;background:#fff}.service-links img{width:100%;height:483px}.service-links span{display:block;padding:22px;font-size:26px}.service-links small{display:block;font-size:19px}.collage-wrap{padding:170px 24px 240px;background:linear-gradient(#fff 0%,#f5ead9 55%,#dfbd89 55%,#dfbd8988 100%),url('assets/hero.avif') bottom center/100% auto no-repeat}.collage{max-width:980px;margin:auto;display:grid;grid-template-columns:1fr 1fr}.collage-left{position:relative}.collage-left>img{height:100%;width:100%}.collage-brand{position:absolute;top:50px;left:25px;right:25px;text-align:center}.collage-brand .brand>span{font-size:60px}.collage-brand .brand>small{font-size:24px;margin-bottom:36px}.collage-brand>a,.collage-brand{font-size:16px}.collage-brand a{text-decoration:none}.collage-bath{width:100%;height:365px}.collage-pair{display:grid;grid-template-columns:1fr 1fr}.collage-pair img{width:100%;height:437px}.collage-cta{display:flex;align-items:center;justify-content:center;background:var(--blue);height:287px;text-decoration:none;font:italic 59px/1.05 'Times New Roman',serif;padding:40px}.collage-cta:hover{background:#d5ebf0}footer{background:var(--cream);padding:48px max(24px,calc((100% - 926px)/2)) 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:25px}.footer-grid section+section{border-left:1px solid #333;padding-left:25px}.footer-grid h2,.contact-details h2{font:400 18px/1.3 Arial,sans-serif;margin-bottom:14px}.footer-grid p{font-size:14px;line-height:1.4}.footer-grid a{text-decoration:none}.legal-links{display:flex;gap:30px;margin-top:28px;font-size:14px}.treatments{margin:200px auto 0;max-width:1128px;padding:32px 74px 60px;background:linear-gradient(#fff,#dfbd89)}.treatments>p{margin:10px 0 48px}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.treatment{background:#fff}.treatment>img{width:100%;height:280px}.treatment-copy{padding:38px 18px 32px}.treatment h2{font:400 27px/1.2 'Times New Roman',serif}.treatment h2 small{font:14px Arial,sans-serif;white-space:nowrap}.treatment p,.treatment li{font-size:15px;line-height:1.55}.treatment .price{color:#8e6b35;margin:8px 0 12px}.treatment ul{padding-left:20px;margin:0}.treatment p+p{margin-top:24px}.contact{background:url('assets/hero.avif') center top/auto 1000px no-repeat}.contact-panel{max-width:980px;margin:161px auto 90px}.contact-details{background:#f5e5d5;padding:40px 52px 60px;display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:35px}.contact-details h1{font-size:59px;line-height:1;letter-spacing:2px}.contact-details h2{font-weight:600;margin:10px 0 72px}.contact-details p{font-size:15px;line-height:1.5}.contact-details section:first-child p{margin-top:110px}.contact-details a{text-decoration:none}.contact-image{width:100%;height:400px}.map-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.map-links a{display:flex;min-height:270px;align-items:flex-start;justify-content:center;flex-direction:column;padding:40px;background:#f2e9e6;text-decoration:none}.map-links a:hover{background:#ecded8}.map-links strong{font:36px 'Times New Roman',serif;margin:10px 0}.map-links u{margin-top:30px;font-size:14px}.legal{max-width:980px;margin:160px auto 100px;padding:40px 40px 60px;background:#fff}.legal h1{font-size:55px;margin-bottom:50px;overflow-wrap:anywhere}.legal h2{font:600 20px/1.4 Arial,sans-serif;margin:30px 0 16px}.legal h3{font-size:17px;margin:20px 0}.legal p{margin-bottom:18px}.legal li{margin-bottom:8px}
@media(min-width:1700px){.hero{background-size:cover}.intro-copy{max-width:600px}}
@media(max-width:1000px){.home-services{margin:30px 24px 0;padding:50px 35px}.intro-copy{padding:70px 28px 0}.intro-copy h1{font-size:60px}.intro-copy .welcome{font-size:20px}.treatments{margin:160px 24px 0;padding:30px}.collage-brand .brand>span{font-size:48px}.collage-brand .brand>small{font-size:19px}.contact-panel{margin:130px 24px 60px}.contact-details{padding:35px;gap:25px}.contact-details h1{font-size:42px}.contact-details h2{font-size:15px}.contact-details section:first-child p{margin-top:80px}.legal{margin:130px 24px 70px}.footer-grid{gap:18px}.footer-grid section+section{padding-left:18px}}
@media(max-width:650px){nav{width:calc(100% - 32px);gap:0;justify-content:space-between;margin:20px auto}nav a{font-size:13px}.hero{height:640px;padding:145px 16px 0;background-position:43% center}.brand>span{font-size:clamp(48px,12vw,76px)}.brand>small{font-size:clamp(19px,4.8vw,28px)}.intro{height:auto;background:var(--cream);display:flex;flex-direction:column;padding-bottom:24px}.intro-spa{position:static;width:100%;height:260px}.intro-copy{margin:0;max-width:none;padding:42px 26px}.intro-copy h1{font-size:60px}.intro-portrait{position:static;width:calc(100% - 48px);height:auto;aspect-ratio:665/713;margin:0 auto}.home-services{margin:24px 16px 0;padding:36px 20px}.home-services>h2,h1{font-size:54px}.home-services>p{font-size:15px}.service-links{grid-template-columns:1fr;gap:26px}.service-links img{height:330px}.service-links span{font-size:23px;padding:20px}.service-links small{font-size:16px}.collage-wrap{padding:64px 16px 80px}.collage{grid-template-columns:1fr}.collage-left>img{height:580px;object-position:center bottom}.collage-brand{top:32px}.collage-brand .brand>span{font-size:54px}.collage-brand .brand>small{font-size:21px;margin-bottom:24px}.collage-bath{height:260px}.collage-pair img{height:290px}.collage-cta{height:220px;font-size:48px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid section+section{border:0;padding:0}.legal-links{gap:24px;flex-wrap:wrap}footer{padding:38px 26px 24px}.treatments{margin:125px 16px 0;padding:24px 16px 35px}.treatments>h1{font-size:48px;overflow-wrap:anywhere}.treatments>p{font-size:15px;margin-bottom:32px}.treatment-grid{grid-template-columns:1fr;gap:26px}.treatment-copy{padding:26px 20px}.treatment h2{font-size:25px}.contact-panel{margin:110px 16px 50px}.contact-details{grid-template-columns:1fr;padding:30px 24px;gap:32px}.contact-details h1{font-size:48px}.contact-details h2{margin:0 0 15px;font-size:17px}.contact-details section:first-child p{margin-top:30px}.contact-image{height:240px}.map-links{grid-template-columns:1fr}.map-links a{min-height:230px;padding:30px}.legal{margin:110px 16px 50px;padding:25px 10px}.legal h1{font-size:40px}.legal h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
