/* =========================================================
   Vignolo e Silva Advogados — identidade oficial
   Sistema visual: editorial orgânica
   ========================================================= */
@font-face{font-family:"Playfair Display";src:url("../assets/fonts/PlayfairDisplay-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../assets/fonts/PlayfairDisplay-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../assets/fonts/PlayfairDisplay-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display SC";src:url("../assets/fonts/PlayfairDisplaySC-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display SC";src:url("../assets/fonts/PlayfairDisplaySC-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}

:root{
  /* Cores oficiais */
  --brown:#4a1f00;--brown-deep:#2b1408;--green:#6ca62e;--green-deep:#537f18;--green-ink:#49711f;
  --black:#1f1f1d;--gray:#63625f;--gray-light:#d8d9d9;--off-white:#f6f6f2;--white:#fff;

  /* Tons derivados — apenas transparências das cores oficiais */
  --sand:#efeee6;--sand-deep:#e7e6db;--bark:#3a1c0a;
  --green-glow:rgba(108,166,46,.16);--green-veil:rgba(108,166,46,.08);
  --brown-veil:rgba(74,31,0,.06);--light-bloom:rgba(255,255,255,.85);

  --font-display:"Playfair Display",Georgia,serif;--font-title:"Playfair Display SC",Georgia,serif;
  --font-body:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --container:1240px;--header-h:106px;
  --shadow:0 22px 60px rgba(42,20,8,.11);
  --shadow-soft:0 26px 70px -38px rgba(42,20,8,.42);
  --shadow-lift:0 34px 80px -34px rgba(42,20,8,.34);

  /* Textura fina de papel */
  --paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23p)'/%3E%3C/svg%3E");
  --mark-tree:url("../assets/img/tree-mark.svg");
  --mark-branch:url("../assets/img/branch-mark.svg");

  /* Movimento */
  --ease:cubic-bezier(.22,.61,.36,1);--dur:500ms;
}

*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{position:relative;margin:0;font-family:var(--font-body);font-size:17px;line-height:1.7;color:var(--gray);background:var(--white);overflow-x:hidden}
img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}
h1,h2,h3,p,figure,address{margin:0}address{font-style:normal}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;padding:12px 20px;background:var(--green-deep);color:var(--white)}.skip-link:focus{left:0}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:28px}

/* Grão de papel — camada única sobre todo o site */
body::after{content:"";position:fixed;inset:0;z-index:95;pointer-events:none;background-image:var(--paper);background-size:180px 180px;opacity:.055;mix-blend-mode:soft-light}

/* Marca-d'água institucional (árvore/ramos do logotipo) */
.services::after,.feature-band::after,.differentials::after,
.inner-hero::after,.inner-content::after,.inner-cta::after,.contact-page::after,.privacy-page::after,
.service-card::after,.inner-card::after,.footer__mark{
  content:"";position:absolute;pointer-events:none;
  -webkit-mask-image:var(--mark,var(--mark-tree));mask-image:var(--mark,var(--mark-tree));
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
  transform:translate3d(0,var(--par,0px),0)
}

/* Rampas de transição entre seções — tonalidade gradual, sem emendas duras */
.services::before,.lawyer::before,.feature-band::before,.differentials::before,
.inner-content::before,.inner-cta::before,.contact-page::before,.privacy-page::before{
  content:"";position:absolute;inset:0;pointer-events:none;background:var(--ramp,none);background-repeat:no-repeat
}

.eyebrow{display:flex;align-items:center;gap:12px;color:var(--green-ink);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.18em;text-transform:uppercase}
.eyebrow::before{content:"";width:36px;height:1px;background:currentColor}.eyebrow--light{color:#cbe0af}

/* Botões e links */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 24px;border:1px solid transparent;border-radius:3px;font-size:14px;font-weight:600;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;overflow:hidden;transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn--primary{background:var(--green-deep);color:var(--white);box-shadow:0 12px 26px -16px rgba(83,127,24,.85)}
.btn--primary:hover{background:var(--brown);transform:translateY(-2px);box-shadow:0 18px 34px -18px rgba(74,31,0,.7)}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover::before{transform:translateX(120%)}
.btn svg{position:relative;width:18px;height:18px;fill:currentColor;flex:0 0 auto}.btn span{position:relative}
.link-more{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:14px;color:var(--brown);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:color .25s var(--ease)}
.link-more svg{width:15px;height:15px;fill:currentColor;transition:transform .3s var(--ease)}.link-more:hover{color:var(--green-ink)}.link-more:hover svg{transform:translateX(5px)}

/* Cabeçalho */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(112,111,111,.14);transition:box-shadow .3s var(--ease),background-color .3s var(--ease)}
.site-header.is-stuck{background:rgba(255,255,255,.99);box-shadow:0 10px 34px -18px rgba(42,20,8,.28)}
.header__inner{min-height:var(--header-h);display:flex;align-items:center;gap:22px}.header__logo{flex:0 0 auto}.header__logo img{width:205px;height:auto;transition:opacity .25s var(--ease)}.header__logo:hover img{opacity:.82}
.main-nav{display:flex;align-items:center;gap:32px;margin-left:auto}.main-nav__list{display:flex;align-items:center;gap:30px}
.main-nav__link{position:relative;display:inline-flex;align-items:center;gap:8px;padding:12px 0;color:var(--brown);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:color .25s var(--ease)}
.main-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.main-nav__link:hover,.main-nav__link.is-active{color:var(--green-ink)}.main-nav__link:hover::after,.main-nav__link.is-active::after{transform:scaleX(1)}
.submenu-arrow{width:9px;height:9px;fill:currentColor;transition:transform .25s var(--ease)}.has-submenu{position:relative}
.submenu{position:absolute;top:100%;left:-22px;min-width:255px;padding:12px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(112,111,111,.16);border-radius:4px;box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s}
.has-submenu:hover .submenu,.has-submenu:focus-within .submenu,.has-submenu.is-open .submenu{opacity:1;visibility:visible;transform:none}.has-submenu:hover .submenu-arrow,.has-submenu.is-open .submenu-arrow{transform:rotate(180deg)}
.submenu__link{display:block;padding:10px 12px;border-radius:3px;color:var(--brown);font-size:14px;transition:background-color .22s var(--ease),color .22s var(--ease),padding-left .22s var(--ease)}
.submenu__link:hover{background:var(--sand);color:var(--green-ink);padding-left:18px}
.header__cta{min-height:46px;padding:12px 18px;white-space:nowrap}
.nav-toggle{display:none;margin-left:auto;width:46px;height:46px;padding:11px;flex-direction:column;justify-content:space-around}
.nav-toggle__bar{height:2px;width:100%;background:var(--brown);transition:transform .3s var(--ease),opacity .2s var(--ease)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* =========================================================
   Hero — preservado, com profundidade muito leve
   ========================================================= */
.hero{position:relative;display:flex;align-items:center;min-height:calc(100vh - var(--header-h));padding:74px 0 64px;background:var(--brown-deep);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-26px 0;background:url("../assets/img/hero-bg.webp") center/cover no-repeat;transform:translate3d(0,var(--par,0px),0);will-change:transform}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:210px;background:linear-gradient(transparent,rgba(20,10,4,.42));pointer-events:none}
.hero__overlay{position:absolute;inset:0;background:radial-gradient(70% 85% at 6% 42%,rgba(108,166,46,.12) 0%,transparent 58%),linear-gradient(90deg,rgba(10,9,7,.93) 0%,rgba(16,14,10,.78) 38%,rgba(15,13,9,.18) 68%,rgba(15,13,9,.12) 100%)}
.hero__inner{position:relative;z-index:1}
.hero__content{display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:690px;transform:translate3d(0,var(--par-text,0px),0)}
.hero__title{max-width:650px;font-family:var(--font-display);font-size:clamp(52px,5.4vw,78px);font-weight:400;line-height:1.02;letter-spacing:-.035em;color:var(--white);text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero__subtitle{max-width:535px;color:rgba(255,255,255,.84);font-size:18px;line-height:1.65}
.hero__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:100%;max-width:670px;margin-top:18px;border-top:1px solid rgba(255,255,255,.25)}
.hero__facts div{display:flex;flex-direction:column;gap:2px;padding:20px 20px 0 0}.hero__facts div+div{padding-left:22px;border-left:1px solid rgba(255,255,255,.2)}
.hero__facts strong{font-family:var(--font-display);font-size:31px;font-weight:400;line-height:1.1;color:var(--white)}.hero__facts span{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}

