/* ========================================================================== */
/* tokens + base */
/* ========================================================================== */
:root{
  --container: 1920px;
  --gutter: clamp(16px, 4vw, 80px);
  --content-max: min(var(--container), calc(100% - (var(--gutter) * 2)));

  --bg: #EFEDE6;
  --fg: #0C180B;
  --red: #8F080C;
  --green-1: #3A5834;
  --green-2: #AEA136;
  --cream: #DE8A93;
  --beige: #FBE1C2;
  --green-3: #185847;

  --sans: "Public Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --serif: "Instrument Serif", ui-serif, Georgia, "Times New Roman", serif;

  --ease: cubic-bezier(.2,.9,.2,1);
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
}

body{
  margin:0;
  min-height:100%;
  font-family:var(--sans);
  font-weight:400;
  color:var(--fg);
  background:var(--bg);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5,h6,
p,ul,ol,figure{
  margin:0;
  padding:0;
}

ul,ol{ list-style:none; }

a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:none; text-underline-offset:.18em; }

img,picture,video,canvas,svg{
  display:block;
  max-width:100%;
  height:auto;
}

button,
input,
textarea,
select{
  font:inherit;
  color:inherit;
}

button{
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
}

:focus-visible{
  outline:2px solid color-mix(in srgb, var(--green-3) 65%, transparent);
  outline-offset:3px;
}

.lg-page{
  background: var(--page-bg, var(--bg));
  color: var(--page-fg, var(--fg));
  transition: background-color .2s linear, color .2s linear;
  overflow: hidden;
}

.section{
  background: transparent;
  position:relative;
  isolation:isolate;
}

.section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  transition:background .4s ease;
}

/* ========================================================================== */
/* layout */
/* ========================================================================== */
.container{
  width:100%;
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}

.container--max{
  width:var(--content-max);
  margin-left:auto;
  margin-right:auto;
}


    .noise {
        z-index: 99999;
        pointer-events: none;
        touch-action: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        width: calc(200% + 20rem);
        height: calc(200% + 20rem);
        transition: opacity .6s linear(0,.0001,.0002,.0005,.0008,.0011,.0016,.0021,.0027,.0034,.0042,.005,.006,.0071,.0082,.0095,.0108,.0123,.0139,.0156,.0175,.0194,.0215,.0238,.0262,.0287,.0314,.0343,.0374,.0406,.044,.0477,.0515,.0556,.06,.0646,.0695,.0747,.0802,.086,.0922,.0988,.1059,.1134,.1215,.1301,.1393,.1492,.16,.1716,.1842,.1979,.2131,.2298,.2484,.2694,.2933,.321,.3538,.3935,.443,.5053,.5783,.6485,.705,.7485,.7826,.8102,.8331,.8524,.8691,.8836,.8963,.9076,.9177,.9267,.9348,.942,.9486,.9546,.96,.9649,.9693,.9733,.9769,.9802,.9831,.9858,.9882,.9902,.9921,.9937,.9951,.9963,.9974,.9982,.9989,.9994,.9997,.9999,1);
        opacity: .17;
        mix-blend-mode: multiply;
        background-image: url(../images/gaussian-noise.png);
        animation: 1s steps(2,end) infinite noise-animation;
        position: fixed;
        top: -10rem;
        left: -10rem
    }


    @keyframes noise-animation {
    0% {
        transform: translateY(2rem)
    }

    10% {
        transform: translate(-1rem,-2rem)
    }

    20% {
        transform: translate(-4rem,1rem)
    }

    30% {
        transform: translate(4.5rem,-4.5rem)
    }

    40% {
        transform: translate(-1rem,3.5rem)
    }

    50% {
        transform: translate(-4.5rem,-2rem)
    }

    60% {
        transform: translate(1rem,3rem)
    }

    70% {
        transform: translate(3.5rem,-4rem)
    }

    80% {
        transform: translate(-4.5rem,.5rem)
    }

    90% {
        transform: translate(3rem,-2.5rem)
    }

    to {
        transform: translate(-3.5rem)
    }
}

/* ========================================================================== */
/* navbar */
/* ========================================================================== */
/* navbar */
.lg-nav{
  position:fixed;
  left:0; right:0; top:0;
  z-index:60;
  transform:translateY(0);
  opacity:1;
  transition:transform 520ms var(--ease), opacity 520ms var(--ease);
}

.lg-nav__row,
.lg-nav__pill{
  pointer-events:auto;
}

.lg-nav__row{
  pointer-events:auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:clamp(12px,1.8vw,12px) clamp(16px,4vw,32px);
  gap:12px;
}

.lg-nav__btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  background:transparent;
  backdrop-filter:blur(10px);
  pointer-events:auto;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  font-size:16px;
  letter-spacing:-0.55px;
  line-height:1;
  font-weight:500;
  flex-direction:row-reverse;
  color:var(--beige);
}

.lg-nav__btn--menu{ justify-self:start; }

.lg-nav__btn--cta{
  justify-self:end;
  border:none;
  background:var(--red);
  color:var(--beige);
  padding:18px 42px;
}

.lg-nav__logo{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:clamp(28px,2.6vw,40px);
}

/* ========================================================================== */
/* text swap */
/* ========================================================================== */
.lg-swap{
  --swap-h:1.1em;
  display:inline-block;
  overflow:hidden;
  line-height:1.05;
  position:relative;
  height:var(--swap-h);
  vertical-align:middle;
}

.lg-swap__inner{
  display:block;
  transform:translateY(0);
  transition:transform 520ms cubic-bezier(.18,.9,.18,1);
}

.lg-swap__a,
.lg-swap__b{
  display:block;
  white-space:nowrap;
  line-height:1.05;
}

.lg-swap__b{ opacity:.92; }

.plan-btn:hover .lg-swap__inner,
.plan-btn:focus-visible .lg-swap__inner,
.relatorio__btn:hover .lg-swap__inner,
.relatorio__btn:focus-visible .lg-swap__inner,
.cta__btn:hover .lg-swap__inner,
.cta__btn:focus-visible .lg-swap__inner{
  transform:translateY(calc(-1 * var(--swap-h)));
}

.lg-nav__pillBtn:hover .lg-swap__inner,
.lg-nav__pillBtn:focus-visible .lg-swap__inner,
.lg-nav__pillCta:hover .lg-swap__inner,
.lg-nav__pillCta:focus-visible .lg-swap__inner,
.lg-pill-menu__nav a:hover .lg-swap__inner,
.lg-pill-menu__nav a:focus-visible .lg-swap__inner,
.lg-pill-menu__cta:hover .lg-swap__inner,
.lg-pill-menu__cta:focus-visible .lg-swap__inner{
  transform:translateY(calc(-1 * var(--swap-h)));
}

