/* =========================================================
   Rafael Barros Dias — site pessoal
   Visual baseado no modelo NovaPersona (Webflow, Anova Flow)
   ========================================================= */

@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 900;font-display:swap;src:url("../assets/fonts/SchibstedGrotesk.woff2") format("woff2")}

:root{
  --white:#fff;--black:#000;
  --grey-01:#333;--grey-02:#4f4f4f;--grey-04:#bdbdbd;--grey-05:#e0e0e0;--grey-06:#f2f2f2;
  --bg-soft:#f7f7f7;--bg-dark:#313131;--ink-button:#28282a;
  --lime:#c9ee7d;--lime-dot:#cff363;
  --border-tag:#bbb;--border-nav:#ddd;
  --overlay-mask:#313131a6;

  --font:"Schibsted Grotesk",system-ui,sans-serif;
  --fs-h1:6vw;--fs-86:5.375rem;--fs-h2:3.5rem;--fs-48:3rem;--fs-h3:2.1875rem;--fs-34:2.125rem;
  --fs-30:1.875rem;--fs-28:1.75rem;--fs-24:1.5rem;--fs-20:20px;--fs-18:1.125rem;--fs-16:1rem;
  --ls-h1:-5px;--ls-h2:-4px;--ls-48:-3px;--ls-h3:-2px;

  --ease-out-quart:cubic-bezier(.165,.84,.44,1);
  --ease-out-quad:cubic-bezier(.25,.46,.45,.94);
  --ease-in-out-quad:cubic-bezier(.455,.03,.515,.955);
  --ease-in-out-sine:cubic-bezier(.445,.05,.55,.95);
  --ease-counter:cubic-bezier(.784,.325,.222,.98);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);font-family:var(--font);color:var(--grey-02);font-size:var(--fs-18);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
main{display:block;overflow-x:clip}
a{color:inherit}
h1,h2,h3,p{margin:0}
.grey{color:var(--grey-02)}
.grey-light{color:var(--grey-04)}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}

.container{width:100%;max-width:1400px;margin:0 auto;padding:5em 2em}
.stack-80{display:flex;flex-direction:column;gap:80px}
.body{font-size:var(--fs-18);line-height:1.5;color:var(--grey-02)}
.h2{font-size:var(--fs-h2);line-height:1.2;font-weight:500;letter-spacing:var(--ls-h2);color:var(--black)}
.h3{font-size:var(--fs-h3);line-height:1.2;font-weight:500;letter-spacing:var(--ls-h3);color:var(--black)}

/* ---------- Reveal (Webflow IX2: slideIn 100px / shrinkIn 1.25, 1000ms outQuart) ---------- */
.js [data-reveal]{opacity:0;transition:opacity 1000ms var(--ease-out-quart) var(--d,0ms),transform 1000ms var(--ease-out-quart) var(--d,0ms)}
.js [data-reveal="bottom"]{transform:translate3d(0,100px,0)}
.js [data-reveal="left"]{transform:translate3d(-100px,0,0)}
.js [data-reveal="right"]{transform:translate3d(100px,0,0)}
.js [data-reveal="shrink"]{transform:scale(1.25)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- Section tag & header ---------- */
.tag{display:inline-flex;align-items:center;gap:8px;padding:6px 20px;border-radius:50px;border:1px solid var(--border-tag);font-size:var(--fs-16);line-height:1.5;font-weight:500;color:var(--black)}
.tag::before{content:"";width:6px;height:6px;background:var(--bg-dark);flex:none}
.tag--dark{border-color:var(--grey-02);color:var(--white)}
.tag--dark::before{background:var(--white)}
.section-head{display:flex;flex-direction:column;gap:24px;align-items:center;text-align:center;max-width:600px;margin:0 auto}
.section-head--wide{max-width:700px}
.section-head--xwide{max-width:1000px}
.section-head--left{align-items:flex-start;text-align:left;margin:0}

/* ---------- Buttons (label roll + arrow swap + fill sweep) ---------- */
.btn{--b-bg:var(--ink-button);--b-hbg:var(--b-bg);--b-fill:transparent;--b-text:var(--white);--b-htext:var(--white);--b-circle:var(--lime);--b-hcircle:var(--b-circle);--b-arrow:var(--black);--b-harrow:var(--b-arrow);
  position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;padding:8px 8px 8px 18px;border:0;border-radius:60px;background:var(--b-bg);color:var(--b-text);font-family:var(--font);font-size:var(--fs-16);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .5s;isolation:isolate;-webkit-tap-highlight-color:transparent}
.btn:hover{background:var(--b-hbg)}
.btn__fill{position:absolute;top:0;bottom:0;left:0;width:0;background:var(--b-fill);border-radius:60px;transition:width .5s var(--ease-in-out-sine);z-index:-1}
.btn:hover .btn__fill{width:100%}
.btn__label{position:relative;display:grid;overflow:hidden;white-space:nowrap}
.btn__label>span{grid-area:1/1;transition:transform .5s var(--ease-in-out-quad)}
.btn__label>span:first-child{color:var(--b-text)}
.btn__label>span:last-child{color:var(--b-htext);transform:translateY(200%)}
.btn:hover .btn__label>span:first-child{transform:translateY(-200%)}
.btn:hover .btn__label>span:last-child{transform:none}
.btn__icon{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--b-circle);transition:background-color .5s}
.btn:hover .btn__icon{background:var(--b-hcircle)}
.btn__icon svg{transition:transform .5s var(--ease-in-out-quad)}
.btn__icon svg:first-child{position:absolute;color:var(--b-harrow);transform:translateX(-200%)}
.btn__icon svg:last-child{color:var(--b-arrow)}
.btn:hover .btn__icon svg:first-child{transform:none}
.btn:hover .btn__icon svg:last-child{transform:translateX(200%)}
.btn--dark{--b-hbg:var(--lime);--b-fill:var(--lime);--b-htext:var(--black);--b-hcircle:var(--ink-button);--b-harrow:var(--white)}
.btn--lime{--b-bg:var(--lime);--b-hbg:var(--bg-dark);--b-fill:var(--bg-dark);--b-text:var(--black);--b-htext:var(--white);--b-circle:var(--bg-dark);--b-hcircle:var(--lime);--b-arrow:var(--white);--b-harrow:var(--black)}
.btn--cta{--b-bg:var(--lime);--b-hbg:var(--white);--b-fill:var(--white);--b-text:var(--black);--b-htext:var(--black);--b-circle:var(--bg-dark);--b-arrow:var(--white)}
.btn--black{--b-bg:var(--bg-dark);--b-circle:var(--white)}
.btn--white{--b-bg:var(--white);--b-text:var(--black);--b-htext:var(--black);--b-circle:var(--bg-dark);--b-arrow:var(--white)}

