@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Manrope:wght@400;500;600;700&display=swap');
@import "tailwindcss";
@import "tw-animate-css";

/* Direção visual: editorial wellness contemporâneo; fundo cinza-pastel, terracota queimado e dourado pontual. */
:root { --ink:#292724; --muted:#736f6a; --paper:#e8e7e2; --paper-deep:#d8d8d1; --cream:#f2f0ea; --terracotta:#b7593a; --gold:#c79531; --line:rgba(41,39,36,.18); --serif:'Cormorant Garamond', Georgia, serif; --sans:'Manrope', Arial, sans-serif; --ease:cubic-bezier(.23,1,.32,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background-color:var(--paper); background-image:radial-gradient(rgba(41,39,36,.035) .7px, transparent .7px); background-size:7px 7px; color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { color:inherit; font:inherit; }
.site-header { width:100%; height:128px; padding:22px clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; position:absolute; top:0; left:0; z-index:20; transition:height .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease), backdrop-filter .25s var(--ease); }.site-header.is-scrolled { position:fixed; height:84px; padding-top:14px; padding-bottom:14px; background:rgba(242,241,236,.94); backdrop-filter:blur(14px); box-shadow:0 8px 24px rgba(38,35,32,.08); }
.brand { width:170px; transition:opacity .2s var(--ease); display:flex; align-items:center; }.brand-wordmark { display:block; }.brand-symbol { display:none; width:34px; height:38px; overflow:hidden; position:relative; }.brand-symbol img { width:76px; max-width:none; height:auto; position:absolute; top:0; left:50%; transform:translateX(-50%); }.site-header.is-scrolled .brand-wordmark { display:none; }.site-header.is-scrolled .brand-symbol { display:block; }
.brand:hover { opacity:.72; }
.brand img { width:100%; height:auto; }
.desktop-nav { display:flex; align-items:center; gap:clamp(18px,2.5vw,42px); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.desktop-nav a { position:relative; padding:7px 0; }
.desktop-nav a:not(.nav-cta)::after { content:""; width:0; height:1px; background:var(--terracotta); position:absolute; left:0; bottom:0; transition:width .25s var(--ease); }
.desktop-nav a:hover::after { width:100%; }
.nav-cta { display:flex; gap:7px; align-items:center; color:#fff; background:var(--terracotta); border:1px solid var(--terracotta); padding:14px 32px; font-size:10px; letter-spacing:.08em; transition:background .2s var(--ease), transform .2s var(--ease), color .2s var(--ease); }.nav-cta:hover { background:#9b452e; color:#fff; transform:translateY(-2px); }.desktop-nav a.nav-cta::after { display:none; }
.menu-toggle { display:none; background:none; border:0; padding:6px; }
.hero { min-height:930px; padding:190px clamp(24px,8vw,130px) 72px; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px, .72fr); gap:clamp(50px,9vw,150px); align-items:center; background:radial-gradient(circle at 18% 75%, rgba(255,255,255,.46), transparent 30%), linear-gradient(145deg,var(--paper) 0%,#e1e1db 100%); position:relative; overflow:hidden; }
.hero::before { content:""; width:1px; height:230px; background:var(--terracotta); position:absolute; left:clamp(24px,5vw,76px); top:230px; opacity:.7; }
.hero-copy { padding:38px 0 0 clamp(0px,3vw,52px); max-width:675px; }
.eyebrow,.section-kicker { display:block; color:var(--terracotta); font-size:10px; line-height:1.4; letter-spacing:.18em; text-transform:uppercase; font-weight:700; }
.hero h1 { font:500 clamp(58px,7.4vw,112px)/.86 var(--serif); letter-spacing:-.045em; margin:27px 0 37px; }
em { color:var(--terracotta); font-style:italic; }
.hero-lede { max-width:460px; color:var(--muted); font-size:16px; line-height:1.8; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:37px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 22px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease); }
.button:hover { transform:translateY(-3px); }.button:active { transform:scale(.97); }
.button-primary { background:var(--terracotta); color:#fffaf2; }.button-primary:hover { background:#91422b; }
.text-link { display:inline-flex; gap:8px; align-items:center; border-bottom:1px solid var(--ink); padding-bottom:5px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.text-link:hover { color:var(--terracotta); border-color:var(--terracotta); }
.credential-line { display:flex; flex-wrap:wrap; gap:22px; margin-top:82px; padding-top:16px; border-top:1px solid var(--line); max-width:540px; color:#7e7b75; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.hero-art { position:relative; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.hero-image-frame { width:min(100%,480px); aspect-ratio:3/4; overflow:hidden; margin-left:auto; position:relative; background:#cecfc9; }
.hero-image-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 65%,rgba(38,35,32,.22)); }
.hero-image-frame img { width:100%; height:100%; object-fit:cover; object-position:center 22%; filter:saturate(.82) contrast(.96); transition:transform .8s var(--ease); }.hero-image-frame:hover img { transform:scale(1.025); }
.hero-caption { width:min(100%,480px); margin:19px 0 0 auto; display:grid; grid-template-columns:1fr 1.2fr; gap:5px 20px; border-top:1px solid var(--line); padding-top:13px; }.hero-caption span,.hero-caption small { color:var(--muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.hero-caption strong { font:500 28px/1 var(--serif); }.hero-caption small { grid-column:2; }.hero-mark { position:absolute; top:19%; left:-35px; color:var(--gold); font:italic 150px/1 var(--serif); opacity:.24; }
.intro-strip { display:grid; grid-template-columns:1.15fr .95fr; min-height:480px; background:var(--cream); position:relative; align-items:center; }.intro-strip::before { content:'✦'; position:absolute; top:38px; right:42px; color:var(--gold); font-size:15px; }.strip-image { height:480px; min-height:0; overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center; background:#d8d8d1; }.strip-image::after { content:""; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.42); pointer-events:none; }.strip-image img,.strip-image video { width:100%; height:100%; object-fit:contain; padding:14px; filter:saturate(.68) sepia(.08) contrast(.96); transition:transform .7s var(--ease), filter .3s var(--ease); }.strip-image:hover img,.strip-image:hover video { transform:scale(1.035); filter:saturate(.78) sepia(.1) contrast(1); }.strip-content { padding:58px clamp(28px,5vw,78px); display:flex; flex-direction:column; justify-content:center; }.strip-content h2,.section-heading h2,.expertise-intro h2 { margin:20px 0 24px; font:500 clamp(49px,5.3vw,82px)/.86 var(--serif); letter-spacing:-.04em; }.strip-content p { color:var(--muted); max-width:350px; font-size:13px; line-height:1.6; }.strip-content .space-closing { margin-top:20px; color:var(--terracotta); font:italic 21px/1.08 var(--serif); max-width:350px; }.strip-aside { display:none; }.mini-rule { display:block; width:46px; height:1px; background:var(--terracotta); margin-bottom:30px; }
.section-shell { padding:110px clamp(24px,8vw,130px); position:relative; }.section-shell::after { content:'A'; position:absolute; top:86px; right:clamp(24px,7vw,112px); color:var(--gold); font:italic 62px/1 var(--serif); opacity:.28; }.section-index { color:var(--muted); font-size:10px; letter-spacing:.16em; text-transform:uppercase; border-bottom:1px solid var(--line); padding:0 0 14px 22px; position:relative; }.section-index::before { content:''; width:1px; height:29px; background:var(--terracotta); position:absolute; left:0; bottom:-1px; }.about { background:var(--paper); }.about-layout { display:grid; grid-template-columns:.88fr 1fr; gap:clamp(55px,11vw,180px); padding-top:70px; }.section-heading h2 { margin-bottom:55px; }.section-heading h2 span { white-space:nowrap; }.section-heading img { width:260px; aspect-ratio:3/2; object-fit:cover; margin-left:14%; filter:saturate(.63); }.section-heading .about-photo { aspect-ratio:3/4; object-position:center 38%; filter:saturate(.72) sepia(.05) contrast(.96); box-shadow:18px 18px 0 rgba(183,89,58,.12); transition:transform .7s var(--ease), filter .3s var(--ease); }.section-heading .about-photo:hover { transform:translateY(-5px); filter:saturate(.82) sepia(.07) contrast(1); }.about-copy { padding-top:13px; max-width:570px; }.credential-badge { border-top:1px solid var(--terracotta); padding-top:12px; display:flex; justify-content:space-between; gap:20px; color:var(--terracotta); font-size:10px; letter-spacing:.11em; text-transform:uppercase; }.credential-badge strong { color:var(--muted); font-weight:500; }.about-copy p { color:var(--muted); margin:25px 0; }.about-copy .lead-paragraph { color:var(--ink); font:500 25px/1.2 var(--serif); max-width:485px; }.about-quote { display:flex; align-items:flex-start; gap:18px; margin-top:42px; padding-top:18px; border-top:1px solid var(--line); }.quote-rule { width:1px; min-height:48px; background:var(--terracotta); }.about-quote p { margin:0; color:var(--terracotta); font:italic 24px/1.05 var(--serif); max-width:360px; }.signature-line { display:flex; align-items:center; gap:25px; margin-top:52px; border-top:1px solid var(--line); padding-top:18px; }.signature-line img { width:145px; }.signature-line span { color:var(--muted); font-size:11px; line-height:1.35; }
.expertise { background:#d3d4cf; }.expertise-intro { max-width:720px; padding-top:72px; }.expertise-intro h2 { margin-bottom:21px; }.expertise-intro p { color:var(--muted); max-width:410px; }.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:72px; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }.service-card { min-height:310px; padding:26px 25px 28px 0; margin-right:25px; border-right:1px solid var(--line); position:relative; transition:transform .25s var(--ease), padding .25s var(--ease); }.service-card:last-child { border-right:0; margin-right:0; }.service-card:hover { transform:translateY(-6px); }.service-number { display:block; color:var(--terracotta); font-size:11px; letter-spacing:.08em; margin-bottom:34px; }.service-icon { display:block; width:38px; height:38px; color:var(--terracotta); margin-bottom:27px; }.service-card h3 { margin:0 0 14px; font:500 27px/1.02 var(--serif); max-width:180px; }.service-card p { margin:0; color:var(--muted); max-width:220px; font-size:13px; line-height:1.65; }.service-card .service-arrow { position:absolute; right:24px; bottom:28px; color:var(--terracotta); font-size:20px; transition:transform .2s var(--ease); }.service-card:hover .service-arrow { transform:translate(4px,-4px); }.expertise-layout { display:grid; grid-template-columns:.85fr 1.1fr; gap:clamp(40px,10vw,150px); margin-top:72px; align-items:start; }.expertise-image { position:relative; }.expertise-image img { width:100%; height:530px; object-fit:cover; object-position:top center; filter:saturate(.7); }.expertise-image span { display:block; position:absolute; right:-48px; bottom:34px; padding:22px 24px; background:var(--cream); font:500 22px/1 var(--serif); }.service-list { border-top:1px solid var(--ink); }.service-item { display:grid; grid-template-columns:45px 1fr 25px; gap:15px; align-items:start; border-bottom:1px solid var(--line); padding:25px 0 26px; transition:padding .25s var(--ease); }.service-item:hover { padding-left:12px; }.service-number { color:var(--terracotta); font-size:11px; letter-spacing:.08em; }.service-item h3 { margin:0 0 8px; font:500 28px/1.05 var(--serif); }.service-item p { margin:0; color:var(--muted); max-width:440px; font-size:13px; line-height:1.65; }.service-arrow { color:var(--terracotta); margin-top:4px; transition:transform .2s var(--ease); }.service-item:hover .service-arrow { transform:translate(4px,-4px); }
.site-footer { display:grid; grid-template-columns:1.2fr 1fr .85fr; gap:65px; padding:94px clamp(24px,8vw,130px) 24px; background:var(--ink); color:#f3f0e9; position:relative; }.site-footer::before { content:'A'; position:absolute; top:40px; right:7vw; color:var(--gold); font:italic 80px/1 var(--serif); opacity:.25; }.footer-brand img { width:180px; filter:brightness(0) invert(1); opacity:.9; }.footer-brand p { color:#aaa8a1; max-width:250px; font-size:13px; margin-top:28px; }.footer-column h3 { margin:20px 0 25px; font:500 43px/.93 var(--serif); }.footer-column .section-kicker { color:#cf9a40; }.button-light { color:#fff !important; background:var(--gold); border-color:var(--gold); padding-left:22px; padding-right:22px; }.button-light svg { color:#fff; stroke:currentColor; }.button-light:hover { background:#b47c27; color:#fff !important; border-color:#b47c27; }.footer-column h4 { color:#cf9a40; font-size:10px; letter-spacing:.14em; text-transform:uppercase; margin:10px 0 7px; }.footer-column p,.footer-column a { color:#aaa8a1; font-size:13px; }.footer-column a { display:inline-flex; align-items:center; gap:6px; }.footer-column a:hover { color:#fff; }.footer-bottom { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.18); padding-top:18px; margin-top:25px; display:flex; justify-content:space-between; color:#77756f; font-size:10px; letter-spacing:.04em; }
@media (max-width:900px) { .hero { grid-template-columns:1fr .72fr; gap:35px; padding-left:60px; padding-right:35px; }.hero h1 { font-size:clamp(55px,8vw,88px); }.desktop-nav { gap:17px; font-size:9px; }.intro-strip { grid-template-columns:1fr 1fr; }.strip-aside { display:none; }.about-layout,.expertise-layout { gap:50px; }.service-grid { gap:18px; }.service-card { margin-right:0; padding-right:18px; }.site-footer { gap:35px; } }
@media (max-width:680px) { .site-header { height:104px; padding:18px 22px; }.site-header.is-scrolled { height:82px; padding-top:12px; padding-bottom:12px; }.brand { width:142px; }.site-header.is-scrolled .brand { width:34px; }.menu-toggle { display:block; z-index:12; }.desktop-nav { display:none; position:absolute; top:0; right:0; left:0; min-height:100vh; padding:110px 28px 40px; background:var(--cream); flex-direction:column; align-items:flex-start; gap:22px; font-size:12px; }.desktop-nav.is-open { display:flex; }.desktop-nav .nav-cta { margin-top:10px; }.hero { display:flex; flex-direction:column; align-items:stretch; min-height:auto; padding:154px 22px 58px; gap:45px; }.hero::before { left:22px; top:174px; height:135px; }.hero-copy { padding:14px 0 0 20px; }.hero h1 { font-size:clamp(57px,16vw,78px); margin:21px 0 28px; }.hero-lede { font-size:14px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:22px; margin-top:29px; }.credential-line { margin-top:45px; gap:10px 16px; }.hero-art { padding-left:18px; }.hero-image-frame,.hero-caption { width:100%; }.hero-mark { left:-2px; top:17%; font-size:115px; }.hero-caption strong { font-size:25px; }.intro-strip { display:flex; flex-direction:column; }.strip-image { min-height:0; height:370px; }.strip-content { padding:54px 28px 44px; }.strip-content h2,.section-heading h2,.expertise-intro h2 { font-size:58px; }.strip-aside { display:block; padding:10px 28px 70px; }.section-shell { padding:72px 22px; }.about-layout,.expertise-layout { display:flex; flex-direction:column; padding-top:48px; }.section-heading img { width:70%; margin:0 0 0 auto; }.about-copy { padding-top:0; }.about-copy .lead-paragraph { font-size:23px; }.about-quote { margin-top:32px; }.about-quote p { font-size:22px; }.signature-line img { width:120px; }.expertise-intro { padding-top:48px; }.service-grid { grid-template-columns:repeat(2,1fr); margin-top:48px; }.service-card { min-height:280px; padding:24px 18px 26px 0; }.service-card:nth-child(2) { border-right:0; }.service-card:nth-child(n+3) { border-top:1px solid var(--line); padding-top:28px; }.service-card .service-arrow { right:12px; }.expertise-layout { margin-top:48px; }.expertise-image img { height:440px; }.expertise-image span { right:0; bottom:22px; font-size:20px; }.service-item h3 { font-size:26px; }.site-footer { display:flex; flex-direction:column; gap:52px; padding:70px 22px 22px; }.footer-bottom { gap:10px; flex-direction:column; margin-top:4px; }.footer-column h3 { font-size:41px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }

/* Títulos profissionais em duas linhas controladas: cada frase permanece íntegra e legível. */
.about .section-heading h2 span, .about .section-heading h2 em { display:block; white-space:nowrap; }
.about .section-heading h2 { font-size:clamp(45px,5vw,74px); }
@media (max-width:680px) { .about .section-heading h2 { font-size:clamp(43px,14vw,58px); } }

/* Reforço do cabeçalho fixo: ao rolar, mantém somente o símbolo A e preserva o respiro do CTA. */
.site-header.is-scrolled .brand-wordmark { display: none !important; }
.site-header.is-scrolled .brand-symbol { display: block !important; width: 34px; height: 38px; }
.site-header.is-scrolled .brand-symbol img { width: 76px; }
.site-header .nav-cta { padding-left: 32px; padding-right: 32px; }

/* Ícones temáticos dos tratamentos: presença visual maior e leitura imediata. */
.service-card .service-icon { font-size: 38px; line-height: 1; }

/* Títulos dos tratamentos em linha única no desktop; no mobile, a quebra permanece natural. */
@media (min-width: 901px) {
  .service-card h3 { max-width: none; white-space: nowrap; font-size: clamp(21px, 2vw, 27px); }
}

/* Correção do menu mobile */
.menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 8px;
  border: 0;
  background: transparent;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

.menu-toggle span {
  display: block;
  width: 26px;
  height: 2px;
  background: var(--ink, #1d1d1b);
  border-radius: 2px;
  transition: transform .25s ease, opacity .25s ease;
}

@media (max-width: 680px) {
  .menu-toggle {
    display: flex;
    position: relative;
    z-index: 12;
    flex-shrink: 0;
  }
}

.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Fim da correção do menu mobile */
