:root{
  --paper:#F7F5F8;
  --ink:#241030;
  --roxo:#601884;
  --mist:#E3DCE8;
  --magenta:#E4007E;
  --muted:#6B5C75;

  --serif:'Spectral', Georgia, serif;
  --sans:'IBM Plex Sans', system-ui, sans-serif;

  --gut:clamp(20px,5vw,64px);
  --rule:1px solid var(--mist);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;letter-spacing:-.015em}
p{margin:0 0 1.1em}
a{color:inherit}
:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:2px}

.wrap{max-width:1180px;margin:0 auto;padding:0 var(--gut)}

/* ---------- topo ---------- */
.top{
  position:sticky;top:0;z-index:20;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(8px);
  border-bottom:var(--rule);
}
.top-in{display:flex;align-items:center;gap:32px;padding-block:14px}
.mark{display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap}
.mark img{height:38px;width:auto;display:block}
.mark b{font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.15;display:block;color:var(--ink)}
.mark span{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.11em;color:var(--muted);margin-top:1px}
.logo-full{width:180px;height:auto;display:block}
.nav{display:flex;gap:26px;margin-left:auto;font-size:15px}
.nav a{text-decoration:none;color:var(--muted);padding-block:4px;border-bottom:1px solid transparent}
.nav a:hover{color:var(--ink);border-color:var(--roxo)}

