@font-face{font-family:Cormorant;src:url(/assets/fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:Jost;src:url(/assets/fonts/jost.woff2) format("woff2");font-weight:300 700;font-display:swap}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:1.125rem/1.6 Jost,system-ui,sans-serif}
h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:600;line-height:1.2;margin:0 0 .6em;text-wrap:balance}
h1{font-size:clamp(2.3rem,7vw,3.7rem);letter-spacing:-.01em;max-width:16ch}
h2{font-size:clamp(1.8rem,4.5vw,2.5rem);max-width:22ch}
h3{font-size:1.45rem}
p,li{max-width:var(--measure)}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
img,svg{display:block;max-width:100%;height:auto}  /* height:auto: width/height attrs set the ratio, never stretch */

.wrap{max-width:62rem;margin:0 auto;padding:0 1.25rem}
section{padding:3.5rem 0}
.band{background:var(--band)}

/* header */
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0}
.who{line-height:1.25;display:flex;align-items:center;gap:.8rem}
.who b{font-family:Cormorant,Georgia,serif;font-weight:600;font-size:1.1rem;display:block}
.who small{color:var(--muted);font-size:.9rem}
.top nav{display:flex;align-items:center;gap:1rem}
.top nav a:not(.btn){font-size:.95rem}
a.who{color:inherit;text-decoration:none}
.who small{display:block}  /* CRM line + postgraduate line stack; both may wrap on a phone */
.top .logo{height:2.6rem;width:auto;flex:none}
@media (max-width:30rem){.top nav a:not(.btn){display:none}}  /* English stays reachable from the hero line and the footer, Blog from the home section */

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.3rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--accent);min-height:48px}
.btn-main{background:var(--accent);color:#fff}
.btn-main:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn-alt{color:var(--accent);background:transparent}
.btn-alt:hover{background:var(--band)}
.btn svg{width:1.25rem;height:1.25rem;flex:none}
.top .btn{padding:.55rem 1rem;font-size:.95rem}

/* hero */
.hero{padding:2.5rem 0 0}
.hero-photo{display:block;width:100%;max-width:20rem;margin:2rem auto 0;aspect-ratio:4/5;object-fit:cover;border-radius:1.25rem}  /* Amanda: photo also on the phone, below the text */
@media (min-width:52rem){
  .hero .wrap{display:grid;grid-template-columns:1fr 19rem;gap:3rem;align-items:center}
  .hero-photo{max-width:none;margin:0;height:auto}
}
.hero .lead{font-size:1.25rem;color:var(--muted);margin:0 0 1.75rem}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}
.fine{font-size:.95rem;color:var(--muted)}

/* steps: a real sequence, so numbered */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:1.75rem;counter-reset:s}
.steps li{counter-increment:s;padding-left:3.2rem;position:relative}
.steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;font:600 1.9rem/1 Cormorant,Georgia,serif;color:var(--accent)}
.steps h3{margin-bottom:.3em}
.steps p{margin:0}
@media (min-width:52rem){.steps{grid-template-columns:repeat(3,1fr)}}

.plain{padding-left:1.2rem}
.plain li{margin-bottom:.55rem}
.plain li::marker{color:var(--accent)}

.urgent{border-left:4px solid var(--alert);padding:.25rem 0 .25rem 1rem;margin:0 0 1.5rem}
.urgent strong{color:var(--alert)}