/* Títulos */
.section-title{font-family:var(--font-display);font-size:clamp(44px,5vw,68px);font-weight:400;line-height:1.05;letter-spacing:-.035em;color:var(--brown);text-wrap:balance}
.section-lead{max-width:680px;margin:18px auto 0;font-size:18px;line-height:1.7}
.section-intro{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:80px;width:100%;margin-bottom:54px}
.section-intro .eyebrow{margin-bottom:14px}.section-intro__text{padding-bottom:7px;font-size:18px;line-height:1.75}

/* =========================================================
   Áreas de atuação
   ========================================================= */
.services{position:relative;padding:118px 0 122px;background:linear-gradient(180deg,var(--sand-deep) 0%,var(--off-white) 26%,var(--white) 72%,var(--sand) 100%);overflow:hidden;--ramp:linear-gradient(180deg,rgba(20,10,4,.16) 0%,transparent 130px)}
.services::before{background-size:100% 130px}
.services::after{right:-90px;bottom:-70px;width:520px;height:690px;background:var(--brown);opacity:.05}
.services .container{position:relative;z-index:1}
.services__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;width:100%}

.service-card{position:relative;grid-column:span 2;display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-height:400px;padding:34px;border:1px solid rgba(255,255,255,.75);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.66) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -32px rgba(42,20,8,.38);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.service-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--green) 0%,rgba(108,166,46,0) 100%);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:2}
.service-card{--par:0px}
.service-card::after{--mark:var(--mark-branch);right:-38px;bottom:-26px;width:190px;height:150px;background:var(--brown);opacity:.05;transition:opacity .45s var(--ease),transform .55s var(--ease)}
.service-card:hover{transform:translateY(-7px);border-color:rgba(108,166,46,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 36px 70px -38px rgba(42,20,8,.45),0 0 0 1px rgba(108,166,46,.14)}
.service-card:hover::before{transform:scaleX(1)}
.service-card:hover::after{opacity:.1;transform:translate3d(-6px,-6px,0) rotate(-4deg)}
.service-card>*{position:relative;z-index:1}
.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3;min-height:360px}
.service-card__number{position:absolute;right:28px;top:24px;z-index:1;font-family:var(--font-title);font-size:13px;letter-spacing:.08em;color:var(--gray)}
.service-card__icon{width:auto;height:72px;max-width:88px;object-fit:contain;transition:transform .45s var(--ease)}
.service-card:hover .service-card__icon{transform:translateY(-3px) scale(1.04)}
.service-card__title{max-width:300px;font-family:var(--font-display);font-size:36px;font-weight:400;line-height:1.08;color:var(--brown)}
.service-card__text{font-size:16px;line-height:1.7}

/* =========================================================
   Profissionais — composição assimétrica
   ========================================================= */
.lawyer{position:relative;padding:0;background:linear-gradient(170deg,var(--sand) 0%,#eef1e7 42%,#e9eee1 100%);overflow:hidden;--ramp:linear-gradient(180deg,var(--sand) 0%,transparent 160px)}
.lawyer::before{background-size:100% 160px}
.lawyer--flush{background:linear-gradient(190deg,var(--white) 0%,var(--sand) 58%,var(--sand-deep) 100%);--ramp:linear-gradient(180deg,rgba(43,20,8,.1) 0%,transparent 150px)}
.lawyer--flush::before{background-size:100% 150px}
.lawyer__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;gap:70px;min-height:700px}
.lawyer__content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:96px 0}
.lawyer__name{font-family:var(--font-display);font-size:clamp(52px,5vw,76px);font-weight:400;line-height:.98;letter-spacing:-.04em;color:var(--brown)}
.lawyer__role{font-family:var(--font-title);font-size:16px;font-weight:700;line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:var(--green-ink)}
.lawyer__bio{max-width:590px;font-size:17px;line-height:1.8}

