/* Design System — tipografia e tokens compartilhados (fonte: Home) */
:root{
  --petrol:#0F2233;
  --ice:#F7F5F2;
  --off:#F2EDE6;
  --travertine:#E8E2D8;
  --linen:#EDE8E0;
  --oak:#C4B5A0;
  --bronze:#8B7355;
  --gold:#A68B5B;
  --text:#0F2233;
  --muted:#0F2233;
  --copy-x:clamp(2rem,5vw,4.5rem);
}
@media(min-width:900px){
  :root{--copy-x:clamp(3.5rem,5.8vw,5.5rem)}
}

/* ——— Header (componente idêntico à Home) ——— */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:92px;background:rgba(247,245,242,.97);
  border-bottom:1px solid rgba(232,226,216,.65);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.header-bar{
  width:100%;min-height:92px;
  display:flex;align-items:center;
  padding:0 clamp(1.25rem,3vw,2.5rem) 0 10px;
  gap:clamp(1.25rem,2.5vw,2.5rem);
}
.header .brand{
  display:flex;align-items:center;
  gap:clamp(.65rem,1.1vw,.9rem);
  flex:0 0 auto;
}
.header .nav{
  flex:1 1 auto;
  min-width:0;
  display:none;
}
.header .btn{
  flex:0 0 auto;
  margin-left:auto;
  padding:.78rem 1.3rem;font-size:.62rem;white-space:nowrap;
  font-weight:500;letter-spacing:.15em;
  transition:opacity .22s ease, transform .22s ease;
}
.header .btn:hover{opacity:.9;transform:translateY(-1px)}
.header .brand img{
  display:block;
  width:auto;
  height:clamp(2.45rem,3.8vw,3rem);
  max-width:none;
  object-fit:contain;
  object-position:left center;
}
.header .brand-text strong{
  display:block;font-family:'Cormorant Garamond',serif;
  font-size:clamp(.98rem,1.2vw,1.12rem);
  font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--petrol);
  line-height:1.15;
}
.header .brand-text span{
  display:block;
  font-size:clamp(.64rem,.78vw,.74rem);
  font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--petrol);margin-top:.28rem;
}
.nav{display:none}
.nav a{
  font-size:clamp(.62rem,.7vw,.72rem);letter-spacing:.12em;text-transform:uppercase;
  color:var(--petrol);font-weight:500;white-space:nowrap;
  transition:opacity .22s ease;
}
.nav a:hover{opacity:.72}
@media(min-width:900px){
  .header{
    background:linear-gradient(90deg, rgba(247,245,242,.98) 0%, rgba(247,245,242,.97) 38%, rgba(247,245,242,.82) 48%, rgba(247,245,242,.45) 58%, rgba(247,245,242,.14) 68%, transparent 80%);
    border-bottom-color:rgba(232,226,216,.35);
  }
  .header .btn{margin-left:0}
  .header .nav{
    display:flex;
    flex:1 1 auto;
    justify-content:space-between;
    align-items:center;
    gap:clamp(.85rem,2vw,2.25rem);
    padding:0 clamp(1rem,2.5vw,3rem);
  }
  .header .nav a{
    flex:0 1 auto;
    text-align:center;
  }
}

/* ——— Tipografia global (Home) ——— */
.display{
  font-family:'Cormorant Garamond',serif;
  font-weight:400;
  line-height:1.14;
  letter-spacing:-.01em;
  color:var(--petrol);
  font-size:clamp(2.1rem,3.6vw,3.65rem);
  margin-bottom:0;
  max-width:22rem;
}
.display em,
.gold{color:var(--gold);font-style:italic;font-weight:400}
.display strong{font-weight:600}
/* Linha dourada do H1 no hero (Home: .hero-copy h1::after) */
.hero-copy > h1.display::after,
.hero-copy > .display::after{
  content:'';
  display:block;
  width:2.75rem;
  height:1px;
  background:var(--gold);
  margin-top:1.35rem;
}
.display .hero-title-line{display:block}
@media(min-width:900px){
  .display{
    font-size:clamp(2.35rem,3.35vw,3.65rem);
    max-width:21rem;
  }
  .display .hero-title-line{white-space:nowrap}
}

.label{
  font-size:.65rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--bronze);
  font-weight:500;
  margin-bottom:2.5rem;
}

.body-text{
  font-size:1rem;
  color:var(--petrol);
  max-width:32rem;
  line-height:1.9;
  font-weight:300;
}
.body-text + .body-text{margin-top:1.5rem}

/* Contexto hero-copy (Home): corpo sob o H1 */
.hero-copy .body-text{
  max-width:30rem;
  line-height:1.78;
  font-size:.9rem;
  color:var(--petrol);
  opacity:.92;
  margin-top:1.35rem;
}
.hero-copy .body-text + .body-text{margin-top:.85rem}
/* Label opcional no hero: sem segunda linha dourada (a linha fica no H1, como na Home) */
.hero-copy > .treatment-label::after{content:none;display:none;margin:0}