/* ========================================================================== */
/* hover reveal */
/* ========================================================================== */
.lg-reveal{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.lg-reveal::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-32px;
  width:140%;
  aspect-ratio:1/1;
  border-radius:999px;
  transform:translateX(-50%) scale(0);
  transition:transform 520ms cubic-bezier(.18,.9,.18,1);
  z-index:0;
}

.lg-reveal > *{
  position:relative;
  z-index:1;
}

.lg-nav__btn--cta.lg-reveal::before{
  background:color-mix(in srgb,#fff 18%,transparent);
}

.lg-reveal:hover::before,
.lg-reveal:focus-visible::before{
  transform:translateX(-50%) scale(1);
}

.lg-nav__pillCta{
  color:var(--beige);
  border:1px solid color-mix(in srgb,var(--beige) 18%,transparent);
  background:color-mix(in srgb,var(--beige) 10%,transparent);
}
.lg-nav__pillCta.lg-reveal::before{
  background:color-mix(in srgb,var(--beige) 22%,transparent);
}


/* ========================================================================== */
/* navbar (single pill version) */
/* ========================================================================== */
.lg-nav{
  position:fixed;
  left:0;
  right:0;
  top:0;
  z-index:60;
  transform:translateY(0);
  opacity:1;
  transition:
    transform 520ms var(--ease),
    opacity 520ms var(--ease);
}

/* navbar hide on scroll down (optional, driven by JS) */
body.lg-nav-hidden .lg-nav{
  transform:translateY(-120%);
  opacity:0;
}

/* ========================================================================== */
/* pill nav */
/* ========================================================================== */
.lg-nav__pill{
  margin:clamp(12px,1.8vw,18px) clamp(16px,4vw,64px);
  max-width:780px;
  width:min(780px,calc(100% - 32px));
  padding:14px 18px;
  border-radius:12px;
  background:var(--fg);
  backdrop-filter:blur(10px);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:0px;
  margin-left:auto;
  margin-right:auto;
  transform-origin:top center;
  overflow:hidden;
  transition:
    border-radius 520ms cubic-bezier(.18,.9,.18,1),
    padding-bottom 520ms cubic-bezier(.18,.9,.18,1);
}

body.lg-menu-open-scroll .lg-nav__pill{
  border-radius:12px;
  padding-bottom:18px;
}

.lg-nav__pillBtn{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:transparent;
  border:0;
  padding:0;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.92;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  color:var(--beige);
}

.lg-nav__pillLogo{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:clamp(28px,2.6vw,40px);
  width:55px;
  transition:
    opacity 520ms cubic-bezier(.18,.9,.18,1),
    transform 520ms cubic-bezier(.18,.9,.18,1);
}

.lg-nav__pillCta{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--fg) 14%,transparent);
  background:color-mix(in srgb,var(--bg) 72%,transparent);
  backdrop-filter:blur(10px);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fg);
  text-decoration:none;
}

.lg-nav__pillCta.lg-reveal::before{
  background:color-mix(in srgb,var(--fg) 10%,transparent);
}

.lg-nav__pillCta.lg-reveal:hover::before{
  transform:translateX(-50%) scale(1);
}

/* ========================================================================== */
/* burger */
/* ========================================================================== */
.lg-burger{
  width:18px;
  height:12px;
  position:relative;
  display:inline-block;
  transform:translateZ(0);
}

.lg-burger::before,
.lg-burger::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:
    transform 520ms cubic-bezier(.18,.9,.18,1),
    top 520ms cubic-bezier(.18,.9,.18,1),
    bottom 520ms cubic-bezier(.18,.9,.18,1);
}

.lg-burger::before{ top:0; }
.lg-burger::after{ bottom:0; }

body.lg-menu-open-scroll [data-lg-toggle="scroll"] .lg-burger::before{
  top:50%;
  transform:translateY(-50%) rotate(45deg);
}

body.lg-menu-open-scroll [data-lg-toggle="scroll"] .lg-burger::after{
  bottom:auto;
  top:50%;
  transform:translateY(-50%) rotate(-45deg);
}

/* ========================================================================== */
/* overlay */
/* ========================================================================== */
.lg-overlay{
  position:fixed;
  inset:0;
  z-index:55;
  background:rgba(12,24,11,.18);
  opacity:0;
  pointer-events:none;
  transition:opacity 520ms cubic-bezier(.18,.9,.18,1);
}

body.lg-menu-open-scroll .lg-overlay{
  opacity:1;
  pointer-events:auto;
}

/* ========================================================================== */
/* scroll menu (inside pill) */
/* ========================================================================== */
.lg-pill-menu{
  grid-column:1 / -1;
  max-height:0;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  padding:0;
  margin-top:0;
  transition:
    max-height 520ms cubic-bezier(.18,.9,.18,1),
    opacity 520ms cubic-bezier(.18,.9,.18,1),
    transform 520ms cubic-bezier(.18,.9,.18,1),
    padding 520ms cubic-bezier(.18,.9,.18,1),
    margin-top 520ms cubic-bezier(.18,.9,.18,1);
}

body.lg-menu-open-scroll .lg-pill-menu{
  padding:14px 6px 0;
  margin-top:8px;
  max-height:620px;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.lg-pill-menu__brand{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 8px 14px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-6px);
  transition:
    opacity 520ms cubic-bezier(.18,.9,.18,1),
    transform 520ms cubic-bezier(.18,.9,.18,1);
}

body.lg-menu-open-scroll .lg-pill-menu__brand{
  opacity:.92;
  pointer-events:auto;
  transform:translateY(0);
}

.lg-pill-menu__brand .lg-pill-menu__logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:146px;
  width:190px;
}

.lg-pill-menu__nav a{
  display:block;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(22px,3.2vw,34px);
  line-height:1.05;
  letter-spacing:-0.02em;
  padding:14px 10px;
  border-top:1px solid color-mix(in srgb,var(--beige) 14%,transparent);
  color:var(--bg);
  opacity:.92;
  text-decoration:none;
}

.lg-pill-menu__ctaWrap{
  padding:14px 8px 10px;
  border-top:1px solid color-mix(in srgb,var(--fg) 14%,transparent);
}

.lg-pill-menu__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  gap:10px;
  padding:14px 16px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--fg) 14%,transparent);
  background:color-mix(in srgb,var(--bg) 72%,transparent);
  backdrop-filter:blur(10px);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fg);
  text-decoration:none;
}

.lg-pill-menu__cta.lg-reveal::before{
  background:color-mix(in srgb,var(--fg) 10%,transparent);
  width:260%;
  bottom:-80%;
}

