body{
  margin:0;
  font-variation-settings:var(--fs-inter-text);
}

/* Button (variante secondary, usada no header) */
.btn{
  font-family:var(--font-body);
  font-weight:600;
  cursor:pointer;
  border-radius:var(--radius-sm);
  transition:background var(--duration-standard) var(--ease-standard),color var(--duration-standard) var(--ease-standard);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.btn:hover{
  text-decoration:none;
}
.btn--secondary{
  border:1px solid var(--color-border-strong);
  font-size:13px;
  padding:7px 14px;
  background:transparent;
  color:var(--color-text);
}
.btn--secondary:hover{
  color:var(--color-text);
}

/* Header */
.header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:20;
  background:var(--color-bg);
  border-bottom:var(--border-hairline);
  padding:18px clamp(16px,4vw,32px);
  width:100%;
  box-sizing:border-box;
  transition:transform var(--duration-standard) var(--ease-standard),opacity var(--duration-standard) var(--ease-standard),visibility 0s linear var(--duration-standard);
  transform:translateY(-100%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.header.is-visible{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
  transition-delay:0s;
  pointer-events:auto;
}
.header__inner{
  max-width:1920px;
  margin:0 auto;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.header__logo{
  height:26px;
  display:block;
}

/* Hero */
.hero{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  padding:clamp(16px,4vw,32px);
  width:100%;
  background-color:var(--creme);
  box-sizing:border-box;
}
.hero__inner{
  flex:1;
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:1920px;
  margin:0 auto;
  height:100%;
  align-self:stretch;
}
.hero__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  width:100%;
}
.hero__logo{
  height:30px;
  width:auto;
  display:block;
}
.hero__eyebrow{
  font-size:var(--text-eyebrow);
  font-weight:600;
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--color-text-secondary);
  text-align:right;
}
.hero__middle{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100%;
  text-align:center;
}
.hero__content{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:4px;
  max-width:960px;
}
.hero__bottom{
  display:flex;
  justify-content:center;
  width:100%;
}
.hero__title{
  font-family:var(--font-display);
  font-variation-settings:var(--fs-display-fraunces);
  font-weight:800;
  font-size:var(--text-display-1);
  line-height:var(--lh-display);
  letter-spacing:var(--ls-display);
  color:var(--quase-preto);
  margin:0;
  text-wrap:pretty;
  width:100%;
}
.hero__title-accent{
  color:var(--color-accent);
}
.hero__subtitle{
  margin:8px 0 0;
  font-size:clamp(17px,1.1rem + 0.4vw,21px);
  line-height:var(--lh-body);
  color:var(--color-text-secondary);
  max-width:100%;
  text-wrap:pretty;
}

/* Problema */
.problema{
  background:var(--color-bg-dark);
  width:100%;
  padding:clamp(80px,12vh,144px) clamp(16px,4vw,32px);
  box-sizing:border-box;
}
.problema__inner{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:clamp(40px,6vw,80px);
  align-items:center;
}
.problema__text{
  flex:2 1 380px;
  display:flex;
  flex-direction:column;
  gap:28px;
}
.problema__text p{
  margin:0;
  font-size:18px;
  line-height:1.7;
  color:#C9C3BE;
  text-wrap:pretty;
}
.problema__quote{
  flex:1 1 260px;
  display:flex;
  gap:16px;
  align-items:center;
  font-size:clamp(24px,1.4rem + 1.2vw,36px);
  flex-direction:column;
}
.problema__quote p{
  margin:0;
  font-family:var(--font-display);
  font-variation-settings:var(--fs-display-fraunces-soft);
  font-weight:600;
  font-size:1em;
  line-height:1.25;
  color:var(--color-text-inverse);
  text-wrap:pretty;
  text-align:center;
}
.problema__quote img{
  height:0.62em;
  width:auto;
  flex:none;
}

/* Card (design system) */
.card{
  background:var(--color-surface);
  border:var(--border-hairline);
  border-radius:var(--radius-md);
  padding:var(--space-6);
}

/* SectionHeader (design system) */
.section-header{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  max-width:640px;
}
.section-header__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:var(--text-h2);
  line-height:var(--lh-heading);
  color:var(--color-text);
}
.section-header__description{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--text-body-lg);
  line-height:var(--lh-body);
  color:var(--color-text-secondary);
}

