/* =========================================================================
   Reform Tax · /contadores — redesign (on top of ../styles.css)
   Editorial · EB Garamond serif · generous whitespace · refined motion
   ========================================================================= */

:root{
  --radius:2px;
  --radius-pill:999px;
  /* brighter green, in harmony with the forest #1e3d12 */
  --green:#3d8a1e;
  --green-soft:#a3d98b;
  --green-tint:rgba(61,138,30,0.10);
  --green-ring:rgba(61,138,30,0.14);
  --shadow-soft:0 1px 2px rgba(13,18,11,0.04),0 8px 24px rgba(13,18,11,0.06);
  --shadow-lift:0 2px 4px rgba(13,18,11,0.06),0 16px 40px rgba(13,18,11,0.10);
}

/* tighter mobile gutters; the global 600px cap from ../styles.css stays,
   each section below opts into its own width */
.wrap{padding:0 20px;}
@media (min-width:720px){.wrap{padding:0 24px;}}

/* ---------- header: breathe (no rule) ---------- */
.site-header{padding:16px 22px;border-bottom:none;gap:14px;}
.brand-logo{height:21px;flex:none;}
/* long CTA label needs to sit compact + wrap in the header */
.nav-cta{font-size:9.5px;letter-spacing:0.06em;padding:9px 13px;
  line-height:1.28;text-align:center;max-width:168px;}

/* ---------- serif display face: EB Garamond (elegant italics, no wonky 'f') ---------- */
.hero h1,.pull__quote,.step h3,.step__num,
.form-section h2,.final-cta h2,.dark-block h2,.stat__num,.success h2{
  font-family:'EB Garamond',Georgia,serif;
  font-optical-sizing:auto;font-feature-settings:normal;}

/* ---------- hero: centered, editorial, big serif moment ---------- */
.hero{padding:clamp(48px,10vw,100px) 0 clamp(56px,10vw,88px);text-align:center;}
.hero .wrap{max-width:640px;}

.hero__kicker{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:0.28em;text-transform:uppercase;color:var(--ink-mute);
  margin-bottom:clamp(28px,6vw,40px);}

.hero h1{
  font-size:clamp(28px,7vw,44px);line-height:1.2;letter-spacing:-0.01em;
  font-weight:400;color:var(--ink);text-wrap:balance;}
/* chic, lighter italic in brand green */
.hero h1 em{font-style:italic;font-weight:400;color:var(--green);}

/* value pillars: the sub-message, visualized */
.pillars{
  list-style:none;padding:0;margin:clamp(26px,5.5vw,38px) auto 0;
  max-width:340px;
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(20px,5vw,26px) clamp(12px,4vw,20px);}
.pillar{display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;}
.pillar__ic{
  width:clamp(46px,12vw,54px);height:clamp(46px,12vw,54px);
  display:grid;place-items:center;border-radius:50%;
  background:var(--paper-2);color:var(--ink);
  transition:transform 0.3s cubic-bezier(0.22,1,0.36,1),background 0.3s ease;}
.pillar__ic svg{width:23px;height:23px;}
.pillar__txt{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:500;
  line-height:1.28;letter-spacing:0.005em;color:var(--ink-soft);
  max-width:12ch;text-wrap:balance;}
@media (hover:hover){ .pillar:hover .pillar__ic{transform:translateY(-3px);background:var(--green);color:var(--paper);} }
@media (min-width:640px){
  .pillars{grid-template-columns:repeat(4,1fr);max-width:600px;
    gap:clamp(16px,3vw,24px);}
}

.hero .actions{margin-top:clamp(34px,8vw,46px);justify-content:center;flex-direction:row;}
/* the hero CTA is THE action: big, pill, full-width on mobile */
.hero .btn{
  width:100%;min-height:62px;padding:20px 30px;
  font-size:15px;letter-spacing:0.06em;}
@media (min-width:640px){.hero .btn{width:auto;min-width:340px;}}

.hero__note{
  margin-top:16px;font-size:12px;font-weight:400;letter-spacing:0.04em;
  color:var(--ink-mute);}