.lg-pill-menu__cta.lg-reveal:hover::before{
  transform:translateX(-50%) scale(1);
}

/* hide center logo when menu is open */
body.lg-menu-open-scroll .lg-nav__pillLogo{
  opacity:0;
  pointer-events:none;
  transform:translateY(-6px);
}

/* ========================================================================== */
/* responsive + reduced motion */
/* ========================================================================== */
@media (max-width:900px){
  .lg-nav__pill{ width:calc(100% - 32px); }
}

@media (prefers-reduced-motion:reduce){
  .lg-nav,
  .lg-overlay,
  .lg-burger::before,
  .lg-burger::after,
  .lg-nav__pill,
  .lg-pill-menu,
  .lg-reveal::before,
  .lg-nav__pillLogo,
  .lg-pill-menu__brand{
    transition:none !important;
  }
}


/* ========================================================================== */
/* hero menu (dropdown card) */
/* ========================================================================== */
.lg-menu-card{
  position:fixed;
  z-index:80;
  left:0;
  top:0;
  width:min(240px,calc(100% - 32px));
  border-radius:22px;
  background:#fff;
  color:var(--fg);
  box-shadow:0 28px 120px rgba(0,0,0,.18);
  opacity:0;
  pointer-events:none;
  transform:translateY(-10px) scale(.98);
  transition:
    transform 520ms cubic-bezier(.18,.9,.18,1),
    opacity 520ms cubic-bezier(.18,.9,.18,1);
}

body.lg-menu-open-hero .lg-menu-card{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.lg-menu-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 18px 10px;
}

.lg-menu-card__title{
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.75;
}

.lg-menu-card__close{
  width:44px;
  height:44px;
  border-radius:14px;
  background:rgb(143 8 12 / 9%);
  display:grid;
  place-items:center;
}

.lg-menu-card__close span{
  font-size:22px;
  line-height:1;
  color:var(--red);
}

.lg-menu-card__nav{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:6px 18px 18px;
}

.lg-menu-card__nav a{
  font-family:var(--sans);
  font-size:22px;
  font-weight:600;
  line-height:1.12;
  padding:14px 12px;
  border-radius:14px;
  transition:
    background 320ms cubic-bezier(.18,.9,.18,1),
    transform 320ms cubic-bezier(.18,.9,.18,1);
}

.lg-menu-card__nav a:hover{
  background:color-mix(in srgb,var(--fg) 6%,transparent);
  transform:translateX(2px);
}


/* ========================================================================== */
/* hero */
/* ========================================================================== */
.hero{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  padding:0;
  display:block;
}

.hero__parallax{
  position:absolute;
  inset:-8vh 0 -8vh 0;
  z-index:0;
  will-change:transform;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:hsl(0deg 0% 0% / 49%);
}

.lg-heroTitleWrap,
.hero__content{
  position:relative;
  z-index:2;
}

.hero__scroll-layer{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(60% 60% at 50% 40%, rgba(255,255,255,.08), transparent 60%);
  mix-blend-mode:soft-light;
  will-change:transform;
}

.hero__video{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:translateZ(0);
}

.hero__content{
  height:100vh;
  padding-top:clamp(40px,6vh,72px);
  padding-bottom:clamp(40px,6vh,72px);
  display:grid;
  grid-template-rows:1fr auto;
  align-items:center;
}

.hero__content.container--max{
  position:relative;
  container-type:inline-size;
  container-name:hero;
}

.hero__h1,
.hero__p{
  opacity:1;
  transform:none;
  filter:none;
}

.lg-heroTitle{
  margin:0;
  width:100%;
  max-width:none;
  text-align:left;
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-0.02em;
  line-height:1.02;
  text-shadow:0 2px 18px rgba(12,24,11,.08);
  color:var(--beige);
  display:grid;
  grid-template-rows:auto auto;
  gap: 0;
  font-size: 9.2cqi;
  --vida-offset:2.25ch;
}

.lg-heroTitle__line{
  display:block;
  width:max-content;
  max-width:100%;
  overflow:clip;
  white-space:nowrap;
}

.lg-heroTitle__line em{
  font-style:italic;
  font-weight:400;
}

.lg-heroTitle__line--right{
  justify-self:end;
  text-align:right;
  transform:translateX(calc(var(--vida-offset) * -1));
}

.lg-heroTitle__line--left{
  justify-self:start;
  text-align:left;
}

.hero__p{
  margin:0;
  font-family:var(--sans);
  font-weight:300;
  line-height:1.55;
  font-size:clamp(16px,1.25vw,20px);
  letter-spacing:-0.2px;
  opacity:.92;
  text-shadow:0 2px 18px rgba(12,24,11,.06);
  max-width:39ch;
  color:var(--beige);
}

.hero__p--br{
  justify-self:end;
  text-align:left;
  align-self:end;
}

.lg-heroTitle__line .char{
  display:inline-block;
  will-change:transform, opacity, filter;
}

html.js .lg-heroTitle__line{
  opacity:1;
  transform:none;
  filter:none;
}

.lg-heroTitle__line{
  padding-block: .22em;
  margin-block: -.22em;
}

.lg-heroTitle__line .char{
  display:inline-block;
  will-change:transform, opacity, filter;
}

@container hero (max-width: 720px){
  .lg-heroTitle{
    font-size:clamp(5vh, 7.4cqi, 74px);
    --vida-offset:1.6ch;
    gap:0;
    line-height:1.06;
  }
  .lg-heroTitle__line{
    white-space:normal;
  }
}

@container hero (max-width: 420px){
  .lg-heroTitle{
    font-size:clamp(5vh, 8.2cqi, 60px);
    --vida-offset:1.1ch;
  }
  .hero__p--br{
    justify-self:start;
    text-align:left;
  }
}


@media (max-width: 720px){

    .hero__content{
    grid-template-rows:auto auto;
    align-content:end;
    row-gap:14px;
    padding-bottom:clamp(24px,6vh,56px);
  }

  .lg-heroTitle{
    margin:0;
  }

  .hero__p--br{
    justify-self:start;
    text-align:left;
  }

}


/* ========================================================================== */
/* consultoria */
/* ========================================================================== */

.consultoria{
  position:relative;
  margin-top:-1px;
  padding-top:1px;
}

.consultoria__grid{
  display:grid;
  grid-template-columns:1fr 0.8fr;
  gap:clamp(24px, 4vw, 80px);
  align-items:start;
  padding-top:clamp(80px, 12vh, 160px);
  position:relative;
  z-index:2;
}

.consultoria__label{
  font-family:var(--sans);
  font-size:clamp(13px, 0.9vw, 16px);
  line-height:1.4;
  letter-spacing:0.18em;
  text-transform:uppercase;
  opacity:.9;
  white-space:nowrap;
}