.lawyer__media{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:650px;isolation:isolate}
/* halo orgânico assimétrico */
.lawyer__circle{position:absolute;z-index:-1;left:46%;bottom:74px;width:min(470px,86%);aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.4) 0%,transparent 46%),linear-gradient(150deg,var(--green) 0%,var(--green-deep) 62%,#3f6212 100%);box-shadow:0 46px 90px -44px rgba(83,127,24,.6)}
.lawyer__circle::after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.34);border-radius:50%}
.lawyer__media::before{content:"";position:absolute;z-index:-2;left:16%;bottom:30px;width:min(600px,104%);aspect-ratio:1.08;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle,var(--green-veil) 0%,transparent 66%);filter:blur(4px)}
.lawyer__photo{position:relative;width:auto;max-height:625px;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 26px 38px rgba(42,20,8,.22));transition:transform .6s var(--ease)}
.lawyer__media:hover .lawyer__photo{transform:translateY(-6px)}
.lawyer--flush .lawyer__media{order:1}.lawyer--flush .lawyer__content{order:2}
.lawyer--flush .lawyer__circle{left:54%;background:radial-gradient(circle at 66% 24%,rgba(255,255,255,.2) 0%,transparent 44%),linear-gradient(150deg,var(--brown) 0%,var(--brown-deep) 70%,#1d0e06 100%);box-shadow:0 46px 90px -44px rgba(42,20,8,.62)}
.lawyer--flush .lawyer__media::before{left:78%;background:radial-gradient(circle,var(--brown-veil) 0%,transparent 66%)}

/* =========================================================
   Compromissos e diferenciais
   ========================================================= */
.feature-band{position:relative;padding:112px 0;background:radial-gradient(90% 70% at 82% 8%,rgba(108,166,46,.2) 0%,transparent 58%),radial-gradient(70% 60% at 6% 96%,rgba(108,166,46,.11) 0%,transparent 60%),linear-gradient(162deg,var(--bark) 0%,var(--brown-deep) 52%,#1b0d05 100%);overflow:hidden;--ramp:linear-gradient(180deg,rgba(0,0,0,.26) 0%,transparent 170px)}
.feature-band::before{background-size:100% 170px}
.feature-band::after{left:-110px;bottom:-90px;width:470px;height:620px;background:var(--white);opacity:.045}
.feature-band .container{position:relative;z-index:1}
.differentials{position:relative;padding:118px 0;background:linear-gradient(180deg,var(--sand-deep) 0%,var(--white) 30%,var(--white) 70%,var(--off-white) 100%);overflow:hidden;--ramp:linear-gradient(180deg,rgba(20,10,4,.14) 0%,transparent 140px)}
.differentials::before{background-size:100% 140px}
.differentials::after{right:-120px;top:8%;width:440px;height:580px;background:var(--green-deep);opacity:.045}
.differentials .container{position:relative;z-index:1}

.panel{display:flex;flex-direction:column;gap:58px;padding:0;background:transparent}
.panel__head{text-align:center}.panel__head .eyebrow{justify-content:center;margin-bottom:14px}.panel__head .section-title{max-width:850px;margin-inline:auto}
.feature-band .section-title{color:var(--white)}.feature-band .section-lead{color:rgba(255,255,255,.74)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:42px 36px;border:1px solid rgba(255,255,255,.14);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.03) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);text-align:left;transition:transform .4s var(--ease),border-color .4s var(--ease),background-color .4s var(--ease),box-shadow .4s var(--ease)}
.feature:hover{transform:translateY(-6px);border-color:rgba(108,166,46,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 30px 60px -34px rgba(0,0,0,.7)}
.feature__icon,.differential__icon{width:auto;height:72px;object-fit:contain;transition:transform .45s var(--ease)}
.feature:hover .feature__icon{transform:translateY(-3px) scale(1.04)}
.feature-band .feature__icon{filter:grayscale(1) brightness(0) invert(1);opacity:.88}
.feature__title{font-family:var(--font-display);font-size:31px;font-weight:400;line-height:1.1;color:var(--white)}
.feature__title--navy,.feature__title--brown,.feature__title--green{color:inherit}
.feature-band .feature__title{color:var(--white)}
.feature__text{font-size:16px;line-height:1.75;color:inherit}.feature-band .feature__text{color:rgba(255,255,255,.78)}

.differential{position:relative;display:grid;grid-template-columns:82px minmax(210px,.65fr) 1.35fr;align-items:center;gap:28px;padding:34px 0;border-top:1px solid var(--gray-light);text-align:left;transition:background-color .35s var(--ease)}
.differential::before{content:"";position:absolute;left:-28px;right:-28px;top:0;bottom:0;z-index:-1;border-radius:4px;background:linear-gradient(120deg,rgba(255,255,255,.9),rgba(246,246,242,.5));opacity:0;transition:opacity .35s var(--ease)}
.differential:hover::before{opacity:1}
.differential:hover .differential__icon{transform:translateY(-2px) scale(1.04)}
.differential:last-child{border-bottom:1px solid var(--gray-light)}
.differential__icon{filter:saturate(.72)}.differential .feature__title{color:var(--brown)}.differential .feature__text{font-size:16px}
.differential--wide{max-width:none;margin:0}.differentials__grid{display:contents}

/* =========================================================
   Rodapé
   ========================================================= */
.site-footer{position:relative;background:radial-gradient(80% 70% at 88% 4%,rgba(108,166,46,.13) 0%,transparent 56%),linear-gradient(168deg,#1d1811 0%,#17140f 60%,#100d09 100%);color:rgba(255,255,255,.72);overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(108,166,46,.5),transparent)}
.site-footer .container{position:relative;z-index:1;padding-top:82px;padding-bottom:28px}
.footer__top{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;gap:72px}.footer__brand img{width:210px;height:auto}
.footer__tagline{max-width:330px;margin-top:22px;font-family:var(--font-display);font-size:21px;line-height:1.45;color:var(--white)}
.social{display:flex;gap:10px;margin-top:24px}
.social__link{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:var(--white);transition:background-color .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease)}
.social__link svg{width:15px;height:15px;fill:currentColor}
.social__link:hover{background:var(--green-deep);border-color:var(--green-deep);transform:translateY(-3px)}
.footer__heading{margin-bottom:18px;font-family:var(--font-title);font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--white)}
.footer__list li a,.footer__address,.footer__contact li a{font-size:15px;line-height:1.85;transition:color .22s var(--ease)}
.footer__list li a{display:inline-block;transition:color .22s var(--ease),transform .22s var(--ease)}
.footer__list li a:hover,.footer__contact li a:hover{color:var(--green)}.footer__list li a:hover{transform:translateX(4px)}
.footer__address{display:block;max-width:340px}.footer__contact{margin:20px 0 24px}.footer__contact li{display:flex;align-items:center;gap:10px}
.icon-inline{width:15px;height:15px;fill:var(--green);flex:0 0 auto}
.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:58px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.footer__bottom p{font-size:12px;line-height:1.6;letter-spacing:.04em}.footer__policy a:hover{color:var(--green)}

/* WhatsApp flutuante */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:120;display:flex;align-items:center;gap:10px}
.wa-float__label{padding:7px 13px;border-radius:3px;background:var(--brown);color:var(--white);font-size:12px;opacity:0;transform:translateX(10px);transition:opacity .28s var(--ease),transform .28s var(--ease)}
.wa-float:hover .wa-float__label{opacity:1;transform:none}
.wa-float__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#25d366;box-shadow:0 10px 30px -8px rgba(37,211,102,.6);transition:transform .28s var(--ease)}
.wa-float__icon svg{width:28px;height:28px;fill:var(--white)}.wa-float:hover .wa-float__icon{transform:scale(1.07)}

/* Movimento de entrada */
.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .hero::before,.hero__content,.services::after,.feature-band::after,.differentials::after,
  .inner-hero::after,.inner-content::after,.inner-cta::after,
  .contact-page::after,.privacy-page::after{transform:none!important}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* =========================================================
   Responsivo — home
   ========================================================= */
@media (max-width:1120px){
  .main-nav{gap:18px}.main-nav__list{gap:20px}.header__logo img{width:180px}.header__cta{font-size:12px}
  .service-card{padding:28px}.lawyer__inner{gap:38px}.footer__top{gap:40px}
}
@media (max-width:1024px){
  :root{--header-h:88px}
  .nav-toggle{display:flex}
  .main-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0 28px;max-height:0;overflow:hidden;background:var(--white);box-shadow:0 18px 34px -18px rgba(42,20,8,.3);transition:max-height .35s var(--ease),padding .35s var(--ease)}
  .main-nav.is-open{max-height:82vh;overflow-y:auto;padding:10px 28px 26px}
  .main-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .main-nav__link{width:100%;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--gray-light);font-size:14px}
  .main-nav__link::after{display:none}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;max-height:0;overflow:hidden;padding:0;transition:max-height .32s var(--ease)}
  .has-submenu.is-open .submenu{max-height:400px;padding:5px 0 8px}.has-submenu:hover .submenu{max-height:0}.has-submenu.is-open:hover .submenu{max-height:400px}
  .header__cta{align-self:flex-start;margin-top:18px}
  .hero{min-height:760px}
  .hero__overlay{background:radial-gradient(70% 70% at 4% 40%,rgba(108,166,46,.12) 0%,transparent 60%),linear-gradient(90deg,rgba(10,9,7,.92) 0%,rgba(15,13,9,.67) 58%,rgba(15,13,9,.28) 100%)}
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto;min-height:380px}
  .service-card:last-child{grid-column:1/-1;min-height:330px}
  .lawyer__inner{grid-template-columns:1fr;gap:0;min-height:auto}
  .lawyer__content,.lawyer--flush .lawyer__content{order:1;padding:82px 0 28px}
  .lawyer__media,.lawyer--flush .lawyer__media{order:2;min-height:540px}
  .lawyer__photo{max-height:530px}
  .lawyer__circle,.lawyer--flush .lawyer__circle{left:50%}
  .lawyer__media::before,.lawyer--flush .lawyer__media::before{left:50%}
  .feature-grid{grid-template-columns:1fr}
  .differential{grid-template-columns:72px 1fr}.differential .feature__text{grid-column:2}
  .footer__top{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .container{padding-inline:20px}.header__logo img{width:162px}
  .hero{min-height:calc(100svh - var(--header-h));padding:72px 0 38px;align-items:flex-end}
  .hero::before{background-position:61% center}
  .hero__overlay{background:linear-gradient(180deg,rgba(10,9,7,.2) 0%,rgba(10,9,7,.68) 38%,rgba(10,9,7,.96) 100%)}
  .hero__content{gap:19px}.hero__title{font-size:44px;line-height:1.04}.hero__subtitle{font-size:16px;line-height:1.6}
  .hero__facts{margin-top:4px}.hero__facts div{padding:16px 10px 0 0}.hero__facts div+div{padding-left:12px}
  .hero__facts strong{font-size:24px}.hero__facts span{font-size:9px;letter-spacing:.07em}
  .services,.differentials{padding:80px 0}
  .section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:38px}.section-intro__text{font-size:16px}.section-title{font-size:42px}
  .services__grid{grid-template-columns:1fr}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5),.service-card:last-child{grid-column:auto;min-height:0;padding:28px}
  .service-card__title{font-size:32px}
  .lawyer__content{align-items:flex-start;padding-top:70px}.lawyer__name{font-size:52px}.lawyer__bio{font-size:16px}
  .lawyer__media,.lawyer--flush .lawyer__media{min-height:430px}
  .lawyer__circle,.lawyer--flush .lawyer__circle{width:322px;bottom:44px}
  .lawyer__photo{max-height:425px}
  .feature-band{padding:80px 0}.panel{gap:38px}.section-lead{font-size:16px}.feature{padding:32px 26px}
  .differential{grid-template-columns:58px 1fr;gap:20px;padding:28px 0}.differential::before{left:-16px;right:-16px}
  .differential__icon{height:56px}.differential .feature__title{font-size:27px}.differential .feature__text{grid-column:1/-1}
  .footer__top{grid-template-columns:1fr;gap:42px}.site-footer .container{padding-top:66px}
  .footer__bottom{flex-direction:column;align-items:flex-start}
  .wa-float__label{display:none}
  /* decorativos discretos em telas pequenas */
  .services::after,.feature-band::after,.differentials::after{width:290px;height:380px;opacity:.035}
  .service-card::after{width:140px;height:110px}
  body::after{opacity:.04}
}