.btn{
  display:inline-block;font-family:var(--sans);font-size:15px;font-weight:400;
  padding:11px 22px;border-radius:999px;text-decoration:none;border:1px solid var(--roxo);
  background:var(--roxo);color:#fff;cursor:pointer;transition:background .18s ease;
}
.btn:hover{background:#4A0F69}
.btn.ghost{background:transparent;color:var(--roxo)}
.btn.ghost:hover{background:rgba(96,24,132,.07)}
.top .btn{padding:9px 18px}

/* ---------- hero ---------- */
.hero{padding-top:clamp(48px,7vw,92px);padding-bottom:clamp(40px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,330px) minmax(0,258px);grid-template-areas:"txt brain painel";gap:clamp(20px,3vw,44px);align-items:center}
.hero-txt{grid-area:txt}
.hero-brain{grid-area:brain}
h1{font-size:clamp(2.2rem,3.6vw,3.3rem);line-height:1.06}
h1 em{font-style:italic;font-weight:300}
.lead{font-size:1.02rem;color:var(--muted);max-width:40ch;margin-top:22px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:var(--rule);border-bottom:var(--rule);margin-top:clamp(40px,6vw,72px)}
.facts div{padding:30px 28px;border-right:var(--rule);display:flex;flex-direction:column;justify-content:center}
.facts div:first-child{padding-left:0}
.facts div:last-child{border-right:0;padding-right:0}
.facts strong{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:400;line-height:1.35;margin-bottom:10px;color:var(--ink)}
.facts p{margin:0;font-size:15px;color:var(--muted);line-height:1.6}

/* ---------- cérebro interativo ---------- */
.stage{position:relative;max-width:330px;margin-inline:auto}
.brain{width:100%;height:auto;display:block;filter:drop-shadow(0 26px 40px rgba(36,16,48,.14))}
.lobes{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lobe{fill:var(--roxo);fill-opacity:0;stroke:none;cursor:pointer;transition:fill-opacity .22s ease}
.lobe:hover{fill-opacity:.3}
.lobe.on{fill-opacity:.3}
.lobe:focus-visible{outline:none;fill-opacity:.34;stroke:var(--magenta);stroke-width:2.5}
.hint{font-size:13.5px;color:var(--muted);text-align:center;margin:16px 0 0}

.panel{grid-area:painel;border-left:var(--rule);padding-left:clamp(18px,2vw,26px);min-height:300px}
.panel h3{font-size:1.2rem;font-weight:400;line-height:1.25;margin-bottom:8px}
.panel .desc{color:var(--muted);font-size:15px;line-height:1.55;margin:0}
.grp{margin-top:18px}
.grp > p{font-size:13px;color:var(--roxo);margin:0 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{list-style:none;border:var(--rule);border-radius:999px;padding:4px 12px;font-size:12.5px;line-height:1.4;color:var(--muted);background:rgba(255,255,255,.5)}

@media (prefers-reduced-motion:reduce){
  .lobe{transition:none}
  html{scroll-behavior:auto}
}

/* ---------- seções ---------- */
section{padding-block:clamp(56px,7vw,104px);border-top:var(--rule)}
.cols{display:grid;grid-template-columns:minmax(0,22ch) 1fr;gap:clamp(24px,5vw,72px)}
.cols h2{font-size:clamp(1.75rem,2.7vw,2.35rem);line-height:1.15}
.cols .aside{color:var(--muted);font-size:15px;margin-top:18px;max-width:30ch}

/* tratamentos */
.section-head{margin-bottom:clamp(28px,4vw,44px)}
.section-head h2{font-family:var(--serif);font-size:clamp(1.85rem,3vw,2.5rem);font-weight:400;margin:0 0 10px;color:var(--ink)}
.section-head .aside{font-size:1.05rem;color:var(--muted);max-width:64ch;line-height:1.5;margin:0}

.treat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.treat-card{background:rgba(255,255,255,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--mist);border-radius:16px;padding:30px 26px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease}
.treat-card:hover{transform:translateY(-4px);border-color:var(--roxo);background:#fff;box-shadow:0 16px 36px rgba(96,24,132,.08)}
.treat-icon{width:50px;height:50px;border-radius:14px;background:#F4EDF8;color:var(--roxo);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:transform .3s ease,background .3s ease,color .3s ease}
.treat-card:hover .treat-icon{transform:scale(1.08);background:var(--roxo);color:#fff}
.treat-card h3{font-family:var(--serif);font-size:1.24rem;font-weight:400;line-height:1.35;color:var(--ink);margin:0 0 10px}
.treat-card p{font-size:14.5px;color:var(--muted);line-height:1.6;margin:0}
ul{padding:0;margin:0}

/* dra */
.bio-grid{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.portrait{
  position:relative;aspect-ratio:4/5;width:100%;border-radius:12px;overflow:hidden;
  background:linear-gradient(165deg,#EFE9F3 0%,#D8C7E2 100%);
  border:1px solid var(--mist);
  box-shadow:0 16px 36px rgba(36,16,48,.1),0 4px 12px rgba(96,24,132,.06);
  transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border-color .3s ease;
  cursor:pointer;
}
.portrait:hover{
  transform:translateY(-6px) scale(1.01);
  border-color:var(--roxo);
  box-shadow:0 24px 50px rgba(96,24,132,.18),0 8px 24px rgba(36,16,48,.12);
}
.portrait img{
  position:absolute;left:50%;bottom:0;width:104%;transform:translateX(-50%) scale(1);display:block;
  transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s ease;
  filter:saturate(.96) contrast(1.02);
}
.portrait:hover img{
  transform:translateX(-50%) scale(1.06);
  filter:saturate(1.06) contrast(1.06);
}
.portrait::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 50%,rgba(96,24,132,.12) 100%);
  pointer-events:none;opacity:.5;transition:opacity .4s ease;
}
.portrait:hover::after{opacity:1}
.bio p{max-width:62ch}
.bio blockquote{
  margin:28px 0 0;padding-left:22px;border-left:2px solid var(--roxo);
  font-family:var(--serif);font-size:1.32rem;line-height:1.45;font-style:italic;color:var(--ink);
}
.path{margin-top:38px;border-top:var(--rule)}
.path li{list-style:none;display:grid;grid-template-columns:6.5ch 1fr;gap:20px;padding:15px 0;border-bottom:var(--rule);font-size:15.5px}
.path span{font-family:var(--serif);color:var(--roxo);font-size:15px}
.path b{font-weight:500}
.path small{display:block;color:var(--muted);font-size:14.5px}

/* mídia */
#midia {
  background: linear-gradient(180deg, #F5EEF9 0%, #EFE3F5 100%);
}
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.media-card{
  border:1px solid rgba(96,24,132,.14);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:28px 26px;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease;
}
.media-card:hover{
  border-color:var(--roxo);
  transform:translateY(-4px);
  background:#ffffff;
  box-shadow:0 16px 36px rgba(96,24,132,.1);
}
.media-tag{
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--roxo);
  background:#F4EDF8;
  border:1px solid rgba(96,24,132,.12);
  padding:4px 12px;
  border-radius:999px;
  margin-bottom:14px;
}
.media-card h3{font-family:var(--serif);font-size:1.25rem;font-weight:400;line-height:1.3;margin-bottom:10px;color:var(--ink)}
.media-card p{font-size:14.5px;color:var(--muted);line-height:1.55;margin:0 0 18px;flex-grow:1}
.media-link{font-size:14px;font-weight:500;color:var(--roxo);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:gap .2s ease,color .2s ease}
.media-link:hover{color:#4A0F69;gap:8px}

/* consulta */
#consulta .cols{grid-template-columns:minmax(0,340px) 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.section-tag{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--roxo);margin-bottom:10px}
.consulta-head h2{font-size:clamp(1.75rem,2.7vw,2.35rem);line-height:1.15;color:var(--ink)}
.consulta-head .aside{color:var(--muted);font-size:15px;margin-top:14px;line-height:1.6}
.consulta-tip{
  display:flex;gap:14px;align-items:flex-start;margin-top:24px;
  padding:18px 20px;background:#F4EDF8;border:1px solid rgba(96,24,132,.14);
  border-radius:14px;box-shadow:0 4px 14px rgba(96,24,132,.04);
}
.consulta-tip svg{color:var(--roxo);flex-shrink:0;margin-top:2px}
.consulta-tip strong{display:block;font-size:13.5px;font-weight:500;color:var(--ink);margin-bottom:4px}
.consulta-tip p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;margin:0}
.step-card{
  list-style:none;background:rgba(255,255,255,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid var(--mist);border-radius:16px;padding:28px 22px;
  display:flex;flex-direction:column;align-items:flex-start;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease;
}
.step-card:hover{
  transform:translateY(-4px);border-color:var(--roxo);background:#fff;
  box-shadow:0 16px 36px rgba(96,24,132,.08);
}
.step-num{
  width:44px;height:44px;border-radius:12px;
  background:#F4EDF8;color:var(--roxo);
  font-family:var(--serif);font-size:1.15rem;font-weight:500;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;transition:transform .3s ease,background .3s ease,color .3s ease;
}
.step-card:hover .step-num{transform:scale(1.08);background:var(--roxo);color:#fff}
.step-card h3{font-family:var(--serif);font-size:1.2rem;font-weight:400;line-height:1.3;color:var(--ink);margin-bottom:8px}
.step-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}

/* hospitais */
.hosp{display:flex;flex-wrap:wrap;gap:10px}
.hosp li{list-style:none;border:var(--rule);border-radius:999px;padding:7px 17px;font-size:15px;color:var(--muted)}

/* contato */
.contact-grid{display:grid;grid-template-columns:1fr minmax(0,420px);gap:clamp(28px,5vw,72px);align-items:start}
.info dt{font-size:13.5px;color:var(--muted);margin-top:20px}
.info dd{margin:2px 0 0;font-size:1.05rem}
.info dd a{text-decoration:none;border-bottom:1px solid var(--mist)}
.info dd a:hover{border-color:var(--roxo)}
.form{display:grid;gap:14px}
label{display:block;font-size:13.5px;color:var(--muted);margin-bottom:5px}
input,textarea{
  width:100%;font-family:var(--sans);font-size:16px;font-weight:300;color:var(--ink);
  background:transparent;border:0;border-bottom:1px solid var(--mist);padding:9px 0;
}
input:focus,textarea:focus{outline:none;border-bottom-color:var(--roxo)}
textarea{resize:vertical;min-height:88px}
.form .btn{justify-self:start;margin-top:8px}
.social{display:flex;gap:18px}
.social a{font-size:15px}
.map{margin-top:clamp(36px,5vw,64px);border:var(--rule);border-radius:2px;overflow:hidden;line-height:0}
.map iframe{width:100%;height:clamp(260px,34vw,400px);border:0;display:block;filter:saturate(.62) contrast(1.03)}
.note{font-size:13.5px;color:var(--muted);margin:0}

/* rodapé */
footer{border-top:var(--rule);padding-block:44px;font-size:14.5px;color:var(--muted)}
.foot{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:flex-start}
.foot a{text-decoration:none}
.foot a:hover{color:var(--ink)}
.foot .credito{border-bottom:1px solid var(--mist)}
.foot .credito:hover{border-color:var(--roxo)}
.foot p{margin:0;max-width:44ch}

@media (max-width:1024px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,250px);grid-template-areas:"txt txt" "brain painel";align-items:start}
  .hero-brain{padding-top:6px}
  .treat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav{display:none}
  .hero-grid{grid-template-columns:1fr;grid-template-areas:"txt" "brain" "painel"}
  .bio-grid,.contact-grid{grid-template-columns:1fr}
  .panel{border-left:0;border-top:var(--rule);padding-left:0;padding-top:24px;min-height:0}
  .steps{grid-template-columns:1fr}
  .media-grid{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr;border-bottom:0}
  .facts div{border-right:0;border-bottom:var(--rule);padding:24px 0}
  .facts div:first-child{padding-left:0}
  .facts div:last-child{border-bottom:0;padding-right:0}
  .treat-grid{grid-template-columns:1fr;gap:16px}
  .cols{grid-template-columns:1fr}
  .portrait{max-width:clamp(260px,82vw,340px);margin-inline:auto}
}
@media (max-width:600px){
  .top-in{gap:12px;padding-block:10px;justify-content:space-between}
  .mark span{display:none}
  .top .btn{padding:8px 14px;font-size:13.5px;white-space:nowrap}
  .foot{flex-direction:column;gap:16px}
}
@media (max-width:480px){
  .hero-cta{flex-direction:column;width:100%}
  .hero-cta .btn{width:100%;text-align:center}
  .path li{gap:12px}
}

