/* ===== HERO (bg com overlay e marca d’água) ===== */
.page-hero{
  position: relative;
  background:
    url('../images/Background/Backgorundhero.png') center / cover no-repeat;
  color:#fff;
  text-align:center;
  min-height: clamp(360px, 48vh, 560px);
  display: grid;
  place-items: center;
  padding: 0 16px;
  overflow: hidden; /* garante que a marca não vaze */
}

.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background-image: url("../images/Background/brand-wallpaper.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1400px auto;  /* controla o tamanho do logo */
  opacity: .18;                  /* deixa discreto */
}

.page-hero .container{
  position: relative; /* mantém o conteúdo por cima */
  width: min(1100px, 96vw);
  margin: 0 auto;
}

.page-hero h1{
  font-family: "Merriweather", serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  line-height: 1.15;
  margin: 0 0 .55rem;
  text-wrap: balance;
}

.page-hero .lead{
  color: #E6ECF0;
  margin: 0 auto;
  max-width: 900px;
  font-size: clamp(0.98rem, 1.5vw, 1.15rem);
  line-height: 1.55;
}

@media (max-width: 1200px){
  .page-hero::before{ background-size: 1100px auto; }
}
@media (max-width: 900px){
  .page-hero::before{ background-size: 900px auto; }
}
@media (max-width: 600px){
  .page-hero::before{ background-size: 680px auto; }
}

@media (max-width: 420px){
  .page-hero{ min-height: 380px; }
}