/* =========================================================
   Páginas internas
   ========================================================= */
.inner-hero{position:relative;padding:118px 0;background:radial-gradient(85% 80% at 88% 10%,rgba(108,166,46,.22) 0%,transparent 58%),radial-gradient(70% 60% at 4% 100%,rgba(108,166,46,.1) 0%,transparent 58%),linear-gradient(158deg,var(--bark) 0%,var(--brown-deep) 54%,#1b0d05 100%);color:var(--white);overflow:hidden}
.inner-hero::after{right:-70px;bottom:-110px;width:420px;height:560px;background:var(--white);opacity:.055}
.inner-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:30px;justify-items:start}
.inner-hero .eyebrow{margin-bottom:18px}
.inner-hero h1{max-width:900px;font-family:var(--font-display);font-size:clamp(54px,6vw,84px);font-weight:400;line-height:1;letter-spacing:-.04em;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.3)}
.inner-hero__lead{max-width:620px;padding-bottom:0;color:rgba(255,255,255,.88);font-size:19px;line-height:1.7}

.inner-content{position:relative;padding:112px 0;background:linear-gradient(180deg,var(--sand-deep) 0%,var(--off-white) 26%,var(--white) 74%,var(--sand) 100%);overflow:hidden;--ramp:linear-gradient(180deg,rgba(20,10,4,.18) 0%,transparent 150px)}
.inner-content::before{background-size:100% 150px}
.inner-content::after{right:-110px;bottom:-80px;width:460px;height:610px;background:var(--brown);opacity:.05}
.inner-content .container{position:relative;z-index:1}
.inner-content__intro{display:grid;grid-template-columns:.72fr 1fr;gap:30px 80px;max-width:1080px;margin-bottom:64px}
.inner-content__intro .eyebrow{grid-column:1/-1}
.inner-content__intro h2,.contact-page h2,.privacy-page h2{font-family:var(--font-display);font-size:clamp(38px,4vw,58px);font-weight:400;line-height:1.08;letter-spacing:-.03em;color:var(--brown);text-wrap:balance}
.inner-content__intro>p:last-child{font-size:18px;line-height:1.8}

