/* =========================================================
   GreenLife Eco Resort Residence
   Paleta, tipografia e componentes da landing page
   ========================================================= */

:root{
  --green-900:#0C2119;
  --green-800:#123024;
  --green-700:#1A4534;
  --green-600:#256B4F;
  --green-500:#2E8266;

  --gold-400:#D9B978;
  --gold-500:#C9A55C;
  --gold-600:#A9853F;

  --cream:#F6F3EC;
  --cream-2:#EFEAE0;
  --ink:#16211C;
  --ink-soft:#465A50;
  --white:#FFFFFF;

  --radius:14px;
  --radius-lg:22px;
  --maxw:1180px;
  --shadow-sm:0 2px 12px rgba(12,33,25,.08);
  --shadow-md:0 14px 40px rgba(12,33,25,.14);
  --shadow-lg:0 30px 70px rgba(12,33,25,.28);

  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

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

html{scroll-behavior:smooth;scroll-padding-top:88px;}

body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--white);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.container.narrow{max-width:820px;}
.center{text-align:center;margin-top:48px;}

/* ---------------- Tipografia ---------------- */

h1,h2,h3{
  font-family:var(--serif);
  font-weight:600;
  line-height:1.16;
  letter-spacing:-.01em;
  margin:0 0 20px;
}

h2{font-size:clamp(1.9rem,3.6vw,3rem);}
h3{font-size:1.22rem;line-height:1.3;margin-bottom:10px;}

.hl{color:var(--gold-600);font-style:italic;}
.section--dark .hl,.hero .hl,.final .hl{color:var(--gold-400);}

.lead{
  font-size:1.12rem;
  color:var(--ink-soft);
  max-width:62ch;
  margin:0 auto;
}
.section--dark .lead{color:rgba(255,255,255,.72);}

.prose p{margin:0 0 20px;color:var(--ink-soft);}
.prose p:last-child{margin-bottom:0;}
.prose__accent{
  font-family:var(--serif);
  font-size:1.2rem;
  color:var(--green-700)!important;
  font-style:italic;
  border-left:3px solid var(--gold-500);
  padding-left:18px;
}
.section--dark .prose p,.final .prose p{color:rgba(255,255,255,.76);}
.section--dark .prose__accent,.final .prose__accent{
  color:var(--gold-400)!important;
  border-left-color:var(--gold-500);
}

/* ---------------- Pill ---------------- */

.pill{
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--green-600);
  background:rgba(46,130,102,.1);
  border:1px solid rgba(46,130,102,.24);
  border-radius:999px;
  padding:7px 16px;
  margin-bottom:22px;
}
.pill--light{
  color:var(--gold-400);
  background:rgba(217,185,120,.1);
  border-color:rgba(217,185,120,.32);
}
.pill--creci{
  color:var(--gold-600);
  background:rgba(201,165,92,.12);
  border-color:rgba(201,165,92,.34);
  margin-left:8px;
}

/* ---------------- Botões ---------------- */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:var(--sans);
  font-size:.94rem;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  padding:16px 28px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.btn--gold{background:var(--gold-500);color:var(--green-900);box-shadow:0 10px 26px rgba(169,133,63,.34);}
.btn--gold:hover{background:var(--gold-400);transform:translateY(-2px);box-shadow:0 16px 34px rgba(169,133,63,.42);}
.btn--green{background:var(--green-700);color:#fff;box-shadow:0 10px 26px rgba(26,69,52,.26);}
.btn--green:hover{background:var(--green-600);transform:translateY(-2px);}
.btn--lg{padding:19px 38px;font-size:1rem;}
.btn--sm{padding:11px 18px;font-size:.8rem;}

/* ---------------- Header ---------------- */

.header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:60;
  padding:18px 0;
  transition:background .3s ease,padding .3s ease,box-shadow .3s ease;
}
.header.is-stuck{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  padding:10px 0;
  box-shadow:0 1px 0 rgba(12,33,25,.08),var(--shadow-sm);
}
.header__inner{display:flex;align-items:center;gap:24px;}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;transition:color .3s ease;}
.header.is-stuck .brand{color:var(--green-800);}
.brand__mark{
  display:grid;place-items:center;
  width:42px;height:42px;flex:0 0 42px;
  border-radius:50%;
  border:1px solid var(--gold-500);
  color:var(--gold-400);
  font-family:var(--serif);font-size:.94rem;font-weight:600;letter-spacing:.06em;
  transition:background .3s ease,color .3s ease;
}
.header.is-stuck .brand__mark{background:var(--green-800);color:var(--gold-400);border-color:var(--green-800);}
.brand__text{display:flex;flex-direction:column;line-height:1.15;}
.brand__text strong{font-family:var(--serif);font-size:1.18rem;letter-spacing:.01em;}
.brand__text small{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;opacity:.75;}

