:root{--pine:#17352c;--night:#10281f;--gold:#d9bc82;--ivory:#f5f2ea;--warm:#e9e4d7;--ink:#24352b;--muted:#6b786d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--ivory);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}img{display:block;max-width:100%}.topline{height:31px;background:var(--night);color:#e0dbca;text-align:center;display:flex;align-items:center;justify-content:center;gap:21px;font-size:9px;letter-spacing:2px;font-weight:600}.topline span{color:var(--gold)}.site-head{height:88px;position:relative;z-index:10;background:#f5f2ea}.head-inner{height:100%;max-width:1500px;padding:0 5.2%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:13px;align-items:center;font-family:'Playfair Display',serif;font-size:28px;letter-spacing:-1px;line-height:1}.brand-icon{font-size:30px;color:#ba9a69}.brand small{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:2.4px;color:#718176;margin-top:9px}.site-head nav{display:flex;gap:35px}.site-head nav a{font-size:12px;font-weight:600;transition:color .2s}.site-head nav a:hover{color:#aa8756}.head-right{display:flex;align-items:center;gap:24px}.language{font-size:12px;font-weight:700}.language span{color:#ad9165}.head-cta{padding:15px 21px;background:var(--pine);color:white;font-size:11px;letter-spacing:.4px}.head-cta span{margin-left:18px;color:var(--gold)}.hero{min-height:680px;height:calc(100svh - 119px);max-height:900px;position:relative;background:var(--pine);color:white;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero-image{position:absolute;inset:0;background-size:cover;background-position:center 38%;animation:heroReveal 1.7s both}.hero-shape{position:absolute;right:11%;top:15%;width:450px;height:450px;border:1px solid rgba(234,209,162,.22);border-radius:50%;pointer-events:none}.hero-shape:after{content:'';position:absolute;inset:30px;border:1px solid rgba(234,209,162,.11);border-radius:50%}.hero-inner{position:relative;width:min(1200px,89%);margin:0 auto;padding:80px 0 90px}.micro,.eyebrow{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase}.micro{color:#e6cf9c;display:flex;align-items:center;gap:16px}.micro .line{width:36px;height:1px;background:#e0c897}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(56px,6.3vw,104px);line-height:1.12;font-weight:400;max-width:820px;letter-spacing:-2.8px;margin:30px 0 27px}.hero p{font-size:16px;line-height:1.9;max-width:480px;color:#e5e3d9;margin:0}.hero-actions{display:flex;gap:36px;align-items:center;margin-top:43px}.button{padding:19px 26px;display:inline-flex;align-items:center;gap:45px;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.4px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.gold{background:var(--gold);color:#23372b}.textlink{font-size:12px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:8px;display:inline-flex;gap:20px}.light{color:#fff}.dark{color:var(--pine)}.hero-bottom{position:absolute;bottom:30px;left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:#d7d6c7}.hero-bottom i{color:var(--gold);font-style:normal;padding:0 10px}@keyframes heroReveal{from{transform:scale(1.08);opacity:.6}to{transform:scale(1);opacity:1}}.welcome{text-align:center;padding:118px 24px 99px;background:var(--ivory)}.eyebrow{color:#a28861}.diamond{font-size:17px;margin-right:14px}.welcome h2,.section-title h2,.story-copy h2,.contact h2{font:400 clamp(40px,4.1vw,64px)/1.18 'Playfair Display',serif;letter-spacing:-1.6px}.welcome h2{margin:25px 0}.welcome p{color:#627267;font-size:15px;line-height:2;max-width:650px;margin:0 auto}.ornament{display:block;margin-top:35px;font-size:27px;color:#bea57d}.services{background:#e9e5db;padding:110px 0 120px}.wrap{width:min(1250px,88%);margin:auto}.section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-title h2{margin:17px 0 0;max-width:700px}.section-title>p{font-size:11px;letter-spacing:2px;white-space:nowrap;color:#a08d70}.section-title>p span{margin-left:10px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:#f8f6ef}.service-photo{height:360px;position:relative;overflow:hidden;background:#c2b8a8}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.service-card:hover .service-photo img{transform:scale(1.055)}.image-number{position:absolute;left:22px;top:23px;color:white;font:400 31px 'Playfair Display',serif;text-shadow:0 1px 15px #111}.service-detail{padding:34px 33px 35px}.service-kicker{font-size:9px;letter-spacing:2px;color:#a48e65}.service-detail h3{font:400 32px 'Playfair Display',serif;margin:15px 0 13px}.service-detail p{font-size:13px;line-height:1.9;color:#6d766d;min-height:76px}.service-detail a{display:flex;justify-content:space-between;border-top:1px solid #ddd7cc;padding-top:21px;margin-top:30px;font-size:11px;font-weight:700;color:#536f58}.quote{background:var(--pine);padding:105px 24px 110px;text-align:center;color:#f9f3e8}.quote>span{font-size:30px;color:var(--gold)}.quote blockquote{font:italic 400 clamp(35px,4.3vw,59px)/1.4 'Playfair Display',serif;max-width:920px;margin:22px auto 28px}.quote-caption{color:#c9b58c;font-size:10px;letter-spacing:2.5px}.philosophy{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:#f5f2ea}.story-art{min-height:600px;position:relative;background:#d1c3af}.story-art img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.story-stamp{position:absolute;right:-55px;top:50%;transform:translateY(-50%);width:130px;height:130px;border-radius:50%;background:var(--gold);color:var(--pine);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:11px;letter-spacing:2px;line-height:1.2;box-shadow:0 5px 30px #0001;z-index:1}.story-stamp span{font-size:23px;line-height:.7}.story-copy{padding:110px 13% 90px 19%;display:flex;align-items:start;flex-direction:column;justify-content:center}.story-copy h2{margin:27px 0}.story-copy p{color:#657266;font-size:15px;line-height:2;max-width:440px}.story-signature{font:italic 34px 'Playfair Display',serif;color:#b29265;margin:23px 0 30px}.contact{background:var(--night);color:#fff;text-align:center;padding:110px 5% 82px}.contact-shell{max-width:1050px;margin:auto}.contact h2{max-width:740px;margin:24px auto}.contact p{font-size:15px;color:#c9d1c7;line-height:1.9;max-width:590px;margin:0 auto 34px}.contact-info{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;border-top:1px solid #ffffff2b;margin-top:95px;padding-top:38px;text-align:left}.contact-info div{display:flex;flex-direction:column;gap:12px}.contact-info strong{font-size:10px;letter-spacing:2px;color:var(--gold)}.contact-info span,.contact-info a{font-size:13px;color:#e4e7df;line-height:1.65}footer{background:#0c211a;color:#aebcb1;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:30px 6%;font-size:11px}footer .footbrand{font:italic 27px 'Playfair Display',serif;color:#eee3d2}a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:1000px){.site-head nav{gap:17px}.head-cta{display:none}.hero h1{max-width:700px}.story-copy{padding:70px 10% 70px 15%}.story-stamp{width:100px;height:100px;right:-40px}.service-photo{height:290px}.service-detail{padding:27px 22px}.service-detail h3{font-size:26px}}@media(max-width:700px){.topline{font-size:8px;letter-spacing:1.1px;padding:0 12px}.topline span,.topline span~*{display:none}.site-head{height:77px}.head-inner{padding:0 5%}.brand{font-size:23px}.brand-icon{font-size:25px}.brand small{font-size:6.7px;letter-spacing:1.9px}.site-head nav{display:none}.head-right{gap:0}.language{padding:12px;border:1px solid #ddd6c7}.hero{min-height:660px;height:calc(100svh - 108px);max-height:850px}.hero-image{background-position:63% center}.hero-inner{width:87%;padding:35px 0 90px}.hero h1{font-size:clamp(48px,11.3vw,72px);letter-spacing:-1.7px}.hero p{font-size:14px;line-height:1.8}.hero-actions{gap:24px;flex-wrap:wrap}.button{padding:18px 21px;gap:23px}.hero-bottom{font-size:8px}.hero-bottom span:last-child{display:none}.welcome{padding:85px 8% 75px}.welcome h2,.section-title h2,.story-copy h2,.contact h2{font-size:43px}.services{padding:78px 0}.wrap{width:88%}.section-title{align-items:start}.section-title>p{display:none}.service-grid{grid-template-columns:1fr;gap:22px}.service-photo{height:390px}.service-detail p{min-height:0}.quote{padding:75px 7%}.quote blockquote{font-size:37px}.philosophy{grid-template-columns:1fr}.story-art{min-height:410px}.story-stamp{right:25px;bottom:-55px;top:auto;transform:none}.story-copy{padding:100px 8% 80px}.contact{padding:84px 7% 65px}.contact-info{grid-template-columns:1fr;gap:24px;text-align:center;margin-top:65px}.contact-info div{gap:6px}footer{flex-direction:column;text-align:center;padding:35px 5%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* V4 booking and location */
.new-treatment{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:38px 0 0;color:#fff}.new-treatment>div{border:1px solid rgba(255,255,255,.28);padding:30px}.new-treatment span{color:#d9ba81}.new-treatment h3{font:normal 30px Georgia,serif}.new-treatment p{line-height:1.8;color:#e2e3da}.appointments,.map-area{padding:90px 20px;background:#f3efe8;color:#193b32}.appointments h2,.map-area h2{font:normal clamp(35px,5vw,65px) Georgia,serif;margin:20px 0}.appointments p,.map-area p{line-height:1.8;max-width:750px}.booking-box{background:#fff;padding:35px;margin:36px 0;max-width:870px;box-shadow:0 18px 55px #23332712}.booking-box form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-box label{display:grid;gap:8px;font-size:14px}.booking-box input,.booking-box select,.booking-box textarea{width:100%;padding:13px;border:1px solid #bdb9b0;background:white;border-radius:2px;color:#213b32;font:inherit}.booking-box .consent{display:flex;align-items:start;grid-column:1/-1}.booking-box .consent input{width:auto}.booking-box .hp{position:absolute;left:-9999px}.booking-box button{cursor:pointer;border:0}.map-area{background:#e8e7dd}.map-area iframe{display:block;width:100%;height:370px;border:0;border-radius:4px;margin-top:25px}@media(max-width:700px){.new-treatment,.booking-box form{grid-template-columns:1fr}.appointments,.map-area{padding:60px 16px}.booking-box{padding:20px}}

/* V4.1: keep all five treatment cards in the same responsive grid */
.service-grid{align-items:stretch}.service-card{min-width:0;display:flex;flex-direction:column;overflow:hidden}.service-detail{display:flex;flex:1;flex-direction:column}.service-detail p{min-height:0;overflow-wrap:anywhere}.service-detail a{margin-top:auto}.service-card:nth-child(4),.service-card:nth-child(5){background:#f8f6ef;color:var(--ink)}.service-card:nth-child(4) .service-detail,.service-card:nth-child(5) .service-detail{color:var(--ink)}.service-card:nth-child(4) p,.service-card:nth-child(5) p{color:#56685b}
@media(max-width:1000px) and (min-width:701px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.service-grid{grid-template-columns:minmax(0,1fr)}.service-detail{padding:28px 24px}.service-photo{height:min(80vw,400px)}}
