@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#302825;--muted:#746965;--cream:#fbf8f5;--blush:#ead8d3;--rose:#c99b91;--gold:#b28a50;--white:#fff;--line:#e8dfda;--serif:'Playfair Display',serif;--sans:'DM Sans',sans-serif;--radius:28px;--shadow:0 24px 70px rgba(74,51,43,.12);--space:clamp(4rem,8vw,8rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 var(--sans)}body::selection{background:var(--blush)}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.04}h1{font-size:clamp(3.2rem,7vw,7rem);letter-spacing:-.045em}h2{font-size:clamp(2.3rem,4vw,4.3rem);letter-spacing:-.035em}h3{font-size:1.18rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.73rem;font-weight:600;color:var(--gold)}.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(251,248,245,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,223,218,.75)}.logo{font-family:var(--serif);font-size:1.5rem}.logo span{font-style:italic;color:var(--rose)}nav{display:flex;align-items:center;gap:2rem;font-size:.9rem}nav a:not(.button):hover{color:var(--gold)}.menu-toggle{display:none;border:0;background:none;font-size:1.6rem}.button{border:1px solid var(--ink);background:var(--ink);color:white;border-radius:999px;padding:.88rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;font-weight:600;transition:.25s}.button:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.button-small{padding:.62rem 1.1rem}.button-ghost{background:transparent;color:var(--ink)}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.hero,.service-hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1fr 1fr;gap:5vw;padding:5vw;align-items:center}.hero-copy>p:not(.eyebrow,.personal){max-width:560px;color:var(--muted);font-size:1.08rem}.hero h1 em,.service-hero h1 em{display:block;color:var(--rose)}.personal{margin-top:2rem;font-size:.82rem}.personal span{color:#6d9b73}.hero-image{height:min(72vh,760px);position:relative;border-radius:180px 180px var(--radius) var(--radius);overflow:visible}.hero-image img{border-radius:inherit}.floating-note{position:absolute;left:-2rem;bottom:2rem;background:white;padding:1rem 1.3rem;border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column}.floating-note strong{font-family:var(--serif);font-size:1.4rem}.floating-note span{font-size:.72rem;color:var(--muted)}.section{padding:var(--space) 6vw}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-head h2{margin-bottom:0}.section-head>p{max-width:430px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-card,.treatment-grid article{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;position:relative;transition:.3s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card.featured{background:var(--ink);color:white}.icon{font:2rem var(--serif);color:var(--gold)}.tag{position:absolute;right:1.2rem;top:1.2rem;background:var(--blush);color:var(--ink);border-radius:999px;padding:.3rem .7rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.service-card p{color:var(--muted);min-height:52px}.featured p{color:#d8cfcb}.meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:1rem;margin:1.5rem 0 1rem}.service-card a{color:var(--gold);font-weight:600}.gallery-section{background:#f3ece8}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:350px;gap:1rem}.gallery .wide{grid-column:span 2}figure{margin:0;position:relative;overflow:hidden;border-radius:var(--radius)}figure img{transition:.5s}figure:hover img{transform:scale(1.045)}figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(255,255,255,.9);padding:.5rem .8rem;border-radius:999px;font-size:.75rem}.center{text-align:center}.gallery+.center{margin-top:2rem}.text-link{font-weight:600}.steps-grid,.testimonial-grid,.benefit-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}.steps-grid article{padding:2rem;border-top:1px solid var(--gold)}.steps-grid article span,.benefit-grid span{font:italic 1.7rem var(--serif);color:var(--rose)}blockquote{margin:0;background:white;padding:2rem;border-radius:var(--radius)}blockquote p{font:1.35rem/1.5 var(--serif)}.stars{color:var(--gold);letter-spacing:.15em}blockquote footer{display:flex;align-items:center;gap:.8rem}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--blush);font-size:.75rem}.studio-info{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.info-image{height:620px;border-radius:var(--radius);overflow:hidden}.info-copy dl div{display:grid;grid-template-columns:150px 1fr;padding:1rem 0;border-bottom:1px solid var(--line)}dt{font-weight:600}dd{margin:0;color:var(--muted)}.notice{background:var(--blush);padding:1rem;border-radius:14px}.cta{margin:3vw 5vw 6vw;padding:clamp(4rem,8vw,8rem) 2rem;text-align:center;border-radius:var(--radius);background:var(--blush)}.cta p{max-width:530px;margin-left:auto;margin-right:auto}.footer{background:var(--ink);color:#e9e1dd;padding:4rem 6vw;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem}.footer>div{display:flex;flex-direction:column;gap:.55rem}.footer b{color:white}.footer small{color:#a99d98}.service-facts{display:flex;gap:1rem;margin:2rem 0}.service-facts span{background:white;padding:1rem 1.3rem;border-radius:18px;display:flex;flex-direction:column}.service-facts small{color:var(--muted)}.back-link{display:inline-block;margin-bottom:2rem}.benefit-grid{grid-template-columns:repeat(4,1fr)}.benefit-grid article{border-top:1px solid var(--gold);padding-top:1.5rem}.treatment{background:white}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.pricing-grid article{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;gap:.7rem;position:relative}.pricing-grid article.featured{background:var(--ink);color:white;transform:translateY(-1rem)}.pricing-grid b{font:2rem var(--serif)}.pricing-grid .button{margin-top:1rem}.service-gallery{grid-template-columns:1fr 2fr 1fr}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.accordion article{border-bottom:1px solid var(--line)}.accordion button{width:100%;border:0;background:none;padding:1.4rem 0;display:flex;justify-content:space-between;text-align:left;font-weight:600}.answer{display:grid;grid-template-rows:0fr;transition:.3s}.answer p{overflow:hidden;color:var(--muted)}.accordion article.open .answer{grid-template-rows:1fr}.booking-modal{width:min(720px,94vw);max-height:92vh;border:0;border-radius:var(--radius);padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow);color:var(--ink)}.booking-modal::backdrop{background:rgba(48,40,37,.65);backdrop-filter:blur(4px)}.modal-close{position:absolute;right:1rem;top:1rem;border:0;background:var(--cream);border-radius:50%;width:40px;height:40px;font-size:1.5rem}.booking-intro h2{font-size:2.5rem;margin-bottom:.5rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label,legend{font-weight:600;font-size:.86rem}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.85rem;background:var(--cream)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}fieldset{border:0;padding:0;margin:0 0 1rem}.time-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem;margin-top:.5rem}.time-grid button{border:1px solid var(--line);background:white;padding:.7rem .2rem;border-radius:10px}.time-grid button.selected{background:var(--ink);color:white}.time-grid button:disabled{opacity:.35;text-decoration:line-through}.check{display:flex;gap:.6rem;align-items:start;font-size:.85rem}.form-error{color:#a52d2d;font-size:.85rem;min-height:1.3em}.text-button{border:0;background:none;text-decoration:underline;margin-left:1rem;color:var(--muted)}.booking-summary{background:var(--cream);padding:1.5rem;border-radius:18px}.summary-actions{display:flex;gap:.6rem;flex-wrap:wrap}.whatsapp{position:fixed;right:1.3rem;bottom:1.3rem;z-index:18;width:58px;height:58px;border:0;border-radius:50%;background:#25d366;color:white;font-weight:800;box-shadow:var(--shadow)}.toast{position:fixed;left:50%;bottom:1.5rem;z-index:30;transform:translate(-50%,150%);background:var(--ink);color:white;padding:.8rem 1.2rem;border-radius:12px;transition:.3s;max-width:90vw}.toast.show{transform:translate(-50%,0)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){nav{position:absolute;top:88px;left:0;right:0;background:var(--cream);padding:1.5rem 5vw;display:none;flex-direction:column;align-items:stretch}nav.open{display:flex}.menu-toggle{display:block}.hero,.service-hero{grid-template-columns:1fr;padding-top:3rem}.hero-image{height:60vh}.service-grid,.treatment-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.steps-grid,.testimonial-grid,.pricing-grid{grid-template-columns:1fr}.benefit-grid{grid-template-columns:repeat(2,1fr)}.studio-info,.faq{grid-template-columns:1fr}.footer{grid-template-columns:repeat(2,1fr)}.pricing-grid article.featured{transform:none}}
@media(max-width:600px){h1{font-size:3.3rem}.site-header{height:72px}.hero,.service-hero{min-height:auto;padding:2rem 5vw 4rem}.hero-image{height:430px}.floating-note{left:.8rem}.section{padding:4rem 5vw}.section-head{align-items:start;flex-direction:column}.service-grid,.treatment-grid,.benefit-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:330px}.gallery .wide{grid-column:auto}.service-gallery{grid-template-columns:1fr}.steps-grid,.testimonial-grid{margin-top:2rem}.studio-info{gap:2rem}.info-image{height:430px}.info-copy dl div{grid-template-columns:1fr;gap:.2rem}.footer{grid-template-columns:1fr}.two-col{grid-template-columns:1fr;gap:0}.time-grid{grid-template-columns:repeat(3,1fr)}.text-button{display:block;margin:1rem 0}.cta{margin:0;border-radius:0}}