.nav{display:flex;gap:26px;margin-left:auto;}
.nav a{
  font-size:.88rem;font-weight:600;text-decoration:none;
  color:rgba(255,255,255,.86);transition:color .25s ease;
}
.nav a:hover{color:var(--gold-400);}
.header.is-stuck .nav a{color:var(--ink-soft);}
.header.is-stuck .nav a:hover{color:var(--green-600);}

.header__cta{max-width:230px;}

.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:.3s;}
.header.is-stuck .burger span{background:var(--green-800);}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.is-open span:nth-child(2){opacity:0;}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------------- Hero ---------------- */

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:150px 0 132px;
  overflow:hidden;
  color:#fff;
}
.hero__img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 52%;
}
/* Véu escuro por cima da foto para o texto continuar legível.
   O rio é claro no centro, então o meio precisa de mais cobertura. */
.hero__bg{
  position:absolute;inset:0;
  background:
    radial-gradient(75% 60% at 50% 46%,rgba(12,33,25,.6) 0%,transparent 78%),
    linear-gradient(175deg,rgba(12,33,25,.92) 0%,rgba(12,33,25,.66) 45%,rgba(12,33,25,.9) 100%);
}
/* Ondas do rio */
.hero__veil{
  position:absolute;inset:auto 0 0 0;height:52%;
  background:
    radial-gradient(60% 100% at 50% 100%,rgba(217,185,120,.14),transparent 70%),
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.045) 0 1px,
      transparent 1px 26px
    );
  mask-image:linear-gradient(to top,#000 0%,transparent 100%);
  -webkit-mask-image:linear-gradient(to top,#000 0%,transparent 100%);
}

.hero__inner{position:relative;z-index:2;text-align:center;}

/* Assinatura do empreendimento na hero */
.lockup{
  display:flex;align-items:center;justify-content:center;
  gap:16px;flex-wrap:wrap;
  margin-bottom:26px;
}
.lockup__rule{
  display:block;width:clamp(30px,8vw,90px);height:1px;
  background:linear-gradient(to right,transparent,rgba(217,185,120,.6),transparent);
}
.lockup__name{
  font-family:var(--serif);
  font-size:clamp(1.35rem,2.6vw,1.85rem);
  font-weight:600;letter-spacing:.06em;
  color:var(--gold-400);
}
.lockup__sub{
  font-size:.68rem;font-weight:700;
  letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.62);
  align-self:center;
}

.hero__byline{
  font-size:.86rem;
  letter-spacing:.02em;
  color:rgba(255,255,255,.62);
  margin:0 0 22px;
}
.hero__byline a{color:var(--gold-400);text-decoration:none;border-bottom:1px solid rgba(217,185,120,.4);}
.hero__byline a:hover{border-bottom-color:var(--gold-400);}
.hero__creci{
  display:inline-block;margin-left:10px;padding:3px 10px;
  font-size:.68rem;font-weight:700;letter-spacing:.12em;
  color:rgba(255,255,255,.7);
  border:1px solid rgba(255,255,255,.2);border-radius:999px;
  vertical-align:middle;
}

