@font-face{font-family:Onest;src:url("../assets/fonts/onest-latin.woff2") format("woff2");font-display:swap;font-weight:100 900}
:root{--pink:#e6298a;--blue:#a9e5f6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Onest,Arial,sans-serif;color:#050505;font-size:16px;line-height:1.55;background:#fff}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1290px,calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;left:20px;top:-60px;background:#fff;padding:12px 18px;border-radius:8px}.skip-link:focus{top:20px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:13px 25px;font-weight:750;cursor:pointer;transition:transform .2s,background .2s}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button--pink{background:var(--pink);color:#fff}.button--pink:hover,.button--pink:focus-visible{background:#111}.site-header{position:absolute;z-index:20;inset:0 0 auto;background:rgba(0,0,0,.85);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{height:110px;display:flex;align-items:center;gap:42px}.brand img{width:143px}.main-nav{margin-left:auto}.main-nav ul{display:flex;align-items:center;gap:72px;list-style:none;margin:0;padding:0}.main-nav a{font-size:15px;font-weight:650;position:relative}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--pink);transition:right .25s}.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a.is-current::after{right:0}.header-cta{font-size:14px}.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;padding:9px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:6px 0}.about-hero{height:760px;position:relative;overflow:hidden;background:#333 url("../assets/images/about-hero.webp") center/cover no-repeat}.about-hero__video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.24),transparent 35%)}.story-section{padding:65px 0 90px}.story-copy{text-align:center;max-width:1100px}.eyebrow{color:var(--pink);font-weight:800;margin:0 0 7px}.story-copy h1,.section-heading{font-size:36px;line-height:1.2;margin:0 0 24px}.story-copy p{margin:0 0 18px}.partner-grid{display:grid;grid-template-columns:repeat(3,210px);justify-content:center;gap:50px;margin-top:48px}.partner-grid img{width:210px;border-radius:15px}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:80px}.principle{text-align:center;padding:35px 28px;background:#dff7ff;border-radius:14px;box-shadow:0 8px 28px rgba(60,150,180,.14)}.principle>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:var(--pink);color:#fff;font-weight:800}.principle h2{font-size:18px;margin:0 0 12px}.principle p{font-size:14px;margin:0}.team-section{padding:60px 0 100px;text-align:center}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:50px 20px;margin-top:45px}.team-card img{width:100%;border-radius:12px}.team-card h3{font-size:16px;margin:15px 0 2px}.team-card p{font-size:12px;margin:0 0 10px}.team-card>a{display:grid;place-items:center;margin:auto;width:26px;height:26px;border-radius:50%;background:#35b8e8;color:#fff;font-weight:800}.faq-section{padding:75px 0}.faq-panel{background:#a9e5f6;border-radius:15px;padding:55px 50px}.faq-panel h2{font-size:32px;margin:0 0 30px}.faq-list{display:grid;gap:9px}.faq-list details{background:#fff}.faq-list summary{cursor:pointer;list-style:none;padding:15px 20px;font-weight:650;position:relative}.faq-list summary::after{content:"+";position:absolute;right:20px}.faq-list details[open] summary::after{content:"−"}.faq-list details p{margin:0;background:#050505;color:#fff;padding:16px 20px;font-size:14px}.testimonials-section{padding:85px 0 110px;text-align:center}.testimonial-shell{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.testimonial-track{display:flex;gap:26px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:20px 4px}.testimonial-track::-webkit-scrollbar{display:none}.testimonial{flex:0 0 calc(50% - 13px);min-height:300px;scroll-snap-align:start;padding:30px;background:#f1f1f1;border:1px solid #ccc;box-shadow:0 8px 20px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center}.testimonial h3{margin:0}.stars{color:#e6b500;letter-spacing:4px;margin:8px}.testimonial blockquote{margin:8px 0 20px;font-size:14px}.testimonial img{width:55px;height:55px;object-fit:contain;border-radius:50%;margin:auto 0 8px}.testimonial strong,.testimonial span{font-size:13px}.slider-button{width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:#8a69c9;font-size:32px;cursor:pointer}.site-footer{padding:60px 0 18px;background:linear-gradient(180deg,#39a9d9 0%,#9a72b7 56%,#e42b8b 100%)}.footer-cta{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:39px 54px;border-radius:15px;background:#000;color:#fff;margin-bottom:80px}.footer-cta h2{margin:0 0 3px;font-size:26px}.footer-cta p{margin:0;color:#d9d9d9}.footer-grid{display:grid;grid-template-columns:1.05fr 1.1fr .8fr 1.15fr;gap:65px}.footer-brand img{width:255px}.footer-brand p{max-width:260px;margin-top:25px}.footer-column h3{font-size:18px;margin:0 0 13px}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{padding:8px 0;line-height:1.45}.newsletter{display:flex;border:1px solid rgba(255,255,255,.85);border-radius:10px;padding:4px}.newsletter input{min-width:0;flex:1;border:0;background:transparent;padding:8px 12px;outline:0}.newsletter input::placeholder{color:rgba(255,255,255,.75)}.newsletter .button{padding-inline:17px}.socials{display:flex;gap:14px;margin-top:35px}.socials a{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#000;color:#fff;font-size:14px;font-weight:800}.copyright{text-align:center;font-size:14px;margin:70px 24px 0}.js-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.js-ready .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1050px){.main-nav ul{gap:35px}.team-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:45px}}
@media(max-width:760px){.container{width:min(100% - 30px,1290px)}.header-inner{height:86px}.brand img{width:135px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:86px;left:0;right:0;padding:24px;background:#090909}.main-nav.is-open{display:block}.main-nav ul{display:grid;gap:0}.main-nav a{display:block;padding:13px 15px}.header-cta{display:none}.about-hero{height:520px}.story-copy h1,.section-heading{font-size:29px}.partner-grid{grid-template-columns:repeat(3,1fr);gap:12px}.partner-grid img{width:100%}.principles-grid{grid-template-columns:1fr;margin-top:55px}.team-grid{grid-template-columns:repeat(2,1fr);gap:35px 14px}.faq-panel{padding:38px 18px}.faq-panel h2{font-size:27px}.testimonial{flex-basis:100%}.slider-button{width:34px;height:34px}.footer-cta{display:grid;padding:30px;margin-bottom:55px}.footer-cta h2{font-size:22px}.footer-cta .button{justify-self:start}.footer-grid{grid-template-columns:1fr}.newsletter{max-width:430px}.copyright{margin-top:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Partner cards: match the white, wide original section. */
.partner-showcase{
  margin-top:78px;
  padding:0;
  overflow:visible;
  background:#fff;
}
.partner-showcase .partner-grid{
  width:min(1264px,calc(100% - 48px));
  grid-template-columns:repeat(3,minmax(0,355px));
  gap:99px;
  margin-top:0;
}
.js-ready .partner-card{
  opacity:0;
  transform:translateX(-110px);
  transition:
    opacity .75s ease calc(var(--partner-order) * .16s),
    transform .85s cubic-bezier(.2,.75,.25,1) calc(var(--partner-order) * .16s);
}
.js-ready .partner-card.is-visible{
  opacity:1;
  transform:translateX(0);
}
.partner-card img,
.partner-years-badge{
  width:100%;
  border-radius:0;
  transform:rotate(var(--partner-rotation,0deg));
  transform-origin:center;
  transition:transform .12s linear;
  will-change:transform;
}
.partner-years-badge{
  position:relative;
  container-type:inline-size;
  aspect-ratio:1024 / 984;
}
.partner-years-badge__panel{
  position:absolute;
  inset:5.9% 7.6%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:8.5%;
  background:#35ace0;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  text-align:center;
}
.partner-years-badge__panel strong,
.partner-years-badge__panel span,
.partner-years-badge__panel small{
  position:static;
  width:100%;
}
.partner-years-badge__panel strong{font-size:39cqi;font-weight:700;line-height:.78;letter-spacing:-.055em}
.partner-years-badge__panel span{margin-top:6%;font-size:14cqi;font-weight:700;line-height:1}
.partner-years-badge__panel small{margin-top:4%;font-size:6cqi;font-weight:300;line-height:1}

.principle>span svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.principle:nth-child(3)>span svg{fill:currentColor;stroke:none}

@media(max-width:760px){
  .partner-showcase{margin-top:48px;padding:0}
  .partner-showcase .partner-grid{
    width:min(100% - 30px,1264px);
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .js-ready .partner-card{transform:translateX(-55px)}
}

/* Exact desktop spacing and text width from the original Sobre Nós page. */
.story-section{padding-top:18px}
.story-copy.container{
  width:min(1390px,calc(100% - 48px));
  max-width:1390px;
}
.story-copy .eyebrow{margin-bottom:10px}
.story-copy h1{line-height:1.5;margin-bottom:20px}
.story-copy p{line-height:1.65;margin-bottom:0}

@media(max-width:1320px){
  .partner-showcase .partner-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:35px;
  }
}
@media(prefers-reduced-motion:reduce){
  .js-ready .partner-card{opacity:1;transform:none}
  .partner-card img{transform:none;will-change:auto}
}

/* Official partner certification supplied by grenke. */
.certification-section{
  padding:76px 0 4px;
}
.certification-card{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  align-items:center;
  gap:58px;
  padding:28px;
  border:1px solid #e8dfc8;
  border-radius:22px;
  background:linear-gradient(135deg,#fff 0%,#fff 58%,#faf6eb 100%);
  box-shadow:0 18px 50px rgba(31,27,21,.1);
}
.certification-preview{
  display:block;
  overflow:hidden;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,27,21,.14);
}
.certification-preview img{
  width:100%;
  transition:transform .3s ease;
}
.certification-preview:hover img,
.certification-preview:focus-visible img{
  transform:scale(1.018);
}
.certification-copy{
  padding:22px 30px 22px 0;
}
.certification-copy .eyebrow{
  color:#9b7615;
  margin-bottom:10px;
}
.certification-copy h2{
  margin:0 0 18px;
  font-size:clamp(29px,3vw,44px);
  line-height:1.12;
}
.certification-copy>p:last-of-type{
  margin:0 0 28px;
  color:#4d493f;
}
.certification-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:13px 20px;
  border-radius:8px;
  background:#1f1b1c;
  color:#fff;
  font-weight:750;
  transition:background-color .2s,transform .2s;
}
.certification-link:hover,
.certification-link:focus-visible{
  background:#9b7615;
  transform:translateY(-2px);
}

@media(max-width:850px){
  .certification-section{padding-top:52px}
  .certification-card{grid-template-columns:1fr;gap:10px;padding:18px}
  .certification-copy{padding:24px 8px 12px}
}

/* Testimonials: content card above, client identity below, as in the original. */
.testimonials-section{
  padding:70px 0 105px;
  text-align:center;
  overflow:hidden;
}
.testimonial-shell{
  position:relative;
  display:block;
  margin-top:38px;
  padding:5px 0 42px;
}
.testimonial-track{
  display:flex;
  align-items:flex-start;
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:0 5px 12px;
}
.testimonial{
  flex:0 0 calc(50% - 12px);
  min-height:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  display:block;
  scroll-snap-align:start;
}
.testimonial-content{
  position:relative;
  min-height:188px;
  padding:26px 38px 25px;
  border-radius:5px;
  background:#eaeaea;
  box-shadow:0 4px 5px rgba(0,0,0,.45);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.testimonial-content::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-14px;
  width:0;
  height:0;
  transform:translateX(-50%);
  border-left:15px solid transparent;
  border-right:15px solid transparent;
  border-top:15px solid #eaeaea;
}
.testimonial h3{
  margin:0 0 8px;
  font-size:16px;
  font-weight:500;
  color:#222;
}
.testimonial .stars{
  margin:0 0 6px;
  color:#ffd000;
  font-size:22px;
  line-height:1;
  letter-spacing:1px;
}
.testimonial blockquote{
  margin:0;
  color:#444;
  font-size:15px;
  line-height:1.65;
}
.testimonial-author{
  min-height:116px;
  margin-top:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.testimonial-author img{
  width:65px;
  height:65px;
  margin:0 0 7px;
  border-radius:0;
  object-fit:contain;
}
.testimonial-author strong{
  color:#222;
  font-size:16px;
  font-weight:500;
  line-height:1.3;
}
.testimonial-author span{
  margin-top:3px;
  color:#aaa;
  font-size:11px;
}
.slider-button{
  position:absolute;
  z-index:3;
  top:220px;
  width:34px;
  height:44px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#605be5;
  font-size:42px;
  line-height:1;
}
.slider-button[data-slider-prev]{left:15px}
.slider-button[data-slider-next]{right:15px}
.testimonial-dots{
  position:absolute;
  left:50%;
  bottom:0;
  display:flex;
  gap:6px;
  transform:translateX(-50%);
}
.testimonial-dots button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#d1d1d1;
  cursor:pointer;
}
.testimonial-dots button.is-active{background:#222}

@media(max-width:760px){
  .testimonials-section{padding:55px 0 80px}
  .testimonial-shell{margin-top:28px}
  .testimonial{flex-basis:100%}
  .testimonial-content{min-height:220px;padding:25px 24px}
  .slider-button{top:235px}
  .slider-button[data-slider-prev]{left:2px}
  .slider-button[data-slider-next]{right:2px}
}

/* Team cards keep their layout on hover; only the email button reacts. */
.team-card,
.team-card:hover{
  color:#050505;
  background:transparent;
  box-shadow:none;
}
.team-card>img,
.team-card:hover>img{
  width:100%;
  border-radius:15px;
  filter:none;
  opacity:1;
  transform:none;
}
.team-card h3{
  margin:24px 0 2px;
  font-size:20px;
  line-height:1.5;
}
.team-card p{
  min-height:24px;
  margin:0 0 15px;
  color:#555;
  font-size:14px;
}
.team-card>a{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin:auto;
  border-radius:50%;
  background:#35b8e8;
  color:#fff;
  transition:background-color .2s ease,transform .2s ease;
}
.team-card>a svg{
  display:none;
}
.team-card>a::before{
  content:"";
  display:block;
  width:15px;
  height:15px;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z'/%3E%3C/svg%3E");
}
.team-card>a:hover,
.team-card>a:focus-visible{
  background:var(--pink);
  color:#fff;
  transform:scale(1.08);
}

/* Desktop team layout: three centred rows of four cards. */
.team-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:20px;
  row-gap:50px;
}
.team-card,
.team-card:nth-child(n){grid-area:auto}

@media(max-width:1050px){
  .team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 20px}
  .team-card,
  .team-card:nth-child(n){grid-area:auto}
}
@media(max-width:760px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 14px}
}