/* ---------- marquee: Reforma glossary ticker (borderless, tonal band) ---------- */
.marquee{
  border-block:none;background:var(--paper-2);
  padding:clamp(14px,3.6vw,18px) 0;
  overflow:hidden;
  display:flex;align-items:center;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee__track{
  color:var(--green);font-weight:400;
  font-family:'EB Garamond',Georgia,serif;font-size:17px;font-style:italic;
  display:flex;align-items:center;width:max-content;white-space:nowrap;flex:none;gap:0;
  animation:marquee 55s linear infinite;}
.marquee__group{display:flex;align-items:center;flex:none;gap:0;}
.marquee__group span{margin:0;}
/* separator dot between every term — also bridges the loop seam seamlessly */
.marquee__group span::after{content:"•";display:inline-block;font-style:normal;
  margin:0 clamp(16px,4vw,24px);opacity:0.4;}
@keyframes marquee{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){ .marquee__track{animation:none;} }

/* =========================================================================
   Buttons — pill shape, brighter green, comfortable type
   ========================================================================= */
.btn{border-radius:var(--radius-pill);
  font-size:13px;letter-spacing:0.08em;
  padding:16px 28px;}
.btn-solid{background:var(--green);color:var(--paper);}
/* on dark sections: paper button, green label (green fill would vanish on ink) */
.btn-invert{background:var(--paper);color:var(--green);}
.btn-outline{border:2px solid var(--green);color:var(--green);}

/* ---------- serif italic accents on dark blocks: legible green, not faint yellow ---------- */
.dark-block h2 em{color:var(--green-soft);}
.dark-block .eyebrow{color:var(--green-soft);}

/* accents */
.step__num{color:var(--green);}
.sec-kicker{color:var(--green);}
.form-section .eyebrow{color:var(--green);}
.progress__bar{background:var(--green);}
.success__check{background:var(--green);}
.pillar__ic{background:var(--green-tint);color:var(--green);}

/* ---------- pull-quote: empathy beat (tonal, no rules) ---------- */
.pull{padding:clamp(56px,11vw,88px) 0;
  background:var(--paper-2);text-align:center;}
.pull .wrap{max-width:600px;}
.pull__quote{
  font-family:'EB Garamond',Georgia,serif;font-weight:400;
  font-size:clamp(24px,6.4vw,34px);line-height:1.3;letter-spacing:-0.01em;
  color:var(--ink);text-wrap:balance;}
.pull__quote em{font-style:italic;font-weight:400;color:var(--green);}

/* ---------- steps: refined rows with hover ---------- */
.steps{padding:clamp(64px,13vw,100px) 0;}
.steps .wrap{max-width:600px;}
.sec-kicker{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:0.28em;text-transform:uppercase;color:var(--green);
  margin-bottom:clamp(24px,5vw,36px);text-align:center;}

.step{
  padding:clamp(20px,4.5vw,26px) 0;
  border-top:none;
  display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;
  transition:background 0.3s ease,padding-left 0.3s cubic-bezier(0.22,1,0.36,1);}
.step:last-child{border-bottom:none;}
@media (hover:hover){ .step:hover{background:rgba(13,18,11,0.02);padding-left:8px;} }

.step__num{
  font-family:'EB Garamond',Georgia,serif;font-style:italic;font-weight:400;
  font-size:24px;color:var(--green);padding-top:1px;}
.step h3{
  font-family:'EB Garamond',Georgia,serif;font-weight:400;
  font-size:clamp(24px,5.4vw,28px);letter-spacing:-0.005em;margin-bottom:8px;line-height:1.2;}
.step p{font-size:15px;color:var(--ink-soft);font-weight:300;line-height:1.6;max-width:440px;}

/* ---------- leadership block (dark) ---------- */
.lead-block{padding:clamp(72px,14vw,110px) 0;}
.lead-block .btn{min-width:240px;margin-top:clamp(32px,7vw,44px);}

/* ---------- form: card destination ---------- */
.form-section{padding:clamp(64px,13vw,100px) 0;}
.form-section .wrap{
  max-width:520px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:clamp(32px,7vw,48px) clamp(20px,5vw,40px);
  box-shadow:var(--shadow-soft);}
.form-section h2{font-size:clamp(28px,7vw,38px);line-height:1.18;}
.form-section h2 em{font-style:italic;font-weight:500;}
.form-intro{font-size:15px;line-height:1.55;}

.progress{margin:26px 0 28px;}

.form-trust{
  margin-top:16px;text-align:center;font-size:12px;font-weight:400;
  letter-spacing:0.04em;color:var(--ink-mute);}

/* name pair: full-width stacked on mobile (side-by-side is unusable < 500px) */
#leadForm .grid-2{grid-template-columns:1fr;gap:0;}
@media (min-width:560px){#leadForm .grid-2{grid-template-columns:1fr 1fr;gap:14px;}}

/* leave room for the sticky CTA bar */
.form-section .wrap{padding-bottom:clamp(32px,7vw,48px);}
@media (max-width:719px){.form-section{padding-bottom:96px;}}

/* ---------- final cta: centered, confident ---------- */
.final-cta{text-align:center;padding:clamp(72px,15vw,110px) 0;}
.final-cta h2{font-size:clamp(30px,7.5vw,44px);line-height:1.22;}
.final-cta .btn{margin-top:clamp(32px,7vw,44px) !important;min-width:240px;}

/* ---------- footer (no rule) ---------- */
.site-footer{padding:28px 20px;border-top:none;flex-wrap:wrap;row-gap:8px;}
.site-footer .cr{line-height:1.5;}

/* ---------- sticky mobile CTA ---------- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(245,244,240,0.92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
  transform:translateY(0);opacity:1;
  transition:transform 0.4s cubic-bezier(0.22,1,0.36,1),opacity 0.3s ease;}
.sticky-cta.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none;}
@media (min-width:720px){ .sticky-cta{display:none;} }

/* =========================================================================
   Motion (mobile-first, GPU-accelerated, reduced-motion safe)
   ========================================================================= */
.reveal{opacity:0;transform:translateY(24px) scale(0.99);
  transition:opacity 1s cubic-bezier(0.19,1,0.22,1),transform 1s cubic-bezier(0.19,1,0.22,1);
  transition-delay:var(--d,0s);will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}
.hero h1.reveal{transition-duration:1.2s;}

.btn{position:relative;overflow:hidden;
  transition:transform 0.2s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.2s ease,background 0.2s ease,color 0.2s ease;}
.btn:active{transform:scale(0.97);}
@media (hover:hover){ .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);} }
.btn-solid:active{background:#2f6b15;}

.field input,.field select{transition:border-color 0.2s ease,box-shadow 0.2s ease,background 0.2s ease;
  border-color:rgba(13,18,11,0.30);}
.field input:focus,.field select:focus{
  border-color:var(--green);box-shadow:0 0 0 4px var(--green-ring);background:rgba(255,255,255,0.6);}

.progress__bar{position:relative;transition:width 0.6s cubic-bezier(0.22,1,0.36,1);}
.progress__bar::after{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.5),transparent);
  animation:shimmer 2.2s infinite;}
@keyframes shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}

.success__check{animation:pop 0.6s cubic-bezier(0.34,1.56,0.64,1) both;}

@media (prefers-reduced-motion:reduce){
  .reveal{transition:none;opacity:1;transform:none;}
  .btn,.field input,.field select,.progress__bar,.step,.sticky-cta{transition:none;}
  .progress__bar::after{animation:none;}
}

/* =========================================================================
   /landing additions — dark stat block (60 anos), green accents
   ========================================================================= */
.stat-block{padding:clamp(72px,14vw,110px) 0;}
.stat-block .stat{display:flex;align-items:center;gap:20px;margin-bottom:26px;}
.stat__num{color:var(--green-soft);}
.stat__line em{color:var(--green-soft);}
.stat-block .btn{min-width:240px;margin-top:clamp(28px,6vw,40px);}