.hero__title{
  font-size:clamp(2.15rem,5.4vw,4.15rem);
  max-width:19ch;
  margin:0 auto 24px;
}
.hero__sub{
  font-size:clamp(1.02rem,1.6vw,1.2rem);
  color:rgba(255,255,255,.8);
  max-width:60ch;
  margin:0 auto 20px;
}
.hero__line{
  font-family:var(--serif);
  font-style:italic;
  font-size:1.06rem;
  color:var(--gold-400);
  margin:0 auto 34px;
}

.hero__facts{
  list-style:none;display:flex;flex-wrap:wrap;justify-content:center;
  gap:12px 34px;margin:52px 0 0;padding:0;
  font-size:.86rem;color:rgba(255,255,255,.66);
}
.hero__facts li{display:flex;align-items:center;gap:7px;}
.hero__facts li::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--gold-500);
}
.hero__facts span{color:#fff;font-weight:700;}

/* ---------------- Faixa de autoridade ---------------- */

.authority{
  position:relative;
  z-index:5;
  margin-top:-58px;      /* o card sobe e encosta na hero */
  padding-bottom:76px;
}
.authority__card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px 34px;
  background:var(--white);
  border:1px solid rgba(12,33,25,.08);
  border-top:3px solid var(--gold-500);
  border-radius:var(--radius-lg);
  padding:26px 32px;
  box-shadow:var(--shadow-lg);
}

.authority__id{display:flex;align-items:center;gap:16px;}
.authority__photo{
  width:72px;height:72px;flex:0 0 72px;border-radius:50%;
  overflow:hidden;
  background:linear-gradient(150deg,#A9853F,#123024);
  border:2px solid var(--white);
  box-shadow:0 0 0 1px rgba(201,165,92,.55);
}
.authority__photo img{width:100%;height:100%;object-fit:cover;display:block;}

.authority__name{
  margin:0;
  font-family:var(--serif);font-size:1.28rem;line-height:1.2;
  color:var(--green-800);
}
.authority__role{
  margin:4px 0 0;
  font-size:.78rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-soft);
}
.authority__creci{
  display:inline-block;margin-left:8px;padding:2px 9px;
  font-size:.66rem;letter-spacing:.1em;
  color:var(--gold-600);
  background:rgba(201,165,92,.12);
  border:1px solid rgba(201,165,92,.32);
  border-radius:999px;
}

.authority__text{
  margin:0;
  font-size:.92rem;line-height:1.65;color:var(--ink-soft);
  border-left:1px solid rgba(12,33,25,.1);
  padding-left:34px;
  max-width:52ch;
}

.authority__actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
.authority__actions .btn{white-space:normal;max-width:250px;}
.authority__link{
  font-size:.8rem;font-weight:700;text-align:center;
  color:var(--green-600);text-decoration:none;
  letter-spacing:.04em;
}
.authority__link:hover{text-decoration:underline;}

/* ---------------- Seções ---------------- */

.section{padding:110px 0;position:relative;}
.section--cream{background:var(--cream);}
.section--dark{background:var(--green-900);color:#fff;}
.section--dark h2,.section--dark h3{color:#fff;}

.section__head{text-align:center;max-width:760px;margin:0 auto 62px;}

/* Problema: leve textura */
#problema::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 60% at 50% 0%,rgba(46,130,102,.16),transparent 65%);
}
#problema .container{position:relative;z-index:1;}

/* ---------------- Split (texto + mídia) ---------------- */

.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;}
.split--reverse .split__media{order:-1;}
.split__text .btn{margin-top:32px;}

.split__media{margin:0;}
/* Ficha do empreendimento */
.ficha{
  background:var(--cream);
  border:1px solid rgba(46,130,102,.16);
  border-left:3px solid var(--gold-500);
  border-radius:var(--radius);
  padding:26px 28px;
  margin:0 0 32px;
}
.ficha__eyebrow{
  margin:0 0 6px;
  font-size:.68rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--green-600);
}
.ficha__name{
  margin:0 0 18px;
  font-family:var(--serif);
  font-size:1.5rem;line-height:1.2;
  color:var(--green-800);
  letter-spacing:.01em;
}
.ficha__name em{
  display:block;
  font-size:.72rem;font-style:normal;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-600);
  margin-top:6px;
}
.ficha__meta{list-style:none;margin:0;padding:0;font-size:.9rem;color:var(--ink-soft);}
.ficha__meta li{
  display:flex;gap:12px;
  padding:9px 0;
  border-top:1px solid rgba(46,130,102,.14);
}
.ficha__meta li span{
  flex:0 0 92px;
  font-size:.68rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--green-600);
  padding-top:3px;
}