.consultoria__textwrap{
  position:relative;
  min-height:clamp(180px, 18vh, 360px);
}

.consultoria__text{
  margin:0;
  font-family:var(--sans);
  font-weight:400;
  font-size:clamp(20px, 2.1vw, 40px);
  line-height:1.38;
  letter-spacing:-0.02em;
  max-width:33ch;
  position:relative;
  z-index:2;
  text-wrap:pretty;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.consultoria__text,
.consultoria__text *{
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.consultoria__wheel{
  position:absolute;
  right:clamp(-280px, -10vw, -60px);
  top:clamp(-120px, -8vh, -40px);
  width:clamp(420px, 44vw, 980px);
  opacity:.95;
  filter:blur(300px);
  z-index:1;
  pointer-events:none;
  transform:translateZ(0);
  will-change:transform, opacity;
}

.consultoria__wheel img{
  width:100%;
  height:auto;
  display:block;
}

.consultoria__photos{
  padding-top:clamp(40px, 8vh, 90px);
  z-index:3;
  position:relative;
}

.photo-row{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:clamp(14px, 2.6vw, 28px);
  align-items:end;
}

.photo{
  position:relative;
  overflow:hidden;
  background:rgba(12,24,11,.03);
  transform:translateZ(0);
  will-change:transform;
}

.photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media (max-width: 980px){
  .consultoria__grid{
    grid-template-columns:1fr;
    gap:clamp(18px, 4vw, 32px);
    padding-top:clamp(60px, 10vh, 110px);
  }

  .consultoria__label{
    font-size:12px;
    letter-spacing:0.22em;
  }

  .consultoria__textwrap{
    min-height:auto;
  }

  .consultoria__text{
    max-width:100%;
    font-size:clamp(18px, 4.6vw, 26px);
    line-height:1.48;
  }

.consultoria__wheel{
  position:absolute;
  right:clamp(-280px,-10vw,-60px);
  top:clamp(-120px,-8vh,-40px);
  width:clamp(420px,44vw,980px);
  z-index:1;
  pointer-events:none;
  transform:translateZ(0);
}

  .photo-row{
    grid-template-columns:repeat(2, 1fr);
    gap:clamp(14px, 4vw, 18px);
  }
}

@media (max-width: 540px){
  .photo-row{
    grid-template-columns:1fr;
  }

  .consultoria__photos{
    padding-top:clamp(28px, 6vh, 48px);
  }
}

/* ========================================================================== */
/* green section */
/* ========================================================================== */

.green-section{
  padding-top:clamp(88px, 16vh, 160px);
}

.green__top{
  text-align:center;
  position:relative;
}

.green__star{
  width:clamp(26px, 2.8vw, 52px);
  height:auto;
  margin:0 auto clamp(16px, 2.5vh, 26px);
  opacity:.95;
}

.textfill{
  margin:0 auto;
  width:100%;
  padding-inline:clamp(18px, 4vw, 56px);
}

.textfill__text{
  margin:0 auto;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(42px, 5vw, 82px);
  line-height:1.14;
  letter-spacing:-0.02em;
  text-align:center;
  color:rgba(251,225,194,.10);
  text-wrap:balance;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.textfill__text,
.textfill__text *{
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.textfill__hardline{
  display:block;
  overflow:hidden;
  padding-block:.22em;
  margin-block:-.22em;
}

.lg-split-inner{
  display:inline-block;
  will-change:transform;
}

.textfill__text .char{
  display:inline-block;
}

.green__mid{
  margin-top:clamp(56px, 8vh, 140px);
  text-align:center;
  position:relative;
}

.scroll-line{
  width:1px;
  height:clamp(60px, 10vh, 180px);
  background:rgba(174,161,54,.6);
  margin:0 auto clamp(22px, 3.5vh, 34px);
  border-radius:2px;
  opacity:.9;
}

.green__quote{
  margin:0 auto;
  max-width:50ch;
  font-family:var(--sans);
  font-weight:400;
  font-size:clamp(20px, 1.6vw, 32px);
  line-height:165%;
  letter-spacing:-0.4px;
  color:var(--beige);
  opacity:.98;
  padding:clamp(24px, 5vh, 72px) 0 clamp(16px, 3vh, 44px);
}

.hl{
  position:relative;
  display:inline-block;
  color:var(--beige);
  isolation:isolate;
  --hl-progress:0;
}

.hl::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0.18em;
  height:1.05em;
  background:color-mix(in srgb, var(--green-2) 78%, transparent);
  transform-origin:left center;
  transform:scaleX(var(--hl-progress));
  z-index:-1;
  will-change:transform;
}

.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width: 720px){

  .green-section{
    padding-top:clamp(72px, 12vh, 110px);
  }

  .green__star{
    width:clamp(22px, 5vw, 34px);
    margin-bottom:clamp(14px, 3vh, 22px);
  }

  .textfill{
    padding-inline:clamp(18px, 6vw, 28px);
  }

  .textfill__text{
    max-width:92vw;
    font-size:clamp(28px, 7vw, 40px);
    line-height:1.18;
    letter-spacing:-0.01em;
    text-wrap:pretty;
  }

  .textfill__text .char{
    display:inline;
  }

  .green__mid{
    margin-top:clamp(42px, 7vh, 72px);
  }

  .scroll-line{
    height:clamp(50px, 8vh, 90px);
    margin-bottom:clamp(18px, 3vh, 24px);
  }

  .green__quote{
    font-size:clamp(17px, 4.2vw, 22px);
    line-height:165%;
    padding:clamp(18px, 4vh, 32px) 0 clamp(12px, 3vh, 24px);
  }
}


/* ========================================================================== */
/* eixos */
/* ========================================================================== */
.section.eixos{
  padding-top:clamp(96px, 22vh, 26vh);
  padding-bottom:clamp(72px, 14vh, 16vh);
  position:relative;
  isolation:isolate;
}

.section.eixos .container--max{
  text-align:center;
  position:relative;
  z-index:2;
}

.section.eixos .kicker{
  display:inline-block;
  text-align:center;
  font-size:clamp(13px, 1vw, 17px);
  letter-spacing:clamp(2px, 0.22vw, 3px);
  font-weight:500;
  margin-bottom:clamp(32px, 7vh, 5em);
  text-transform:uppercase;
}

.eixos__title{
  margin:clamp(10px, 1.5vh, 16px) auto 0;
  max-width:22ch;
  text-align:center;
  font-family:var(--serif);
  font-weight:400;
  line-height:1.08;
  letter-spacing:clamp(-1.4px, -0.14vw, -2px);
  font-size:clamp(34px, 4.6vw, 76px);
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.eixos__title .sans-part{
  display:block;
  font-family:var(--sans);
  font-weight:400;
  font-size:clamp(20px, 3vw, 50px);
  line-height:1.2;
  letter-spacing:clamp(-1px, -0.12vw, -2px);
  opacity:.95;
  text-wrap:pretty;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.eixos__wheel{
  position:absolute;
  left:clamp(-280px, -10vw, -60px);
  top:20%;
  width:clamp(420px, 44vw, 980px);
  z-index:0;
  pointer-events:none;
  transform:translateZ(0);
}

.eixos__wheel img{
  width:100%;
  height:auto;
  display:block;
}

.eixos-pin{
  margin-top:clamp(40px, 8vh, 120px);
  position:relative;
  height:100svh;
  overflow:visible;
  display:flex;
  align-items:center;
  touch-action:pan-y;
  isolation:isolate;
  z-index:1;
}

.eixos-track{
  position:relative;
  display:flex;
  align-items:center;
  gap:clamp(18px, 3.5vw, 70px);
  padding-inline:var(--gutter);
  will-change:transform;
  width:max-content;
  touch-action:pan-y;
}

.eixo-circle{
  flex:0 0 auto;
  width:min(86vh, 1120px);
  aspect-ratio:1 / 1;
  border-radius:50%;
  border:clamp(2px, 0.25vw, 3px) solid color-mix(in srgb, var(--cream) 55%, transparent);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  will-change:transform;
}

.eixo-circle__inner{
  width:min(62%, 600px);
  text-align:center;
  padding:clamp(16px, 2.4vw, 24px);
}

.eixo-circle__kicker{
  display:inline-block;
  font-family:var(--sans);
  font-size:clamp(12px, 1vw, 17px);
  line-height:1.4;
  letter-spacing:clamp(2px, 0.22vw, 3px);
  text-transform:uppercase;
  color:var(--cream);
  position:relative;
}

.eixo-circle__kicker::before{
  content:"";
  width:clamp(26px, 3vw, 40px);
  height:1px;
  background:var(--cream);
  position:absolute;
  top:50%;
  left:calc(clamp(26px, 3vw, 40px) * -1 - 10px);
  transform:translateY(-50%);
  opacity:.9;
}

.eixo-circle__title{
  margin:clamp(12px, 1.8vh, 16px) 0 0;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(30px, 3.3vw, 62px);
  line-height:1.1;
  letter-spacing:clamp(-0.6px, -0.12vw, -1px);
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.eixo-circle__desc{
  margin:clamp(12px, 1.8vh, 16px) auto 0;
  font-family:var(--sans);
  font-size:clamp(15px, 1vw, 20px);
  line-height:1.6;
  letter-spacing:-0.2px;
  max-width:46ch;
  color:rgba(12, 24, 11, 0.7);
  text-wrap:pretty;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.eixo-circle__ghost{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  opacity:.05;
  font-family:var(--serif);
  font-size:min(28vh, 280px);
  letter-spacing:clamp(-5px, -0.8vw, -8px);
  color:var(--cream);
  transform:translateY(2%);
  user-select:none;
  z-index:0;
}

.eixo-circle__inner,
.eixo-circle__kicker,
.eixo-circle__title,
.eixo-circle__desc{
  position:relative;
  z-index:1;
}

@media (max-width: 980px){
  .section.eixos{
    padding-top:clamp(72px, 14vh, 18vh);
    padding-bottom:clamp(56px, 9vh, 10vh);
  }

  .eixos__title{
    max-width:min(26ch, 92vw);
  }

  .eixos__wheel{
    left:-120px;
    top:-60px;
    width:120vw;
  }

  .eixos-pin{
    height:auto;
    overflow:visible;
    display:block;
  }

  .eixos-track{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    gap:clamp(16px, 4vw, 24px);
    padding-inline:var(--gutter);
    transform:none !important;
    will-change:auto;
  }

  .eixo-circle{
    width:min(86vw, 680px);
  }

  .eixo-circle__inner{
    width:min(84%, 560px);
  }

  .eixo-circle__ghost{
    font-size:min(24vh, 220px);
  }
}

@media (max-width: 540px){
  .section.eixos .kicker{
    margin-bottom:clamp(24px, 5vh, 40px);
  }

  .eixos__title{
    font-size:clamp(30px, 8.2vw, 42px);
    line-height:1.12;
  }

  .eixos__title .sans-part{
    font-size:clamp(18px, 5.6vw, 28px);
  }

  .eixo-circle__desc{
    max-width:38ch;
  }
}

/* ========================================================================== */
/* como funciona + stack */
/* ========================================================================== */



/* COMO (header da seção) */
.section.como .container--max{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

/* kicker "COMO FUNCIONA" */
.section.como .kicker{
  font-family: "Public Sans", var(--sans);
  font-size: 17px;
  letter-spacing: 3px;
  line-height: 1.4;
  text-transform: uppercase;
  opacity: .92;
  margin: 0;
}

/* título */
.como__title{
  margin: 16px 0 0;
  font-family: "Instrument Serif", var(--serif);
  font-weight: 400;
  letter-spacing: -2px;
  line-height: 1.08;
  font-size: clamp(36px, 4.4vw, 72px);
  max-width: 22ch;
}

/* responsivo */
@media (max-width: 980px){
  .como__title{
    font-size: clamp(30px, 7.2vw, 44px);
    letter-spacing: -1.2px;
    max-width: 18ch;
  }

  .section.como .kicker{
    font-size: 15px;
    letter-spacing: 2.6px;
  }
}

/* ========================================================================== */
/* planos */
/* ========================================================================== */

.planos__top{
  display:grid;
  grid-template-columns:minmax(0, 3fr) minmax(0, 1fr);
  gap:clamp(18px, 4vw, 80px);
  align-items:start;
}

.planos__title{
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-2px;
  line-height:1.05;
  font-size:clamp(40px, 5.2vw, 72px);
  max-width:20ch;
  color:var(--beige);
  text-wrap:balance;
}

.kicker--beige{
  color:var(--green-2);
  font-family:var(--sans);
  font-weight:600;
  text-transform:uppercase;

  font-size:clamp(13px, 0.9vw, 15px);
  letter-spacing:clamp(2px, 0.35vw, 5px);
  line-height:1.2;

  display:inline-block;
}
.planos__lead{
  margin:18px 0 0;
  font-family:var(--sans);
  font-size:clamp(18px, 1.75vw, 32px);
  line-height:1.4;
  letter-spacing:-1px;
  color:var(--beige);
  opacity:.95;
  max-width:34ch;
  text-wrap:pretty;
}

.planos__grid{
  margin-top:clamp(30px, 6vh, 70px);
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(14px, 2.6vw, 24px);
  align-items:stretch;
}

.plan-card{
  border-radius:clamp(18px, 2.2vw, 32px);
  background:var(--bg);
  color:var(--fg);
  overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  padding:clamp(32px, 2.6vw, 50px);
  min-height:clamp(520px, 42vw, 640px);
  will-change:transform, opacity;
}

.plan-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.plan-card__h3{
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(36px, 3vw, 52px);
  letter-spacing:-1px;
  line-height:1.05;
  text-wrap:balance;
}

.plan-card__star{
  width:clamp(20px, 2.4vw, 45px);
  height:clamp(20px, 2.4vw, 45px);
  margin-top:10px;
  flex:0 0 auto;
  opacity:.95;
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.12));
}

.plan-list{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:clamp(14px, 1.6vw, 20px);
  flex:1;
  justify-content:center;
}

.plan-list li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-family:var(--sans);
  font-size:clamp(15px, 1.05vw, 18px);
  line-height:1.4;
  letter-spacing:-0.2px;
  opacity:.92;
}

.plan-list__center{
  justify-content:center;
}

.plan-list__emphasisText{
  color:var(--green-2);
}

.plan-list__emphasisText--trimestral{
  color:var(--green-3);
}

.plan-bullet{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:4px;
  opacity:.95;
}

.plan-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 12px;
  border-radius:999px;
  color:#fff;
  font-family:var(--sans);
  font-size:clamp(14px, .95vw, 17px);
  line-height:1;
  font-weight:600;
  width:fit-content;
  max-width:100%;
  text-align:center;
  text-wrap:balance;
}

.plan-pill--pontual{ background-color:var(--green-2); }
.plan-pill--mensal{ background-color:var(--green-3); }
.plan-pill--trimestral{ background-color:var(--green-1); }

.plan-btn{
  margin-top:18px;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:54px;
  padding:0 18px;
  border-radius:999px;
  background:var(--red);
  color:var(--bg);
  font-family:var(--sans);
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .18s var(--ease), filter .18s var(--ease);
  will-change:transform;
  font-size: 15px;
}

.plan-btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.03);
}

.plan-btn:focus-visible{
  outline:2px solid color-mix(in srgb, var(--red) 30%, #fff);
  outline-offset:3px;
}

@media (max-width: 980px){
  .planos__top{
    grid-template-columns:1fr;
    gap:clamp(14px, 3vw, 24px);
  }

  .planos__title{
    max-width:20ch;
  }

  .planos__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .plan-card{
    min-height:unset;
  }
  .kicker--beige{ {
    margin-bottom: 2em;
  }
}}

@media (max-width: 640px){
  .planos__grid{
    grid-template-columns:1fr;
  }

  .plan-list{
    justify-content:flex-start;
  }

  .plan-btn{
    width:100%;
  }
}


/* ====== RELATÓRIO AVULSO ====== */
.relatorio{
  margin-top: clamp(18px, 4vh, 34px);
}

.relatorio__box{
  border-radius: clamp(24px, 3vw, 44px);
  background: linear-gradient(180deg, rgba(24,88,71,.92) 0%, rgba(24,88,71,.72) 100%);
  box-shadow: 0 40px 120px rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.06);
  padding: clamp(36px, 3.8vw, 60px);
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(18px, 3vw, 44px);
  align-items: center;
  min-height: clamp(220px, 26vh, 340px);
  overflow: hidden;
}

.relatorio__left{
  min-width: 0;
}

.relatorio__title{
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -1.4px;
  line-height: 1.05;
  font-size: clamp(34px, 3.8vw, 64px);
  color: var(--beige);
}

.relatorio__text{
  margin: 16px 0 0;
  font-family: var(--sans);
  font-size: clamp(16px, 1.2vw, 20px);
  line-height: 1.55;
  letter-spacing: -0.3px;
  color: color-mix(in srgb, var(--beige) 92%, white);
  opacity: .95;
  max-width: 60ch;
}

.relatorio__right{
  display: grid;
  gap: 18px;
  justify-items: end;
  align-items: center;
}

.relatorio__price{
  display: grid;
  grid-template-columns: auto auto;
  gap: clamp(14px, 2.2vw, 26px);
  align-items: end;
}

.relatorio__priceLabel{
  font-family: var(--serif);
  font-weight: 400;
  color: color-mix(in srgb, var(--beige) 88%, white);
  opacity: .92;
  line-height: 1.05;
  font-size: clamp(24px, 1.6vw, 30px);
  text-align: right;
  letter-spacing: -0.6px;
}

.relatorio__priceValue{
  font-family: var(--serif);
  font-weight: 400;
  color: var(--beige);
  line-height: .9;
  letter-spacing: -2px;
  font-size: clamp(56px, 5.6vw, 85px);
  white-space: nowrap;
}

.relatorio__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 66px;
  padding: 0 clamp(22px, 2.6vw, 44px);
  border-radius: 999px;
  background: color-mix(in srgb, var(--green-2) 78%, #caa83f);
  color: rgba(0,0,0,.86);
  font-family: var(--sans);
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 22px 70px rgba(0,0,0,.18);
  transition: transform .18s var(--ease), filter .18s var(--ease);
  will-change: transform;
  font-size: 15px;
}

.relatorio__btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.03);
}