/* ——— Hero principal (Home) — estrutura + layout ——— */
.hero{
  padding-top:92px;
  min-height:calc(100vh - 0px);
  min-height:100svh;
  padding-bottom:0;
  display:grid;
  grid-template-columns:1fr;
  overflow-x:clip;
  overflow-y:visible;
  background:var(--ice);
  position:relative;
}
.hero-copy{
  padding:clamp(2rem,5vh,3rem) var(--copy-x) clamp(2rem,4.5vh,3rem);
  display:flex;flex-direction:column;justify-content:center;
  background:var(--ice);
  position:relative;z-index:2;
  max-width:36rem;
}
.hero-copy .btn-hero-solid{
  margin-top:1.85rem;align-self:flex-start;
  padding:.9rem 1.65rem;font-size:.66rem;
  letter-spacing:.16em;font-weight:500;
  transition:opacity .22s ease, transform .22s ease;
}
.hero-copy .btn-hero-solid:hover{opacity:.9;transform:translateY(-1px)}
.hero-visual{
  min-height:clamp(220px,42vw,360px);
  background:var(--ice);
  position:relative;
  z-index:1;
  overflow:hidden;
}
.hero-visual img{
  width:100%;height:100%;
  min-height:inherit;
  object-fit:cover;
  object-position:center center;
  filter:brightness(1.08) contrast(.82) saturate(.8) sepia(.05);
}
.hero-visual::before{
  content:'';
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(247,245,242,.4) 0%, rgba(247,245,242,.12) 8%, transparent 20%),
    linear-gradient(108deg, rgba(255,244,232,.18) 0%, rgba(255,244,232,.04) 28%, transparent 48%);
}
.hero-visual::after{
  content:'';
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(to right, var(--ice) 0%, rgba(247,245,242,.5) 4%, transparent 14%);
}
.hero-visual.editorial-frame img{filter:brightness(1.08) contrast(.82) saturate(.8) sepia(.05)}
@media(min-width:900px){
  .hero{
    padding-top:0;
    min-height:100svh;
    display:block;
    overflow-x:clip;
    overflow-y:visible;
  }
  .hero-copy{
    width:44%;
    max-width:32rem;
    min-height:100svh;
    padding:calc(92px + 2rem) clamp(2rem,3.5vw,3rem) 2.5rem var(--copy-x);
    justify-content:center;
  }
  .hero-visual{
    position:absolute;
    top:0;right:0;bottom:0;
    width:56%;
    min-height:100svh;
    margin:0;
    z-index:0;
  }
  .hero-visual img{
    min-height:100%;
    height:100%;
    object-position:center center;
  }
  .hero-visual::before{
    background:
      linear-gradient(to bottom, rgba(247,245,242,.45) 0%, rgba(247,245,242,.14) 7%, transparent 18%),
      linear-gradient(108deg, rgba(255,244,232,.2) 0%, rgba(255,244,232,.05) 26%, transparent 46%);
  }
  .hero-visual::after{
    background:linear-gradient(to right, var(--ice) 0%, rgba(247,245,242,.55) 3%, transparent 12%);
  }
}

/* Label de seção editorial (Home: O tratamento / Como entendemos o cuidado) */
.treatment-label,
.care-split-label{
  font-size:.65rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--petrol);
  font-weight:500;
  margin-bottom:0;
}
.treatment-label::after,
.care-split-label::after{
  content:'';
  display:block;
  width:2.5rem;
  height:1px;
  background:var(--gold);
  margin:1rem 0 0;
}

/* Título de seção (Home: Cada plano terapêutico é único) */
.treatment-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.15rem,5.8vw,3.25rem);
  line-height:1.1;
  color:var(--petrol);
  font-weight:500;
  margin:2rem 0 1.75rem;
  letter-spacing:-.015em;
}
.treatment-title .treatment-title-line{display:block}
@media(min-width:900px){
  .treatment-title{
    margin:2.15rem 0 1.85rem;
    font-size:clamp(2.5rem,3.15vw,3.35rem);
    line-height:1.08;
  }
  .treatment-title .treatment-title-line{white-space:nowrap}
}

/* Texto descritivo de seção (Home: treatment-desc) */
.treatment-desc{
  font-size:.9rem;
  line-height:1.82;
  color:var(--petrol);
  opacity:.88;
  max-width:20rem;
  margin-bottom:2.5rem;
  font-weight:300;
}
.treatment-desc-line{display:inline}
@media(min-width:900px){
  .treatment-desc{
    max-width:18.5rem;
    margin-bottom:2.65rem;
  }
  .treatment-desc-line{display:block}
}

/* Contêiner tipográfico do bloco Treatment (Home) — measure compartilhada */
.treatment-copy{max-width:none}
@media(min-width:900px){
  .treatment-copy{max-width:19.5rem}
}

/* Acreditamos — label Cormorant (Home) */
.believe .label{
  font-family:'Cormorant Garamond',serif;
  text-align:center;
  margin-bottom:0;
  font-size:clamp(.92rem,1.12vw,1.05rem);
  font-weight:600;
  color:var(--petrol);
  letter-spacing:.24em;
}
.believe .label::after{
  content:'';
  display:block;
  width:2.5rem;
  height:1px;
  background:var(--gold);
  margin:.65rem auto 0;
}

/* Itens Acreditamos (Home) — reutilizáveis fora do grid */
.num{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.45rem,1.85vw,1.75rem);
  font-weight:600;
  letter-spacing:.16em;
  color:var(--petrol);
  margin-bottom:.75rem;
  display:block;
}
.believe-heading{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.25rem,2vw,1.5rem);
  line-height:1.36;
  color:var(--petrol);
  font-weight:600;
  margin:0 0 .7rem;
  max-width:16rem;
}
.believe-desc{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:clamp(.875rem,.95vw,.925rem);
  line-height:1.72;
  color:var(--petrol);
  font-weight:400;
  margin:0;
  max-width:14rem;
}