/* Seção da corretora.
   O fundo puxa para um branco levemente esverdeado, mais frio.
   O painel do retrato é creme, quente. Essa diferença de temperatura
   é o que faz a moldura se destacar em vez de se fundir. */
.section--jeani{
  background:linear-gradient(180deg,#FFFFFF 0%,#F0F4F1 100%);
}
.section--jeani .ph--cutout{box-shadow:var(--shadow-lg);}

/* Chips de especialidade */
.creds{
  list-style:none;display:flex;flex-wrap:wrap;gap:9px;
  margin:30px 0 0;padding:0;
}
.creds li{
  font-size:.78rem;font-weight:600;color:var(--green-700);
  background:rgba(255,255,255,.8);
  border:1px solid rgba(46,130,102,.24);
  border-radius:999px;padding:8px 15px;
}
.creds li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold-500);margin-right:8px;vertical-align:middle;}

/* Contato direto na seção da corretora */
.contact{
  list-style:none;display:flex;flex-wrap:wrap;gap:14px 34px;
  margin:26px 0 0;padding:0;
}
.contact li{display:flex;align-items:center;gap:10px;}
.contact__ico{
  display:grid;place-items:center;
  width:36px;height:36px;flex:0 0 36px;border-radius:50%;
  background:rgba(46,130,102,.1);color:var(--green-600);
}
.contact__ico svg{width:18px;height:18px;}
.contact a{
  color:var(--green-800);font-weight:700;font-size:.94rem;
  text-decoration:none;border-bottom:1px solid rgba(26,69,52,.2);
  transition:color .25s ease,border-color .25s ease;
}
.contact a:hover{color:var(--green-600);border-bottom-color:var(--green-600);}

.split__media figcaption{
  margin-top:14px;font-size:.85rem;color:var(--ink-soft);
  font-family:var(--serif);font-style:italic;text-align:center;
}

/* ---------------- Placeholders de imagem ---------------- */
/* Troque estes blocos por <img src="sua-foto.jpg" alt="..."> */

.ph{
  position:relative;
  aspect-ratio:4/3;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:linear-gradient(150deg,#1A4534,#256B4F);
  box-shadow:var(--shadow-md);
}
.ph img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}

/* Retrato recortado sobre painel creme.
   A roupa dela é azul-marinho escuro, então o fundo claro
   é o que garante o contraste, principalmente no celular. */