.inner-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.inner-card{position:relative;min-height:300px;padding:34px;border:1px solid rgba(255,255,255,.75);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.66) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -32px rgba(42,20,8,.38);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.inner-card{--par:0px}
.inner-card::after{--mark:var(--mark-branch);right:-34px;bottom:-24px;width:170px;height:134px;background:var(--brown);opacity:.05;transition:opacity .45s var(--ease),transform .55s var(--ease)}
.inner-card:hover{transform:translateY(-6px);border-color:rgba(108,166,46,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 34px 66px -38px rgba(42,20,8,.44)}
.inner-card:hover::after{opacity:.1;transform:translate3d(-6px,-6px,0) rotate(-4deg)}
.inner-card>*{position:relative;z-index:1}
.inner-card>span,.inner-list__item>span{display:block;margin-bottom:34px;font-family:var(--font-title);font-size:13px;color:var(--green-ink)}
.inner-card h3{margin-bottom:14px;font-family:var(--font-display);font-size:32px;font-weight:400;line-height:1.1;color:var(--brown)}
.inner-card p{font-size:16px;line-height:1.75}

.inner-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--gray-light);border-left:1px solid var(--gray-light)}
.inner-list__item{position:relative;min-height:210px;padding:34px;border-right:1px solid var(--gray-light);border-bottom:1px solid var(--gray-light);background:rgba(255,255,255,.62);transition:background-color .35s var(--ease),box-shadow .35s var(--ease)}
.inner-list__item:hover{background:rgba(255,255,255,.95);box-shadow:0 20px 44px -34px rgba(42,20,8,.4)}
.inner-list__item>span{margin-bottom:30px}
.inner-list__item p{max-width:450px;font-family:var(--font-display);font-size:29px;line-height:1.18;color:var(--brown)}

.inner-cta{position:relative;padding:82px 0;background:radial-gradient(70% 90% at 88% 6%,rgba(255,255,255,.1) 0%,transparent 58%),linear-gradient(150deg,#558324 0%,var(--green-deep) 52%,#3f6212 100%);color:var(--white);overflow:hidden}
.inner-cta::after{right:-60px;bottom:-90px;width:360px;height:475px;background:var(--white);opacity:.1}
.inner-cta .container{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:40px}
.inner-cta h2{margin-top:10px;font-family:var(--font-display);font-size:44px;font-weight:400;line-height:1;color:var(--white)}
.inner-cta .eyebrow--light{color:var(--white)}
.inner-cta .btn{background:var(--white);color:var(--brown);box-shadow:0 14px 30px -18px rgba(0,0,0,.5)}
.inner-cta .btn:hover{background:var(--brown-deep);color:var(--white)}

.contact-page{position:relative;padding:112px 0;background:linear-gradient(180deg,var(--sand-deep) 0%,var(--off-white) 30%,var(--white) 100%);overflow:hidden;--ramp:linear-gradient(180deg,rgba(20,10,4,.18) 0%,transparent 150px)}
.contact-page::before{background-size:100% 150px}
.contact-page::after{right:-110px;bottom:-70px;width:420px;height:560px;background:var(--green-deep);opacity:.05}
.contact-page__grid{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.contact-page .eyebrow{margin-bottom:18px}.contact-page h2{margin-bottom:24px}
.contact-page__grid>div>p:last-child{max-width:520px;font-size:17px}
.contact-details{border-top:1px solid var(--gray-light)}
.contact-details>a,.contact-details>div{display:grid;grid-template-columns:140px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--gray-light);transition:padding-left .3s var(--ease),background-color .3s var(--ease)}
.contact-details>a:hover{padding-left:14px;background:linear-gradient(90deg,rgba(108,166,46,.07),transparent)}
.contact-details span{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink)}
.contact-details strong{font-size:17px;font-weight:400;line-height:1.6;color:var(--brown)}
.contact-details>a:hover strong{color:var(--green-ink)}

.privacy-page{position:relative;padding:104px 0;background:linear-gradient(180deg,var(--sand-deep) 0%,var(--white) 22%,var(--white) 100%);overflow:hidden;--ramp:linear-gradient(180deg,rgba(20,10,4,.16) 0%,transparent 140px)}
.privacy-page::before{background-size:100% 140px}
.privacy-page::after{right:-130px;top:14%;width:400px;height:530px;background:var(--brown);opacity:.04}
.privacy-page__content{position:relative;z-index:1;max-width:900px}
.privacy-page h2{margin:48px 0 14px;font-size:36px}.privacy-page h2:first-child{margin-top:0}
.privacy-page p{font-size:17px;line-height:1.85}
.privacy-page a{color:var(--green-ink);text-decoration:underline;text-underline-offset:3px}

@media (max-width:900px){
  .inner-hero__grid,.inner-content__intro,.contact-page__grid{grid-template-columns:1fr;gap:30px}
  .inner-hero__lead{padding:0}
  .inner-cards{grid-template-columns:1fr}.inner-card{min-height:0}
  .inner-list{grid-template-columns:1fr}
  .inner-cta .container{align-items:flex-start;flex-direction:column}
  .contact-details>a,.contact-details>div{grid-template-columns:1fr;gap:8px}
}
@media (max-width:720px){
  .inner-hero{padding:80px 0}.inner-hero h1{font-size:50px}.inner-hero__lead{font-size:17px}
  .inner-content,.contact-page,.privacy-page{padding:80px 0}
  .inner-content__intro{margin-bottom:44px}.inner-content__intro>p:last-child{font-size:16px}
  .inner-card,.inner-list__item{padding:26px}.inner-list__item{min-height:180px}.inner-list__item p{font-size:26px}
  .inner-cta{padding:64px 0}.inner-cta h2{font-size:38px}
  .contact-page h2{font-size:42px}.privacy-page h2{font-size:31px}
  /* decorativos discretos em telas pequenas */
  .inner-hero::after,.inner-content::after,.contact-page::after,.privacy-page::after,.inner-cta::after{width:250px;height:330px;opacity:.045}
  .inner-card::after{width:130px;height:102px}
}

/* =========================================================
   Páginas internas — blocos de conteúdo
   ========================================================= */

/* Hero com fotografia de fundo */
.inner-hero{background-color:var(--brown-deep)}
.inner-hero[style*="--hero-img"]{
  background-image:
    radial-gradient(85% 80% at 88% 8%,rgba(108,166,46,.26) 0%,transparent 58%),
    linear-gradient(100deg,rgba(18,10,4,.93) 0%,rgba(22,13,6,.84) 42%,rgba(26,15,7,.44) 100%),
    var(--hero-img);
  background-size:auto,auto,cover;
  background-position:center,center,center;
  background-repeat:no-repeat
}
.inner-hero__aside{display:flex;flex-direction:column;align-items:flex-start;gap:20px;max-width:660px}
.inner-hero__note{color:rgba(255,255,255,.88);font-size:16px;line-height:1.65}

/* Bloco genérico */
.block{position:relative;padding:104px 0;overflow:hidden}
.block .container{position:relative;z-index:1}
.block__head{max-width:860px;margin-bottom:52px}
.block__head .section-lead{margin-inline:0}
.block__closing{max-width:900px;margin-top:44px;font-size:18px;line-height:1.8;color:rgba(255,255,255,.8)}

.block--tint{background:linear-gradient(180deg,var(--sand-deep) 0%,var(--off-white) 26%,var(--white) 74%,var(--sand) 100%);--ramp:linear-gradient(180deg,rgba(20,10,4,.14) 0%,transparent 140px)}
.block--dark{background:radial-gradient(90% 70% at 84% 6%,rgba(108,166,46,.2) 0%,transparent 58%),linear-gradient(162deg,var(--bark) 0%,var(--brown-deep) 52%,#1b0d05 100%);color:rgba(255,255,255,.78);--ramp:linear-gradient(180deg,rgba(0,0,0,.26) 0%,transparent 170px)}
.block--dark .section-title{color:var(--white)}
.block--dark .section-lead{color:rgba(255,255,255,.76)}
.block--tint::before,.block--dark::before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--ramp);background-repeat:no-repeat;background-size:100% 170px}
.block--dark::after{content:"";position:absolute;left:-110px;bottom:-90px;width:430px;height:570px;pointer-events:none;background:var(--white);opacity:.045;-webkit-mask-image:var(--mark-tree);mask-image:var(--mark-tree);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;transform:translate3d(0,var(--par,0px),0)}
.block--tint::after{content:"";position:absolute;right:-110px;bottom:-70px;width:430px;height:570px;pointer-events:none;background:var(--brown);opacity:.045;-webkit-mask-image:var(--mark-tree);mask-image:var(--mark-tree);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;transform:translate3d(0,var(--par,0px),0)}

/* Duas colunas com imagem */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:74px}
.split--reverse .split__text{order:2}.split--reverse .split__media{order:1}
.split__text .eyebrow{margin-bottom:16px}
.split__text .section-title{margin-bottom:22px}
.split__text p{max-width:560px;font-size:17px;line-height:1.8}
.split__text p+p{margin-top:18px}
.block--dark .split__text p{color:rgba(255,255,255,.78)}
.split__media img{width:100%;height:clamp(320px,38vw,460px);object-fit:cover;border-radius:4px;box-shadow:var(--shadow-soft)}