.kicker--mobile{
  display:none;
}

.kicker--desktop{
  display:inline-block;
}

@media (max-width: 980px){
  .kicker--mobile{
    display:inline-block;
    margin-bottom: 2rem;
  }

  .kicker--desktop{
    display:none;
  }
  .planos__lead {
    margin: 0;
  }
}

/* responsivo */
@media (max-width: 980px){
  .planos__top{
    grid-template-columns:1fr;
    gap:16px;
  }

  .planos__title{
    max-width:20ch;
  }

  .planos__grid{
    grid-template-columns:1fr;
  }

  .plan-card{
    min-height:auto;
  }

  .relatorio__box{
    grid-template-columns: 1fr;
    align-items: start;
    gap: 24px;
  }

  .relatorio__right{
    justify-items: start;
  }

  .relatorio__price{
    display:grid;
    grid-template-columns:auto auto;
    align-items:end;
    justify-content:start;
    gap:12px;
  }

  .relatorio__priceLabel{
    text-align: left;
  }

  .relatorio__btn{
    width: 100%;
    height: 60px;
  }
}

/* ========================================================================== */
/* cta final */
/* ========================================================================== */
.cta{
  margin-top:clamp(60px, 10vh, 130px);
  text-align:center;
  padding:clamp(56px, 10vh, 110px) 0 clamp(64px, 12vh, 140px);
  position:relative;
}