/* ---------- Nav ---------- */
.nav{position:relative;z-index:50;min-height:77px;display:flex;align-items:center;justify-content:center;padding:0 2em;border-bottom:1px solid var(--border-nav);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nav__inner{width:100%;max-width:1400px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--black)}
.logo__text{font-size:24px;line-height:1;font-weight:600;letter-spacing:-1.2px;white-space:nowrap;color:var(--black)}
.logo__grey{color:var(--grey-02)}
.nav__menu{display:flex;align-items:center}
.nav__menu>a:not(.btn){padding:0 10px;font-size:var(--fs-18);line-height:1.5;font-weight:500;text-decoration:none;color:var(--grey-02);transition:color .3s}
.nav__menu>a:not(.btn):hover,.nav__menu>a.is-active{color:var(--black)}
.nav__cta{margin-left:60px}
.nav__toggle{display:none}

/* ---------- Hero ---------- */
.hero__grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:30px}
.hero__intro{display:flex;flex-direction:column;gap:40px;align-items:flex-start;padding-top:40px}
.hero__copy{display:flex;flex-direction:column;gap:24px}
.hero__hello{font-size:var(--fs-28);line-height:1.5;letter-spacing:-1px;color:var(--grey-01)}
.hero__name{font-size:var(--fs-h1);line-height:1;font-weight:600;letter-spacing:var(--ls-h1);color:var(--black)}
.hero__card{padding:24px;border-radius:20px;background:var(--white);box-shadow:0 20px 34px #0000000f;display:flex;flex-direction:column;gap:20px;align-self:start}
.hero__photo{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:1/1.03;background:var(--grey-06)}
.hero__img{position:absolute;inset:0}
.hero__img img{width:100%;height:100%;object-fit:cover}
.hero__socials{position:absolute;top:30px;right:22px;display:flex;flex-direction:column;gap:12px}
.hero__socials a{width:48px;height:48px;border-radius:50%;border:1px solid var(--white);background:#00000059;color:var(--white);display:flex;align-items:center;justify-content:center;transition:background-color .3s}
.hero__socials a:hover{background:#000000a0}
.hero__socials svg{width:22px;height:22px}
.badge{display:inline-flex;align-items:center;gap:8px;align-self:center;font-size:var(--fs-16);line-height:1.5;color:var(--black)}
.badge__dot{position:relative;width:8px;height:8px;flex:none;border-radius:50%;background:var(--lime-dot)}
.badge__dot::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--lime-dot);animation:pulse 1.6s var(--ease-out-quad) infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.4);opacity:0}}
.hero__side{display:flex;flex-direction:column;gap:40px;justify-content:flex-end;align-items:flex-start;padding-left:40px;padding-bottom:40px}
.hero__role{display:flex;flex-direction:column;gap:24px;max-width:300px}
.hero__line{border-left:1px solid var(--grey-04);padding-left:12px;font-size:var(--fs-20);line-height:1.2;color:var(--grey-01)}
.hero__title{font-size:var(--fs-48);line-height:1;font-weight:600;letter-spacing:var(--ls-48);color:var(--black)}
.hero__proof{display:flex;flex-direction:column;gap:4px}
.hero__proof-big{font-size:var(--fs-18);line-height:1.5;color:var(--grey-02)}
.hero__proof-big strong{font-size:var(--fs-30);font-weight:600;color:var(--black);letter-spacing:-1px}
.hero__proof-sub{font-size:var(--fs-20);line-height:1.2;font-weight:500;color:var(--black);max-width:260px}
.hero__brands{max-width:1400px;margin:0 auto;padding:0 2em 5em;display:flex;flex-direction:column;gap:40px;align-items:center}
.hero__brands-title{font-size:var(--fs-18);color:var(--black)}