/* Cartões-pílula (áreas em destaque) */
.pill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pill-card{display:flex;align-items:center;gap:18px;padding:28px 30px;border:1px solid rgba(255,255,255,.75);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.92),rgba(255,255,255,.66));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -32px rgba(42,20,8,.38);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.pill-card img{width:56px;height:56px;object-fit:contain;flex:0 0 auto}
.pill-card h3{flex:1;font-family:var(--font-display);font-size:25px;font-weight:400;line-height:1.15;color:var(--brown)}
.pill-card .icon-arrow{width:20px;height:20px;fill:var(--green-ink);flex:0 0 auto;transition:transform .3s var(--ease)}
.pill-card:hover{transform:translateY(-6px);border-color:rgba(108,166,46,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 34px 66px -38px rgba(42,20,8,.44)}
.pill-card:hover .icon-arrow{transform:translateX(5px)}

/* Perguntas de diagnóstico */
.challenge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.challenge{display:flex;align-items:flex-start;gap:20px;padding:28px 30px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.1),rgba(255,255,255,.03));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);transition:transform .4s var(--ease),border-color .4s var(--ease)}
.challenge:hover{transform:translateY(-5px);border-color:rgba(108,166,46,.45)}
.challenge__n{font-family:var(--font-title);font-size:13px;letter-spacing:.08em;color:#cbe0af;flex:0 0 auto;padding-top:4px}
.challenge p{font-family:var(--font-display);font-size:21px;font-weight:400;line-height:1.3;color:var(--white)}

/* Cartões de serviço */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:34px;border:1px solid rgba(112,111,111,.18);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.95),rgba(255,255,255,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -34px rgba(42,20,8,.34);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.svc-card:hover{transform:translateY(-6px);border-color:rgba(108,166,46,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 34px 66px -38px rgba(42,20,8,.42)}
.svc-card__icon{width:auto;height:64px;max-width:76px;object-fit:contain;transition:transform .45s var(--ease)}
.svc-card:hover .svc-card__icon{transform:translateY(-3px) scale(1.04)}
.svc-card h3{font-family:var(--font-display);font-size:26px;font-weight:400;line-height:1.16;color:var(--brown)}
.svc-card p{font-size:16px;line-height:1.75}
.svc-card__list{display:flex;flex-direction:column;gap:9px}
.svc-card__list li{position:relative;padding-left:20px;font-size:16px;line-height:1.6}
.svc-card__list li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:50%;background:var(--green)}

/* Lista de benefícios */
.benefit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gray-light);border:1px solid var(--gray-light);border-radius:4px;overflow:hidden}
.benefit-list li{display:flex;align-items:flex-start;gap:16px;padding:28px 30px;background:rgba(255,255,255,.86);font-size:17px;line-height:1.65;color:var(--brown);transition:background-color .3s var(--ease)}
.benefit-list li::before{content:"";flex:0 0 auto;width:9px;height:9px;margin-top:9px;border-radius:50%;background:var(--green)}
.benefit-list li:hover{background:var(--white)}