/* Mecanismo */
.mecanismo{
  width:100%;
  padding:clamp(80px,12vh,144px) clamp(16px,4vw,32px);
  box-sizing:border-box;
}
.mecanismo__inner{
  width:100%;
  max-width:1200px;
  margin:0 auto;
}
.mecanismo__header{
  max-width:100%;
}
.mecanismo__cards{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-top:56px;
}
@media(min-width:640px){
  .mecanismo__cards{
    grid-template-columns:1fr 1fr;
  }
  .mecanismo__cards>*:nth-child(3){
    grid-column:span 2;
  }
}
@media(min-width:960px){
  .mecanismo__cards{
    grid-template-columns:1fr 1fr 1fr;
  }
  .mecanismo__cards>*:nth-child(3){
    grid-column:auto;
  }
}
.mecanismo__card-content{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.mecanismo__card-number{
  font-family:var(--font-display);
  font-variation-settings:var(--fs-text-fraunces);
  font-weight:700;
  font-size:26px;
  color:var(--color-accent);
  line-height:1;
}
.mecanismo__card-title{
  margin:0;
  font-family:var(--font-display);
  font-variation-settings:var(--fs-text-fraunces);
  font-weight:650;
  font-size:24px;
  line-height:var(--lh-tight);
  color:var(--color-text);
  text-wrap:pretty;
}
.mecanismo__card-text{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:var(--color-text);
  text-wrap:pretty;
}
.mecanismo__footer{
  max-width:100%;
  margin:40px 0 0;
  font-size:var(--text-body-lg);
  line-height:var(--lh-body);
  color:var(--color-text-secondary);
  text-wrap:pretty;
}
.mecanismo__footer strong{
  font-weight:600;
  color:var(--color-text);
}

/* Sobre */
.sobre{
  background:var(--color-bg-dark);
  width:100%;
  padding:clamp(80px,12vh,144px) clamp(16px,4vw,32px);
  box-sizing:border-box;
}
.sobre__inner{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:clamp(40px,6vw,80px);
  align-items:flex-start;
}
.sobre__photo{
  flex:1 1 280px;
  max-width:400px;
  aspect-ratio:4/5;
  border-radius:var(--radius-md);
  overflow:hidden;
  box-sizing:border-box;
}
.sobre__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sobre__text{
  flex:1.6 1 400px;
  display:flex;
  flex-direction:column;
  gap:24px;
}
.sobre__eyebrow{
  font-size:var(--text-eyebrow);
  font-weight:700;
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--color-accent);
}
.sobre__title{
  margin:0;
  font-family:var(--font-display);
  font-variation-settings:var(--fs-text-fraunces);
  font-weight:650;
  font-size:var(--text-display-3);
  line-height:var(--lh-heading);
  color:var(--color-text-inverse);
  text-wrap:pretty;
}
.sobre__text p{
  margin:0;
  font-size:17px;
  line-height:var(--lh-body);
  color:#C9C3BE;
  text-wrap:pretty;
}
.sobre__link{
  color:#C9C3BE;
  text-decoration:underline;
}
.sobre__link:hover{
  color:var(--creme);
}

/* Button (variante accent, usada no CTA final) */
.btn--accent{
  font-size:17px;
  line-height:1;
  padding:20px 36px;
  background:var(--creme);
  color:var(--color-accent);
  display:inline-block;
}
.btn--accent:hover{
  background:var(--branco);
  color:var(--color-accent-hover);
}

/* CTA final */
.cta-final{
  background:var(--color-accent);
  width:100%;
  padding:clamp(112px,18vh,208px) clamp(16px,4vw,32px);
  box-sizing:border-box;
}
.cta-final__inner{
  max-width:1920px;
  margin:0 auto;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:48px;
  text-align:center;
}
.cta-final__mark{
  height:20px;
  width:auto;
}
.cta-final__title{
  margin:0;
  font-family:var(--font-display);
  font-variation-settings:var(--fs-display-fraunces);
  font-weight:800;
  font-size:var(--text-display-1);
  line-height:var(--lh-display);
  letter-spacing:var(--ls-display);
  color:var(--creme);
  max-width:880px;
  text-wrap:pretty;
}

/* Footer */
.footer{
  width:100%;
  padding:var(--space-6) clamp(16px,4vw,32px);
  background-color:var(--carmim);
  box-sizing:border-box;
}
.footer__inner{
  max-width:1920px;
  margin:0 auto;
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-direction:row;
}
.footer__logo{
  height:16px;
  align-self:center;
}
.footer__copyright{
  font-size:var(--text-caption);
  color:var(--creme);
  display:flex;
  flex-direction:row;
  gap:4px;
}
.footer__email{
  color:var(--creme);
  text-decoration:underline;
}