/* about */
.about{display:grid;gap:2rem;align-items:start}
.about img{width:100%;max-width:18rem;margin:0 auto;aspect-ratio:4/5;object-fit:cover;border-radius:1.25rem;background:var(--band)}
@media (min-width:52rem){.about{grid-template-columns:18rem 1fr}}
.creds{list-style:none;padding:0;margin:1.25rem 0 0}
.creds li{padding:.5rem 0;border-top:1px solid var(--line)}
.badge{display:inline-block;background:var(--accent);color:#fff;padding:.4rem .9rem;border-radius:999px;font-weight:700;font-size:.95rem;margin:0 0 1rem}

/* faq: native details */
details{border-top:1px solid var(--line);padding:.9rem 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin:.6rem 0 0}

.final{text-align:left}
footer{padding:2.5rem 0 6rem;font-size:.92rem;color:var(--muted)}
footer p{margin:.3rem 0}

/* floating WhatsApp, always reachable on mobile */
.float{position:fixed;right:1rem;bottom:1rem;z-index:10;box-shadow:0 6px 18px rgb(27 42 38 / .25)}
@media (min-width:52rem){.float{right:1.5rem;bottom:1.5rem}}


/* blog: list, home preview (nginx SSI), post */
.blog-home:not(:has(.card)){display:none}  /* no posts yet: the include is empty */
/* home: right after "Como funciona", same band (no top padding = one continuous band); the card is a lighter panel so it stands out */
.blog-home{padding-top:0}
.blog-home .card{background:var(--bg);border:0;border-radius:1.25rem;padding:1rem}
.blog-home .card h3{font-size:1.5rem}
@media (min-width:40rem){.blog-home .card{padding:1.25rem}.blog-home .card:has(img){grid-template-columns:18rem 1fr}}
.card{position:relative;display:grid;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--line)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.25rem}
@media (min-width:40rem){.card:has(img){grid-template-columns:15rem 1fr;gap:1.75rem;align-items:start}}
.card h2,.card h3{font-size:1.35rem;margin:.25rem 0 .4rem}
.card h2 a,.card h3 a{color:inherit;text-decoration:none}
.card h2 a::after,.card h3 a::after{content:"";position:absolute;inset:0}  /* the whole card is the link */
.card a:hover{text-decoration:underline}
.card p{margin:0}
.data{font-size:.92rem;color:var(--muted);margin:0}
.mais{display:flex;flex-wrap:wrap;gap:1.5rem;margin:.5rem 0 0}
.blog,.post{padding:2.5rem 0 3rem}
.blog .lead{color:var(--muted)}
.post .wrap{max-width:44rem}
.autor{color:var(--muted);font-size:.95rem;margin:0 0 2rem}
.texto h2{margin-top:2.2rem}
.texto img{border-radius:1rem;margin:1.5rem 0}
.texto blockquote{margin:1.5rem 0;padding-left:1rem;border-left:3px solid var(--accent);color:var(--muted)}
.texto table{border-collapse:collapse;display:block;overflow-x:auto}
.texto th,.texto td{border-bottom:1px solid var(--line);padding:.4rem .7rem;text-align:left}

@media (max-width:30rem){.badge{font-size:.72rem;padding:.35rem .75rem;white-space:nowrap}}  /* one line on a phone */

/* "Nas redes": Instagram official embeds, swipe row on a phone, three columns on desktop */
.redes{display:grid;grid-auto-flow:column;grid-auto-columns:min(88%,24rem);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem 0 .5rem;-webkit-overflow-scrolling:touch}
.redes>*{scroll-snap-align:start;min-width:0}
.redes .instagram-media{margin:0!important;min-width:0!important;max-width:100%!important;width:100%!important}
@media (min-width:52rem){.redes{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible}}

