:root{--primary:#1F3D2E;--primary-dark:#15291F;--primary-light:#2C5440;--accent:#C9A961;--accent-light:#DFC489;--ink:#1A1A1A;--ink-soft:#3A3A3A;--bg:#F7F2E8;--bg-warm:#EFE7D4;--white:#FFFFFF;--font-display:"Fraunces",Georgia,serif;--font-body:"Inter",-apple-system,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--shadow-sm:0 4px 20px rgba(31,61,46,.08);--shadow-md:0 12px 40px rgba(31,61,46,.12);--shadow-lg:0 24px 60px rgba(31,61,46,.18)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.65;font-size:16px;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{max-width:1280px;margin:0 auto;padding:0 32px}.container-wide{max-width:1440px;margin:0 auto;padding:0 32px}.container-narrow{max-width:920px;margin:0 auto;padding:0 32px}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;transition:all .4s var(--ease);background:#1f3d2e00}.header.scrolled{background:#f7f2e8f5;backdrop-filter:blur(14px);padding:14px 0;box-shadow:var(--shadow-sm)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:.02em;color:var(--white);transition:color .4s var(--ease);line-height:1.1}.logo span{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-family:var(--font-body);font-weight:500;margin-top:4px}.header.scrolled .logo{color:var(--primary)}.nav{display:flex;gap:34px;align-items:center}.nav a{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--white);position:relative;transition:color .3s}.nav a:after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s var(--ease)}.nav a:hover{color:var(--accent)}.nav a:hover:after{width:100%}.header.scrolled .nav a{color:var(--ink)}.nav-cta{background:var(--accent);color:var(--primary-dark)!important;padding:11px 22px;border-radius:2px;letter-spacing:.08em}.nav-cta:after{display:none!important}.nav-cta:hover{background:var(--accent-light);transform:translateY(-1px)}.menu-toggle{display:none;background:none;border:1px solid currentColor;color:var(--white);cursor:pointer;padding:8px 12px;font-size:18px}.header.scrolled .menu-toggle{color:var(--ink)}.page-hero{position:relative;height:68vh;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;color:var(--white)}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#15291f59,#15291f8c 60%,#15291fd9);z-index:2}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.page-hero-content{position:relative;z-index:3;padding-bottom:80px;width:100%}.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:22px;display:inline-flex;align-items:center;gap:14px}.eyebrow:before{content:"";width:36px;height:1px;background:var(--accent)}.page-hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(44px,7vw,86px);line-height:1.02;letter-spacing:-.02em;max-width:900px;margin-bottom:24px}.page-hero h1 em{font-style:italic;color:var(--accent-light);font-weight:300}.page-hero .lead{font-size:clamp(16px,1.4vw,19px);max-width:560px;font-weight:300;opacity:.92;line-height:1.6}.intro{padding:140px 0 100px;background:var(--bg)}.intro-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:90px;align-items:start}.intro-label{font-family:var(--font-display);font-style:italic;font-size:22px;color:var(--primary);font-weight:400;position:sticky;top:120px}.intro-label:before{content:"";display:block;width:48px;height:1px;background:var(--accent);margin-bottom:24px}.intro-text h2{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,3.8vw,52px);line-height:1.15;color:var(--primary-dark);margin-bottom:32px;letter-spacing:-.01em}.intro-text h2 em{font-style:italic;color:var(--accent)}.intro-text p{font-size:17px;color:var(--ink-soft);margin-bottom:20px;line-height:1.75}.intro-text p:first-of-type:first-letter{font-family:var(--font-display);font-size:64px;float:left;line-height:.9;padding:6px 14px 0 0;color:var(--primary);font-weight:500}.showcase{padding:60px 0 120px;background:var(--bg)}.showcase-row{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;margin-bottom:120px}.showcase-row:nth-child(2n){grid-template-columns:1fr 1.1fr}.showcase-row:nth-child(2n) .showcase-img{order:2}.showcase-img{position:relative;aspect-ratio:4/5;overflow:hidden;box-shadow:var(--shadow-lg)}.showcase-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.showcase-img:hover img{transform:scale(1.04)}.showcase-img:after{content:"";position:absolute;inset:18px;border:1px solid rgba(201,169,97,.4);pointer-events:none}.showcase-content .num{font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--accent);letter-spacing:.2em;margin-bottom:18px;display:block}.showcase-content h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3vw,42px);line-height:1.2;color:var(--primary-dark);margin-bottom:24px}.showcase-content p{font-size:16px;color:var(--ink-soft);margin-bottom:18px;line-height:1.75}.showcase-content ul{list-style:none;margin-top:24px;border-top:1px solid rgba(31,61,46,.12)}.showcase-content li{padding:14px 0;border-bottom:1px solid rgba(31,61,46,.12);display:flex;justify-content:space-between;gap:20px;font-size:15px}.showcase-content li b{font-weight:500;color:var(--primary);font-family:var(--font-display)}.showcase-content li span{color:var(--ink-soft);font-size:14px;text-align:right}.treatments{padding:120px 0;background:linear-gradient(180deg,var(--bg-warm) 0%,var(--bg) 100%)}.section-head{text-align:center;max-width:680px;margin:0 auto 80px}.section-head .eyebrow{color:var(--primary);justify-content:center}.section-head .eyebrow:before{background:var(--primary)}.section-head h2{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,4.2vw,58px);line-height:1.1;color:var(--primary-dark);letter-spacing:-.01em;margin-bottom:20px}.section-head h2 em{font-style:italic;color:var(--accent)}.section-head p{color:var(--ink-soft);font-size:17px;line-height:1.7}.treatments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.treatment{background:var(--white);padding:42px 32px;position:relative;transition:all .5s var(--ease);border-top:2px solid transparent}.treatment:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-top-color:var(--accent)}.treatment-icon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:var(--bg-warm);border-radius:50%;margin-bottom:24px;font-family:var(--font-display);color:var(--primary);font-size:20px;font-style:italic}.treatment h4{font-family:var(--font-display);font-weight:500;font-size:22px;color:var(--primary-dark);margin-bottom:12px}.treatment .duration{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-weight:500}.treatment p{font-size:15px;color:var(--ink-soft);line-height:1.7;margin-bottom:20px}.treatment .price{font-family:var(--font-display);font-size:24px;color:var(--primary);font-weight:500;border-top:1px solid rgba(31,61,46,.1);padding-top:18px}.info-band{padding:100px 0;background:var(--primary-dark);color:var(--white);position:relative;overflow:hidden}.info-band:before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border:1px solid rgba(201,169,97,.15);border-radius:50%}.info-band:after{content:"";position:absolute;bottom:-150px;left:-150px;width:500px;height:500px;border:1px solid rgba(201,169,97,.1);border-radius:50%}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;position:relative;z-index:2}.info-item .label{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-weight:500}.info-item h4{font-family:var(--font-display);font-weight:400;font-size:28px;margin-bottom:14px;line-height:1.3}.info-item p{font-size:15px;opacity:.8;line-height:1.7}.info-item ul{list-style:none;margin-top:12px}.info-item li{padding:8px 0;font-size:15px;opacity:.85;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.gallery{padding:120px 0;background:var(--bg)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:240px 240px;gap:14px}.gallery-item{position:relative;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(4){grid-column:span 2}.quote{padding:120px 0;background:var(--bg-warm);text-align:center}.quote blockquote{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(26px,3.4vw,42px);line-height:1.4;color:var(--primary-dark);max-width:900px;margin:0 auto;letter-spacing:-.01em}.quote blockquote:before,.quote blockquote:after{content:'"';color:var(--accent);font-size:1.2em}.quote cite{display:block;margin-top:32px;font-family:var(--font-body);font-style:normal;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft)}.cta{padding:140px 0;background:var(--primary);color:var(--white);text-align:center;position:relative;overflow:hidden}.cta-bg{position:absolute;inset:0;opacity:.18;z-index:1}.cta-bg img{width:100%;height:100%;object-fit:cover}.cta-inner{position:relative;z-index:2}.cta .eyebrow{justify-content:center}.cta h2{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,5vw,68px);line-height:1.05;margin-bottom:28px;letter-spacing:-.01em}.cta h2 em{font-style:italic;color:var(--accent-light)}.cta p{font-size:18px;max-width:560px;margin:0 auto 44px;opacity:.85;line-height:1.7}.cta-btns{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:18px 38px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:all .4s var(--ease);border:1px solid transparent}.btn-primary{background:var(--accent);color:var(--primary-dark);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-light);border-color:var(--accent-light);transform:translateY(-2px)}.btn-ghost{border-color:#fff6;color:var(--white)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.footer{background:var(--primary-dark);color:var(--white);padding:80px 0 30px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}.footer-brand .logo{color:var(--white)}.footer-brand p{font-size:14px;opacity:.7;margin-top:24px;line-height:1.7;max-width:280px}.footer-col h5{font-family:var(--font-display);font-weight:500;font-size:16px;margin-bottom:22px;color:var(--accent)}.footer-col a,.footer-col li{display:block;font-size:14px;opacity:.7;padding:7px 0;transition:opacity .3s,color .3s;list-style:none}.footer-col a:hover{opacity:1;color:var(--accent)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:30px;display:flex;justify-content:space-between;font-size:13px;opacity:.55;flex-wrap:wrap;gap:16px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}@media(max-width:960px){.nav{display:none;position:absolute;top:100%;right:32px;background:var(--white);flex-direction:column;padding:24px;gap:18px;box-shadow:var(--shadow-md);min-width:220px}.nav.open{display:flex}.nav a{color:var(--ink)!important}.menu-toggle{display:block}.intro{padding:90px 0 70px}.intro-grid{grid-template-columns:1fr;gap:36px}.intro-label{position:static}.showcase-row,.showcase-row:nth-child(2n){grid-template-columns:1fr;gap:40px;margin-bottom:80px}.showcase-row:nth-child(2n) .showcase-img{order:0}.treatments-grid,.info-grid{grid-template-columns:1fr;gap:20px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,200px)}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 1}.gallery-item:nth-child(4){grid-column:span 1}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.page-hero{height:60vh;min-height:440px}}@media(max-width:560px){.container,.container-wide,.container-narrow{padding:0 22px}.footer-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(6,200px)}.gallery-item:nth-child(1){grid-column:span 1}}
