@font-face{font-family:Fraunces;font-style:normal;font-weight:300;font-display:swap;src:url('assets/fraunces-light.ttf') format('truetype')}
@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fraunces-regular.ttf') format('truetype')}
@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url('assets/fraunces-italic.ttf') format('truetype')}
@font-face{font-family:Mulish;font-style:normal;font-weight:300;font-display:swap;src:url('assets/mulish-light.ttf') format('truetype')}
@font-face{font-family:Mulish;font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/mulish-regular.ttf') format('truetype')}

:root{--paper:#FBF8F4;--nude:#F1E7DD;--nude-deep:#EADCCE;--gold:#C2A36B;--gold-soft:#D8C29A;--mocha:#3A322C;--taupe:#7a6b60;--line:#E6DACE;--display:Fraunces,Georgia,serif;--body:Mulish,system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-family:var(--body);font-weight:300;color:var(--mocha);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
button{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #816333;outline-offset:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--mocha);color:white;padding:12px 20px}
.skip-link:focus{top:12px}
.preview-note{padding:7px 20px;background:var(--nude);color:#75644c;text-align:center;font-size:.65rem;letter-spacing:.15em;font-weight:400}
.preview-note span{margin-left:10px;letter-spacing:.04em}
.eyebrow{font-family:var(--body);font-weight:400;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:#977c4c;display:inline-flex;align-items:center;gap:.6em}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;flex-shrink:0}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;letter-spacing:.01em}
.dot{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--gold);vertical-align:middle;margin:0 .55em}

/* Navigation */
.nav{position:sticky;top:0;z-index:40;background:rgba(251,248,244,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:74px}
.brandmark{font-family:var(--display);font-size:1.5rem;letter-spacing:.04em;color:var(--mocha);text-align:center;line-height:1.05;text-decoration:none;flex-shrink:0}
.brandmark small{font-family:var(--body);font-weight:300;font-size:.6rem;letter-spacing:.25em;color:var(--taupe);display:block;text-transform:uppercase;margin-top:4px}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mocha);text-decoration:none;font-weight:400;transition:color .2s}
.nav-links a:hover{color:#977c4c}
.nav-cta{border:1px solid var(--gold);padding:10px 20px;border-radius:40px;transition:background .25s,color .25s!important}
.nav-cta:hover{background:var(--gold);color:var(--mocha)!important}
.menu-btn{display:none;align-items:center;gap:9px;background:none;border:0;font-size:.8rem;letter-spacing:.1em;color:var(--mocha);cursor:pointer;min-height:44px;padding:8px 0 8px 10px}

/* Hero and common buttons */
.hero{background:var(--paper);padding:64px 0}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.hero .eyebrow{margin-bottom:26px}
.hero h1{font-size:clamp(2.6rem,5vw,3.9rem);line-height:1.08}
.hero .cro{font-size:.74rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);margin-top:20px}
.hero .tagline{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.6vw,1.7rem);max-width:440px;margin:26px 0 0;line-height:1.4}
.hero-description{max-width:440px;margin-top:20px;color:var(--taupe);font-size:.98rem;line-height:1.7}
.hero-photo{aspect-ratio:4/5;border-radius:6px;align-self:stretch;min-height:500px;background:#e0cdba}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;display:block}
.hero-actions{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap}
.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:10px;font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;font-weight:400;padding:16px 29px;border-radius:40px;text-decoration:none;min-height:52px;transition:background .25s,transform .2s,border-color .25s}
.btn-primary{background:var(--gold);color:#31271a}
.btn-primary:hover{background:#d0b57f;transform:translateY(-2px)}
.btn-ghost{color:var(--mocha);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold)}
.portrait-photo{position:relative;overflow:hidden}

/* Sections */
section{padding:92px 0}
.section-head{margin-bottom:54px;max-width:680px}
.section-head h2{font-size:clamp(2.1rem,5vw,3.2rem);margin-top:18px;font-weight:300}
.lead{color:var(--taupe);font-size:1.02rem;margin-top:18px;max-width:620px}
.about{background:var(--nude)}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.about h2{font-size:clamp(2rem,5vw,3rem);margin:18px 0 26px;font-weight:300}
.about p{margin-bottom:18px;color:#5a4f46;font-size:1.02rem}
.about .editorial-note{margin:24px 0 0;font-size:.76rem;color:var(--taupe);border-left:1px solid var(--gold);padding-left:14px}
.about-photo{aspect-ratio:4/5;border-radius:4px;background:#e0cdba}
.about-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.credentials{margin-top:28px;border-top:1px solid #d8c9ba;padding-top:22px}
.credentials h3{font-size:1.3rem;margin-bottom:16px}
.credentials dl{display:grid;gap:12px}
.credentials dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.credentials dt{font-size:.87rem;font-weight:400;color:#5a4f46}
.credentials dd{font-size:.73rem;color:#75644c;white-space:nowrap}

/* Treatments */
#tratamentos{background:var(--mocha)}
#tratamentos .eyebrow{color:var(--gold-soft)}
#tratamentos h2{color:var(--paper)}
#tratamentos .lead{color:#c9b9a8}
.treat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}
.treat{background:#42382f;padding:40px 38px;transition:background .3s}
.treat:hover{background:#4d4239}
.treat h3{font-size:1.7rem;margin:14px 0 12px;display:flex;align-items:baseline;color:#F4EBE0}
.treat h3 .dot{margin-left:0;margin-right:.5em}
.treat p{color:#c7b8a8;font-size:.96rem}
.treat-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.25fr;gap:42px;align-items:center;background:#4b3e31;border-top:2px solid var(--gold);padding-top:36px;padding-bottom:36px}
.treatment-kicker{font-size:.67rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);font-weight:400}
.treat-featured h3{font-size:2rem;margin-bottom:0}
.treat .treatment-detail{font-size:.76rem;color:var(--gold-soft);margin-top:16px}
.treatment-note{color:#c5b69e;font-size:.76rem;max-width:850px;margin-top:26px}

/* Testimonials supplied by the user, no fabricated ratings */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.quote{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:26px 30px 34px}
.quote-mark{display:block;font-family:var(--display);font-size:3.5rem;line-height:1;color:var(--gold);height:47px}
.quote p{flex:1;font-family:var(--display);font-size:1.28rem;line-height:1.45;font-style:italic}
.quote .who{margin-top:18px;font-size:.69rem;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
.quote .who::before{content:"";display:inline-block;width:18px;height:1px;background:var(--gold);vertical-align:middle;margin-right:10px}
.section-note{text-align:center;margin-top:28px;font-size:.76rem;color:var(--taupe)}

/* Instagram */
.insta{background:var(--nude);text-align:center}
.insta h2{font-size:clamp(2rem,5vw,3rem);font-weight:300;margin:16px 0 14px}
.insta>div>p{color:var(--taupe);max-width:520px;margin:0 auto 30px}
.ig-profile{display:flex;align-items:center;justify-content:center;gap:30px;margin:6px 0 36px;flex-wrap:wrap}
.ig-pic{width:112px;height:112px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-soft)}
.ig-info{text-align:left}
.ig-user{font-family:var(--display);font-size:1.6rem;line-height:1.1}
.ig-user a{text-decoration:none;transition:color .2s}
.ig-user a:hover{color:#977c4c}
.ig-status{font-size:.78rem;color:var(--taupe);margin:12px 0 8px}
.ig-bioline{color:#5a4f46;font-size:.94rem;max-width:320px}
.ig-highlights{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:38px}
.hl{display:flex;flex-direction:column;align-items:center;gap:11px;width:84px}
.hl-circle{width:74px;height:74px;border-radius:50%;background:linear-gradient(140deg,#f0e3d5,#e0cab2);border:2px solid var(--gold-soft);box-shadow:inset 0 0 0 3px var(--paper)}
.hl-label{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}
.pending-label{display:inline-block;padding:12px 24px;border:1px solid #c9b392;border-radius:40px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#75644c}

/* FAQ */
.faq{background:var(--nude)}
details{border-bottom:1px solid #d8c9ba;padding:6px 0}
summary{font-family:var(--display);font-size:1.5rem;font-weight:400;padding:22px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px}
summary::-webkit-details-marker{display:none}
summary .plus{color:#927440;font-family:var(--body);font-size:1.5rem;transition:transform .25s;flex-shrink:0}
details[open] summary .plus{transform:rotate(45deg)}
details p{color:#5a4f46;padding:0 0 24px;font-size:1rem;max-width:760px}

/* Address */
.loc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}
.loc-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--nude);padding:36px}
.loc-label{display:flex;align-items:center;gap:14px;color:#806338;font-size:.68rem;font-weight:400;letter-spacing:.19em;text-transform:uppercase}
.location-icon{width:42px;height:42px;border:1px solid #d8c9b3;border-radius:50%;display:grid;place-items:center;flex:none}
.location-icon svg{width:22px;height:22px}
.location-address{font-style:normal;margin:26px 0 24px}
.location-address strong{display:block;font-family:var(--display);font-size:clamp(1.65rem,2.6vw,2rem);font-weight:400;line-height:1.25;max-width:340px;margin-bottom:14px}
.location-address span{display:block;color:#5a4f46;font-size:1rem;line-height:1.8}
.location-address .location-city{font-size:.88rem;color:#75644c;margin-top:2px}
.loc-help{border-top:1px solid #dccdbb;padding-top:22px;color:#5a4f46;font-size:.9rem;max-width:330px}
.loc-card .btn-primary{margin-top:24px;width:100%;padding-left:16px;padding-right:16px}
.phone-note{font-size:.76rem;color:var(--taupe);margin-top:16px}
.loc-card .phone-note{text-align:center}
.map-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#eee8de;display:flex;flex-direction:column}
.location-map{display:block;border:0;width:100%;min-height:330px;flex:1}
.map-route{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;background:var(--paper);text-decoration:none;transition:background .2s}
.map-route:hover{background:var(--nude)}
.map-route strong{display:block;font-family:var(--display);font-size:1.35rem;font-weight:400}
.map-route small{display:block;font-size:.75rem;color:var(--taupe);margin-top:3px}
.map-route svg{width:25px;height:25px;color:#927440;flex:none}
.closing{background:var(--nude-deep);text-align:center}
.closing p{font-family:var(--display);font-style:italic;font-size:clamp(1.6rem,4vw,2.4rem);max-width:720px;margin:0 auto 36px;line-height:1.35}

/* Footer */
footer{background:var(--mocha);color:#e9ddd0;padding:66px 0 40px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1.2fr 1fr;gap:40px}
.foot-brand{text-align:center}
footer .brandmark{color:var(--paper);display:inline-block}
footer .brandmark small{color:#bba98f;line-height:1.8;letter-spacing:.13em}
.foot-brand p{margin:18px auto 0;color:#d1c0ab;font-size:.92rem;max-width:300px}
footer h4{font-weight:400;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px}
footer a{text-decoration:none}
footer a:hover{color:white}
.contact-line{margin-bottom:8px;font-size:.92rem}
.footer-pending,.footer-link{color:#d1c0ab;font-size:.76rem}
.footer-address{font-style:normal;font-size:.88rem;line-height:1.8}
.footer-directions{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:4px;color:var(--gold-soft)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:24px;font-size:.73rem;letter-spacing:.04em;color:#c7b69f;text-align:center;line-height:1.9}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:50;display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#31271a;text-decoration:none;padding:14px 22px 14px 18px;border-radius:50px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400;box-shadow:0 10px 30px rgba(58,50,44,.22);transition:background .25s,transform .2s}
.wa-float:hover{background:#d0b57f;transform:translateY(-2px)}
.wa-float svg{width:22px;height:22px;flex:none}

@media(max-width:1000px){
  .nav-links{gap:18px}
  .nav-links a{font-size:.68rem}
  .hero-inner{gap:36px}
  .hero-actions{gap:12px}
  .hero-actions .btn-primary,.hero-actions .btn-ghost{padding:16px 22px;font-size:.7rem}
}
@media(max-width:880px){
  .nav-links{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 0}
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 28px;width:100%;font-size:.78rem}
  .nav-links .nav-cta{margin:10px 28px;text-align:center;width:calc(100% - 56px)}
  .menu-btn{display:flex}
  .about-grid,.loc-grid{grid-template-columns:1fr;gap:36px}
  .loc-grid{gap:20px;max-width:600px;margin:0 auto}
  .location-map{min-height:320px;height:320px;flex:none}
  .hero-inner{grid-template-columns:1fr;gap:30px}
  .hero{padding:36px 0 48px}
  .hero-text{text-align:center}
  .hero-text .tagline{margin-left:auto;margin-right:auto}
  .hero-description{margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .hero-photo{order:-1;min-height:0;aspect-ratio:4/5;width:100%;max-width:420px;justify-self:center}
  .hero h1 br{display:none}
  .hero h1 br::after{content:" "}
  .about-photo{order:-1;max-width:420px;width:100%;justify-self:center}
  .treat-grid,.quotes{grid-template-columns:1fr}
  .treat-featured{grid-template-columns:1fr;gap:22px}
  .ig-profile{flex-direction:column;flex-wrap:nowrap;gap:20px;max-width:360px;margin:8px auto 30px}
  .ig-pic{flex:none}
  .ig-info{width:100%;text-align:center}
  .ig-status{max-width:280px;margin:10px auto 8px}
  .ig-bioline{max-width:300px;margin-left:auto;margin-right:auto}
  .insta .btn-primary{width:min(100%,300px);padding:16px 20px;font-size:.7rem;letter-spacing:.12em}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .foot-brand{text-align:left}
  .foot-brand p{margin-left:0}
  .wa-float span{display:none}
  .wa-float{padding:14px;border-radius:50%}
}
@media(max-width:480px){
  .wrap{padding:0 22px}
  section{padding:64px 0}
  .preview-note{padding:7px 14px;font-size:.58rem;line-height:1.6}
  .preview-note span{margin-left:5px}
  .brandmark{font-size:1.18rem;letter-spacing:.02em}
  .brandmark small{font-size:.52rem;letter-spacing:.21em}
  .hero{padding-top:24px}
  .hero h1{font-size:2.65rem}
  .hero .eyebrow{font-size:.62rem;letter-spacing:.19em;margin-bottom:20px}
  .hero .cro{font-size:.62rem;letter-spacing:.1em}
  .hero .cro .dot{width:5px;height:5px;margin:0 .3em}
  .hero-actions{margin-top:28px;gap:12px}
  .hero-actions .btn-primary,.hero-actions .btn-ghost{width:100%;font-size:.73rem}
  .section-head{margin-bottom:36px}
  .treat{padding:28px 24px}
  .treat h3{font-size:1.45rem}
  .treat-featured h3{font-size:1.7rem}
  .credentials dl>div{flex-wrap:wrap;gap:1px 12px}
  .loc-card{padding:26px 24px}
  .location-address strong{font-size:1.75rem}
  .loc-card .btn-primary{font-size:.7rem;letter-spacing:.1em}
  .map-route{padding:20px}
  summary{font-size:1.25rem}
  .ig-highlights{gap:20px 14px}
  .hl{width:76px}
  .hl-circle{width:66px;height:66px}
  .ig-profile{gap:20px}
  footer{padding-bottom:88px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