.cta__star{
  width:clamp(30px, 3.2vw, 54px);
  height:auto;
  margin:0 auto clamp(18px, 3vh, 26px);
  opacity:.95;
}

.cta__title{
  margin:0;
  font-weight:600;
  letter-spacing:-0.04em;
  line-height:0.92;
  color:var(--green-2);
}

.cta__title .cta__titleLine{
  display:block;
  line-height:0.92;
  letter-spacing:inherit;
}

.cta__title .cta__titleLine--top{
  font-size: clamp(44px, 6.2vw, 72px);
  font-weight: 400;
  font-family: var(--serif);
}

.cta__title .cta__titleLine--bottom{
  font-size: clamp(36px, 4vw, 72px);
  font-weight: 600;
  font-family: var(--sans);
}

.cta__p{
  margin:18px auto 0;
  font-family:var(--sans);
  font-size: clamp(16px, 1vw, 22px);
  line-height:1.45;
  letter-spacing:-0.8px;
  color:var(--beige);
  max-width: 45ch;
  opacity:.95;
}

.cta__btn{
  margin:clamp(26px, 4vh, 38px) auto 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px 26px;
  border-radius:999px;
  background:color-mix(in srgb, var(--green-3) 60%, black);
  color:var(--beige);
  font-family:var(--sans);
  font-weight:700;
  letter-spacing:-0.2px;
  box-shadow:0 26px 80px rgba(0,0,0,.22);
  transition:transform .18s var(--ease), filter .18s var(--ease);
  will-change:transform;
}