/* Marquee (20s linear, 245px white fades) */
.marquee{position:relative;overflow:hidden;display:flex;width:100%}
.marquee__track{display:flex;align-items:center;gap:100px;padding-right:100px;flex:none;animation:marquee 20s linear infinite}
.marquee__track span{font-size:var(--fs-28);font-weight:600;letter-spacing:-1px;color:var(--grey-04);white-space:nowrap;line-height:40px}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:245px;z-index:1;pointer-events:none}
.marquee::before{left:-1%;background:linear-gradient(90deg,#fff,#fff0 70%)}
.marquee::after{right:-1%;background:linear-gradient(90deg,#fff0,#fff 70%)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* ---------- About band (dark) ---------- */
.about-band{background:var(--bg-dark)}
.about-band__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.about-band__copy{display:flex;flex-direction:column;gap:40px;justify-content:center;align-items:flex-start}
.statement{font-size:var(--fs-34);line-height:1.25;font-weight:500;letter-spacing:-1px;color:var(--black);text-wrap:balance}
.statement--light{color:var(--white)}
.statement--center{text-align:center;max-width:1036px;margin:0 auto}
.about-band__intro{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.about-band__title{font-size:var(--fs-h2);line-height:1.1;font-weight:500;letter-spacing:var(--ls-h2);color:var(--white);text-wrap:balance}
.about-band__lead{font-size:var(--fs-20);line-height:1.55;color:var(--grey-04);max-width:500px;text-wrap:pretty}
.about-band__contacts{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.about-band__copy .btn{margin-top:20px}

.contact{display:flex;align-items:center;gap:16px;text-decoration:none}
.contact__icon{display:flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border-radius:50%;border:1px solid var(--grey-04);color:var(--black)}
.contact__title{display:block;font-size:var(--fs-24);line-height:1.4;letter-spacing:-1px;color:var(--black)}
.contact__value{display:block;font-size:var(--fs-18);line-height:1.5;color:var(--grey-02)}
.contact--dark{gap:8px}
.contact--dark .contact__icon{width:48px;height:48px;border:0;background:var(--lime)}
.contact--dark .contact__title{font-size:var(--fs-18);font-weight:500;line-height:1.5;letter-spacing:0;color:var(--white)}
.contact--dark .contact__value{color:var(--grey-04)}
a.contact:hover .contact__value{text-decoration:underline}

/* Slider */
.slider{overflow:hidden;align-self:center;min-height:380px}
.slider__track{display:flex;gap:24px;transition:transform 500ms ease}
.slider__item{flex:none;width:294px;height:380px;border-radius:20px;overflow:hidden}
.slider__item img{width:100%;height:100%;object-fit:cover;transition:transform 500ms ease}
.slider__item:hover img{transform:scale(1.1)}

/* Soft band + stats */
.soft-band{background:var(--bg-soft);padding:5em 2em}
.soft-band__inner{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:80px}
.soft-band__row{display:grid;grid-template-columns:.8fr 1.2fr;width:100%;max-width:1344px;margin:0 auto;align-items:center}
.soft-band__img{width:300px;height:158px;border-radius:8px;overflow:hidden}
.soft-band__img img{width:100%;height:100%;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.stat{padding:0 24px;border-left:1px solid var(--grey-04);display:flex;flex-direction:column}
.stat__num{display:flex;height:1.4em;overflow:hidden;font-size:4rem;font-weight:500;line-height:1.4;color:var(--black)}
.stat__train{display:flex;flex-direction:column;transition:transform 3000ms var(--ease-counter)}
.stat__train span{height:1.4em}
.stat__label{font-size:var(--fs-18);line-height:1.5;color:var(--grey-02)}

/* ---------- Services (sticky, expanding list) ---------- */
.services{position:relative;height:400vh}
.services__sticky{position:sticky;top:0;padding-top:4em;padding-bottom:3em}
.services__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:60px}
.svc{border-bottom:.5px solid var(--grey-05)}
.svc__head{padding:16px 0 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer}
.svc__toggle{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--grey-05);background:var(--white);color:var(--black);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
  transition:background-color .3s,border-color .3s,color .3s,rotate .5s var(--ease-out-quart),scale .25s var(--ease-out-quart)}
.svc__toggle svg{width:22px;height:22px;stroke-width:2}
.svc__toggle:hover{background:var(--lime);border-color:var(--lime)}
.svc__toggle:active{scale:.92}
.svc__toggle:focus-visible{outline:2px solid var(--black);outline-offset:3px}
.svc:not(.is-active) .svc__toggle svg{animation:chev-nudge 2.8s var(--ease-in-out-quad) infinite}
.svc:nth-of-type(3) .svc__toggle svg{animation-delay:.25s}
.svc:nth-of-type(4) .svc__toggle svg{animation-delay:.5s}
.svc:nth-of-type(5) .svc__toggle svg{animation-delay:.75s}
.svc.is-active .svc__toggle{background:var(--bg-dark);border-color:var(--bg-dark);color:var(--white);rotate:180deg}
@keyframes chev-nudge{0%,60%,100%{translate:0 0}70%{translate:0 4px}80%{translate:0 0}88%{translate:0 2px}}
.svc__head h3{font-size:var(--fs-h3);font-weight:500;letter-spacing:var(--ls-h3);line-height:1.2;color:var(--black);transform-origin:0 50%;transform:scale(1.3);white-space:nowrap;transition:transform 600ms var(--ease-out-quart)}
.svc__body{height:0;overflow:hidden;transition:height 700ms var(--ease-out-quart)}
.svc__inner{display:flex;justify-content:space-between;gap:20px;padding:12px 30px 36px 0}
.svc__text{display:flex;flex-direction:column;gap:20px;max-width:55%}
.svc__text ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-18);line-height:1.8;color:var(--grey-02)}
.svc__inner img{width:300px;height:170px;border-radius:20px;object-fit:cover;flex:none}
.svc__link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.2em}
.svc__go{width:.7em;height:.7em;stroke-width:2;color:var(--grey-04);transition:transform .4s var(--ease-out-quart),color .3s}
a.svc__link[href]:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.12em}
a.svc__link[href]:hover .svc__go{color:var(--black);transform:translate(3px,-3px)}
.svc__link.is-off{cursor:default}
.svc__link.is-off .svc__go{display:none}
.svc.is-active .svc__head h3{transform:scale(1)}
.svc.is-active .svc__body{height:220px}

/* ---------- Princípios (expanding tabs) ---------- */
.why{display:flex;gap:16px;justify-content:space-between}
.why__item{flex:0 0 18%;transition:flex-basis .85s,opacity 1000ms var(--ease-out-quart) var(--d,0ms),transform 1000ms var(--ease-out-quart) var(--d,0ms)}
.js .why__item[data-reveal]{transition:flex-basis .85s,opacity 1000ms var(--ease-out-quart) var(--d,0ms),transform 1000ms var(--ease-out-quart) var(--d,0ms)}
.why__item.is-active{flex-basis:40%}
.why__card{all:unset;box-sizing:border-box;position:relative;cursor:pointer;width:100%;height:380px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;border-radius:20px;overflow:hidden;font-family:var(--font);
  background:var(--bg-soft);transition:background-color .6s var(--ease-out-quart)}
.why__card:hover{background:var(--grey-06)}
.why__item.is-active .why__card{background:radial-gradient(120% 90% at 100% 0%,#c9ee7d2e 0%,#c9ee7d00 55%),var(--bg-dark)}
.why__card:focus-visible{outline:2px solid var(--black);outline-offset:3px}
.why__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.why__card img{width:42px;height:42px;object-fit:contain;transition:filter .6s}
.why__item.is-active .why__card img{filter:brightness(0) invert(1)}
.why__num{font-size:3.5rem;line-height:.9;font-weight:500;letter-spacing:-3px;color:var(--grey-05);transition:color .6s}
.why__item.is-active .why__num{color:var(--lime)}
.why__text{display:flex;flex-direction:column;gap:16px}
.why__title{font-size:var(--fs-28);line-height:1.2;letter-spacing:-.5px;color:var(--black);transition:color .6s}
.why__item.is-active .why__title{color:var(--white);font-size:var(--fs-34);letter-spacing:-1px}
.why__desc{font-size:var(--fs-18);line-height:1.5;color:var(--grey-04);opacity:0;max-height:0;overflow:hidden;transition:opacity 300ms}
.why__item.is-active .why__desc{opacity:1;max-height:140px;transition:opacity 300ms 600ms}
.why__item:not(.is-active) .why__text{padding-right:48px}
.why__card::after{content:"";position:absolute;right:20px;bottom:22px;width:36px;height:36px;border-radius:50%;border:1px solid var(--grey-04);
  background:center/16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  transition:opacity .3s,rotate .5s var(--ease-out-quart)}
.why__card:hover::after{rotate:90deg}
.why__item.is-active .why__card::after{opacity:0}

/* ---------- Frase (scroll-wiped lines) ---------- */
.philosophy{position:relative;background:var(--bg-dark);margin:2em 0;overflow:hidden}
.philosophy__inner{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:120px 20px;display:flex;flex-direction:column}
.philosophy__line{position:relative;display:flex;justify-content:center;overflow:clip}
.philosophy__line span{font-size:var(--fs-48);line-height:1.2;font-weight:600;letter-spacing:var(--ls-48);color:var(--white);text-align:center}
.philosophy__mask{position:absolute;inset:0;background:var(--overlay-mask);transform:translateX(0)}
.philosophy__squiggle{position:absolute;right:0;bottom:0;height:40%;width:auto}

/* ---------- Formação (sticky image + sticky items) ---------- */
.edge{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}
.edge__media{position:relative}
.edge__sticky{position:sticky;top:12vh;border-radius:20px;overflow:hidden;max-width:25em}
.edge__sticky img{width:100%;max-height:76vh;object-fit:cover}
.edge__list{display:flex;flex-direction:column}
.edge__item{position:sticky;top:10%;background:var(--white);min-height:50vh;display:flex;align-items:center}
.edge__content{padding-left:24px;border-left:1px solid var(--grey-04);display:flex;flex-direction:column;gap:16px}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pills--center{justify-content:center}
.pill{display:inline-flex;padding:8px 12px;border:1px solid var(--grey-05);border-radius:60px;color:var(--grey-02);font-size:var(--fs-18);line-height:1.4;text-decoration:none;transition:color .3s,border-color .3s,background-color .3s}
a.pill:hover,.pill:hover{background:var(--grey-05);color:var(--black)}

/* ---------- Trajetória (award rows) ---------- */
.awards{display:grid;grid-template-columns:1fr 1.8fr;gap:40px;align-items:start}
.awards__img{border-radius:20px;overflow:hidden}
.awards__list{display:flex;flex-direction:column}
.award{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;border-bottom:1px solid var(--grey-05);transition:padding .5s,border-color .5s}
.award::before{content:"";position:absolute;top:0;bottom:0;left:0;width:0;background:var(--lime);transition:width .5s}
.award:hover{padding:16px 24px;border-color:var(--grey-04)}
.award:hover::before{width:100%;transition:width 1s var(--ease-out-quad)}
.award__left{position:relative;display:flex;align-items:center;gap:24px}
.award__mark{flex:none;width:64px;height:64px;border-radius:8px;background:var(--bg-dark);color:var(--lime);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:20px;letter-spacing:-.5px}
.award__company{display:block;font-size:var(--fs-28);line-height:1.4;font-weight:500;color:var(--black)}
.award__desc{display:block;font-size:var(--fs-18);line-height:1.5;color:var(--grey-02)}
.award__right{position:relative;font-size:var(--fs-24);line-height:1.4;font-weight:500;letter-spacing:-1px;color:var(--grey-02);white-space:nowrap}

/* ---------- Institucional (CTA panel) ---------- */
.cta-wrap{padding-top:0}
.cta{padding:80px;border-radius:20px;background:linear-gradient(#000000c9,#000000c9),url("../assets/template/cta-bg.webp") center/cover no-repeat;display:flex;flex-direction:column;gap:120px}
.cta__top{display:flex;flex-direction:column;gap:30px;align-items:flex-start;width:70%}
.cta__title{font-size:var(--fs-48);line-height:1.2;font-weight:600;letter-spacing:var(--ls-48);color:var(--white)}
.cta__text{font-size:var(--fs-18);line-height:1.5;color:var(--grey-06);max-width:560px}
.cta__pillars{display:flex;flex-wrap:wrap;gap:24px 0}
.cta__pillar{padding:0 24px;border-left:1px solid var(--grey-04);font-size:var(--fs-34);line-height:1.4;font-weight:500;letter-spacing:-2px;color:var(--white)}

/* ---------- Contato (footer) ---------- */
.footer{background:url("../assets/template/footer-bg.webp") 50%/cover no-repeat,linear-gradient(360deg,#fff0 60%,#fff);overflow:clip}
.footer__top{display:flex;flex-direction:column;gap:24px;align-items:center;max-width:1000px;margin:0 auto 110px;text-align:center}
.footer__title{font-size:var(--fs-86);line-height:1.3;font-weight:600;letter-spacing:-4px;color:var(--black)}
.footer__lead{font-size:var(--fs-18);color:var(--black)}
.form{display:flex;flex-direction:column;gap:16px;align-items:center;width:100%;max-width:640px}
.form__reasons{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pill--radio{cursor:pointer;background:#ffffffb3;position:relative}
.pill--radio input{position:absolute;opacity:0;pointer-events:none}
.pill--radio:has(input:checked){background:var(--bg-dark);border-color:var(--bg-dark);color:var(--white)}
.pill--radio:has(input:focus-visible){outline:2px solid var(--black);outline-offset:2px}
.form__row{display:grid;grid-template-columns:1fr max-content;gap:8px;width:100%;align-items:end}
.form__row textarea{border:1px solid var(--grey-05);border-radius:24px;background:var(--white);font-family:var(--font);font-size:var(--fs-18);line-height:1.5;color:var(--black);padding:14px 20px;outline:none;min-width:0;resize:none;text-align:left}
.form__row textarea::placeholder{color:var(--grey-02)}
.form__row textarea:focus{border-color:var(--grey-04)}
.form__row textarea.is-error{border-color:#d9534f}
.form__row button{border:0;border-radius:80px;background:var(--bg-dark);color:var(--white);font-family:var(--font);font-size:var(--fs-18);line-height:1.5;padding:16px 28px;cursor:pointer;white-space:nowrap;transition:background-color .3s}
.form__row button:hover{background:var(--black)}
.form__done{background:var(--white);border-radius:16px;padding:1.25rem 1.5rem;font-size:var(--fs-20);line-height:1.4;letter-spacing:-.5px;color:var(--black);max-width:560px}
.form__done a{color:var(--black)}
.footer__info{display:flex;flex-direction:column;gap:40px;max-width:1000px;margin:0 auto 75px}
.footer__contacts{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.footer__bar{padding:20px 0;border-top:1px solid var(--grey-04);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:var(--fs-18);line-height:1.2;color:var(--grey-02)}
.footer__links{display:flex;gap:16px;flex-wrap:wrap}
.footer__links a{color:var(--grey-02);text-decoration:none;transition:color .3s}
.footer__links a:hover{color:var(--black)}

/* ---------- Ícones flutuantes do topo (coluna da direita) ---------- */
.hero__float{position:relative;flex:1 1 0;min-height:0;width:100%;max-width:340px;align-self:stretch;margin-top:-56px;container-type:size}
.hero__orbit{position:absolute;left:50%;top:48%;width:min(74%,88cqh);height:auto;translate:-50% -50%;overflow:visible;pointer-events:none;
  opacity:0;animation:float-in 1.2s var(--ease-out-quart) .3s forwards}
.hero__orbit>circle{fill:none;stroke:var(--grey-05);stroke-width:1;stroke-dasharray:2 7;transform-origin:100px 100px;animation:orbit-spin 80s linear infinite}
.hero__orbit-dot{transform-origin:100px 100px;animation:orbit-spin 14s linear infinite}
.hero__orbit-dot circle{fill:var(--lime);stroke:#fff;stroke-width:1.5}
@keyframes orbit-spin{to{transform:rotate(360deg)}}

.float-tile{position:absolute;left:var(--x);top:var(--y);z-index:1;will-change:transform;
  opacity:0;animation:float-in .9s var(--ease-out-quart) calc(.45s + var(--i) * .12s) forwards}
@keyframes float-in{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
.float-tile__bob{position:relative;display:block;animation:float-bob calc(6s + var(--i) * .7s) var(--ease-in-out-sine) calc(var(--i) * -1.3s) infinite}
@keyframes float-bob{0%,100%{translate:0 0;rotate:0deg}25%{translate:3px -9px;rotate:2deg}50%{translate:0 -4px;rotate:-1deg}75%{translate:-3px -10px;rotate:-2.5deg}}
.float-tile__face{--s:clamp(38px,25cqh,58px);display:flex;align-items:center;justify-content:center;width:var(--s);height:var(--s);border-radius:calc(var(--s) * .31);
  background:var(--white);color:var(--black);border:1px solid #efefef;box-shadow:0 14px 30px #00000012;cursor:default;
  transition:scale .45s var(--ease-out-quart),box-shadow .45s,rotate .45s var(--ease-out-quart)}
.float-tile__face svg{width:42%;height:42%;stroke-width:1.6}
.float-tile--dark .float-tile__face{--s:clamp(44px,30cqh,68px);background:var(--bg-dark);border-color:var(--bg-dark);color:var(--lime);box-shadow:0 18px 36px #0000002b}
.float-tile--lime .float-tile__face{background:var(--lime);border-color:var(--lime);color:#1f1f1f;box-shadow:0 14px 30px #9fc24e40}
.float-tile:hover{z-index:3}
.float-tile:hover .float-tile__face{scale:1.12;rotate:-6deg;box-shadow:0 20px 40px #0000001f}
.float-tile__label{position:absolute;left:50%;top:calc(100% + 10px);translate:-50% -4px;white-space:nowrap;pointer-events:none;
  padding:4px 10px;border-radius:60px;background:var(--bg-dark);color:var(--white);font-size:13px;line-height:1.4;
  opacity:0;transition:opacity .3s,translate .4s var(--ease-out-quart)}
.float-tile:hover .float-tile__label{opacity:1;translate:-50% 0}
.float-tile--up .float-tile__label{top:auto;bottom:calc(100% + 10px);translate:-50% 4px}
.float-spark{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;border-radius:50%;background:var(--lime);
  opacity:0;animation:float-in .8s var(--ease-out-quart) calc(1s + var(--i) * .2s) forwards,spark 3.2s var(--ease-in-out-sine) calc(var(--i) * .9s) infinite}
.float-spark:nth-of-type(2){width:5px;height:5px;background:var(--grey-04)}
@keyframes spark{0%,100%{scale:1}50%{scale:1.6}}

/* ---------- Animações contínuas dos botões ---------- */
/* Brilho que atravessa o botão + seta que dá um empurrãozinho */
.btn::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;z-index:1;pointer-events:none;border-radius:60px;
  background:linear-gradient(100deg,#fff0 0%,#ffffff8c 50%,#fff0 100%);transform:translateX(-160%) skewX(-18deg);
  animation:btn-shine 5s var(--ease-in-out-sine) var(--shine-delay,0s) infinite}
.btn--white::after{background:linear-gradient(100deg,#0000 0%,#0000001a 50%,#0000 100%)}
.btn:hover::after{animation:none;opacity:0}
@keyframes btn-shine{0%,62%{transform:translateX(-160%) skewX(-18deg)}86%,100%{transform:translateX(330%) skewX(-18deg)}}
.btn__icon svg:last-child{animation:btn-nudge 2.6s var(--ease-in-out-quad) var(--shine-delay,0s) infinite}
@keyframes btn-nudge{0%,55%,100%{translate:0 0}65%{translate:5px 0}75%{translate:0 0}83%{translate:3px 0}91%{translate:0 0}}
.btn{transition:background-color .5s,scale .25s var(--ease-out-quart)}
.btn:active{scale:.96}

/* Ícones sociais do topo: pulso em onda + realce no hover */
.hero__socials a{position:relative}
.js .hero__socials a[data-reveal]{transition:opacity 1000ms var(--ease-out-quart) var(--d,0ms),transform 1000ms var(--ease-out-quart) var(--d,0ms),background-color .35s,border-color .35s,color .35s,scale .45s var(--ease-out-quart)}
.hero__socials a::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid #fff;opacity:0;pointer-events:none;
  animation:soc-ring 4s var(--ease-out-quad) calc(1.2s + var(--i,0) * .35s) infinite}
.hero__socials a:nth-child(2){--i:1}
.hero__socials a:nth-child(3){--i:2}
.hero__socials svg{animation:soc-bob 4s var(--ease-in-out-quad) calc(1.2s + var(--i,0) * .35s) infinite}
.hero__socials a:hover{background:var(--lime);border-color:var(--lime);color:var(--black);scale:1.1}
.hero__socials a:hover svg,.hero__socials a:hover::after{animation:none}
@keyframes soc-ring{0%{transform:scale(1);opacity:.8}35%,100%{transform:scale(1.55);opacity:0}}
@keyframes soc-bob{0%,30%,100%{translate:0 0;rotate:0deg}8%{translate:0 -3px;rotate:-8deg}16%{translate:0 0;rotate:6deg}24%{rotate:0deg}}

/* =========================================================
   Refinamentos de movimento e interação
   ========================================================= */

/* Menu que acompanha a rolagem: some ao descer, volta ao subir + barra de progresso */
.nav{transition:transform .55s var(--ease-out-quart),background-color .4s,box-shadow .4s}
.nav.is-floating{position:fixed;top:0;left:0;right:0;background:#ffffffe0;box-shadow:0 10px 30px #0000000a}
.nav.is-floating.is-hidden{transform:translateY(-105%)}
.nav.is-instant{transition:none}
.nav::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--lime);
  transform-origin:0 50%;transform:scaleX(var(--progress,0));opacity:0;transition:opacity .3s}
.nav.is-floating::after{opacity:1}
@media (min-width:992px){
  .nav__menu>a:not(.btn){position:relative}
  .nav__menu>a:not(.btn)::after{content:"";position:absolute;left:10px;right:10px;bottom:-3px;height:1.5px;border-radius:2px;background:currentColor;
    transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--ease-out-quart)}
  .nav__menu>a:not(.btn):hover::after,.nav__menu>a.is-active::after{transform:scaleX(1);transform-origin:0 50%}
}

/* Títulos revelados palavra por palavra (máscara) */
.js [data-reveal="split"]{opacity:1;transform:none}
.js [data-reveal="split"] .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .04em .16em;margin:-.12em -.04em -.16em}
.js [data-reveal="split"] .w__i{display:inline-block;transform:translate3d(0,108%,0);
  transition:transform 1.05s var(--ease-out-quart) calc(var(--d,0ms) + var(--wi,0) * 75ms)}
.js [data-reveal="split"].is-in .w__i{transform:none}

/* Faixas escuras: entram como um cartão arredondado e se abrem até a largura total */
.about-band,.philosophy{--band-x:3vw;clip-path:inset(0 calc(var(--band,0) * var(--band-x)) round calc(var(--band,0) * 40px))}

/* Onde Atuo: conteúdo do item aberto entra suavemente */
.svc__text{opacity:0;translate:0 16px;transition:opacity .45s,translate .7s var(--ease-out-quart)}
.svc__inner img{opacity:0;translate:28px 0;scale:.96;transition:opacity .55s,translate .8s var(--ease-out-quart),scale .8s var(--ease-out-quart)}
.svc.is-active .svc__text{opacity:1;translate:0 0;transition-delay:.12s}
.svc.is-active .svc__inner img{opacity:1;translate:0 0;scale:1;transition-delay:.22s}

/* Formação: linha que marca o item em leitura */
.edge__content{position:relative}
.edge__content::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--black);
  transform:scaleY(0);transform-origin:50% 0;transition:transform .9s var(--ease-out-quart)}
.edge__item.is-current .edge__content::before{transform:scaleY(1)}

/* Luz que segue o mouse nos cartões escuros */
.cta{position:relative;isolation:isolate}
.cta::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0;transition:opacity .5s;
  background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),#c9ee7d24,#c9ee7d00 70%)}
.cta:hover::before{opacity:1}
.cta__top,.cta__pillars{position:relative;z-index:1}
.why__item.is-active .why__card{background:radial-gradient(120% 90% at var(--mx,100%) var(--my,0%),#c9ee7d2e 0%,#c9ee7d00 55%),var(--bg-dark)}

/* Botão flutuante de WhatsApp */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;padding:6px;border-radius:60px;
  background:var(--ink-button);color:var(--white);text-decoration:none;box-shadow:0 16px 40px #00000033;
  opacity:0;translate:0 24px;scale:.9;pointer-events:none;
  transition:opacity .45s,translate .6s var(--ease-out-quart),scale .6s var(--ease-out-quart)}
.wa-float.is-visible{opacity:1;translate:0 0;scale:1;pointer-events:auto}
.wa-float:active{scale:.95}
.wa-float__label{max-width:0;overflow:hidden;white-space:nowrap;font-size:var(--fs-16);line-height:1.2;
  transition:max-width .5s var(--ease-out-quart),padding .5s var(--ease-out-quart)}
.wa-float:hover .wa-float__label,.wa-float:focus-visible .wa-float__label{max-width:160px;padding:0 12px 0 14px}
.wa-float__icon{position:relative;flex:none;width:48px;height:48px;border-radius:50%;background:var(--lime);color:var(--black);display:flex;align-items:center;justify-content:center}
.wa-float__icon svg{width:22px;height:22px}
.wa-float__icon::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--lime);opacity:0;animation:wa-ping 3.4s var(--ease-out-quad) 1.2s infinite}
@keyframes wa-ping{0%{transform:scale(1);opacity:.8}40%,100%{transform:scale(1.75);opacity:0}}

@media (max-width:991px){
  /* menu do celular: itens entram em sequência */
  .nav__menu>a{opacity:0;translate:0 10px;transition:opacity .35s,translate .45s var(--ease-out-quart),background-color .5s}
  .nav__menu.is-open>a{opacity:1;translate:0 0}
  .nav__menu.is-open>a:nth-child(2){transition-delay:.04s}
  .nav__menu.is-open>a:nth-child(3){transition-delay:.08s}
  .nav__menu.is-open>a:nth-child(4){transition-delay:.12s}
  .nav__menu.is-open>a:nth-child(5){transition-delay:.16s}
  .nav__menu.is-open>a:nth-child(6){transition-delay:.2s}
  .nav__menu.is-open>a:nth-child(7){transition-delay:.24s}
}
@media (max-width:767px){
  .about-band,.philosophy{--band-x:14px}
  .wa-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .wa-float__icon{width:52px;height:52px}
}

/* =========================================================
   Responsivo
   ========================================================= */
@media (max-width:1279px){
  .nav__cta{margin-left:24px}
  .nav__menu>a:not(.btn){padding:0 8px;font-size:var(--fs-16)}
  .hero__side{padding-left:0}
}

@media (max-width:991px){
  .hero__float{display:none}
  :root{--fs-h2:2.75rem;--ls-h2:-2.5px;--fs-48:2.5rem;--fs-86:4rem;--fs-34:1.75rem;--fs-h3:1.875rem}
  .container{padding:4em 1.5em}
  .stack-80{gap:56px}

  /* menu mobile */
  .nav{padding:0 1em}
  .nav__inner{padding:12px 4px}
  .nav__toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;border:0;border-radius:50%;background:var(--bg-dark);cursor:pointer;padding:0 14px}
  .nav__toggle span{display:block;height:2px;background:var(--white);border-radius:2px;transition:transform .3s}
  .nav__toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
  .nav__toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .nav__menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:16px 1.5em 24px;background:#fff;border-bottom:1px solid var(--border-nav);box-shadow:0 20px 34px #0000000f;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s,visibility .3s}
  .nav__menu.is-open{opacity:1;visibility:visible;transform:none}
  .nav__menu>a:not(.btn){padding:10px 0;font-size:var(--fs-20);border-bottom:1px solid var(--grey-06)}
  .nav__cta{margin:12px 0 0;align-self:flex-start}

  /* hero */
  .hero__grid{grid-template-columns:1fr 1fr;gap:40px}
  .hero__intro{grid-column:1/-1;padding-top:0}
  .hero__name{font-size:5rem;letter-spacing:-4px}
  .hero__side{padding-bottom:0;justify-content:center}

  .about-band__grid{grid-template-columns:1fr;gap:48px}
  .soft-band{padding:4em 1.5em}
  .soft-band__inner{gap:56px}
  .soft-band__row{grid-template-columns:1fr;gap:40px;justify-items:center}

  /* serviços: sem sticky, todos abertos */
  .services{height:auto}
  .services__sticky{position:static;padding-top:4em}
  .svc__head h3,.svc.is-active .svc__head h3{transform:none;white-space:normal}
  .svc__body{height:auto;display:grid;grid-template-rows:0fr;transition:grid-template-rows 500ms var(--ease-out-quart)}
  .svc.is-active .svc__body{height:auto;grid-template-rows:1fr}
  .svc__inner{padding:0;min-height:0;overflow:hidden}
  .svc__inner>:first-child{margin-top:4px}
  .svc__inner>:last-child{margin-bottom:28px}
  .svc__toggle{width:44px;height:44px}

  .why{flex-direction:column}
  .why__item,.why__item.is-active{flex-basis:auto}
  .why__card{height:auto;min-height:0;gap:40px}
  .why__desc{opacity:1;max-height:none;color:var(--grey-02)}
  .why__item.is-active .why__desc{color:var(--grey-04)}
  .why__card::after{display:none}
  .why__item:not(.is-active) .why__text{padding-right:0}
  .why__num{font-size:2.5rem}

  .edge{grid-template-columns:1fr}
  .edge__sticky{position:static;max-width:420px;margin:0 auto}
  .edge__item{position:static;min-height:0;padding:20px 0}

  .awards{grid-template-columns:1fr}
  .awards__img{max-width:560px}

  .cta{padding:48px;gap:72px}
  .cta__top{width:100%}
  .footer__top{margin-bottom:80px}
}

@media (max-width:767px){
  :root{--fs-h2:2.25rem;--ls-h2:-1.5px;--fs-48:2rem;--ls-48:-1.5px;--fs-86:3rem;--fs-34:1.5rem;--fs-h3:1.625rem;--ls-h3:-1px;--fs-28:1.5rem}
  body{font-size:var(--fs-16)}
  .container{padding:3.5em 16px}
  .logo__text{font-size:18px}

  .hero__grid{grid-template-columns:1fr;gap:40px}
  .hero__name{font-size:clamp(3rem,14vw,4.5rem);letter-spacing:-3px}
  .hero__hello{font-size:var(--fs-24)}
  .hero__side{padding-left:0}
  .hero__brands{padding:0 16px 3.5em;gap:28px}
  .marquee__track{gap:56px;padding-right:56px}
  .marquee__track span{font-size:var(--fs-24)}
  .marquee::before,.marquee::after{width:90px}

  .about-band__contacts{flex-direction:column;align-items:flex-start;gap:16px}
  .slider{min-height:320px}
  .slider__item{width:240px;height:310px}
  .soft-band{padding:3.5em 16px}
  .soft-band__img{width:100%;max-width:420px;height:auto;aspect-ratio:1.9}
  .stats{grid-template-columns:1fr;gap:28px;width:100%}
  .stat__num{font-size:3rem}

  .services__head{flex-direction:column;align-items:flex-start;margin-bottom:32px}
  .svc__inner{flex-direction:column}
  .svc__text{max-width:none}
  .svc__inner img{width:100%;height:auto;aspect-ratio:1.76}

  .philosophy__inner{padding:80px 16px}
  .philosophy__squiggle{height:28%}

  .award{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 4px}
  .award:hover{padding:20px 8px}
  .award__left{gap:16px;align-items:flex-start}
  .award__mark{width:48px;height:48px;font-size:16px}
  .award__company{font-size:var(--fs-24);line-height:1.3}
  .award__right{font-size:var(--fs-18);padding-left:64px}

  .cta{padding:32px 24px;gap:48px}
  .cta__pillars{gap:16px 0}
  .cta__pillar{padding:0 16px;font-size:var(--fs-24);letter-spacing:-1px}

  .footer__title{letter-spacing:-2px}
  .form__row{grid-template-columns:1fr}
  .form__row textarea{min-height:8.4em}
  .form__row button{padding:14px 28px}
  .footer__contacts{flex-direction:column;align-items:flex-start;gap:20px}
  .contact__title{font-size:var(--fs-20)}
  .footer__bar{flex-direction:column;align-items:flex-start;font-size:var(--fs-16)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-reveal]{opacity:1;transform:none;transition:none}
  .float-tile__bob,.hero__orbit>circle,.hero__orbit-dot,.float-spark{animation:none!important}
  .float-tile,.hero__orbit,.float-spark{opacity:1;animation:none}
  .js [data-reveal="split"] .w__i{transform:none;transition:none}
  .svc__text,.svc__inner img,.nav,.wa-float{transition:none}
  .wa-float__icon::after{animation:none}
  .about-band,.philosophy{clip-path:none}
  .marquee__track,.badge__dot::before,.svc__toggle svg,.btn::after,.btn__icon svg:last-child,.hero__socials a::after,.hero__socials svg{animation:none}
  .philosophy__mask{display:none}
}