/* Etapas numeradas */
.step-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;counter-reset:step;list-style:none;padding:0;margin:0}
.step{position:relative;padding:34px;border:1px solid rgba(112,111,111,.18);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.95),rgba(255,255,255,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -34px rgba(42,20,8,.34)}
.step__n{display:block;margin-bottom:26px;font-family:var(--font-title);font-size:13px;letter-spacing:.08em;color:var(--green-ink)}
.step h3{margin-bottom:12px;font-family:var(--font-display);font-size:28px;font-weight:400;line-height:1.12;color:var(--brown)}
.step p{font-size:16px;line-height:1.75}

/* Sócios */
.block--partners{background:linear-gradient(170deg,var(--sand) 0%,#eef1e7 48%,#e9eee1 100%)}
.block--partners::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,10,4,.12) 0%,transparent 150px);background-repeat:no-repeat;background-size:100% 150px}
.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.partner{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:26px;padding:26px 30px 26px 26px;border:1px solid rgba(255,255,255,.8);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.92),rgba(255,255,255,.62));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 20px 48px -34px rgba(42,20,8,.4);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.partner:hover{transform:translateY(-6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 34px 70px -38px rgba(42,20,8,.46)}
.partner__media{position:relative;border-radius:4px;overflow:hidden;background:linear-gradient(150deg,var(--green) 0%,var(--green-deep) 100%)}
.partner__media img{width:100%;height:230px;object-fit:cover;object-position:top center}
.partner__body{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.partner__body h3{font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1.05;color:var(--brown)}
.partner__role{font-family:var(--font-title);font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green-ink)}
.partner .btn{margin-top:6px;min-height:46px;padding:12px 20px;font-size:13px}

/* FAQ */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--gray-light)}
.faq__item{border-bottom:1px solid var(--gray-light)}
.faq__item summary{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 0;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:23px;font-weight:400;line-height:1.3;color:var(--brown);transition:color .25s var(--ease)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";flex:0 0 auto;width:13px;height:13px;margin-top:9px;border-right:2px solid var(--green-ink);border-bottom:2px solid var(--green-ink);transform:rotate(45deg);transition:transform .3s var(--ease)}
.faq__item[open] summary{color:var(--green-ink)}
.faq__item[open] summary::after{transform:rotate(-135deg)}
.faq__item summary:hover{color:var(--green-ink)}
.faq__answer{padding:0 56px 28px 0}
.faq__answer p{font-size:17px;line-height:1.85}

/* Canais de contato */
.channel-list{display:flex;flex-direction:column;border-top:1px solid var(--gray-light)}
.channel{display:grid;grid-template-columns:160px 1fr 24px;align-items:center;gap:30px;padding:30px 0;border-bottom:1px solid var(--gray-light);transition:padding-left .3s var(--ease),background-color .3s var(--ease)}
.channel:hover{padding-left:16px;background:linear-gradient(90deg,rgba(108,166,46,.07),transparent)}
.channel__label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink)}
.channel__value{font-family:var(--font-display);font-size:23px;font-weight:400;line-height:1.45;color:var(--brown)}
.channel .icon-arrow{width:20px;height:20px;fill:var(--green-ink);transition:transform .3s var(--ease)}
.channel:hover .icon-arrow{transform:translateX(5px)}
.channel:hover .channel__value{color:var(--green-ink)}

/* Texto corrido (política de privacidade) */
.block--prose{padding:96px 0}
.prose{max-width:820px}
.prose h2{margin:44px 0 14px;font-family:var(--font-display);font-size:clamp(28px,3vw,36px);font-weight:400;line-height:1.12;letter-spacing:-.02em;color:var(--brown)}
.prose h2:first-child{margin-top:0}
.prose p{font-size:17px;line-height:1.85}

.inner-cta__text{max-width:620px;margin-top:14px;color:rgba(255,255,255,.88);font-size:17px;line-height:1.75}

/* ───────────── responsivo dos blocos internos ───────────── */
@media (max-width:1024px){
  .block{padding:88px 0}
  .split{grid-template-columns:1fr;gap:38px}
  .split--reverse .split__text,.split--reverse .split__media{order:initial}
  .pill-grid,.svc-grid{grid-template-columns:repeat(2,1fr)}
  .partner-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .block{padding:72px 0}
  .block__head{margin-bottom:34px}
  .inner-hero__grid{gap:26px}
  .pill-grid,.svc-grid,.challenge-grid,.benefit-list{grid-template-columns:1fr}
  .benefit-list li{padding:22px 24px}
  .challenge{padding:22px 24px}.challenge p{font-size:19px}
  .svc-card,.step{padding:26px}
  .svc-card h3{font-size:24px}
  .partner{grid-template-columns:1fr;gap:20px;padding:22px}
  .partner__media img{height:280px}
  .partner__body h3{font-size:27px}
  .split__media img{height:260px}
  .faq__item summary{font-size:20px;gap:16px}
  .faq__answer{padding-right:0}
  .channel{grid-template-columns:1fr auto;gap:6px 16px;padding:24px 0}
  .channel__label{grid-column:1/-1}
  .channel__value{font-size:20px}
  .block--prose{padding:72px 0}
  .block--dark::after,.block--tint::after{width:280px;height:370px;opacity:.035}
}

/* =========================================================
   Blocos acrescentados na revisão de conteúdo (out/2026)
   ========================================================= */

/* Hero interno: subtítulo, segundo parágrafo e nota sob o botão */
.inner-hero__sub{margin-top:18px;max-width:760px;font-family:var(--font-display);font-size:clamp(20px,2.2vw,27px);font-weight:400;line-height:1.3;color:#cbe0af}
.inner-hero__aside .inner-hero__lead+.inner-hero__lead{margin-top:-4px}
.inner-hero__hint{max-width:620px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.6}

/* Lista de pontos com rótulo */
.point-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.point{display:flex;flex-direction:column;gap:10px;padding:30px;border:1px solid rgba(112,111,111,.18);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.95),rgba(255,255,255,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -34px rgba(42,20,8,.34);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.point:hover{transform:translateY(-5px);border-color:rgba(108,166,46,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 32px 62px -38px rgba(42,20,8,.42)}
.point strong{font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.15;color:var(--brown)}
.point span{font-size:16px;line-height:1.75}
.block--tint .block__closing{color:var(--gray)}

/* Dois públicos lado a lado */
.side-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:42px}
.side{padding:40px 36px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.1),rgba(255,255,255,.03));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);transition:transform .4s var(--ease),border-color .4s var(--ease)}
.side:hover{transform:translateY(-6px);border-color:rgba(108,166,46,.45)}
.side h3{margin-bottom:14px;font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1.1;color:var(--white)}
.side p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.78)}