/* ===== SOBRE O DR. ===== */
.sobre-dr { background:#f7f9fb; padding:64px 0; }

.sobre-dr-grid {
  display:grid;
  grid-template-columns: 1.05fr 1.4fr;
  gap:36px;
  align-items:start;
}

.dr-foto img{
  width:100%; height:auto; display:block; object-fit:cover;
  border-radius:16px; box-shadow:0 16px 42px rgba(17,33,45,.12);
}

.dr-texto h2{
  font-family:"Merriweather", serif; font-weight:700;
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  color:#11212D; margin-bottom:6px;
}
.dr-sub{ color:#5a6a76; margin-bottom:14px; }

.dr-creds{
  list-style:none; padding:0; margin:0 0 14px 0; display:grid; gap:6px;
}
.dr-creds li{ color:#334a57; display:flex; align-items:center; gap:8px; }
.dr-creds .dot{ width:8px; height:8px; border-radius:50%; background:#11212D; display:inline-block; }

.dr-citacao{
  background:#fff; border:1px solid rgba(17,33,45,.08);
  border-left:4px solid #11212D; border-radius:12px;
  padding:18px 18px 14px; margin:12px 0 18px;
  box-shadow:0 8px 28px rgba(0,0,0,.05);
}
.dr-citacao span{ display:block; color:#11212D; font-size: clamp(1rem,1.6vw,1.1rem); }
.dr-citacao cite{ display:block; margin-top:6px; color:#7a8a95; font-style:normal; font-size:.95rem; }

.dr-texto p{ color:#334a57; line-height:1.65; margin:10px 0 0; }
.dr-pontos{ margin:14px 0 0; padding-left:18px; color:#334a57; }
.dr-pontos li{ margin:6px 0; }

.dr-cta{ display:flex; gap:12px; margin-top:18px; }

.dr-assinatura{ margin-top:22px; display:grid; justify-items:start; gap:8px; }
.dr-assinatura img{ height:54px; width:auto; object-fit:contain; opacity:.95; }
.dr-assinatura .linha{ width:220px; height:1px; background:rgba(17,33,45,.25); }
.dr-assinatura .assin-info{ color:#334a57; font-size:.95rem; }

@media (max-width:980px){
  .sobre-dr-grid{ grid-template-columns:1fr; gap:20px; }
  .dr-foto{ order:-1; }
}

/* ===== TIMELINE ===== */
.timeline-pro{ background:#fff; padding:60px 0; }

.tl{
  position:relative;
  display:grid;
  gap:56px;
  margin:0;
  padding:0;
  list-style:none;
}
.tl::before{
  content:"";
  position:absolute;
  inset:0 auto 0 50%;
  transform: translateX(-1px);
  width:2px;
  background: rgba(17,33,45,.15);
}

.tl-item{
  position:relative;
  display:grid;
  grid-template-columns: 1fr clamp(16px,2.2vw,22px) 1fr;
  align-items:start;
  gap:28px;
}

.tl-pin{
  grid-column:2;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#11212D;
  box-shadow:0 0 0 6px rgba(17,33,45,.12);
  justify-self:center;
  margin-top:.4rem;
}

.tl-card{
  grid-column:1;
  background:#fff;
  border:1px solid rgba(17,33,45,.08);
  border-radius:14px;
  padding:18px 20px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.tl-card h3{ margin:0 0 4px; font-family:"Merriweather", serif; }
.tl-card .tl-date{ display:block; color:#5b6b75; margin-bottom:8px; }

.tl-side{ grid-column:3; }

/* imagens da timeline – também relativas */
.tl-media{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
  border-radius:14px;
  display:block;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}

.tl-side-box{
  background:#0F2430; color:#fff;
  border-radius:14px; padding:16px 18px;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.tl-side-box p{ color:#E6ECF0; margin:.25rem 0 0; }

.tl-item:nth-child(even) .tl-card{ grid-column:3; }
.tl-item:nth-child(even) .tl-side{ grid-column:1; }

/* animação opcional */
@keyframes dropIn {
  from { opacity:0; transform: translateY(-26px) scale(.985); filter: blur(1px); }
  to   { opacity:1; transform:none; filter:none; }
}
.reveal{ opacity:0; transform: translateY(-26px); }
.reveal--in{ animation: dropIn 950ms cubic-bezier(.22,.61,.36,1) both; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; }
  .reveal--in{ animation:none; }
}

/* mobile */
@media (max-width:980px){
  .tl::before{ left:22px; transform:none; }
  .tl-item{ grid-template-columns: 22px 1fr; gap:16px 18px; }
  .tl-pin   { grid-column: 1; }
  .tl-card  { grid-column: 2; }
  .tl-side  { grid-column: 2; }
  .tl-item:nth-child(even) .tl-card { grid-column: 2; }
  .tl-item:nth-child(even) .tl-side { grid-column: 2; }
  .tl-media{ width:100%; height:auto; object-fit:contain; margin-top:6px; }
  .tl-side-box{ margin-top:8px; }
}

/* ===== DEPOIMENTOS ===== */
.depoimentos{ background:#fff; padding:56px 0; }
.dep-title{
  font-family: "Merriweather", serif; font-weight:700;
  text-align:center; color:#11212D; margin-bottom:18px;
}
.dep-wrap{
  position:relative; display:grid;
  grid-template-columns:auto 1fr auto; align-items:center; gap:10px;
}
.dep-btn{
  width:44px; height:44px; border:0; border-radius:12px;
  background:#11212D; color:#fff; display:grid; place-items:center;
  cursor:pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.dep-btn:hover{ transform: translateY(-1px); box-shadow:0 8px 20px rgba(0,0,0,.12); }
.dep-btn[disabled]{ opacity:.4; cursor:not-allowed; }

.dep-viewport{ overflow:hidden; }
.dep-track{
  --gap:28px;
  display:flex; gap:var(--gap);
  will-change: transform;
  transition: transform .35s ease;
  padding:14px 2px;
}
.dep-card{
  flex:0 0 calc((100% - 2 * var(--gap)) / 3);
  background:#f6f8fa; border:1px solid rgba(17,33,45,.08);
  border-radius:14px; padding:20px 18px;
  box-shadow:0 2px 0 rgba(17,33,45,.03);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, opacity .35s ease;
  opacity:.85;
}
.dep-card blockquote{ margin:0 0 10px 0; font-size:1.05rem; line-height:1.55; color:#193241; }
.dep-card footer{ color:#5b6b75; font-size:.95rem; }
.dep-card.is-center{ transform:scale(1.12); box-shadow:0 16px 32px rgba(0,0,0,.1); border-color:rgba(17,33,45,.18); opacity:1; }
.dep-card.is-prev,.dep-card.is-next{ transform:scale(1.02); }
.dep-card.is-hidden{ opacity:0; pointer-events:none; transform:scale(.98); }
@media (max-width:900px){ .dep-card{ flex-basis:86vw; } }

/* pequenos ajustes */
.tl-item > .tl-card, .tl-item > .tl-side { min-width:0; }
.tl-side-box { max-width:100%; word-break:break-word; }
.sobre-dr-grid{ align-items:start; }
.dr-foto{ margin:0; }
.dr-foto img{ display:block; object-fit:cover; }