.cta__btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
}

.wa-ico{
  width:18px;
  height:18px;
  flex:0 0 auto;
  opacity:.95;
}

@media (max-width: 540px){
  .cta__title{
    letter-spacing:-0.03em;
    line-height:0.95;
  }
  .cta__title .cta__titleLine{
    line-height:0.95;
  }
  .cta__title .cta__titleLine--bottom{
    margin-top:-0.06em;
  }
}






/* ========================================================================== */
/* como funciona */
/* ========================================================================== */
.como-funciona{
  position:relative;
  padding: clamp(84px, 12vh, 140px) 0;
  background: var(--red);
  color: var(--beige);
  overflow:hidden;
  min-height: 100vh;
  display: flex;
    align-items: center;
}

.como-funciona__head{
  text-align:center;
  margin-bottom: clamp(36px, 6vh, 64px);
}

.como-funciona__kicker{
  display:inline-block;
  font-family: "Public Sans", var(--sans);
  font-size: clamp(12px, 0.85vw, 14px);
  font-weight: 600;
  letter-spacing: .28em;
  text-transform: uppercase;
  opacity: .82;
}

.como-funciona__title{
  margin: clamp(18px, 3vh, 26px) 0 0;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -2.6px;
  line-height: .96;
  font-size: clamp(44px, 5.2vw, 86px);
  color: var(--beige);
}

.como-funciona__steps{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap: clamp(18px, 2.6vh, 26px);
}

.como-funciona__card{
  background: var(--beige);
  color: var(--fg);
  border-radius: 0;
  border: 1px solid rgba(12,24,11,.12);
  display:grid;
  grid-template-columns: minmax(120px, 220px) 1fr;
  align-items:center;
  gap: clamp(18px, 3vw, 40px);
  padding: clamp(22px, 3.4vw, 38px) clamp(22px, 4vw, 44px);
}
.como-funciona__num{
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -4px;
  line-height: .9;
  font-size: clamp(64px, 7.6vw, 132px);
  color: var(--red);
  opacity: .92;
}

.como-funciona__content{
  max-width: 62ch;
}

.como-funciona__h3{
  margin:0 0 10px;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -1.2px;
  line-height: 1.05;
  font-size: clamp(22px, 2.2vw, 34px);
  color: var(--fg);
}

.como-funciona__p{
  margin:0;
  font-family: var(--sans);
  font-weight: 400;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.7;
  color: rgba(12,24,11,.78);
}

@media (max-width: 980px){
  .como-funciona{
    padding: 76px 0 88px;
  }

  .como-funciona__card{
    grid-template-columns: 1fr;
    align-items:start;
    gap: 12px;
    padding: 22px 18px;
  }

  .como-funciona__num{
    letter-spacing: -3px;
    font-size: clamp(56px, 18vw, 92px);
  }

  .como-funciona__content{
    max-width: 52ch;
  }
}

@media (max-width: 520px){
  .como-funciona__title{
    letter-spacing: -2px;
    font-size: clamp(36px, 10.8vw, 54px);
  }

  .como-funciona__p{
    font-size: 15.5px;
  }
}



/* ========================================================================== */
/* sobre mim */
/* ========================================================================== */
.sobre{
  position: relative;
  padding: clamp(72px, 10vh, 120px) 0;
  overflow: hidden;
  background: var(--bg);
  min-height: 100vh;
}

.sobre__bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.sobre__orb{
  position:absolute;
  width: clamp(520px, 62vw, 1100px);
  aspect-ratio: 1 / 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  filter: blur(400px);
  opacity: .85;
  transform: translate3d(0,0,0);
  will-change: transform, filter;
}

.sobre__orb--right{
  right: clamp(-320px, -18vw, -140px);
  top: clamp(-240px, -16vh, -80px);
  background-image: url("../images/bola_verde.svg");
  opacity: 0.3;
}

.sobre__orb--left{
  left: clamp(-340px, -20vw, -160px);
  top: clamp(120px, 18vh, 340px);
  background-image: url("../images/bola_vermelha.svg");
  opacity: 0.3;
}

.sobre__wrap{
  position: relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1fr minmax(420px, 640px) 1fr;
  align-items: center;
  gap: clamp(18px, 4vw, 54px);
  min-height: min(82vh, 820px);
  isolation: isolate;
}

.sobre__center{
  text-align: center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding: clamp(18px, 3vw, 28px) 0;
  position: relative;
  z-index: 2;
  padding-inline: clamp(14px, 2vw, 28px);
}

.sobre__kicker{
  font-family: "Public Sans", var(--sans);
  font-size: clamp(13px, 0.9vw, 17px);
  font-weight: 600;
  letter-spacing: 5px;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--fg);
  margin: 0 0 clamp(13px, 2.5vw, 60px);
}

.sobre__title{
  margin: clamp(18px, 3.6vh, 28px) 0 0;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -3px;
  line-height: .92;
  font-size: clamp(56px, 6.8vw, 104px);
  color: var(--fg);
}

.sobre__divider{
  width: 1px;
  height: clamp(70px, 10vh, 120px);
  margin: clamp(32px, 4vh, 60px) 0;
  background: var(--green-3);
}