/* Bloco curto de encerramento */
.block--note{padding:88px 0;background:linear-gradient(180deg,var(--sand) 0%,var(--off-white) 100%)}
.block--note .container{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:860px}
.block--note .section-title{font-size:clamp(34px,3.6vw,48px)}
.block--note p{max-width:700px;font-size:17px;line-height:1.8}
.block--note .btn{margin-top:10px}

@media (max-width:1024px){
  .point-list{grid-template-columns:repeat(2,1fr)}
  .side-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .point-list{grid-template-columns:1fr}
  .point{padding:24px}.point strong{font-size:22px}
  .side{padding:28px 24px}.side h3{font-size:26px}
  .block--note{padding:68px 0}
  .inner-hero__sub{font-size:19px}
}

/* Home — frentes de atuação e chamada de urgência */
.fronts{position:relative;padding:92px 0;background:linear-gradient(180deg,var(--sand-deep) 0%,var(--off-white) 40%,var(--white) 100%);overflow:hidden}
.fronts .container{position:relative;z-index:1}
.front-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.front{display:flex;flex-direction:column;gap:9px;padding:28px 30px;border:1px solid rgba(112,111,111,.18);border-radius:4px;background:linear-gradient(158deg,rgba(255,255,255,.95),rgba(255,255,255,.7));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -34px rgba(42,20,8,.32);transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.front:hover{transform:translateY(-5px);border-color:rgba(108,166,46,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 32px 62px -38px rgba(42,20,8,.4)}
.front strong{font-family:var(--font-display);font-size:25px;font-weight:400;line-height:1.15;color:var(--brown)}
.front span{font-size:16px;line-height:1.7}
.urgency{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:44px;padding:44px 46px;border-radius:4px;background:radial-gradient(80% 90% at 88% 10%,rgba(108,166,46,.2) 0%,transparent 58%),linear-gradient(150deg,var(--bark) 0%,var(--brown-deep) 60%,#1b0d05 100%)}
.urgency h2{max-width:760px;font-family:var(--font-display);font-size:clamp(28px,3.2vw,42px);font-weight:400;line-height:1.1;color:var(--white)}
.urgency p{color:rgba(255,255,255,.82);font-size:17px;line-height:1.7}
.urgency__hint{color:rgba(255,255,255,.66);font-size:15px}
.urgency .btn{margin-top:6px}

/* Home — entrada por assunto e como iniciar */
.entry{position:relative;padding:104px 0;background:linear-gradient(180deg,var(--white) 0%,var(--sand) 100%);overflow:hidden}
.entry .container{position:relative;z-index:1}
.block__head--mid{margin-top:72px}
.entry-list{border-top:1px solid var(--gray-light)}
.entry-row{display:grid;grid-template-columns:minmax(220px,.42fr) 1fr;gap:30px;padding:26px 0;border-bottom:1px solid var(--gray-light);transition:padding-left .3s var(--ease),background-color .3s var(--ease)}
.entry-row:hover{padding-left:14px;background:linear-gradient(90deg,rgba(108,166,46,.06),transparent)}
.entry-row dt{font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--brown)}
.entry-row dt a{transition:color .25s var(--ease)}
.entry-row:hover dt a{color:var(--green-ink)}
.entry-row dd{margin:0;font-size:16px;line-height:1.75}
.entry__cta{margin-top:42px}

@media (max-width:1024px){ .front-list{grid-template-columns:1fr} }
@media (max-width:720px){
  .fronts{padding:70px 0}.entry{padding:76px 0}
  .front{padding:24px}.front strong{font-size:23px}
  .urgency{padding:32px 26px}
  .entry-row{grid-template-columns:1fr;gap:8px}
  .entry-row dt{font-size:24px}
  .block__head--mid{margin-top:52px}
}

/* Exemplos de assuntos dentro dos cartões de área */
.service-card__examples{width:100%;margin-top:2px;padding-top:16px;border-top:1px solid rgba(112,111,111,.16);font-size:15px;line-height:1.65;color:var(--gray)}

/* =========================================================
   Movimento — refinamento
   ========================================================= */

/* 1. Entrada do hero na carga, em sequência */
@keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero__content>*{animation:heroIn .72s var(--ease) both}
.hero__content>.eyebrow{animation-delay:.10s}
.hero__content>.hero__title{animation-delay:.18s}
.hero__content>.hero__subtitle{animation-delay:.30s}
.hero__content>.btn{animation-delay:.40s}
.hero__content>.hero__facts{animation-delay:.50s}
.inner-hero__grid>*{animation:heroIn .72s var(--ease) both}
.inner-hero__grid>*:first-child{animation-delay:.10s}
.inner-hero__grid>.inner-hero__aside{animation-delay:.26s}

/* 2. A fotografia do hero entra com um leve afastamento */
@keyframes heroZoom{from{transform:scale(1.055)}to{transform:scale(1)}}
.hero::before{animation:heroZoom 1.5s var(--ease) both}

/* 3. Cartões sobem com um toque de escala; texto só desliza */
.service-card.reveal,.front.reveal,.point.reveal,.svc-card.reveal,.inner-card.reveal,
.feature.reveal,.step.reveal,.challenge.reveal,.side.reveal,.partner.reveal,
.inner-list__item.reveal{transform:translateY(26px) scale(.985);transform-origin:50% 100%}
.service-card.reveal.is-visible,.front.reveal.is-visible,.point.reveal.is-visible,
.svc-card.reveal.is-visible,.inner-card.reveal.is-visible,.feature.reveal.is-visible,
.step.reveal.is-visible,.challenge.reveal.is-visible,.side.reveal.is-visible,
.partner.reveal.is-visible,.inner-list__item.reveal.is-visible{transform:none}

/* 4. Abertura da FAQ */
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq__item[open] .faq__answer{animation:faqIn .38s var(--ease) both}

/* 5. Imagens surgem ao carregar, sem pipocar (controlado por JS) */
.js-fade{opacity:0;transition:opacity .7s var(--ease)}
.js-fade.is-loaded{opacity:1}

/* 6. Nada disso roda sob prefers-reduced-motion */
@media (prefers-reduced-motion:reduce){
  .hero__content>*,.inner-hero__grid>*,.hero::before,.faq__item[open] .faq__answer{animation:none!important}
  .service-card.reveal,.front.reveal,.point.reveal,.svc-card.reveal,.inner-card.reveal,
  .feature.reveal,.step.reveal,.challenge.reveal,.side.reveal,.partner.reveal,
  .inner-list__item.reveal{transform:none!important}
  .js-fade{opacity:1!important;transition:none!important}
}
