:root{--coffee:#4A3B31;--caramel:#8A6F5B;--beige:#CDB9A6;--paper:#F3EFE9;--sage:#A7AD9A;--ink:#4A3B31;--muted:#6b5d52;--line:#4a3b3129;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.8 var(--sans);-webkit-font-smoothing:antialiased}body,button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}p+p{margin-top:1.15rem}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h1{font-size:clamp(3.35rem,6vw,5.75rem);letter-spacing:-.045em}h2{font-size:clamp(2.7rem,4.3vw,4.2rem);letter-spacing:-.035em}h3{font-size:2.65rem;letter-spacing:-.025em}em{font-weight:400;color:var(--caramel)}a,button,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--caramel);outline-offset:5px}::selection{background:var(--beige);color:var(--coffee)}.container{width:min(1200px,calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:.875rem;letter-spacing:.13em;line-height:1.65;text-transform:uppercase;font-weight:500;margin-bottom:1.25rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;padding:14px 26px;background:var(--coffee);border:1px solid var(--coffee);border-radius:40px;color:var(--paper);font-weight:500;font-size:.9rem;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#655040;transform:translateY(-2px)}.button span{font-size:1.35rem}.button-small{min-height:46px;padding:10px 22px;gap:24px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:.9rem;font-weight:600;border-bottom:1px solid var(--caramel);padding-block:8px;line-height:1.5}.text-link span{font-size:1.25rem;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--coffee);color:white;padding:12px 20px}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:30;background:#f3efe9f5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:24px}.brand{display:flex;gap:15px;align-items:center;flex-shrink:0}.brand-monogram{display:grid;place-items:center;width:48px;height:58px;border:1px solid var(--beige);border-radius:50% 50% 3px 3px;font:italic 2.1rem/1 var(--serif)}.brand-name{display:block;font:500 1.9rem/1.15 var(--serif);letter-spacing:-.02em}.brand-detail{display:block;font-size:.75rem;letter-spacing:.055em;margin-top:5px;white-space:nowrap}.header-inner nav{display:flex;gap:28px;align-items:center}.header-inner nav>a:not(.button){font-size:.875rem;min-height:44px;display:flex;align-items:center}.header-inner nav>a:not(.button):hover{color:var(--caramel)}.menu-toggle{display:none}.hero{padding-block:76px 90px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px}.hero .eyebrow{display:flex;align-items:center;gap:16px;font-size:.8rem;letter-spacing:.11em}.small-rule{width:32px;height:1px;background:var(--caramel);flex-shrink:0}.hero h1{max-width:680px}.hero-intro{max-width:480px;margin-top:28px;line-height:1.85;color:var(--muted)}.hero .button{margin-top:30px}.hero-services{margin-top:25px;font-size:.875rem;line-height:1.9;color:var(--muted)}.location-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sage);margin-right:5px}.hero-portrait{position:relative;margin-right:24px;align-self:center}.portrait-frame{height:590px;border-radius:240px 240px 5px 5px;overflow:hidden;background:var(--beige);outline:1px solid var(--beige);outline-offset:12px}.portrait-frame img{height:100%;width:100%;object-fit:cover;object-position:50% 30%}.hero-portrait figcaption{position:absolute;bottom:26px;left:-32px;display:flex;flex-direction:column;gap:5px;background:var(--paper);padding:20px 28px;border:1px solid var(--line);border-radius:3px;box-shadow:0 8px 30px #4a3b3109}.portrait-name{font:500 1.65rem/1.2 var(--serif)}.hero-portrait figcaption>span+span{font-size:.75rem;letter-spacing:.04em}.portrait-side{position:absolute;right:-40px;bottom:0;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.intro-strip{border-block:1px solid var(--line)}.intro-strip>.container{display:flex;justify-content:center;align-items:center;gap:40px;padding-block:23px;font:400 1.45rem/1.5 var(--serif)}.strip-separator{color:var(--caramel);font-size:1.2rem}
.about{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:center}.about-portrait{padding:10px;border:1px solid var(--line);border-radius:220px 220px 3px 3px;overflow:hidden}.about-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 28%;border-radius:210px 210px 0 0;background:var(--beige)}.about-portrait figcaption{padding:20px 12px 12px;text-align:center;font:italic 1.35rem/1.5 var(--serif)}.about-copy h2{margin-bottom:28px}.about-copy>p:not(.eyebrow){color:var(--muted)}.about-signature{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:flex;flex-direction:column;gap:6px;font-size:.85rem}.crp{font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.services{background:#e8e0d6}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:48px}.section-heading>p{max-width:325px;color:var(--muted);padding-bottom:5px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service-card{display:flex;flex-direction:column;align-items:flex-start;padding:42px;background:var(--paper);border:1px solid var(--line);border-radius:4px}.couple-card{background:var(--sage);border-color:transparent}.card-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:34px}.card-top svg{width:36px;height:36px}.index{font:400 1.6rem/1 var(--serif);color:var(--caramel)}.couple-card .index{color:var(--coffee)}.service-card h3{font-size:3.1rem;margin-bottom:23px}.service-card p{font-size:1rem;line-height:1.85}.service-card p+p{margin-top:14px;margin-bottom:28px}.service-card .text-link{margin-top:auto;width:100%;padding-block:16px 4px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.approach h2{margin-bottom:26px}.approach>div>p:not(.eyebrow){color:var(--muted)}.approach-list{list-style:none;margin:0;padding:0}.approach-list li{display:flex;gap:28px;padding:30px 0;border-bottom:1px solid var(--line)}.approach-list li:first-child{border-top:1px solid var(--line)}.approach-list .index{margin-top:6px}.approach-list h3{font-size:2.1rem;margin-bottom:12px}.approach-list p{font-size:1rem;color:var(--muted)}
.modalities{background:var(--coffee);color:var(--paper)}.modalities em{color:var(--beige)}.modalities .eyebrow{color:var(--beige)}.modalities .section-heading>p{color:#e0d7ce}.modality-grid{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #f3efe933}.modality-grid article{padding:40px 50px 40px 0;display:flex;align-items:flex-start;flex-direction:column}.modality-grid article+article{border-left:1px solid #f3efe933;padding:40px 0 40px 50px}.modality-grid .eyebrow{font-size:.75rem;letter-spacing:.1em}.modality-grid h3{font-size:2.75rem;margin-bottom:22px}.modality-grid p:not(.eyebrow){color:#e0d7ce;font-size:1rem;max-width:470px;margin-bottom:18px}.modality-grid address{font-style:normal;font-size:.9rem;line-height:1.8;color:#e0d7ce;margin-bottom:18px}.modality-grid .text-link{margin-top:auto;border-color:var(--beige);color:var(--paper)}.hours{font-size:.875rem;color:#e0d7ce;padding-top:28px}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.faq-heading>p:not(.eyebrow){max-width:260px;margin-top:24px;color:var(--muted)}.faq-heading .text-link{margin-top:22px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:23px 0;line-height:1.6;font-size:1rem;font-weight:500}summary::-webkit-details-marker{display:none}summary>span{font-family:var(--sans);font-weight:400;font-size:1.5rem;flex-shrink:0;color:var(--caramel)}details[open]>summary>span{transform:rotate(45deg)}.faq-answer{padding:0 32px 26px 0;font-size:1rem;color:var(--muted)}.closing{background:var(--sage);padding-block:90px}.closing-inner{text-align:center;max-width:880px}.closing h2{font-size:clamp(3rem,5.4vw,4.8rem);line-height:1.06}.closing em{color:var(--coffee)}.closing-inner>p:not(.eyebrow){max-width:590px;margin:27px auto 30px}.button-light{background:var(--paper);color:var(--coffee);border-color:transparent}.button-light:hover{background:#fffaf4}
footer{padding-top:64px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:64px;padding-bottom:50px}.footer-brand{display:block}.footer-main p{font-size:.85rem;color:var(--muted);margin-top:18px}.footer-main .eyebrow{font-size:.75rem;margin-bottom:12px}.footer-contact,.footer-more{display:flex;flex-direction:column;align-items:flex-start}.footer-contact>a,.footer-more>a{font-size:.875rem;min-height:44px;display:flex;align-items:center;gap:18px}.footer-main a:hover{color:var(--caramel)}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-block:20px 28px;font-size:.75rem;color:var(--muted)}.footer-bottom>a{min-height:40px;display:flex;align-items:center}.footer-bottom>span{align-self:center}.floating-contact{position:fixed;right:24px;bottom:24px;z-index:25;display:flex;align-items:center;justify-content:center;gap:12px;width:58px;height:58px;background:var(--coffee);color:var(--paper);border:1px solid #f3efe94d;border-radius:50%;box-shadow:0 5px 20px #4a3b3129}.floating-contact svg{width:26px;height:26px}.floating-contact>span{display:none}.floating-contact:hover{background:#655040}
@media(min-width:1500px){.hero{gap:95px;padding-block:96px 110px}.portrait-frame{height:620px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner nav{gap:18px}.brand-monogram{display:none}.hero{gap:45px}.portrait-frame{height:535px}.hero h1{font-size:4.5rem}.about,.approach,.faq{gap:56px}.section{padding-block:88px}.section-heading{gap:40px}.service-card{padding:32px}.footer-main{gap:30px}}
@media(max-width:800px){html{scroll-padding-top:6rem}.container{width:calc(100% - 40px)}.header-inner{min-height:82px;flex-wrap:wrap;gap:0}.brand-name{font-size:1.7rem}.brand-detail{font-size:.7rem}.header-inner nav{width:100%;flex-wrap:wrap;gap:10px 24px;padding:14px 0 20px}.header-inner nav>a:not(.button){font-size:.9rem}.menu-toggle:not([hidden]){display:flex;align-items:center;gap:12px;background:none;border:0;padding:10px 0 10px 15px;min-height:44px;font-size:.875rem}.menu-lines{width:22px;height:10px;border-block:1px solid var(--coffee);transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg)}.js .header-inner nav{display:none}.js .header-inner nav[data-open=true]{display:flex}.hero{padding-block:46px 64px;gap:50px;grid-template-columns:1fr}.hero-copy{max-width:600px}.hero .eyebrow{font-size:.75rem;margin-bottom:20px}.hero h1{font-size:clamp(3.25rem,8.7vw,4.6rem);line-height:1.02;letter-spacing:-.035em;max-width:600px}.hero-intro{margin-top:22px;max-width:520px;font-size:1rem}.hero .button{margin-top:25px}.hero-services{margin-top:21px;font-size:.8rem}.hero-portrait{width:min(80%,370px);margin:0 auto}.portrait-frame{height:440px;outline-offset:9px}.hero-portrait figcaption{left:-20px;bottom:24px;padding:16px 22px}.portrait-side{right:-32px;font-size:.65rem}.intro-strip>.container{gap:20px;padding-block:21px;font-size:1.25rem}.section{padding-block:68px}.about{grid-template-columns:1fr;gap:36px}.about-copy{grid-row:1}.about-portrait{max-width:390px;width:100%;margin-inline:auto}.about-copy h2{margin-bottom:24px}.about-signature{margin-top:24px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:520px;margin-top:20px}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{padding:30px}.card-top{margin-bottom:24px}.service-card h3{font-size:2.7rem}.service-card h3 br{display:none}.service-card h3 br::after{content:' '}.service-card h3{max-width:370px}.service-card p{font-size:1rem}.service-card .text-link{font-size:.875rem}.approach{grid-template-columns:1fr;gap:35px}.approach-list li{padding:25px 0}.approach-list p{font-size:1rem}.modality-grid{grid-template-columns:1fr}.modality-grid article{padding:30px 0}.modality-grid article+article{padding:30px 0;border-left:0;border-top:1px solid #f3efe933}.modality-grid h3{font-size:2.4rem}.modality-grid p:not(.eyebrow){font-size:1rem;max-width:none}.modality-grid address{font-size:1rem}.hours{line-height:1.8}.faq{grid-template-columns:1fr;gap:30px}.faq-heading h2 br{display:none}.faq-heading h2 br::after{content:' '}.faq-heading>p:not(.eyebrow){max-width:none;margin-top:18px}.faq-heading .text-link{margin-top:15px}.faq-answer{font-size:1rem}.closing{padding-block:64px}.closing h2{font-size:3.4rem}.closing .eyebrow{font-size:.75rem}.footer-main{grid-template-columns:1fr 1fr;gap:32px}.footer-main>div:first-child{grid-column:1/-1}.footer-main .eyebrow{font-size:.75rem}.footer-main p{font-size:.875rem}.footer-bottom{align-items:flex-start;flex-direction:column;gap:3px}.footer-bottom>span{align-self:flex-start}.floating-contact{height:52px;width:auto;left:20px;right:20px;bottom:max(14px,env(safe-area-inset-bottom));border-radius:40px}.floating-contact>span{display:inline;font-size:.875rem;font-weight:500}.floating-contact svg{width:23px;height:23px}footer{padding-top:48px;padding-bottom:80px}}
@media(max-width:400px){.hero h1{font-size:3.2rem}.hero .eyebrow{font-size:.68rem;gap:10px}.hero-services{font-size:.78rem}.portrait-frame{height:380px}.intro-strip>.container{gap:12px;font-size:1.1rem}.service-card{padding:26px}.service-card .text-link{gap:10px;font-size:.83rem}.closing h2{font-size:3rem}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.footer-bottom{font-size:.7rem}}
.mobile-only{display:none}
.faq-group{border:0;min-width:0}
.faq-group>.faq-group-toggle{display:none}
/* No celular, o conteudo tem uma edicao propria, alem do layout responsivo. */
@media(max-width:800px){
  .desktop-only,.header-inner nav>a.desktop-only{display:none!important}
  .mobile-only{display:block}
  .header-inner{min-height:72px}
  .hero{padding-block:30px 32px;display:block}
  .hero .eyebrow,.hero-services,.hero-portrait{display:none}
  .hero h1{font-size:clamp(2.8rem,10.5vw,3.8rem);line-height:1.04;max-width:520px}
  .hero-intro{margin-top:18px;line-height:1.7}
  .hero .button{margin-top:21px;min-height:50px}
  .section{padding-block:36px}
  .about{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;padding-block:24px 32px;border-top:1px solid var(--line)}
  .about-portrait{grid-column:1;grid-row:1;padding:0;border:0;border-radius:55px 55px 3px 3px;align-self:start;margin-top:4px}
  .about-portrait img{height:132px;aspect-ratio:auto;border-radius:55px 55px 3px 3px;object-fit:cover}
  .about-portrait figcaption,.about-copy>.eyebrow,.about-signature{display:none}
  .about-copy{grid-column:2;grid-row:1}
  .about-copy h2{font-size:1.9rem;margin-bottom:9px;letter-spacing:-.025em}
  .about-copy>.about-short{font-size:1rem;line-height:1.6;margin:0}
  .section-heading{margin-bottom:22px}
  .section-heading .eyebrow,.section-heading>p{display:none}
  .section-heading h2{font-size:2.2rem;line-height:1.1}
  .service-grid{gap:14px}
  .service-card{padding:22px 24px}
  .card-top,.service-card>p+p{display:none}
  .service-card h3{font-size:2rem;margin-bottom:10px}
  .service-card p{font-size:1rem;line-height:1.65}
  .service-card .text-link{font-size:.875rem;min-height:44px;padding:10px 0 3px;margin-top:12px}
  .approach{display:none}
  .modalities .section-heading{margin-bottom:22px}
  .modality-grid{border:0;gap:20px}
  .modality-grid article,.modality-grid article+article{padding:0;border:0}
  .modality-grid article>.eyebrow,.modality-grid article:first-child>.text-link,.modality-grid article+article>p:not(.eyebrow){display:none}
  .modality-grid h3{font-size:1.7rem;margin-bottom:7px}
  .modality-grid p:not(.eyebrow){margin:0;line-height:1.6}
  .modality-grid address{font-size:1rem;line-height:1.6;margin:0}
  .modality-grid .text-link{margin-top:5px}
  .hours{font-size:.875rem;padding-top:18px;margin-top:18px;border-top:1px solid #f3efe933}
  .faq{display:block;padding-block:24px}
  .faq-heading{display:none}
  .faq-group{border-block:1px solid var(--line)}
  .faq-group>.faq-group-toggle{display:flex;padding:16px 0;font-size:1rem}
  .faq-group>.faq-list{border-top:0}
  .faq-list summary{padding:16px 0;font-size:.9375rem}
  .faq-list details:last-child{border-bottom:0}
  .closing{display:none}
  footer{padding-top:10px}
  .footer-main{display:block;padding-bottom:18px}
  .footer-main>div:first-child,.footer-more,.footer-contact>.eyebrow{display:none}
  .footer-contact{flex-direction:row;flex-wrap:wrap;column-gap:24px}
  .footer-contact>a{font-size:.875rem}
  .footer-bottom{padding-block:14px 0;gap:0}
}
@media(min-width:520px) and (max-width:800px){
  .about{grid-template-columns:100px minmax(0,1fr)}
  .modality-grid{grid-template-columns:1fr 1fr;gap:30px}
}
/* Movimento discreto, sem interferir na rolagem pelo dedo ou pelo mouse. */
:root{--ease-soft:cubic-bezier(.22,1,.36,1)}
.site-header{transition:background-color 260ms ease,box-shadow 260ms ease,border-color 260ms ease}
.header-inner{transition:min-height 280ms var(--ease-soft)}
.brand-monogram{transition:height 280ms var(--ease-soft)}
.site-header[data-scrolled=true]{background:#f3efe9eb;border-bottom-color:#4a3b3117;box-shadow:0 5px 24px #4a3b3108}
.site-header[data-scrolled=true] .header-inner{min-height:84px}
.site-header[data-scrolled=true] .brand-monogram{height:46px}
.header-inner nav>a:not(.button){position:relative;transition:color 200ms ease}
.header-inner nav>a:not(.button)::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--caramel);transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--ease-soft)}
.header-inner nav>a:focus-visible::after{transform:scaleX(1)}
.button,.floating-contact{transition:background-color 220ms ease,border-color 220ms ease,box-shadow 260ms ease,transform 260ms var(--ease-soft)}
.button:hover{transform:none}
.button>span[aria-hidden=true],.text-link>span[aria-hidden=true]{transition:transform 260ms var(--ease-soft)}
.service-card{border-radius:10px;transition:box-shadow 300ms ease,border-color 300ms ease}
.services{border-block:1px solid #4a3b3110}
.modalities{border-top:1px solid #f3efe92b}
.closing{border-block:1px solid #4a3b3114}
summary{transition:color 200ms ease}
summary>span{transition:transform 240ms var(--ease-soft)}
@media(hover:hover) and (pointer:fine){
  .header-inner nav>a:hover::after{transform:scaleX(1)}
  .button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #4a3b3114}
  .button:hover>span[aria-hidden=true]{transform:translate(2px,-2px)}
  .service-card:hover{box-shadow:0 12px 32px #4a3b3110;border-color:#4a3b313d}
  .floating-contact:hover{transform:translateY(-2px);box-shadow:0 8px 22px #4a3b3129}
  summary:hover{color:var(--caramel)}
}
.button:active,.floating-contact:active{transform:scale(.985);box-shadow:none}
.button:focus-visible,.floating-contact:focus-visible{box-shadow:0 0 0 5px #cdb9a640}
@media(max-width:800px){
  .site-header[data-scrolled=true] .header-inner{min-height:64px}
  .service-card{border-radius:8px}
  .header-inner nav[data-open=true]{animation:menu-appear 180ms ease-out}
}
@keyframes menu-appear{from{opacity:.5}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .button:hover,.button:active,.floating-contact:hover,.floating-contact:active,.text-link:hover>span,.button:hover>span[aria-hidden=true]{transform:none}
}

/* Janela sobre o simbolo da logo: nome e CRP permanecem como texto legivel. */
.brand-symbol{position:relative;display:block;width:72px;height:44px;overflow:hidden;flex-shrink:0}
.brand-symbol img{position:absolute;width:120.58%;max-width:none;height:auto;left:-12.02%;top:-28.35%}
@media(max-width:1100px) and (min-width:801px){.brand-symbol{width:56px;height:34px}.site-header .brand{gap:10px}}
@media(max-width:800px){.brand-symbol{width:48px;height:29.3px}.site-header .brand{gap:10px}}
@media(max-width:380px){.site-header .brand{gap:8px}.site-header .brand-name{font-size:1.45rem}.site-header .brand-detail{letter-spacing:0;font-size:.65rem}.brand-symbol{width:40px;height:24.4px}}