.sobre__text{
  max-width: 66ch;
  margin: 0 auto;
  color: rgba(12, 24, 11, 0.8);
  font-family: var(--sans);
  font-size: clamp(15px, 1.05vw, 16.5px);
  line-height: 1.7;
  letter-spacing: -0.55px;
}

.sobre__text p{
  margin: 0;
}

.sobre__text p + p{
  margin-top: 18px;
}

.sobre__text em{
  font-style: italic;
}

.sobre__media{
  position: relative;
  height: min(74vh, 720px);
  min-height: 520px;
  z-index: 0;
}

.sobre__frame{
  position: absolute;
  border-radius: 0;
  overflow: visible;
  will-change: transform;
  transform: translate3d(0,0,0);
  pointer-events: none;
}

.sobre__frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.sobre__frame--l1{
  left: 0;
  top: 64px;
  width: clamp(240px, 22vw, 360px);
  aspect-ratio: 3 / 4;
}

.sobre__frame--l2{
  left: clamp(50px, 5vw, 170px);
  top: clamp(320px, 40vh, 420px);
  width: clamp(180px, 16vw, 280px);
  aspect-ratio: 3 / 4;
}

.sobre__frame--r1{
  right: 0;
  top: 0;
  width: clamp(260px, 24vw, 400px);
  aspect-ratio: 2 / 2;
}

.sobre__frame--r2{
  right: clamp(-10px, -9vw, 60px);
  top: clamp(260px, 32vh, 300px);
  width: clamp(230px, 22vw, 360px);
  aspect-ratio: 3 / 4;
}

/* responsivo */
@media (max-width: 980px){
  .sobre{
    padding: 72px 0 84px;
  }

  .sobre__wrap{
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: auto;
  }

  .sobre__media{
    height: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-items: start;
    justify-items: center;
    margin-top: 14px;
  }

  .sobre__frame{
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 420px;
    aspect-ratio: 4 / 3;
    transform: none !important;
  }

  .sobre__frame--l2,
  .sobre__frame--r2,
  .sobre__frame--r1{
    aspect-ratio: 3 / 4;
  }

  .sobre__divider{
    height: 72px;
    margin: 18px 0 22px;
  }

  .sobre__text{
    max-width: 46ch;
  }

  .sobre__media--left{
    display:none;
  }


  .sobre__orb{
    width: clamp(520px, 120vw, 900px);
    opacity: .75;
    filter: blur(220px);
  }

  .sobre__orb--right{
    right: -55vw;
    top: -26vh;
  }

  .sobre__orb--left{
    left: -62vw;
    top: 22vh;
  }
}







.lg-footer{
  background: var(--fg);
  color: var(--beige);
  padding: clamp(56px, 10vh, 120px) 0 clamp(28px, 6vh, 52px);
  position: relative;
  isolation: isolate;
}

.lg-footer__grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: clamp(22px, 4vw, 80px);
  min-height: clamp(220px, 30vh, 340px);
}

.lg-footer__brand{
  display:flex;
  flex-direction:column;
  justify-content: center;
  gap: clamp(18px, 3vh, 26px);
}

.lg-footer__logo{
  width: min(300px, 62%);
  max-width: 300px;
  height: auto;
  opacity: .95;
}

.lg-footer__sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.lg-footer__contact{
  display:flex;
  flex-direction:column;
  gap: clamp(24px, 3.5vh, 50px);
  align-items: flex-end;
  text-align: right;
  font-style: normal;
  margin:0;
}

.lg-footer__block{
  display:grid;
  gap: 10px;
}

.lg-footer__label{
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .26em;
  text-transform: uppercase;
  opacity: .72;
  font-weight: 600;
}

.lg-footer__links{
  display:flex;
  flex-direction:column;
  gap: 8px;
  align-items: flex-end;
}

.lg-footer__value{
  font-family: var(--serif);
  font-size: clamp(20px, 2.2vw, 34px);
  font-weight: 400;
  line-height: 1.08;
  color: var(--beige);
  text-decoration: none;
  opacity: .96;
  transition: transform 220ms var(--ease), opacity 220ms var(--ease);
}

.lg-footer__value:hover{
  transform: translateY(-1px);
  opacity: 1;
}

.lg-footer__value--sub{
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .78;
}

.lg-footer__bottom{
  margin-top: clamp(22px, 4vh, 34px);
  padding-top: 3rem;
  border-top: 1px solid rgba(239, 237, 230, 0.14);
  display:flex;
  justify-content: space-between;
  align-items: center;
}

.lg-footer__copy{
  margin:0;
  font-family: var(--sans);
  font-size: 13px;
  letter-spacing: .2px;
  opacity: .78;
}

@media (max-width: 980px){
  .lg-footer{
    padding: 64px 0 42px;
  }

  .lg-footer__grid{
    grid-template-columns: 1fr;
    align-items: start;
    min-height: 0;
  }

  .lg-footer__brand{
    align-items: center;
  }

  .lg-footer__logo{
    width: min(240px, 64%);
    max-width: 240px;
  }

  .lg-footer__contact{
    align-items: center;
    text-align: left;
    margin-top: 10px;
  }

  .lg-footer__links{
    align-items: flex-start;
  }

  .lg-footer__bottom{
    justify-content: flex-start;
  }
  .cta {
    margin-top: 0;
  }
}

@media (max-width: 520px){
  .lg-footer__logo{
    width: min(210px, 70%);
    max-width: 210px;
  }

  .lg-footer__value{
    font-size: clamp(18px, 6.4vw, 26px);
    letter-spacing: -0.4px;
  }

}

/* ========================================================================== */
/* responsive */
/* ========================================================================== */
@media (max-width:980px){
  .consultoria__grid{ grid-template-columns:1fr; }
  .consultoria__label{ white-space:normal; }
  .consultoria__wheel{ right:-30vw; filter:blur(220px); opacity:.28; }
  .photo-row{ grid-template-columns:repeat(2, 1fr); }

  .eixos-pin{ height:auto; }
  .eixos-track{
    position:relative;
    padding:0 var(--gutter);
    overflow-x:hidden;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:18px;
  }
  .eixo-circle{
    width:min(60vh, 1120px);
    scroll-snap-align:center;
  }

  .stack-card{ grid-template-columns:1fr; }
  .stack-card__media{ height:clamp(220px, 45vw, 340px); }

  .planos__top{ grid-template-columns:1fr; }
  .planos__grid{ grid-template-columns:1fr; }
  .plan-card{ min-height:auto; }

  .cta__title{ font-size:clamp(44px, 9vw, 76px); }
}

@media (prefers-reduced-motion: reduce){
  .hero__parallax,
  .consultoria__wheel,
  .photo,
  .eixos-track,
  .stack-card{
    will-change:auto;
  }
}