.ph--cutout{
  aspect-ratio:4/5;
  display:flex;align-items:flex-end;justify-content:center;
  background:
    radial-gradient(70% 56% at 50% 86%,#FFFFFF,transparent 74%),
    linear-gradient(160deg,#F6F3EC 0%,#EFEAE0 52%,#E0D7C6 100%);
  border:1px solid rgba(169,133,63,.4);
}
.ph--cutout img{
  width:auto;height:97%;
  object-fit:contain;
  filter:drop-shadow(0 20px 28px rgba(70,90,80,.32));
}

/* ---------------- Benefícios ---------------- */

.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.benefit{
  background:var(--white);
  border:1px solid rgba(12,33,25,.07);
  border-radius:var(--radius);
  padding:34px 30px;
  transition:transform .3s ease,box-shadow .3s ease;
}
.benefit:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.benefit__icon{
  width:48px;height:48px;border-radius:12px;
  display:grid;place-items:center;margin-bottom:20px;
  background:rgba(46,130,102,.1);color:var(--green-600);
}
.benefit__icon svg{width:24px;height:24px;}
.benefit p{margin:0;font-size:.95rem;color:var(--ink-soft);}

/* ---------------- Cards de estrutura ---------------- */

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:transform .3s ease,border-color .3s ease,background .3s ease;
}
.card:hover{transform:translateY(-6px);border-color:rgba(217,185,120,.4);background:rgba(255,255,255,.07);}
.card .ph{aspect-ratio:16/10;border-radius:0;box-shadow:none;}
.card__body{padding:26px 26px 30px;}
.card__body p{margin:0;font-size:.94rem;color:rgba(255,255,255,.7);}
.card--cta{
  display:flex;align-items:center;
  background:linear-gradient(150deg,rgba(217,185,120,.14),rgba(46,130,102,.14));
  border-color:rgba(217,185,120,.34);
}
.card--cta .btn{margin-top:22px;width:100%;}

/* ---------------- FAQ ---------------- */

.faq{border-top:1px solid rgba(12,33,25,.12);}
.faq__item{border-bottom:1px solid rgba(12,33,25,.12);}
.faq__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:none;border:none;cursor:pointer;
  padding:24px 4px;text-align:left;
  font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--green-800);
  transition:color .25s ease;
}
.faq__q:hover{color:var(--green-600);}
.faq__q i{
  position:relative;flex:0 0 22px;height:22px;border-radius:50%;
  border:1px solid rgba(12,33,25,.28);transition:transform .3s ease,border-color .3s ease;
}
.faq__q i::before,.faq__q i::after{
  content:"";position:absolute;top:50%;left:50%;background:var(--green-700);
  transform:translate(-50%,-50%);transition:opacity .25s ease;
}
.faq__q i::before{width:9px;height:1.5px;}
.faq__q i::after{width:1.5px;height:9px;}
.faq__item.is-open .faq__q i{transform:rotate(180deg);border-color:var(--gold-500);}
.faq__item.is-open .faq__q i::after{opacity:0;}

.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.faq__a > div{overflow:hidden;}
.faq__item.is-open .faq__a{grid-template-rows:1fr;}
.faq__a p{margin:0 0 26px;padding-right:42px;color:var(--ink-soft);font-size:.98rem;}

/* ---------------- Chamada final ---------------- */

