@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/cormorant-garamond.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/montserrat.woff2)format("woff2")}:root{--bg-primary:#faf8f5;--bg-secondary:#f3efea;--bg-hero:#eae4da;--bg-dark:#1e1e1e;--text-main:#2c2c2c;--text-muted:#666;--text-light:#faf8f5;--accent:#c5a880;--accent-hover:#b0936b;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Montserrat", system-ui, -apple-system, sans-serif}.header{z-index:100;backdrop-filter:blur(4px)saturate();width:100%;padding:.6rem 0;position:fixed;top:0;left:0}.nav-container{justify-content:space-between;align-items:center;max-width:1300px;margin:0 auto;padding:0 2rem;display:flex;position:relative}.nav-desktop-left{flex:1;justify-content:flex-end;align-items:center;gap:2.2rem;display:flex}.nav-desktop-right{flex:1;justify-content:flex-start;align-items:center;gap:2.2rem;display:flex}.logo{text-align:center;flex-shrink:0;padding:0 1rem}.logo a{font-family:var(--font-serif);letter-spacing:.25em;color:var(--text-main);white-space:nowrap;font-size:1.8rem;font-weight:600;text-decoration:none}.nav-desktop a{letter-spacing:.15em;color:var(--text-main);white-space:nowrap;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-desktop a:not(.btn):hover{color:var(--accent)}.nav-btn{margin-left:.5rem;padding:.65rem 1.3rem;font-size:.75rem}.nav-toggle{cursor:pointer;z-index:200;background:0 0;border:none;padding:.5rem;display:none}.nav-toggle span{background-color:var(--text-main);width:24px;height:2px;margin:5px 0;transition:transform .3s,opacity .3s;display:block}.nav-mobile{backdrop-filter:blur(4px)saturate();z-index:150;background:#faf8f599;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;height:100vh;transition:transform .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.nav-mobile.is-open{transform:translate(0)}.nav-close{cursor:pointer;color:var(--text-main);background:0 0;border:none;padding:.5rem;font-size:1.5rem;position:absolute;top:1.5rem;right:2rem}.nav-mobile a:not(.btn){letter-spacing:.15em;color:var(--text-main);text-transform:uppercase;font-size:1.2rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-mobile a:not(.btn):hover{color:var(--accent)}.nav-overlay{opacity:0;visibility:hidden;z-index:140;background-color:#00000080;width:100%;height:100vh;transition:opacity .3s,visibility .3s;position:fixed;top:0;left:0}.nav-overlay.is-active{opacity:1;visibility:visible}@media (width<=992px){.nav-desktop-left,.nav-desktop-right{display:none}.nav-toggle{display:block}.logo{position:static;transform:none}}.hero{background-color:var(--bg-hero);align-items:center;width:100%;min-height:100vh;padding-top:100px;padding-bottom:3rem;display:flex;position:relative;overflow:hidden}.hero-image-wrapper{z-index:1;pointer-events:none;width:62%;height:100%;position:absolute;top:0;right:0}.hero-img{object-fit:cover;object-position:center;width:100%;height:100%}.gradient-overlay{background:linear-gradient(to right, var(--bg-hero) 0%, var(--bg-hero) 15%, #eae4daf2 30%, #eae4da66 65%, transparent 100%);position:absolute;inset:0}.hero-container{z-index:2;width:100%;position:relative}.hero-content{max-width:580px}.hero-content h1{color:var(--text-main);letter-spacing:.04em;margin-bottom:1.5rem;font-size:clamp(2.2rem,3.8vw,3.4rem);line-height:1.15}.hero-content p{color:var(--text-muted);max-width:440px;margin-bottom:2.5rem;font-size:1.05rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:1.2rem;display:flex}@media (width<=900px){.hero{padding-top:120px}.hero-image-wrapper{opacity:.3;width:100%}.gradient-overlay{background:linear-gradient(#eae4dad9 0%,#eae4dafa 100%)}.hero-container{text-align:center}.hero-content{margin:0 auto}.hero-actions{justify-content:center}}.treatments{background-color:var(--bg-secondary);padding:6rem 0}.section-title{text-align:center;letter-spacing:.15em;margin-bottom:3.5rem;font-size:2.2rem}.treatments-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;display:grid}.treatment-card{border-top:2px solid var(--accent);background:#fff;border-radius:4px;padding:2.5rem 2rem;box-shadow:0 4px 20px #00000008}.treatment-card h3{letter-spacing:.08em;margin-bottom:1.5rem;font-size:1.15rem}.treatment-card ul{list-style:none}.treatment-card li{color:var(--text-muted);border-bottom:1px solid #0000000a;padding:.5rem 0;font-size:.9rem}.treatment-card li:last-child{border-bottom:none}.gallery{background-color:var(--bg-primary);text-align:center;padding:6rem 0}.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:2.5rem 1.5rem;display:grid}.treatment-gallery{min-width:0}.treatment-gallery-viewport{aspect-ratio:4/5;background-color:var(--bg-secondary);touch-action:pan-y;user-select:none;position:relative;overflow:hidden}.treatment-gallery-track{height:100%;transition:transform .4s;display:flex}.treatment-gallery-slide{flex:0 0 100%;height:100%}.treatment-gallery-slide img{object-fit:cover;width:100%;height:100%}.treatment-gallery-empty{width:100%;height:100%;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;place-items:center;font-size:.65rem;display:grid}.treatment-gallery-empty span{opacity:.55}.treatment-gallery h3{margin-top:1rem;font-size:1.2rem;line-height:1.1}.treatment-gallery-prev,.treatment-gallery-next{width:44px;height:44px;color:var(--text-light);cursor:pointer;text-shadow:0 1px 4px #00000073;background:0 0;border:0;place-items:center;font-size:1.6rem;font-weight:300;line-height:1;transition:opacity .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.treatment-gallery-prev:hover,.treatment-gallery-next:hover{opacity:.65}.treatment-gallery-prev{left:0}.treatment-gallery-next{right:0}@media (width<=1024px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.gallery{padding:4rem 0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem .75rem}.treatment-gallery h3{font-size:1rem}}@media (width<=420px){.gallery-grid{grid-template-columns:1fr}}.about{background-color:var(--bg-secondary);padding:6rem 0}.about-container{grid-template-columns:1fr 1.2fr;align-items:center;gap:4rem;display:grid}.about-image img{object-fit:cover;border-radius:4px;width:100%;height:520px}.badge{letter-spacing:.2em;color:var(--accent);font-size:.75rem;font-weight:600}.about-content h2{margin:.5rem 0 1rem;font-size:2.2rem}.subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:1rem;line-height:1.6}.about-blocks{flex-direction:column;gap:1.5rem;display:flex}.block h3{margin-bottom:.4rem;font-size:1.2rem}.block p{color:var(--text-muted);font-size:.9rem;line-height:1.6}@media (width<=768px){.about-container{grid-template-columns:1fr}}.cta-reviews{background-color:var(--bg-primary);padding:6rem 0}.reviews-section{text-align:center;margin-bottom:5rem}.reviews-carousel{padding:0 2.5rem;position:relative}.reviews-viewport{touch-action:pan-y;position:relative;overflow:hidden}.reviews-track{gap:1.5rem;transition:transform .4s;display:flex}.review-card{background-color:var(--bg-secondary);border-radius:4px;flex-direction:column;flex:0 0 calc(50% - .75rem);min-height:220px;padding:1.75rem;display:flex}.reviews-prev,.reviews-next{width:44px;height:44px;color:var(--text-main);cursor:pointer;z-index:1;background:0 0;border:0;place-items:center;font-size:1.6rem;font-weight:300;line-height:1;transition:opacity .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.reviews-prev:hover,.reviews-next:hover{opacity:.65}.reviews-prev{left:0}.reviews-next{right:0}.review-rating{color:#d4af37;letter-spacing:.12em;margin-bottom:1rem;font-size:.9rem}.review-card p{color:var(--text-muted);flex:1;margin:0 auto;font-style:italic;line-height:1.7}.review-card cite{color:var(--text-main);letter-spacing:.04em;margin-top:1.25rem;font-size:.8rem;font-style:normal;font-weight:600;display:block}.cta-banner{background-color:var(--bg-secondary);text-align:center;border-radius:4px;padding:4rem 2rem}.cta-banner h2{margin-bottom:.5rem;font-size:2rem}.cta-banner p{color:var(--text-muted);margin-bottom:2rem;font-size:1rem}@media (width<=600px){.reviews-carousel{padding:0 2rem}.reviews-track{gap:0}.review-card{flex-basis:100%}.reviews-prev{left:0}.reviews-next{right:0}}.footer{background-color:var(--bg-dark);color:var(--text-light);padding-top:5rem}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;padding-bottom:4rem;display:grid}.footer-logo{letter-spacing:.15em;font-size:1.8rem}.footer-col h4{letter-spacing:.15em;color:var(--accent);margin-bottom:1.5rem;font-size:.85rem}.footer-col ul{list-style:none}.footer-col li{margin-bottom:.6rem;font-size:.85rem}.footer-col li a{color:#ccc;transition:color .2s}.footer-col li a:hover{color:var(--accent)}.footer-col p{color:#ccc;font-size:.85rem;line-height:1.6}.footer-col address{color:#ccc;font-size:.85rem;font-style:normal;line-height:1.6}.footer-col .mt{margin-top:.75rem}.footer-col .note{color:#999;margin-top:.75rem;font-size:.75rem}.footer-bottom{text-align:center;color:#888;border-top:1px solid #ffffff14;padding:1.5rem 0;font-size:.75rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-main)}h1,h2,h3{font-family:var(--font-serif);letter-spacing:.05em;font-weight:500}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.btn{text-transform:uppercase;letter-spacing:.15em;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:.85rem 1.75rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background-color:var(--bg-dark);color:var(--text-light);border:1px solid var(--bg-dark)}.btn-primary:hover{background-color:var(--accent);border-color:var(--accent)}.btn-outline{color:var(--text-main);border:1px solid var(--text-main);background-color:#0000}.btn-outline:hover{background-color:var(--text-main);color:var(--text-light)}