/* Art: original line art / blobs in the language of her Instagram posts. Decorative only (alt="", aria-hidden). */
section{position:relative;overflow:hidden}
.wrap{position:relative}
.art{position:absolute;pointer-events:none;user-select:none;z-index:0;height:auto;max-width:none}
.wrap>*:not(.art){position:relative;z-index:1}
.js .art{opacity:0;transform:translateY(1.4rem);transition:opacity 1.8s ease,transform 1.8s ease}
.js .art.vis{opacity:var(--o,1);transform:none}
@media (prefers-reduced-motion:reduce){.js .art{transition:none}}
.art-mancha{--o:.55}
.art-ramo{--o:.8}
.art-ondas{--o:1}
.art-hero{width:15rem;right:-4.5rem;bottom:-2rem}
.art-hero-ondas{width:26rem;left:-6rem;top:-1.5rem}
.art-ramo-dir{width:8.5rem;right:-1.5rem;top:-1rem}
.art-canto{width:13rem;right:-5rem;bottom:-5rem;--o:.35}
.art-ramo-esq{width:8rem;right:-2rem;top:-2rem}
.art-redes-ondas{width:30rem;right:-8rem;top:-1rem}
.art-ramo-final{width:8rem;right:0;top:-1rem}
@media (min-width:52rem){
  .art-hero{width:27rem;right:-5rem;top:1rem;bottom:auto}
  .art-hero-ondas{width:44rem;left:-14rem;top:-3rem}
  .art-ramo-dir{width:15rem;right:-1rem;top:-2.5rem}
  .art-canto{width:24rem;right:-6rem;bottom:-9rem}
  .art-ramo-esq{width:13rem;left:auto;right:-2rem;top:-3rem}
  .art-redes-ondas{width:52rem;right:-14rem}
  .art-ramo-final{width:12rem;right:2rem;top:-2rem}
}
/* her posts open every block with a short vinho line */
section h2::before{content:"";display:block;width:3rem;height:2px;background:var(--accent);opacity:.7;margin:0 0 .9rem}
.hero h1::before{display:none}
/* art inside the .about grid must not inherit the photo box styling */
.about>.art{aspect-ratio:auto;background:none;border-radius:0;margin:0;object-fit:fill;max-width:none}
.art-ramo-esq{--o:.55}
.art-ramo-dir{--o:.7}
@media (min-width:52rem){
  .art-redes-ondas{width:40rem;right:-9rem;top:-3.5rem;--o:.8}
  .art-ramo-esq{width:12rem;right:-5rem;top:auto;bottom:-3.5rem}
}

/* round 2: keep lines off the headline, and out-rank `.about img{width:100%}` */
.art-hero-ondas{left:auto;right:-9rem;top:auto;bottom:-1.5rem;width:21rem}
.about>.art.art-ramo-esq{width:8rem;right:-2rem;left:auto;top:-2rem;height:auto}
@media (min-width:52rem){
  .art-hero-ondas{right:-19rem;bottom:-4rem;width:46rem}
  .about>.art.art-ramo-esq{width:12rem;right:-5rem;top:auto;bottom:-3.5rem}
}
.indic{margin:1.25rem 0 0;color:var(--muted,inherit)}
/* "O que dizem meus pacientes": Doctoralia excerpts in a swipe carousel (snapshot, no third-party call) */
.dl{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:1.25rem;padding:1.25rem 1.25rem 1rem;margin:0 0 1.25rem}
.dl-head{margin-bottom:1rem}.dl-head img{position:absolute;bottom:1.7rem;left:1.25rem;height:1.1rem;width:auto}.dl-head span{font-size:.9rem;color:var(--muted)}
.dl-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.dl-track::-webkit-scrollbar{display:none}
.dl-slide{flex:0 0 100%;scroll-snap-align:start;margin:0;padding:.25rem .25rem .5rem;box-sizing:border-box}
.dl-slide blockquote{margin:0 0 .75rem;font-family:"Cormorant",serif;font-size:1.45rem;line-height:1.35}.dl-slide blockquote p{margin:0}
.dl-slide figcaption{font-size:.95rem;color:var(--muted)}
.dl-nav{display:flex;gap:.5rem;justify-content:flex-end}.dl-nav button{width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:1.4rem;line-height:1;cursor:pointer}.dl-nav button:hover{background:var(--band)}
#avaliacoes .btn{font-size:.9rem;padding:.6rem 1.1rem;min-height:44px}
@media (max-width:22rem){#avaliacoes .btn{font-size:.8rem;padding:.6rem .9rem}}
@media (max-width:22rem){.badge{font-size:.64rem;padding:.35rem .6rem}}