.final{position:relative;padding:130px 0;color:#fff;overflow:hidden;text-align:center;}
.final__bg{
  position:absolute;inset:0;
  background:
    radial-gradient(90% 80% at 50% 0%,rgba(46,130,102,.5),transparent 62%),
    linear-gradient(200deg,#123024,#0C2119 70%);
}
.final__inner{position:relative;z-index:2;}
.final .prose{max-width:64ch;margin:0 auto;}
.final .prose__accent{border-left:none;padding-left:0;margin-top:30px;}
.final .btn{margin-top:38px;}

/* ---------------- Footer ---------------- */

.footer{background:#08170F;color:rgba(255,255,255,.62);padding:60px 0 40px;font-size:.9rem;}
.footer__inner{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;}
.footer strong{font-family:var(--serif);font-size:1.12rem;color:#fff;display:block;margin-bottom:10px;}
.footer p{margin:0 0 8px;}
.footer__brand{display:flex;gap:16px;align-items:flex-start;}
.brand__mark--footer{width:46px;height:46px;flex:0 0 46px;}
.footer__creci{font-size:.78rem;letter-spacing:.08em;color:rgba(255,255,255,.42);}
.footer__site{font-size:.8rem;letter-spacing:.04em;color:rgba(255,255,255,.42);margin-top:12px;}
.footer__contact{list-style:none;margin:0 0 4px;padding:0;}
.footer__contact li{margin-bottom:9px;}
.footer__contact a{color:rgba(255,255,255,.72);text-decoration:none;transition:color .25s ease;}
.footer__contact a:hover{color:var(--gold-400);}
.footer__link{color:var(--gold-400)!important;font-weight:700;text-decoration:none;}
.footer__link:hover{text-decoration:underline;}
.footer__legal{
  grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);
  padding-top:22px;margin-top:14px;font-size:.78rem;color:rgba(255,255,255,.4);line-height:1.8;
}

/* ---------------- WhatsApp flutuante ---------------- */

.wpp{
  position:fixed;right:20px;bottom:20px;z-index:70;
  display:flex;align-items:center;gap:10px;
  background:#1FA855;color:#fff;text-decoration:none;
  padding:13px 20px 13px 16px;border-radius:999px;font-weight:700;font-size:.9rem;
  box-shadow:0 12px 30px rgba(31,168,85,.4);
  transform:translateY(120px);opacity:0;
  transition:transform .4s ease,opacity .4s ease,background .25s ease;
}
.wpp.is-visible{transform:translateY(0);opacity:1;}
.wpp:hover{background:#178f47;}
.wpp svg{width:22px;height:22px;flex:0 0 22px;}

/* ---------------- Animação de entrada ---------------- */

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.is-in{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.08s;}
.reveal[data-delay="2"]{transition-delay:.16s;}
.reveal[data-delay="3"]{transition-delay:.24s;}
.reveal[data-delay="4"]{transition-delay:.32s;}
.reveal[data-delay="5"]{transition-delay:.4s;}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ---------------- Responsivo ---------------- */

@media (max-width:980px){
  .benefits,.cards{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;gap:44px;}
  .split--reverse .split__media{order:0;}
  .split__media{max-width:520px;margin:0 auto;}
  .header__cta{display:none;}
  .burger{display:block;}
  .footer__inner{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1/-1;}

  .authority__card{grid-template-columns:1fr;gap:22px;padding:26px 26px 28px;}
  .authority__text{
    border-left:none;border-top:1px solid rgba(12,33,25,.1);
    padding-left:0;padding-top:20px;max-width:none;
  }
  .authority__actions{flex-direction:row;align-items:center;gap:20px;}
  .authority__actions .btn{max-width:none;}

  .nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;
    background:#fff;padding:0 24px;
    max-height:0;overflow:hidden;
    box-shadow:var(--shadow-md);
    transition:max-height .35s ease,padding .35s ease;
  }
  .nav.is-open{max-height:420px;padding:12px 24px 22px;}
  .nav a{color:var(--ink)!important;padding:14px 0;border-bottom:1px solid rgba(12,33,25,.08);}
  .nav a:last-child{border-bottom:none;}
  .header.is-open-menu{background:rgba(255,255,255,.98);}
  .header.is-open-menu .brand{color:var(--green-800);}
  .header.is-open-menu .burger span{background:var(--green-800);}
}

@media (max-width:640px){
  body{font-size:16px;}
  .section{padding:76px 0;}
  .final{padding:92px 0;}
  .hero{padding:130px 0 96px;min-height:auto;}
  .benefits,.cards{grid-template-columns:1fr;}
  .footer__inner{grid-template-columns:1fr;}
  .btn{width:100%;}
  .btn--sm{width:auto;}
  .hero__facts{gap:10px 22px;font-size:.8rem;}
  .faq__a p{padding-right:0;}
  .wpp span{display:none;}
  .wpp{padding:15px;border-radius:50%;}
  .hero__scroll{display:none;}
  .hero__creci{display:block;width:max-content;margin:10px auto 0;}

  .authority{margin-top:-44px;padding-bottom:56px;}
  .authority__card{padding:24px 20px 26px;text-align:center;}
  .authority__id{flex-direction:column;text-align:center;gap:12px;}
  .authority__role{display:flex;flex-direction:column;align-items:center;gap:8px;}
  .authority__creci{margin-left:0;}
  .authority__actions{flex-direction:column;align-items:stretch;gap:14px;}
  .authority__text{font-size:.88rem;}

  .lockup{gap:8px;}
  .lockup__rule{display:none;}
  .lockup__name,.lockup__sub{flex:0 0 100%;}
  .ficha{padding:22px 20px;}
  .ficha__meta li{flex-direction:column;gap:2px;}
  .ficha__meta li span{flex:none;}
  .pill--creci{margin-left:0;}
  .contact{gap:14px 0;flex-direction:column;align-items:flex-start;}
  .contact a{font-size:.9rem;}
}
